Как сделать проверку на бота discord py

Добавил пользователь Алексей Ф.
Обновлено: 04.10.2024

Всем привет.
В интернете очень мало качественных гайдов на тему разработки Discord-бота . Поэтому я решил написать полный подробный курс на эту тему.
В этом курсе мы будем учиться созданию Discord-бота на языке программирования Python (библиотека Discord.py) с нуля.

Создание приложения

Для начала нам нужно получить токен для взаимодействия с API Discord. Получить его достаточно просто.
Перейдите по ссылке https://discordapp.com/developers/applications/ . Если вы не авторизованы в аккаунте Discord - нужно будет авторизоваться.
Справа сверху появится кнопка "New Application" .

Нажимаем на нее. В открывшемся окне нам будет предложено ввести название нового приложения.

Вводим и нажимаем Create. Теперь нам нужно выбрать вкладку "Bot" в меню слева.

В правой верхней части экрана нажимаем "Add Bot" . В открывшемся окне нажимаем "Yes, do it!" .

Строка "USERNAME" - будущее имя бота.
Token - это и есть наш код доступа к API, ради которого мы все это делали.

Добавление бота в канал

После перехода по ссылке, в открывшемся выбираем наш сервер, куда мы хотим добавить бота.

Теперь нажимаем кнопку "Продолжить" , а затем "Авторизовать" , проходим проверку на робота. Готово! Наш бот добавлен в наш сервер.

Теперь перейдем непосредственно к разработке самого бота.

Установка Discord.py

Я буду показывать пример работы в Командной Строке Windows . В целом, ход действий мало отличается от Linux , так что, если у вас линукс, - пишите то же самое.

Для удобства работы лучше будет создать виртуальное окружение (Virtual Env) . В консоли переходим в папку нашего проекта. В ней выполняем следующие команды:

// Устанавливаем VirtualEnv, если он у вас еще не установлен
> pip install virtualenv

// Создаем нашу виртуальную среду
> python -m venv [название]

// Активируем виртуальную среду
[Windows] > [название]\Scripts\activate.bat
[Linux] > source [название]/bin/activate

// Активацию нужно будет повторять при каждом запуске консоли

Теперь нам нужно установить библиотеку Discord.py . Пишем в консоли:

Готово. Библиотека успешно установлено в наше виртуальное пространство. Теперь можно перейти непосредственно к коду.

Написание основы для бота

В папке нашего проекта создаем Python-файл с любым названием и открываем его в любом редакторе. В моем случае это будет bot.py .
В этот файл вы должны написать такой код:

import discord
from discord.ext import commands

token = 'токен'
bot = commands.Bot(command_prefix='/')

Создание первой команды

Александр Пиндык

Я расскажу о создании Discord-бота на Python, который запускает сборку проекта в Unity Cloud Build и создаёт ссылку на скачивание для QA из внешней команды.

Настройка и поддержка полноценного CI занимает много времени и средств. При этом команде чаще всего нужна базовая функциональность. Так случилось и с нашим проектом. Потребовался простой способ сборки проекта в Unity Cloud Build и передачи его на внешний QA.

На начальном этапе были такие условия и ограничения:

  • репозиторий проекта — Bitbucket (есть поддержка GitHub и GitLab);
  • наличие лицензии Unity Teams Advanced, которая разблокирует доступ к Unity Cloud Build;
  • ограниченный доступ к Unity Cloud Build для части команды;
  • сборка версии проекта не после каждого коммита в ветку, а только после завершения работы над функциональностью или багом.

Для этих целей был создан Discord-бот на Python (этот язык выбрал, как самый быстрый и удобный для автоматизации). Он позволил команде запускать сборку версии в Unity Cloud Build, и после её успешного завершения формировал ссылку для скачивания QA, как внутри команды, так и вне её.

Настройка проекта в Unity Cloud Build


Далее выбираем Create project и вводим имя нашего проекта (для примера, назовем его Dungeon Crawl Prototype):


После этого в списке проектов появится созданный проект. Переходим к нему и выбираем SET UP CLOUD BUILD:


На следующей странице выбираем с каким Git репозиторием будем интегрировать наш проект. В нашем случае это GitHub:


Подключаем GitHub и переходим к настройке сборки проекта:


Добавляем новую сборку SETUP NEW TARGET:


Выбираем платформу. В нашем примере было создано две сборки под Windows 64 и Android:


Вводим название Target Label, в Branch ветку в git репозитории. Для тестового примера был установлен флаг Auto Detect Version:


Для примера был выбран Debug ключ и тестовый Bundle ID:


Далее нажимаем NEXT: BUILD, после чего настройка сборки завершена. Те же шаги необходимо повторить и для других платформ. На этом заканчиваем настройку Unity Cloud Build. В будущем понадобится создать Discord-оповещения для старта построения сборки и результата сборки. Сделаем это после настройки сервера.

Создание и настройка Discord-гильдии (сервера)


После создания сервера необходимо добавить новые роли. Для этого переходим в настройки и создаем три:

  • bot для нашего бота, ci для пользователей:
  • ci для пользователей, которые смогут давать команды боту:
  • qa для тех, кому будет доступна ссылка на скачивания сборки.


Далее создадим три канала:


На этом настройка гильдии закончена. Следующим шагом будет создание Discord-бота.

Создание и настройка Discord-бота


Далее создаем бота. Для этого переходим в созданное приложение, выбираем вкладку Bot и нажимаем Add Bot:


Далее необходимо настроить разрешения для бота. Переходим в пункт OAuth2 и выбираем следующие опции:


После выбора всех опций копируем url кнопкой Copy. Затем в браузере переходим по скопированной ссылке, выбираем Discord-гильдию, созданную ранее, и проверяем, выставленные разрешения:


Далее в настройках Discord-гильдии добавляем нашего бота в роль bot, которую создали ранее:


Осталось настроить Discord-оповещения для Unity Cloud Build (о начале и завершении сборки, и её результате):

Настройка Discord оповещения для Unity Cloud Build

Возвращаемся в Unity Cloud Build и переходим в раздел Notifications, в котором выбираем Integrations page:


Далее создаем новую интеграцию, нажав на NEW INTEGRATION:


Выбираем Discord и нажимаем NEXT:




На этом настройка оповещений и окружения завершена. На следующем этапе создадим Discord-бот на Python.

Создание Discord-бота на Python

Настройка проекта

Создаём новый проект и добавляем в него requirements.txt с таким содержанием:

Так же создаём файл .env с переменными:

DISCORD_GUILD — название Discord гильдии.

DISCORD_BOT_NAME — имя бота.

DISCORD_TOKEN — можно получить на Discord Developer Portal в разделе Bot, скопировав токен:


UNITY_API_KEY можно получить в настройках Unity Cloud Build:


UNITY_ORGANIZATION_ID и PROJECT_ID так же можно получить в Unity Cloud Build. Для этого открываем конфигурацию сборки и нажимаем на EDIT BASIC INFO:


Далее в строке браузера можно увидеть UNITY_ORGANIZATION_ID и PROJECT_ID:


PROJECT_NAME — имя проекта, который собирается в Unity Cloud Build:

Написание бота

Далее я опишу основные моменты реализации Discord-бота. Создаём класс DiscordBot который наследуется от discord.Client. Он реализует API, позволяющее подключиться к Discord гильдии:

Далее необходимо подключиться к Discord-гильдии:

Метод on_ready, позволяет реагировать на событие подключения бота к Discord-гильдии:

Для работы с Unity Cloud Build создаём класс UnityCloudBuildWorker:

Запуск бота как сервис

Для удобства запуска бота на удаленном сервере мы добавили в репозиторий возможность собрать и запустить бота в качестве Docker-контейнера. Для этого были добавлены Dockerfile:

И Makefile, в котором описаны команды up и down для запуска и остановки контейнера с ботом:

Discord с каждым днем становится все более востребованным среди киберспортсменов, любителей компьютерных развлечений и тех, кто привык общаться в сети в тематических чатах. Вместе с повышающимся спросом меняется и функционал мессенджера – появились и подписки на Nitro, и функция бустинга серверов. Сейчас же спрос растет на разработку bot (ботов) для Discord на Python. Как все работает, какие команды писать и чем полезен бот – инструкции ниже!

screenshot_1

Создание бота и получение токена

Начинается разработка нового бота для мессенджера с подготовки необходимых инструментов, разрешений и правил:

screenshot_2

screenshot_3

screenshot_4

Приглашение бота на свой сервер

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

screenshot_5

screenshot_6

Как написать код для базового бота Discord с помощью библиотеки Discord.py

Разрабатывается бот на основе библиотеки для Python – Discord.ру, упрощающей многие действия и разрешающей загружать специальные модули и шаблоны, а не писать весь код вручную.

Создание реплик

Вдохновляющие цитаты

Текущий промежуточный код выглядит следующим образом:

screenshot_7

screenshot_8

Грустные слова

screenshot_9

Настройка событий

Весь код, частично позаимствованный из официальной документации discord.py, выглядит так:

screenshot_10

Подробности к коду следующие:

screenshot_11

Запуск бота

screenshot_12

Как улучшить бота

Последний шаг – вынужденное обновление бота и добавление связки из списков с командами, и новой функции. Весь алгоритм действий выглядит следующим образом:

screenshot_13

Добавлять новые команды и пользоваться на Python легче, чем кажется. Достаточно попрактиковаться и творчески подойти к процессу, а заодно – чаще заглядывать в документацию, где полно советов для новичков и тех, кто еще обучается искусству подготовки кода.

Правила установки Дискорда, сколько весит прога и как ее обновить

Описание Discord-сервера VimeWorld, подробные правила и контингент

Информация о сервере MoonLight, правила, как подключиться в Discord

Все способы написания редких символов и букв на клавиатуре компа

Причины ошибки Installation has failed и 5 способов для установки Discord

ТОП 8 Level bot для мессенджера Discord, их функции и как установить

Лучшие программы для нанесения водяного знака

Как в Виндовс 10 произвести восстановление системы

Как освободить память Android, ничего не удаляя!


Сегодня пробывал, пеекрою статью. Сегодня на пороге 2022 год, есть ССД, с внешнего кармана работают быстрее любого жесткого диска, подчеркну - только не М2, только если Ваш комп поддерживает, а 2 недели назад купил флешку, 64 гига и скоростью 200, хоть не 500, как в ССД, но быстрее жесткого от юсб. Что касается линуксов - убил 2 недели, не увидел, что ставить. Зорин, установился без пролем, вот здесь подлог (бесплатная версия), это типа урезанная, не обслуживаемая и главное - без магазина.

Автоматические помощник в рамках программы Дискорд могут помогать выполнять задачи, но если пользователь не смог подобрать оптимальный вариант, то можно создать бота. Участники программы могут использовать варианты по созданию, но работа получится при выполнении алгоритмов по инструкции.

Как создать бота и получить токен?

Python как язык программирования является оптимальным выбором как для начинающих пользователей, так и для профессионалов. Язык прост в использовании, прост в освоении, а его большое сообщество предоставляет тонны готовых к использованию библиотек и фреймворков.


В рамках можно Питона можно найти несколько причудливых фреймворков, как TextBlob или SpaCy, которые помогут вам создать действительно продвинутый вариант с некоторыми навыками обработки естественного языка. Пользователи могут использовать фреймворк ChatterBot, который разрешает создать разговорного бота на основе машинного обучения всего за пару минут. С другой стороны, если пользователю просто нужен простой инструмент с использованием Python, это займет около 2 часов.

Процедура создания бота в среде Python:

  • Во-первых, начинаем с создания рабочей среды. Используйте virtualenv и virtualenvwrapper, поскольку они являются инструментами, которые помогают поддерживать в чистоте и ремонтопригодности. Ознакомьтесь с руководствами по установке выбранной ОС. Можно использовать PyCharm IDE, в которую встроен virtualenv.
  • Теперь возможно пройти регистрацию бота в программе, чтобы приложение знало, куда отправлять уведомления.
  • Затем перейти на страничку бота, и в разделе опций создать новый.
  • Установите приложение при помощи разрешения на авторизацию разрешения бота к рабочему пространству. В результате получите токен доступа.
  • Пришло время написать какой-нибудь код на Python. Как мы уже видели, Программа Дискорд предоставляет некоторую четкую документацию, и есть специальный раздел для интеграции Python.

Создание гильдии

После запуска робота, потребуется создание нового сервера для организации пространства, где будет обитать бот. Можно использовать уже имеющийся сервер для связи с другими пользователями.


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

Пользователю предлагается функционал с названием сервера. Придумать имя возможно любое по собственному желанию.

Остается завести бота на сервер, и как следствие можно переходить к работе с кодом.

Добавление бота в гильдию

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

После установки флажка, можно заметить появление URL-адреса. Его необходимо скопировать и вставить в браузер. Данное действие разрешает присоединение бота к понравившемуся серверу, где у человека имеется разрешение, чтобы использовать OAuth2 для присоединения.


Взаимодействие с API Discord

API Discord – отдельно разработанная строка, идентифицирующая бота. Команда дает возможность доступа к боту из приложения. Можно установить пароль на использование бота для защиты от посторонних пользователей.

Как написать код?

Пришло время написать код на Python. Программа Дискорд предоставляет пользователям для применения документацию, и у них есть специальный раздел для интеграции Python.


Создаем новый файл Python на используемом устройстве. Опции on_ready() и on_message() являются слушателями событий, которые имеют взаимосвязь с ботом в рамках программы Discord, с подобным правилом можно ознакомиться в аннотациях @bot.event. Запуск сценария действий осуществляется, когда начинается запуск бота.

Обычно, чтобы сохранить токен, применяется файл скрытого типа, из которого программа извлекает строку, чтобы не были привязаны к VCS. Если установить python-dotenv, токен будет под защитой.

Приветствуя новых людей

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

Для того, чтобы задать команду для работы автоматического помощника, следует ввести событие, которое будет обрабатываться в ходе функционирования. Печатаем on_ready () вписываем имя пользователя помощника в строке, которая рассчитана на форматирование. Если необходимо заложить команду для приветствия новых участников, следует ввести текст on_member_join (). По названию команды можно понять, что бот приветствует пользователей, когда вошли на сервер.

После создания команды, следует провести проверку:

Обработка исключений

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

В данном статье, я покажу как можно создать Discord бота. Discord это мессенджер для голосового, видео и текстового общения для любых сообществ [Дискорд Что Это И Как Пользоваться? — Обзор Программы Discord]. А теперь, давайте создадим простого бота, и сделаем ему команду.

Создадим простой бот на сайте Discord Developer Portal — API Docs for Bots and Developers. Потом верхнем правом углу нажимаем на кнопку New Application:

Screenshot 2021-06-09 at 19-03-59 Discord Developer Portal — API Docs for Bots and Developers.jpg

Дальше, Discord попросит вас название вашего бота, пример, назовём его MyBot.​

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

Screenshot 2021-06-09 at 19-11-49 Discord Developer Portal — API Docs for Bots and Developers.jpg

Нажимаем на кнопку Copy, потом создайте простой документ txt, и закиньте его, я назову его token.txt, через пайтон файл, мы позже будем подключаться к нему:

Снимок экрана от 2021-06-09 19-15-26.jpg

Все бота мы создали, теперь мы должны кинуть на наш сервак, как это сделать? Для этого вы должны зайти на сайт: [ Discord - A New Way to Chat with Friends & Communities ] и изменить YOUR_ID на Application ID:

'
Заходим опять в Developer discord нажимаем на кнопку OAuth2 копирум Client ID и ставляете место YOUR_ID на CLIENT ID.

Вот и всё! После чего, Discord попросит на какой сервер, добавить вашего бота:

Screenshot 2021-06-09 at 19-30-26 Discord - A New Way to Chat with Friends Communities.jpg

Допустим он у меня будет называть My Server.

С созданием бота мы разобрались! Теперь, напишем код на пайтоне, и сделаем команду для бота, которые будет приветствовать. Ну для этого вы должны установить библиотеку discord:

Читайте также: