Все секреты компьютера для новичка и профессионала

Как сделать bot для Discord на Python, правила написания и установки помощника

Как сделать bot для Discord на Python, правила написания и установки помощника

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

screenshot_1

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

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

  • Авторизация. На официальном сайте Discord предстоит или зарегистрироваться, или авторизоваться, заполнив ряд текстовых полей.
  • Интеграция. Далее – переход на страницу с тематическим контентом для мессенджера и выбор пункта «New Application» в правом верхнем углу.

screenshot_2

  • Выбор. Следующие шаги связаны непосредственно с наименованием бота (предстоит выбрать название), активацией (пункт «Bot» в меню слева) и выбором настроек (желательно ничего не менять, в особенности поля, связанные с «Public bot» и «Require OAuth2 Code Grant»).

screenshot_3

  • Токен. После базовой подготовки и до загрузки дополнительных модулей («Module») и API необходимо лишь скопировать «Токен» («Token»), который появится в разделе «Build-A-Bot» после всех действий, описанных выше. Если с копированием (или переносом комбинации) возникнут проблемы, то проще воспользоваться кнопкой «Regenerate» и обновить «Токен».

screenshot_4

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

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

  • Сначала предстоит подготовить URL-ссылку приглашения на вкладке «OAuth2», выбираемую в левой части интерфейса, а после – уже справа – установить галочку напротив пункта «Bot».

screenshot_5

  • Далее необходимо проставить галочки для Дискорда с разрешениями. Разрабатываемый на Питоне бот понадобится для рассылки сообщений, а потому выделить предстоит все, что связано с «Text Permissions», а еще – «View Channels».

screenshot_6

  • Если галочки проставлены, то сверху осталось нажать на «Copy» и скопировать ссылку.
  • Далее URL-адрес достаточно вставить в адресную строку браузера и нажать на «Enter».
  • После перехода появится предложение выбрать сервер, куда интегрировать бота, и кнопка «Авторизовать».

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

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

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

Применять язык программирования Python проще в специальных редакторах кода (Sublime Text, Atom, Visual Code), но при разработке бота легче ориентироваться на специальный сервис Repl.it – специальную IDE, куда уже интегрирована необходимая библиотека discord.py. Достаточно нажать на «Start Coding», а после – ввести комбинацию «import discord» в верхней части main.py. Дальнейшие действия не понадобится – Repl.it без лишних вопросов справится с разверткой необходимой информации и подготовит почву для дальнейшего кода.

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

Перед тем, как создать список вдохновляющих цитат, предстоит интегрировать новый модуль Python и ввести «get_quote ()», необходимый для использования запросов из URL-адреса API и возвращения найденных в списке сообщений. Дополнительно понадобится модуль «requests» и еще одна команда – «json.loads()».

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

screenshot_7

screenshot_8

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

Перед тем, как настраивать реакции бота на «печальные» сообщения, необходимо подготовить простейшую связку-список, которая станет триггером для бота и приведет к выводу дальнейших обнадеживающих сообщений. Добавлять грустные слова предстоит после переменной client:

  • sad_words = [«depressed», «unhappy», «miserable»].
  • Кроме латиницы поддерживается и кириллица: те же [«sad», «depressed»] мгновенно меняются на [«грустно», «депрессивно»].

Обнадеживающие сообщения

После генерации списка необходимы обнадеживающие «ответы». А именно за списком sad_words предстоит добавить конструкцию следующего типа:

screenshot_9

Как и в случае с «грустным» списком, допустима кириллица и привычные выражения, вроде «Взбодрись!». Главное – соблюдать синтаксис – использовать скобки, кавычки.

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

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

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

screenshot_10

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

  • Фразу os.getenv('TOKEN') необходимо заменить «Токеном», выданным в браузере (подробности – выше).
  • Client необходим для связи с Discord. А @client.event() регистрирует происходящие события.
  • Строки «import discord» и «import os» импортируют ряд библиотек, необходимых для работы.
  • Когда боту приходит сообщение, вызывается событие «on_message()»;
  • Затем происходит проверка содержимого с помощью «message.content». Если там содержится «$hello», то бот автоматически ответит «Hello!».

screenshot_11

Запуск бота

Активируется bot для Discord в Repl.it с помощью соответствующей кнопки в интерфейсе онлайн-среды. А вот в редакторах кода предстоит написать «py3 main.py» или «python3 main.py». Если действия проделаны корректно, то добавленное в чат с ботом сообщение «$hello» приведет к появлению фразы «Hello!».

screenshot_12

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

Сделать bot для Дискорда – половина дела. Важно не останавливаться на достигнутом и осваивать новые инструменты и шаблоны. Например, не помешает интегрировать в бота механизм «реагирования» на печальные или даже безнадежные сообщения, пересылаемые пользователями. Вариантов реализовать идею несколько.

Во-первых, не помешает функция «$inspire», способная выводить заготовленную цитату (в том числе и вдохновляющую) из заранее организованного списка после добавления пользователями соответствующей команды.

Как отвечать на сообщения

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

  1. Импорт модуля random и добавление строки «import random» в верхнюю часть кода;
  2. После необходимо обновить функцию «on_message()» для проверки сообщений, содержащих слова из заранее подготовленного списка «sad_words».

screenshot_13

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

Информационный портал IT Техник
Вам помогло? Поделитесь с друзьями - помогите и нам!
Поделиться
Отправить
Класснуть
Линкануть
Вотсапнуть
Запинить
Комментарии к статье: 1
Добавить комментарий


Граватар rredragon
rredragon

Зачем писать токен и использовать OS, если можно в JSON файл все поместить и подключить к главному коду. Так-же не понятно зачем использовать event если есть @bot.command :/

Ответить
Читайте нас в Яндекс Дзен
Наш Youtube-канал
Канал Telegram

Прямой эфир

Любовь
Любовь
Удалила телеграмм случайно , а теперь не открывается вообще приложение .
Как восстановить аккаунт в Телеграме после удаления страницы и проблемы
Moderator
Moderator
Здравствуйте. Да, в компьютерных гайдах есть такая проблема. Браузер обновляется, потому некоторые названия могут меняться, а пункты перемещаться. Рады, что несмотря на эти сложности, Вы смогли найти решение.
Как поставить русский язык в браузере Microsoft Edge – пошаговая настройка
Moderator
Moderator
Здравствуйте. Да, к сожалению подобные материалы потихоньку устаревают из-за того, что эпоха IPTV уже ушла, а потому многие серверы не перестали поддерживать ее.
Самообновляемые плейлисты SlyNet 6 категорий для IPTV и как скачать
Moderator
Moderator
Здравствуйте. Помнится, когда я был школьником в "началке", то вообще ничего не знал о различиях компьютеров и их составляющих. Мне казалось, что любой компьютер может потянуть что-угодно. Только с взрослением начал разбираться в предназначением процессоров, видеокарт, ОЗУ, ЖД и так далее. К чему все это? А к тому, что наш сайт рассчитан на людей разных возрастов, которые имеют разный уровень компьютерной грамотности. Потому мы предлагаем даже такие банальные советы, как обновление ПО, чтобы расширить кругозор начинающих пользователей ПК.
Почему долго сохраняются HD-клипы в Movavi и как оптимизировать видео
Moderator
Moderator
Здравствуйте. Действительно полезный совет. Рады, что Вы дополняете эту страницу своим личным опытом, который с большей вероятностью сможет помочь другим читателям портала.
Почему повреждается корзина на диске С и как это исправить в ОС Windows 10
Moderator
Moderator
Здравствуйте. Кажется, Вы оставили комментарий не к тому материалу. В любом случае, на Windows XP действительно нет такой телеметрии, которая присутствует в Windows 7, 8, 10 и 11. Потому отключать ее нет смысла. Разработчики тогда просто не так сильно жаждали получать данные пользователей и следить за ними, а потому не интегрировали средства слежки в свой продукт.
Как можно убрать Дзен со стартовой страницы Яндекса – пошаговая инструкция
Moderator
Moderator
Здравствуйте. Благодарим за предложенный способ и его подробное описание. Возможно Ваш комментарий поможет другим читателям нашего портала.
Причины сбоя при удалении устройства Bluetooth в Windows 10 и как исправить
Moderator
Moderator
Здравствуйте. Благодарим за указание на ошибку. Действительно, вместо netcfg-d нужно использовать netcfg /d. В скором времени исправим ошибку в материале.
Как выполнить сброс настроек сети на компе с ОС Windows 10 – 4 способа
Moderator
Moderator
Здравтсвуйте. Рады, что смогли помочь Вам решить проблему.
4 способа настройки и редактирования контекстного меню системы Windows 10
Moderator
Moderator
Здравствуйте. Приложения трудно сохранять отдельно от телефона с Андроидом. Это то же самое, что копировать папку Program Files x86 с одного ПК на другой. Однако пользователь может перекидывать приложения на ходу с помощью Bluetooth. Для этого скачайте приложение APK Extractor или Shareit. В нем отобразится список установленных приложений. Выберите любое из них и нажмите на кнопку "Отправить".
Как перенести данные с телефона Андроид на компьютер
Moderator
Moderator
Здравствуйте. Рады, что среди наших читателей есть добросовестные, порядочные и законопослушные пользователи, которые не позволяют себе грешить и поддаваться искушению.
Может ли полиция отследить найденный смартфон, если выкинуть СИМ-карту
Анна
Анна
А если я нашла телефон без Симки и он заблокирован.
Может ли полиция отследить найденный смартфон, если выкинуть СИМ-карту
Сардор
Сардор
Сервер входит ошибка и команды нет
Если Android пишет Команды нет – что делать, 7 способов исправления
Dron
Dron
поставьте системы на разные диски и не морочьте себе мозги, они вам еще пригодятся в старости )))
Изменения в редакторе загрузчика ОС Windows 10 и как добавить вторую ОС
Neizvestny
Neizvestny
Избегайте любого общения в русскоязычных серверах Discord. Тебя уничтожат за каждое слово в русскоязычных серверах Discord.
Лучшие Discord-серверы по игре Raid Shadow Legends, как подключиться
Neizvestny
Neizvestny
Но в данном приложении Discord не обойтись без минусов: 1)Разнообразный коллектив который не всегда подстать себе найдешь; 2)В приложении дискорд на жалобы сквозь пальцы смотрят.могут и не отреагировать; 3)Конфиденциальность в общении не в почёте. 4)Странное комньюнити которое как "стая пчел". 5)На жалобы техобслуживание долго не реагирует.но попытаться можно. 6)Само общество дискорда может окунуть тебя в грязь.Если им что-то не нравится.У них своё представление о том или ином человеке.Они живут в своём собственном мирке под названием Discord. 7)Есть определенные "особые" личности которым всё непочем.и они суются куда не следует. Проблема русскоязычного дискорда независит от сервера. Сейчас русскоязычные сервера дискорд самое поганое место обитания.. Ни в коем случае не общайтесь в русскоязычных серверах Discord. Это относится как к общему чату так и к личным сообщениям. Избегайте любого общения в русскоязычных серверах Discord.
Лучшие Discord-серверы по игре Raid Shadow Legends, как подключиться
олег
олег
ввожу номер телефона после чего получаю надпись internal server error и всё.
Как бесплатно установить Телеграм на русском языке на ноутбук, инструкция
вини
вини
А у меня получилось. Правда не совсем по инструкции, но эта инструкция давала направление, где примерно искать.
Как поставить русский язык в браузере Microsoft Edge – пошаговая настройка
Анна
Анна
Благодарю за статью, воспользовалась Вашими советами. За исключением «оптимизации системной памяти» - еë оставила.
Отключи это и твой Xiaomi будет жить вечно
Рифкат
Рифкат
ссылка убитая
Самообновляемые плейлисты SlyNet 6 категорий для IPTV и как скачать
Zombie
Zombie
Мне казалось, "гениальные" советы навроде "купить новый комп" (а в статье именно он и есть) уже давно ушли в прошлое. Но нет, ещё остаются.
Почему долго сохраняются HD-клипы в Movavi и как оптимизировать видео
Александр
Александр
Групповые политики можно самому установить, я ставил на W10 дом.
8 способов убрать ограничение скорости интернета на Windows 10
Александр
Александр
Возможно, перед сменой владельца диска, придется путем экспериментального копирования содержимого диска или съемного носителя, найти длинные имена файлов, которые система не может "переварить" при копировании или смене владельца, и удалить (или упаковать такие папки\файлы в zip архив).
Почему повреждается корзина на диске С и как это исправить в ОС Windows 10
Александр
Александр
небольшая корректировка: не "в свойствах файла..." а "в свойствах съемного носителя", корзина которого повреждена.
Почему повреждается корзина на диске С и как это исправить в ОС Windows 10
Александр
Александр
Еще может помочь перенастройка прав владельца в Windows10 после восстановления или переустановки системы (по крайней мере, на внешних носителях срабатывает). В свойствах файла на вкладке безопасность. Даже если владельцем являетесь Вы, то все равно надо сменить владельца еще раз опять же на себя, и дополнительно поставить ниже галочку "Заменить владельца подконтейнеров и объектов. И может еще надо будет "заменить все записи разрешений дочернего объекта наследуемыми от этого объекта. И уже вряд ли понадобится, но можно включить наследование прав.
Почему повреждается корзина на диске С и как это исправить в ОС Windows 10
Сергей
Сергей
Не нашёл варианта для Windows XP. Почему у меня ХР, а он просто не создаёт на диске раздела слежения, в корневом разделе диска, - то есть не шпионит в отличие от Windows-7 и далее!
Как можно убрать Дзен со стартовой страницы Яндекса – пошаговая инструкция
Андрей
Андрей
Ничего из перечисленного не помогает. Делайте так: Отключаете BlueTooth свисток Открываете "Диспетчер устройств" Далее Меню - Вид - галочку на "Показать скрытые устройства" Затем поочередно удаляете все BlueTooth устройства и драйверы вашего свистка во всех разделах, где найдете Затем открываете "Устройства и принтеры", обновляете список или пытаетесь удалить устройство BlueTooth, и, о чудо!!! Они все исчезли!!!
Причины сбоя при удалении устройства Bluetooth в Windows 10 и как исправить
Гость
Гость
имя netcfg-d не распознано . Ты где то ошибся . Исправь свой косяк ...
Как выполнить сброс настроек сети на компе с ОС Windows 10 – 4 способа
Денчик
Денчик
Пропало из контекста всех папок. Собсно корзина тоже папка. Как есть, так есть.
4 способа настройки и редактирования контекстного меню системы Windows 10
Санчос
Санчос
Как перекинуть только приложения на компьютер, ноутбук или СД карту, а потом обратно на андроид и что бы они при возврате на телефоне работали???
Как перенести данные с телефона Андроид на компьютер
Здравый
Здравый
Сколько же тебе лет, и что у тебя за воспитание такое, что ты сразу не решился вернуть телефон? Решил присвоить чужое себе, какие же пошли люди бесстыжие. Еще выбросил симкарту, что бы якобы не вычислили, ну ты и мудила конечно. Я находил телефон, мне было лет 16-17 и первое что я сделал, позвонил его маме, и вот так договорился о встрече и отдал телефон. Вот так поступают добросовестные люди, а не как ты, когда схватили за задницу сразу взялся за голову, до этого где ты был? Ты вор по своей сущности, раз ты так сделал, и тебя останавливает от такого такого только то, что могут посадить. Жалкий человек. Таких как я останавливает совесть, воспитание и т.д. Да что останавливает, я даже тогда не задумывался: а не украсть ли мне его, первая мысль была вернуть!
Может ли полиция отследить найденный смартфон, если выкинуть СИМ-карту
Moderator
Moderator
Понял. Только что установил программу, чтобы поэкспериментировать с ней. Прямо в ней можно убрать отображение в контекстном меню. Чтобы сделать это, выполните действия из инструкции ниже:
  1. Откройте окно приложения.
  2. Кликните по вкладке "Сервис" в верхней части экрана.
  3. Нажмите на пункт "Настройки"
  4. Снимите галочку с пункта "вызов из контекстных меню папок"
Это должно решить проблему.
4 способа настройки и редактирования контекстного меню системы Windows 10
Сергей
Сергей
В моём случае проблема решается определенной очередностью установки планок. Две планки по 8 Гб DDR3, одна старее, другая новее. Старая планка корректно работает только в одном(своём) слоте. Сначала устанавливаю новую планку, потом старую — после запуска система видит и использует все 16 Гб, если сделать по другому — система видит 16 Гб, но использует(доступно) только 8.
Что делать, если на ОС Windows 10 64 bit доступна не вся оперативная память
Юрий
Юрий
Спасибо!
Ошибка шифрования CredSSP 866660 – как исправить
Arom
Arom
Нажал Fn+Win и клавиша Win на ноутбуке снова работает. Благодарю!
6 способов исправления не работающей кнопки Windows на клавиатуре Windows 10
Денчик
Денчик
Пункт сторонней программы, но не Cclener. Пункт от Everything - поиск на компьютере. В настройках не нашел пункта убрать из контекстного меню корзины. Там только выбор пунктов в обычном проводнике. В реестре не пробовал, так как не знаю пути. Подскажете?
4 способа настройки и редактирования контекстного меню системы Windows 10
Moderator
Moderator
Предполагаю, что Вас не устраивает наличие команд "Открыть Ccleaner" и "Запустить Ccleaner" в контекстном меню "Корзины". Эти пункты можно убрать следующим образом:
  1. Откройте Ccleaner
  2. Кликните по вкладке "Параметры" в левом меню
  3. Перейдите во вкладку "Настройки"
  4. Снимите галочку с пунктов "Добавить пункт "Открыть Cclener" и "Добавить пункт "Запустить Ccleaner".
После этих махинаций пункт исчезнет из контекстного меню.
4 способа настройки и редактирования контекстного меню системы Windows 10
Moderator
Moderator
Здравствуйте. Рады, что смогли помочь. Благодарим за обратную связь и теплый отзыв.
Почему нет звука в Блютуз-наушниках и что делать на ОС Windows 10
Moderator
Moderator
Здравствуйте. Уточните пожалуйста, что именно хотите удалить из контекстного меню Корзины? Вы пробовали метод с удалением записей из реестра? На практике убедился, что это наиболее эффективный метод.
4 способа настройки и редактирования контекстного меню системы Windows 10
Moderator
Moderator
Здравствуйте. Функционал Телеграма позволяет выполнить следующие действия с ботами:
  • Удалить переписку с ним. В таком случае диалог исчезнет из списка, но при этом бот сможет отправлять пользователям сообщения и рассылки
  • Остановить бота. В таком случае у него исчезнет возможность отправлять Вам сообщения.
Вообще, кнопка "Удалить и заблокировать" есть только в Desktop-версии. В мобильном приложении можно использовать другую кнопку, которая называется "Остановить бота". Чтобы найти ее, следуйте инструкциям ниже?
  1. Откройте Телеграм.
  2. Кликните по диалогу с проблемным ботом.
  3. Кликните по его названию в верхней части экрана.
  4. Нажмите на три точки в правом верхнем углу
  5. В появившемся меню кликните по команде "Остановить бота"
Готово. После этих манипуляций Вы также можете удалить переписку с ним.
Как в Телеграме можно отписаться от бота и удалить чат, возможные проблемы
Александр
Александр
Спасибо за статью, она мне очень помогла!
Почему нет звука в Блютуз-наушниках и что делать на ОС Windows 10
Денчик
Денчик
А контекст корзины как почистить? Еази не видит контекст корзины.
4 способа настройки и редактирования контекстного меню системы Windows 10
Максим
Максим
А как удалить бота, но не блокировать? То есть я нажимаю на кнопку удались и там вылезает "Удалить (имя бота) и заблокировать его?" а просто удались не получается, я просто не хочу чтобы он у меня в ЧС висел
Как в Телеграме можно отписаться от бота и удалить чат, возможные проблемы
Сержан
Сержан
Оинаисыңба
Как выглядит новый телефон от компании Тесла и цена в 2022 году
Сержан
Сержан
Әйтпесе тамақ жимін
Как выглядит новый телефон от компании Тесла и цена в 2022 году
Сержан
Сержан
100тг сатып алам
Как выглядит новый телефон от компании Тесла и цена в 2022 году
Moderator
Moderator
Здравствуйте. Проверьте следующие параметры: 1) Подключен ли компьютер с точным временем к сети 2) Запущен ли на нем NTP-сервер 3) Была ли перезапущена служба времени 4) На других компьютерах используется локальный компьютер в качестве сервера Если забыть про один из этих пунктов, то синхронизация не будет работать.
5 способов синхронизации времени в ОС Windows 10 и почему возникает ошибка
Moderator
Moderator
Здравствуйте. Видимо в приложении небольшой глюк, либо Вы истратили все попытки авторизации. Переустановите приложение и попробуйте зарегистрироваться через день.
Как восстановить аккаунт в Телеграме после удаления страницы и проблемы
Moderator
Moderator
Здравствуйте. Самого компонента для FTP вроде нет в "Домашней версии". Зато Вы можете установить стороннее ПО для поднятия FTP-сервера. Например, я иногда использую Tftpd32 в таких целях.
Как создать сервер FTP и его настройка на ОС Windows 10, топ-10 лучших
Moderator
Moderator
Здравствуйте. Вероятнее всего Вы использовали номер, который принадлежит оператору, не поддерживающему подтверждения по СМС. В таком случае рекомендуем зарегистрировать аккаунт на другой номер телефона (может даже временный). Также не исключаем, что Вы просто истратили ежедневные попытки и Телеграм временно заморозил аккаунт. В таком случае попробуйте подождать один день и снова пройти регистрацию.
Как восстановить аккаунт в Телеграме после удаления страницы и проблемы
Adblock
detector