Как создать бота для Дискорда на Питоне

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

API Discord занимаются разработкой клиентского объекта, разрешающего диктовку порядка действий, которые способен выполнять бот, а потом делают запуск бота совместно с токеном. Чтобы заполучить токен бот, посетить страничку автоматического помощника на сайте производителей мессенджера Discord и кликнуть на «Копировать».

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

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

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

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

Опция on_message() дает возможность слушать сообщение любого типа, поступающее в канал, где располагается бот. Каждое сообщение, отправленное на стороне Дисскорда, вызовет эту функцию и отправит объект сообщения, содержащий много информации о отправленном сообщении.

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

# Запускает бота с указанным токеном при помощи команды bot.run(DISCORD_TOKEN).

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

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

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

Можно применить member.create_dm(), чтобы произвести канал прямого характера в обработке сообщений.

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

Во-первых, запустите программу, и дождитесь срабатывания события on_ready (), записав сообщение.

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

Отвечая на сообщения

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

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

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

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

Поскольку on_message() принимает один аргумент message, ожидаем, что args[0] будет сообщением, которое пользователь отправил в канале Discord.

Опция @client.event() применяется, чтобы зарегистрировать событие. Операция осуществляется посредством обратного вызова, поскольку библиотека относится к асинхронному типу.  Обратный вызов — специально разработанная вызывающаяся опция, если производится постороннее действие. В подобном варианте кода событие on_ready() задействуется, если помощник возможно эксплуатировать. Далее, при получении послания ботом, вызывается событие on_message ().

Событие on_message() срабатывает при получении сообщения, но если не хотите, чтобы производилось действие, при совпадении Message.author с Client.user, код просто возвращается.

Понравилась статья? Поделиться с друзьями:
Discord
Adblock
detector