Как в Discord правильно настроить созданного бота
Для управления сервером в Discord существует обширный функционал. Создание бота помогает эффективно организовать работу сервера, выполняя ряд задач. Пользователям доступны различные типы ботов, каждый из которых выполняет определенные функции. В данной статье подробно рассмотрено, как настроить бота в Дискорде на ПК и в мобильной версии приложения.

Как настроить бота в Дискорде: версия настроек ПК
При создании бота в Discord необходимо сразу же выполнить его настройку, иначе он не будет работать. Сделать это можно в несколько этапов.

Обзор функционала бота
В первую очередь следует настроить командную строку. Посредством нее бот выполняет свои функции. Для этого необходимо выполнить следующее:
- Проверьте наличие бота в списке участников (если его там нет, значит, не был пройден процесс авторизации);
- В любом из текстовых чатов введите команду «+help» или «/help»;
- Введенные символы будут означать активацию взаимодействия с ботом, о чем подробно будет написано в ответном сообщении.
В момент активации командной строки станут доступными основные функции бота, заложенные его разработчиками. Для получения боле подробной информации можно перейти на официальный сайт, откуда был скачан конкретный бот.

Предоставление прав доступа
После ознакомления с функционалом бота, необходимо выполнить следующий этап настроек — присвоение роли. Сделать это можно таким образом:
- Нажмите на строку с названием сервера, чтобы открыть его меню;
- Выберите раздел «Настройки сервера»;
- Нажмите на пункт «Роли»;
- Выберите тип роли, соответствующей конкретному боту, или выберите запуск прав администратора;
- Нажмите на пункт «Права текстовых каналов»;
- Выберите строку «Отправлять сообщения».
Аналогичным образом происходит настройка остальных прав участника. Отредактировать доступ к определенным правам можно в любой момент. При возникновении проблем бот отправит сообщение с указанием на это.

Настройка роли
В некоторых случаях может потребоваться присвоение специфической роли. Иногда пользователи объединяют ботов в отдельную группу. Для присвоения дополнительной роли сделайте следующее:
- Нажмите на раздел «Управление участниками»;
- Выберите пункт «Участники»;
- Найдите в списке бот, для которого необходимо ввести изменения;
- Нажмите на знак «+» рядом с названием бота;
- Выберите подходящую роль из списка (также можно воспользоваться строкой поиска).
Любую роль можно заменить или удалить, действуя по вышеописанному алгоритму.

Настройка бота Discord в мобильном приложении
Зачастую создание бота в мобильной версии Дискорда вызывает у пользователей затруднения. Однако его настройка происходит довольно легко и просто.

Использование функции командной строки
Для ознакомления со свойствами бота и его возможностями необходимо выполнить следующие действия:
- Зайдите на сервер;
- Сделайте свайп влево;
- Откроется список участников;
- Убедитесь, что бот активирован (будет включен значок «В сети»);
- Войдите в текстовый чат;
- Введите команду «+help»;
- Ознакомьтесь с правилами пользования ботом и его функциями.

Добавление роли и редактирование прав
Порядок действий схож с алгоритмом настройки для ПК:
- Нажмите на название сервера;
- Войдите в «Настройки»;
- Перейдите в блок «Управление участникам/и»;
- Нажмите пункт «Роли»;
- Задайте необходимый параметр.
Для каждой роли есть свои индивидуальные настройки: выбор цвета, смена имени, обособление от других участников. Для универсальных ботов лучше применить доступ на правах администратора, активировав соответствующий переключатель.
Частые вопросы:
- Как удалить бота в Discord на сервере
- Как сделать бота, выдающего роли в Discord
- Что такое Дискорд Онлайн, и как им пользоваться
- Как написать своего бота для использования в 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'])
Как сделать и запустить бота в дискорде
Как сделать и запустить бота в дискорде который будет брать токены (у меня их очень много) и с них заходить на определенный сервер. То есть нужно сделать так чтобы бот брал токен , заходил на аккаунт и на сервер и был онлайн на сервере.
Отслеживать
6,695 6 6 золотых знаков 11 11 серебряных знаков 30 30 бронзовых знаков
задан 28 мар 2023 в 16:00
user548774 user548774
тоесть нужно сделать так чтобы бот брал токен , заходил на аккаунт и на сервер и был онлайн на сервере
28 мар 2023 в 16:01
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
качаешь vs code -> code.visualstudio.com так-же python -> python.org и библиотеку discord которую надо скачать через терминал

как это сделать ->
После скачивания Vs code и Python и библиотеки disccord
Создаешь проект в программе и создаешь там файл bot.py или можешь назвать как тебе удобно
Но что-бы работал бот нужно скачать библиотеку discord и так-же взять токен бота на сайте discord Developer там разобраться не сложно
import discord from discord.ext import commands
bot = commands.Bot(command_prefix=’/’) создаем префикс «/»
@bot.command() async def hello(ctx): await ctx.send(‘Привет, я бот для Discord!’) # отправка сообщения «Привет, я бот для Discord!» в канал
@bot.command() async def ping(ctx): await ctx.send(‘Pong!’) # отправка сообщения «Pong!» в канал
bot.run(‘YOUR_BOT_TOKEN’) # тут токен бота
Бот Discord: как создать и добавить на сервер
Чтобы подключить бота Discord в ваше приложение, вам понадобятся токен бота (для настройки модуля) и ID канала, в который вы будете отправлять сообщения (для формы отправки).
Расскажем, как создать сервер, канал и бота Discord, а после добавить созданного бота на ваш сервер. О том, как настроить отправку сообщений на платформе AppMaster.io, можно прочитать в этой статье.
Создать сервер и канал, скопировать ID канала
Для начала вам нужно создать новый сервер в Discord (или получить права администратора на уже существующем). Откройте страницу вашей учетной записи Discord в браузере — так будет удобнее перемещаться между страницами настроек.
1.Нажмите на «+» на левой панели.
2.Выберите шаблон сервера в зависимости от вашей сферы или создайте собственный.
3.Укажите, для каких целей хотите его использовать.
4.Выберите изображение будущего сервера и укажите его название (1), затем нажмите Create. (2).
5.Сервер создан. По умолчанию в него уже добавлены два канала — текстовый и голосовой (1). Чтобы изменить настройки канала, нажмите значок шестеренки (2). Добавить новый канал можно, нажав на «+» рядом с названием раздела. Мы не будем создавать новый канал и для подключения нашего бота используем уже существующий канал general.
6.Теперь нужно получить ID выбранного канала. Для этого нужно сначала включить режим разработчика в настройках вашего профиля. Нажмите на значок шестеренки рядом с вашим никнеймом и фотографией.
7.Перейдите в раздел APP SETTINGS, на вкладку Advanced (1) и переместите селектор Developer mode — режим разработчика активируется (2).
8.Вернитесь из меню настроек и кликните по нужному каналу правой клавишей мыши (1), во всплывающем меню выберите Copy ID — идентификатор вашего канала будет скопирован (2). Сохраните его в любом текстовом документе, чтобы не возвращаться к этому шагу.
Создать бота и добавить его на сервер, скопировать токен бота
Чтобы создать бота, перейдите на специальную страницу Discord для разработчиков: https://discord.com/developers/. Откройте ее в соседней вкладке браузера, не выходя из вашей учетной записи Discord.
Сначала вам нужно создать приложение, затем в этом приложении создать бота и настроить для него разрешения, и только после этого — добавлять бота на сервер.
1.На вкладке Applications выберите New Application.
2.Введите название будущего приложения (1) и нажмите Create (2).
3.Приложение создано. Перейдите не вкладку Bot (1) и нажмите Add Bot, чтобы добавить нового бота.
4.Согласитесь добавить бота в ваше приложение.
5.Бот создан. На вкладке Bot отобразится вся информация о нем. Тут можно изменить его имя, добавить изображение и скопировать токен бота (1). Этот токен понадобится вам для настройки модуля Discord на платформе Appmaster.i. Каждый раз при внесении изменений портал разработчика будет предлагать вам сохранить их (2).
Сохраните токен бота, чтобы при последующей настройке не возвращаться к этому шагу.
6.Теперь перейдите на вкладку OAuth2 (1) — тут можно настроить разрешения и получить ссылку на вашего бота. В разделе SCOPES выберите bot(2), в BOT PERMISSIONS отметьте разрешения, которые хотите ему предоставить, в нашем случае — только отправка сообщений, поэтому выберите Send Message(3). После скопируйте автоматически сгенерированную Discord ссылку(4).
7.Вставьте скопированную ссылку в адресную строку браузера и перейдите по ней — откроется окошко вашего приложения. Выберите ваш сервер в раскрывающемся списке (1) и нажмите Continue (2).
8.Убедитесь, что приложению (а значит, и созданному в нем боту) даны только необходимые разрешения, после чего добавьте его на ваш сервер.
9.Теперь вернитесь на ваш сервер. Бот оставил приветственное сообщение — значит, что он успешно добавлен и функционирует.
Через AppMaster.io Studio подключить бота в приложение
Итак, все готово. Вы получили токен бота для модуля Discord и ID канала для формы отправки сообщения. Теперь перейдите в AppMaster.io Studio и настройте отправку сообщений из вашего приложения, следуя инструкции Модуль Discord: подключение бота и отправка сообщений.
Следите за нашим блогом и присоединяйтесь к чату комьюнити, чтобы узнавать о новостях платформы и новых статьях.
Подробнее о том, что такое модули и как их настраивать — в обучающем видеокурсе AppMaster.io 101.
Как в Discord правильно настроить созданного бота
Для управления сервером в Discord существует обширный функционал. Создание бота помогает эффективно организовать работу сервера, выполняя ряд задач. Пользователям доступны различные типы ботов, каждый из которых выполняет определенные функции. В данной статье подробно рассмотрено, как настроить бота в Дискорде на ПК и в мобильной версии приложения.

Как настроить бота в Дискорде: версия настроек ПК
При создании бота в Discord необходимо сразу же выполнить его настройку, иначе он не будет работать. Сделать это можно в несколько этапов.

Обзор функционала бота
В первую очередь следует настроить командную строку. Посредством нее бот выполняет свои функции. Для этого необходимо выполнить следующее:
- Проверьте наличие бота в списке участников (если его там нет, значит, не был пройден процесс авторизации);
- В любом из текстовых чатов введите команду «+help» или «/help»;
- Введенные символы будут означать активацию взаимодействия с ботом, о чем подробно будет написано в ответном сообщении.
В момент активации командной строки станут доступными основные функции бота, заложенные его разработчиками. Для получения боле подробной информации можно перейти на официальный сайт, откуда был скачан конкретный бот.

Предоставление прав доступа
После ознакомления с функционалом бота, необходимо выполнить следующий этап настроек — присвоение роли. Сделать это можно таким образом:
- Нажмите на строку с названием сервера, чтобы открыть его меню;
- Выберите раздел «Настройки сервера»;
- Нажмите на пункт «Роли»;
- Выберите тип роли, соответствующей конкретному боту, или выберите запуск прав администратора;
- Нажмите на пункт «Права текстовых каналов»;
- Выберите строку «Отправлять сообщения».
Аналогичным образом происходит настройка остальных прав участника. Отредактировать доступ к определенным правам можно в любой момент. При возникновении проблем бот отправит сообщение с указанием на это.

Настройка роли
В некоторых случаях может потребоваться присвоение специфической роли. Иногда пользователи объединяют ботов в отдельную группу. Для присвоения дополнительной роли сделайте следующее:
- Нажмите на раздел «Управление участниками»;
- Выберите пункт «Участники»;
- Найдите в списке бот, для которого необходимо ввести изменения;
- Нажмите на знак «+» рядом с названием бота;
- Выберите подходящую роль из списка (также можно воспользоваться строкой поиска).
Любую роль можно заменить или удалить, действуя по вышеописанному алгоритму.

Настройка бота Discord в мобильном приложении
Зачастую создание бота в мобильной версии Дискорда вызывает у пользователей затруднения. Однако его настройка происходит довольно легко и просто.

Использование функции командной строки
Для ознакомления со свойствами бота и его возможностями необходимо выполнить следующие действия:
- Зайдите на сервер;
- Сделайте свайп влево;
- Откроется список участников;
- Убедитесь, что бот активирован (будет включен значок «В сети»);
- Войдите в текстовый чат;
- Введите команду «+help»;
- Ознакомьтесь с правилами пользования ботом и его функциями.

Добавление роли и редактирование прав
Порядок действий схож с алгоритмом настройки для ПК:
- Нажмите на название сервера;
- Войдите в «Настройки»;
- Перейдите в блок «Управление участникам/и»;
- Нажмите пункт «Роли»;
- Задайте необходимый параметр.
Для каждой роли есть свои индивидуальные настройки: выбор цвета, смена имени, обособление от других участников. Для универсальных ботов лучше применить доступ на правах администратора, активировав соответствующий переключатель.
Частые вопросы:
- Как удалить бота в Discord на сервере
- Как сделать бота, выдающего роли в Discord
- Что такое Дискорд Онлайн, и как им пользоваться
- Как написать своего бота для использования в Discord
Создание бота на основе discord.py. Часть 1
Это первая статья про создание бота для Discord. В конце статьи находятся ссылки на следующие части, со временем они будут дополняться. Статьи следуют друг за другом, без каких-либо «информационных дыр». Если нашли опечатку или неточность, отпишите о проблеме в комментариях или в личных сообщениях, максимально оперативно всё поправим! А теперь переходим непосредственно к созданию бота.
В данной части
- Создание тестового сервера
- Включение режима разработчика
- Создание приложения и получение токена
- Добавление бота на сервер
- Установка библиотеки discord.py
- Первые строчки кода
Создание сервера
Гайд будет максимально подробный, поэтому и начинать будем с создания тестового сервера. Зачем он нужен? Лишь для вашего удобства и безопасности, если у вас уже есть большой сервер, тем более не стоит сразу добавлять на него разрабатываемого бота. Никто не защищён от багов и дыр в безопасности.

- Заходим в дискорд
- Слева видим список серверов, листаем в самый низ до кнопки «Создать сервер«.
- Создаём сервер по любому из предложенных шаблонов.
Включаем режим разработчика
Это необязательно, но очень желательно. В режиме разработчика появляются некоторые полезные элементы для удобства разработки, например, в меню пользователя появляется пункт, который позволяет скопировать его ID.

Чтобы включить этот режим, заходим в настройки.

В категории «Настройки приложения» ищем «Расширенные«.

И включаем режим разработчика.

Получение токена
Для начала нам нужно зайти на страницу создание приложений и нажать New Application.

После этого вам предложат назвать ваше приложение (Потом можно будет изменить).

После создания, попадаем на страницу настройки приложения. В меню выбираем «Bot«.

На данной странице нажимаем на «Add Bot«. Скопируем токен и сохраним его.

Так же, сразу можно выдать дополнительные разрешения боту, чтобы потом об этом не задумываться.

Добавление бота на сервер
В меню ищем пункт OAuth2 –> URL Generator.

В поле SCOPES выбираем bot и applications.commands. В появившемся ниже поле выбираем Administrator, это более удобно для тестирования. Но когда бот будет работать в продакшене, лучше выставлять только те права, которые правда нужны, потому что никто не защищён от потери токена, а с правами администратора это может стать очень большой проблемой.

Копируем появившеюся ниже ссылку и вставляем в адресную строку браузера. Если у вас не выполнен вход в браузере, его необходимо произвести. После чего выбираем тестовый сервер из списка и нажимаем «Продолжить» и далее «Авторизовать«.

Ура! Наш бот на тестовом сервере!

Установка библиотеки
Для начала нужно установить python, данный этап не расписан, но желательно установить версию 3.10 (Последняя версия на момент написания 3.10.5). Если у вас Windows, для проверки можете использовать следующую команду
py --version
В ответ получите версию вашего python. Устанавливать будем не стабильную, а разрабатываемую версию, для этого пропишем следующую команду. (Это можно делать уже внутри проекта). Хотя некоторые IDE устанавливаю git вместе с собой, можете скачать его отдельно.
py -m pip install git+https://github.com/rapptz/discord.py
Если всё же хотите установить стабильную, релизную версию, пропишите следующую команду.
py -3 -m pip install -U discord.py py -3 -m pip install -U discord.py[voice]
Подробнее про установку библиотеки и саму библиотеку можно прочитать тут.
Первые строчки кода
Пришло время писать код! Программирование в статьях будет происходить в PyCharm, хоть это и довольно тяжёлая IDEA, она удобная и бесплатная для студентов.
Не советую создавать проект через внутренний интерфейс, может появиться множество ненужных папок и файлов, вместо этого создадим папку проекта вручную и откроем как пустой проект.
Для этого заходим в PyCharm, далее File –> Open.

P.s. Не обращайте внимания на другую тему IDE.
В появившемся окне ищем созданную папку, выбираем её и нажимаем «Ok«. Обратите внимание на то, что нужно просто нажать по папке, а не проваливаться в неё.

Если PyCharm автоматически не создал main.py, создайте его вручную.
Вставляем код ниже и запускаем.
import discord # Подключаем библиотеку from discord.ext import commands intents = discord.Intents.default() # Подключаем "Разрешения" intents.message_content = True # Задаём префикс и интенты bot = commands.Bot(command_prefix='>', intents=intents) # С помощью декоратора создаём первую команду @bot.command() async def ping(ctx): await ctx.send('pong') bot.run('token')

В консоли вы увидите логи запуска бота. Они могут быть красными, не бойтесь, сначала прочитайте сами сообщения, они скорее, всего просто информационные.

Идём в дискорд и используем нашу первую команду.

Немного объясним данную структуру. Поскольку это обычная команда, вся информация хранится в ctx(Переменная одноимённого класса). Она имеет следующие поля:
['args', 'author', 'bot', 'channel', 'cog', 'command', 'command_failed', 'guild', 'invoked_parents', 'invoked_subcommand', 'invoked_with', 'kwargs', 'me', 'message', 'prefix', 'subcommand_passed', 'valid', 'voice_client']
И следующие команды:
['fetch_message', 'history', 'invoke', 'pins', 'reinvoke', 'reply', 'send', 'send_help', 'trigger_typing', 'typing']
Если вы знакомы с синтаксисом языка, то данный список можно получить с помощью встроенной функции dir.
print(dir(ctx))
На более правильно прочитать документацию про Context.
Заключение
Сразу отвечу всем комментаторам. Да — подобных статей море, в том числе есть официальная документация. Но поскольку в моих планах есть создать серию статей, я хотел бы, что бы в них было описано всё, начиная с самых азов.
И небольшое примечание. Статьи строятся на основании того, что у вас есть опыт и знания программирования на python.
Как создать Discord бота с помощью Python
Из этого туториала Вы узнаете, как полностью создать собственного бота Discord в облаке.
Вам не нужно ничего устанавливать на свой компьютер, и вам не нужно ничего платить за размещение своего бота.
Мы будем использовать целый ряд инструментов, в том числе Discord API, библиотеки Python, и платформы облачных вычислений под названием Repl.it.
Как создать учетную запись Discord Bot
Чтобы работать с библиотекой Python и API Discord, мы должны сначала создать учетную запись Discord Bot.
Вот шаг к созданию учетной записи Discord Bot.
1. Убедитесь, что вы вошли на сайт Discord.
3. Щелкните кнопку «Новое приложение».

4. Дайте приложению имя и нажмите «Создать».

5. Перейдите на вкладку «Бот» и нажмите «Добавить бота». Вам нужно будет подтвердить действие, нажав «Yes, do it!»

Оставьте настройки по умолчанию для Public Bot и Require OAuth2 Code Grant.
Ваш бот создан. Следующим шагом будет копирование токена.

Этот токен является паролем вашего бота, поэтому не сообщайте его никому. Это может позволить кому-то войти в ваш бот и делать разные плохие вещи.
Вы можете регенерировать токен, если он случайно станет доступен.
Как пригласить вашего бота присоединиться к серверу
Теперь вам нужно подключить своего пользователя-бота к серверу. Для этого вы должны создать для него URL-адрес приглашения.
Перейдите на вкладку «OAuth2». Затем выберите «бот» в разделе «scopes».

Теперь выберите нужные разрешения для бота. Наш бот будет в основном использовать текстовые сообщения, поэтому нам не нужно много разрешений. Вам может потребоваться больше, в зависимости от того, что вы хотите, чтобы ваш бот делал. Будьте осторожны с разрешением «Администратор».

После выбора соответствующих разрешений нажмите кнопку «Copy» над разрешениями. Это скопирует URL-адрес, который можно использовать для добавления бота на сервер.
Вставьте URL-адрес в свой браузер, выберите сервер, на который будет приглашен бот, и нажмите «Авторизовать».
Чтобы добавить бота, вашей учетной записи необходимы разрешения «Управление сервером».
Теперь, когда вы создали пользователя-бота, мы начнем писать код Python для бота.
Как написать код для базового бота Discord с помощью библиотеки discord.py
Мы будем использовать библиотеку Python discord.py, чтобы написать код для бота. discord.py — это оболочка API для Discord, которая упрощает создание бота Discord на Python.
Как создать реплику и установить disocrd.py
Вы можете разработать бота на своем локальном компьютере с помощью любого редактора кода. Однако в этом уроке мы будем использовать Repl.it, потому что это упростит всем пользователям следовать его указаниям. Repl.it — это онлайн-среда IDE, которую вы можете использовать в своем веб-браузере.
Создайте новый Repl и выберите «Python» в качестве языка.
Чтобы использовать библиотеку discord.py, просто напишите import discord вверху main.py . Repl.it автоматически установит эту зависимость, когда вы нажмете кнопку «Run».
Если вы предпочитаете кодировать бота локально, вы можете использовать эту команду в MacOS для установки discord.py:
python3 -m pip install -U discord.py
Возможно, вам придется использовать pip3 вместо pip .
Если вы используете Windows, вы должны вместо этого использовать следующую строку:
py -3 -m pip install -U discord.py
Как настроить события Discord для вашего бота
discord.py вращается вокруг концепции событий. Событие — это то, что вы слушаете, а затем реагируете. Например, когда происходит сообщение, вы получаете событие об этом, на которое можете ответить.
Сделаем бота, который отвечает на конкретное сообщение. Этот простой код бота вместе с объяснением кода взят из документации discord.py. Позже мы добавим в бота дополнительные функции.
Добавьте этот код в main.py. (Вы можете назвать файл как-нибудь иначе, только не discord.py.) Я вскоре объясню, что делает весь этот код.
import discord import os client = discord.Client() @client.event async def on_ready(): print('We have logged in as '.format(client)) @client.event async def on_message(message): if message.author == client.user: return if message.content.startswith('$hello'): await message.channel.send('Hello!') client.run(os.getenv('TOKEN'))
Когда вы создали своего пользователя-бота в Discord, вы скопировали токен. Теперь мы собираемся создать файл .env для хранения токена. Если вы запускаете свой код локально, вам не нужен файл .env . Просто замените os.getenv(‘TOKEN’) токеном.
.env файлы используются для объявления переменных среды. На Repl.it большинство создаваемых вами файлов видны всем, но .env файлы видны только вам. Другие люди, просматривающие публичный ответ, не смогут увидеть содержимое файла .env .
Поэтому, если вы разрабатываете на Repl.it, включайте в файл .env только личную информацию, такую как токены или ключи.
Нажмите кнопку «Добавить файл» и создайте файл с именем .env .

Внутри файла добавьте следующую строку, включая ваш фактический токен, который вы скопировали ранее:
TOKEN=[paste token here]
Теперь давайте рассмотрим, что делает каждая строка в коде вашего бота Discord.
- Первая строка импортирует библиотеку discord.py.
- Вторая строка импортирует библиотеку os, но она используется только для получения переменной TOKEN из файла .env . Если вы не используете .env файл, эта строка вам не нужна.
- Затем мы создаем экземпляр Client . Это связь с Discord.
- Декоратор @client.event() используется для регистрации события. Это асинхронная библиотека, поэтому все делается с помощью обратных вызовов. Обратный вызов — это функция, которая вызывается, когда происходит что-то еще. В этом коде событие on_ready() вызывается, когда бот готов к использованию. Затем, когда бот получает сообщение, вызывается событие on_message() .
- Триггер событий каждый раз вызывает on_message() , когда принимается сообщение, но мы не хотим, что-то делать, если сообщение от самих себя. Поэтому, если Message.author это то же самое, что и Client.user , просто делаем return.
- Затем мы проверяем Message.content , начинается ли с ‘$hello’ . Если да, то бот отвечает ‘Hello!’ в канал, в котором он использовался.
- Теперь, когда бот настроен, последняя строка запускает бот с токеном входа. Он получает токен из файла .env .
У нас есть код для бота, поэтому теперь нам просто нужно его запустить.
Как запустить бота
Теперь нажмите кнопку запуска вверху, чтобы запустить своего бота в repl.it.
Если вы пишете бота локально, вы можете использовать эти команды в терминале для запуска бота:
py -3 main.py
В других системах:
python3 main.py
Теперь перейдите в свою комнату в Discord и введите «$hello». Ваш бот должен ответить «Hello!».

Как улучшить бота
Теперь, когда у нас есть базовый бот, мы его улучшим. Не зря он называется «Encourage Bot».
Этот бот будет отвечать сообщением ‘Hello!’ всякий раз, когда кто-то отправляет сообщение, содержащее грустное или удручающее слово.
Любой желающий сможет добавить ободряющие сообщения для использования бота, а отправленные пользователем сообщения будут храниться в базе данных Repl.it.
Бот также вернет случайную вдохновляющую цитату из API, когда кто-то наберет в чате сообщение «$inspire».
Мы начнем с добавления функции «$inspire».
Как добавить в бота вдохновляющие цитаты
Мы будем получать вдохновляющие цитаты из API под названием zenquotes.io. Нам нужно импортировать еще пару модулей Python, добавить функцию get_quote() и обновить код нашего бота, чтобы вызвать функцию.
Вот обновленный код. После кода я объясню новые части.
import discord import os import requests import json client = discord.Client() def get_quote(): response = requests.get("https://zenquotes.io/api/random") json_data = json.loads(response.text) quote = json_data[0]['q'] + " -" + json_data[0]['a'] return(quote) @client.event async def on_ready(): print('We have logged in as '.format(client)) @client.event async def on_message(message): if message.author == client.user: return if message.content.startswith('$inspire'): quote = get_quote() await message.channel.send(quote) client.run(os.getenv('TOKEN'))
Теперь нам нужно импортировать модуль requests . Этот модуль позволяет нашему коду делать HTTP-запрос для получения данных из API. API возвращает JSON, и модуль json упрощает работу с возвращенными данными.
Функция get_quote() очень проста. Во-первых, она использует модуль запросов для запроса данных из URL-адреса API. API возвращает случайную вдохновляющую цитату. Эту функцию можно легко переписать для получения котировок из другого API, если текущий перестанет работать.
Затем внутри функции мы используем json.loads() для преобразования ответа API в JSON. Методом проб и ошибок я понял, как перевести цитату из JSON в нужный строковый формат. Цитата возвращается из функции в виде строки.
Последняя часть кода обновляется ближе к концу. Ранее он искал сообщение, которое начиналось с «$hello». Теперь он ищет «$inspire». Вместо того, чтобы возвращать «Hello!», Он получает цитату quote = get_quote() и возвращает цитату.
На этом этапе вы можете запустить свой код и попробовать его.
Как добавить в бота обнадеживающие сообщения
Теперь мы реализуем функцию, при которой бот отвечает обнадеживающими сообщениями, когда пользователь отправляет сообщение с грустным словом.
Как добавить грустные слова в бота
Для начала нам нужно создать список Python, содержащий грустные слова, на которые будет отвечать бот.
Добавьте следующую строку после создания переменной client :
sad_words = ["sad", "depressed", "unhappy", "angry", "miserable"]
Не стесняйтесь добавлять в список больше слов.
Как добавить в бота обнадеживающие сообщения
Теперь мы добавим список ободряющих сообщений, которыми бот ответит.
Добавьте следующий список после созданного вами списка sad_words :
starter_encouragements = [ "Cheer up!", "Hang in there.", "You are a great person / bot!" ]
Как и раньше, не стесняйтесь добавлять в список другие фразы по вашему выбору. Сейчас я использую всего три элемента, потому что позже мы добавим возможность пользователям добавлять больше ободряющих фраз для использования ботом.
Как отвечать на сообщения
Теперь нам нужно обновить нашего бота, чтобы он использовал два созданных нами списка. Во-первых, импортируйте модуль random , потому что бот будет случайным образом выбирать сообщения из списка. Добавьте следующую строку в операторы импорта в верхней части кода:
import random
Теперь мы обновим функцию on_message() , чтобы проверять все сообщения, чтобы увидеть, содержат ли они слово из списка sad_words . Если будет найдено грустное слово, бот отправит случайное сообщение из списка.
Вот обновленный код:
async def on_message(message): if message.author == client.user: return msg = message.content if msg.startswith('$inspire'): quote = get_quote() await message.channel.send(quote) if any(word in msg for word in sad_words): await message.channel.send(random.choice(starter_encouragements))
Это хорошее время для тестирования бота. Теперь вы знаете достаточно, чтобы создать собственного бота.
Создаём 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'])