Вы когда-нибудь хотели создать своего собственного бота для разногласий? У вас есть идея, но Discord API кажется слишком громоздким для настройки? Ну, я тебя понял! Это руководство проведет вас через шаги, связанные с созданием бота для разногласий (что, как вы скоро поймете, совсем не сложно!).

Шаг 1: Создайте учетную запись Discord Bot

  1. Убедитесь, что у вас есть discord-аккаунт и вы вошли в систему.
  2. Перейдите на страницу заявки.
  3. Нажмите на кнопку «Новое приложение».

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

5. Перейдите на вкладку «Бот» и нажмите «Добавить бота».

Сохраните настройки по умолчанию и настройте имя пользователя и изображение вашего бота. Ваш дискорд-бот создан! Ваш следующий шаг — скопировать «токен».

Убедитесь, что вы никому не передаете токен бота. Вы можете «восстановить» токен, если им случайно поделились.

Шаг 2: Добавьте своего бота на сервер

Чтобы добавить своего бота на сервер, вам нужно создать для него URL-адрес приглашения.

Для этого перейдите к «Генератору URL» на вкладке «OAuth2» и выберите «Бот» в разделе «Области действия».

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

Скопируйте сгенерированный URL-адрес и вставьте его в браузер, чтобы добавить на сервер.

Шаг 3: закодируйте бота с помощью Python

Мы будем использовать библиотеку Python discord.py для кодирования бота.

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

Вы можете разработать бота с помощью редактора кода на своем компьютере, но мы будем использовать Replit, чтобы людям было проще следить за ним.

Начните с создания бесплатной учетной записи Replit и настройки Python Repl.

2. Настройка Discord.py

Добавьте этот код в свою консоль (он импортирует библиотеку discord.py и подключает клиент discord):

Запуск кода автоматически установит библиотеку на Replit. Вы можете ввести «pip install discord.py» в свой терминал, если вы программируете локально.

3. Получение токена

Когда вы создали своего бота, вы скопировали токен. Этот токен, по сути, является паролем, который требуется вашему боту для запуска. Теперь мы создадим файл .env для хранения токена. Вы всегда должны использовать файлы .env для хранения личной информации.

Чтобы создать файл .env в Replit, перейдите на вкладку «Секреты» и добавьте пару «ключ-значение». Вам нужно будет использовать os.environ, чтобы добавить зашифрованный токен в свой код.

4. Создание событий

Теперь, когда вы все настроили, пришло время заняться кодированием!

Discord.py использует «События», чтобы ваш бот работал. Вы можете определить событие как то, что вы видите, а затем реагируете. Мы создадим простого бота, который отвечает «хорошо» на каждый текст, содержащий число 69.

Добавьте этот код в свою консоль. Я объясню, что он делает в ближайшее время.

Discord.py имеет различные методы (которые можно найти в документации) для взаимодействия вашего бота с сервером. Как видите, я использовал @clients.event для регистрации события.

В нашем коде событие on_ready() вызывается, когда бот готов к использованию, а событие on_message() вызывается при получении сообщения.

Бот печатает «{имя бота} в сети», когда он активен. За этим следует событие on_message(), которое запускается каждый раз при получении сообщения. Наш код проверяет, содержит ли message.content число 69. Если да, то бот использует message.channel.send для отправки «хорошо».

5. Запустите бота, вызвав токен входа.

Введите следующий код, чтобы использовать токен для входа и запустить бота:

client.run(os.getenv(‘TOKEN’)) входит в систему, используя токен, и запускает бота.

Шаг 4. Заставьте бота работать непрерывно

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

Replit продолжает работу веб-сервера даже после закрытия скрипта. Следовательно, мы создадим веб-сервер, чтобы наш скрипт работал. Поскольку веб-сервер остается активным только в течение одного часа после его последнего запроса, нам также придется использовать стороннюю службу для проверки связи с нашим сервером.

  1. Запрограммировать веб-сервер с помощью flask

Начните с создания нового файла под названием server.py’ .

Добавьте этот код в файл:

Перейдите к своему основному файлу, импортируйте в него сервер и вызовите функцию keep running() непосредственно перед командой запуска.

Ваш окончательный код должен выглядеть примерно так:

2. Настройка робота UpTime

Создайте бесплатную учетную запись на https://uptimerobot.com/

После входа в систему нажмите «Добавить новый монитор».

Скопируйте URL-адрес вашего файла server.py и настройте свой монитор.

Монитор будет пинговать ваш сервер каждые 5 минут.

Готово!

Поздравляем! Теперь вы знаете, как создать бота для разногласий и постоянно запускать его с помощью Python.

Ваш бот должен работать так, лол:

Исходный код | Документация