Как сделать чтобы Discord бот был всегда в сети?
Как сделать чтобы Discord бот написанный на discord.py был всегда в сети?
- Вопрос задан более трёх лет назад
- 7031 просмотр
Решения вопроса 1
На хероку можно, единственное если делать базу пользователей в файле, а не в том же mongodb, то она там работать не будет т. к. хероку не даёт доступ к диску, в этом случае можно на glitch хоть и падает время от времени, но все-же работает
Ответ написан более трёх лет назад
Как сделать так, чтобы бот работал постоянно?
Что нужно сделать, чтобы бот работал на постоянке, даже если я выключал бы свой пк/посоветуйте какие нибудь сервисы,если такие знаете.
Отслеживать
задан 18 июл 2022 в 16:34
Marco Polo Marco Polo
17 1 1 золотой знак 2 2 серебряных знака 6 6 бронзовых знаков
Yandex.Cloud, Sbercloud?
18 июл 2022 в 16:45
Запускать на компьютере, который не выключается (например, на сервере)
18 июл 2022 в 16:46
а на каком сервере?(если знаете)
18 июл 2022 в 16:50
На любом какой вам понравится, хостингов слишком много, чтобы советовать какой-то конкретный
18 июл 2022 в 16:51
Бесплатный с ограничением по времени работы, (можно вписаться, если не сильно нагруженный) с хорошей документацией heroku
18 июл 2022 в 18:53
2 ответа 2
Сортировка: Сброс на вариант по умолчанию
Для этого нужно использовать любой из существующих хостингов. Например google cloud, если ваш бот не большой. В противном случае придется пользоваться платными хостингами.
Отслеживать
5,328 2 2 золотых знака 10 10 серебряных знаков 25 25 бронзовых знаков
ответ дан 18 июл 2022 в 16:59
root_of_the_live root_of_the_live
67 11 11 бронзовых знаков
Я воспользовался сервисом https://www.pythonanywhere.com там все бесплатно и понятно. Регистрируешься, затем добавляешь файлы с ботом в раздел Files и после запускаешь.
Отслеживать
47.5k 17 17 золотых знаков 56 56 серебряных знаков 99 99 бронзовых знаков
ответ дан 17 авг 2022 в 5:05
1 1 1 бронзовый знак
Highly active question. Earn 10 reputation (not counting the association bonus) in order to answer this question. The reputation requirement helps protect this question from spam and non-answer activity.
- python
- telegram-bot
- telegram
- telebot
-
Важное на Мете
Похожие
Подписаться на ленту
Лента вопроса
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.10.27.43697
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Saved searches
Use saved searches to filter your results more quickly
Cancel Create saved search
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.
Discord Bot (python)
License
rall13/discordbot
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Switch branches/tags
Branches Tags
Could not load branches
Nothing to show
Could not load tags
Nothing to show
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Cancel Create
- Local
- Codespaces
HTTPS GitHub CLI
Use Git or checkout with SVN using the web URL.
Work fast with our official CLI. Learn more about the CLI.
Sign In Required
Please sign in to use Codespaces.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching Xcode
If nothing happens, download Xcode and try again.
Launching Visual Studio Code
Your codespace will open once ready.
There was a problem preparing your codespace, please try again.
Latest commit
Git stats
Files
Failed to load latest commit information.
Latest commit message
Commit time
README.md
discordbot
Discord Bot (python) (NOT WORK 2023). Прочитайте перед использованием. При распостранение бота на сторонних ресурсов указывайте автора 🙂
- Tempmute — временный мут (чтобы он заработал сделайте роль mute на сервере). Мут выдается в минутах, после истечение времени бот сам размутит человека
- Unmute — снятие мута
- Userinfo — информация о человеке, который присоединился на сервер
- Avatar — выводит в чат аватарку пользователя которого вы пинганули (@user)
- Serverinfo — информация о сервере (когда его создали, регион,сколько всего пользователей и т.д.)
- Ping — чтобы узнать пинг бота (не всегда точно)
Как запустить бота.
Перед использованием бота! Скачайте библиотеку discord.py asyncio.py для вашего Python. Без них бот не будет работать.
- Переходите по офф.ссылке дискорда (https://discord.com/developers/applications) и там регистрируете бота.
- После чего переходим на сайте во вкладку bot и копируем token и вставляем в файл token.txt
- Настраиваете бота через любой текстовый редактор
- Запускаете бота через start.bat и все бот заработал ^_^
Что делать если бот перестал работать?
-Обновите библиотеки discord.py и asyncio.py
Если есть вопросы по боту?
-Можете написать мне в ВК или Discord я вам отвечу на ваши вопросы.
Создаём Discord-бота на Python
Сегодня мы напишем Discord-бота с помощью Python и discord.py. А также посмотрим на примеры ботов.
Всем привет, сегодня мы напишем Discord-бота на Python и discord.py + бонусом посмотрим на примеры ботов. Приступим ?
Перед работой
Перед тем, как начать, вам нужны:
- Python 3;
- discord.py;
- Discord-аккаунт и свой сервер.
Для установки discord.py воспользуйтесь пакетным менеджером:
pip3 install discord.py
Создаём нашего бота
Перейдите на Developer Portal и нажмите на New application.
Вы создали своё приложение, на странице приложение перейдите в Bot >> Add Bot и создайте своего Discord-бота.
Сохраните токен бота! Дальше он нам понадобится!
Если всё прошло успешно, поздравляю, половина дела сделана ?
Добавление бота на сервер
Теперь можно добавить бота на сервер.
Перейдите в OAuth2 >> URL Generator, в Scopes выбираем Bot и ниже — права бота, копируем сгенерированный URL. Вставляем в браузер, и добавляем на наш сервер.
Эхо-бот
Напишем традиционного эхо-бота, и разберём каждую строчку кода.
import discord from discord.ext import commands config = < 'token': 'your-token', 'prefix': 'prefix', >bot = commands.Bot(command_prefix=config['prefix']) @bot.event async def on_message(ctx): if ctx.author != bot.user: await ctx.reply(ctx.content) bot.run(config['token'])
import discord from discord.ext import commands
Нужные нам импорты.
config =
Вспомогательный словарь config в котором храним токен и префикс команд (далее расскажу зачем нужен префикс команд).
bot = commands.Bot(command_prefix=config['prefix'])
Создаём нашего бота, в аргументе передаём префикс.
@bot.event
Декоратор, предназначенный для обработки событий, подробнее здесь.
async def on_message(ctx):
Создаём асинхронную функцию, с параметром ctx, представляет из себя сообщение.
if ctx.author != bot.user:
Проверка, не является ли автор сообщения нашим Discord-ботом. Дело в том, что если бот отправит сообщение, это будет новым событием, и тогда получается цикл.
await ctx.reply(ctx.content)
Отвечаем на сообщение (ctx.reply), в аргументы передаём сообщение (ctx.content).
bot.run(config['token'])
Запускаем нашего бота, в аргументы передаём токен бота.
Надеюсь вы разобрались с кодом, и мы можем переходить далее.
Обработка команд
Перед тем, как обрабатывать команды, нам пригодится наш префикс.
import random import discord from discord.ext import commands config = < 'token': 'your-token', 'prefix': '$', >bot = commands.Bot(command_prefix=config['prefix']) @bot.command() async def rand(ctx, *arg): await ctx.reply(random.randint(0, 100)) bot.run(config['token'])
@bot.command()
Декоратор обработки команд
async def rand(ctx, *arg):
Асинхронная функция rand
await ctx.reply(random.randint(0, 100))
Отвечаем на сообщение, в аргументы передаём случайное число от 0 до 100
Бонус
import random import discord from discord.ext import commands config = < 'token': 'your-token', 'prefix': '$', >bot = commands.Bot(command_prefix=config['prefix']) @bot.command() @commands.has_role("Хозяин") async def rand(ctx, *arg): await ctx.reply(random.randint(0, 100)) bot.run(config['token'])
import discord from discord.ext import commands config = < 'token': 'your-token', 'prefix': '$', >bot = commands.Bot(command_prefix=config['prefix']) @bot.command() async def kick(ctx, user : discord.User(), *arg, reason='Причина не указана'): await bot.kick(user) await ctx.send('Пользователь был изгнан по причине ""') bot.run(config['token'])
Следите за новыми постами по любимым темам
Подпишитесь на интересующие вас теги, чтобы следить за новыми постами и быть в курсе событий.