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

Как сделать 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

Прямой эфир

Рамиля
Рамиля
Здравствуйте, пожалуйста верните деньги за подписку я не подписовала сняли 3 раза
Что это за сайт Shtrafoff.net, как отключить его подписку и вернуть деньги
Камила
Камила
Здравствуйте у меня такая проблема при регистрации в предложении я не правильно указала страну теперь часы другого часового пояса при подключении с телефоном время не правильно это можно как исправить?
Как подключить смарт-часы через Wearfit Pro к телефону – инструкция
Наталья
Наталья
В Улан-Удэ
Что это такое – разделение ответственности по ШК на Вайлдберриз и как быть
Борис
Борис
Благодарю за информацию. Помогло!
Что это за приложение XOS Launcher и нужно ли оно, как им пользоваться
Алена
Алена
Отключите подписку
Как отписаться от платных услуг и подписок сервиса Tutorplace – инструкция
Данил
Данил
У меня списали все деньги с карты как мне вернуть деньги
Как отменить подписку на ООО «Аб Софт» и почему они списали деньги
виктор
виктор
UN18363113CN
Что это значит – отгружено в доставку последней милей ЮНЭКС и как быть
Как отключить
Как отключить
А снимают даже запретами
Как отписаться от платных услуг и подписок сервиса Tutorplace – инструкция
Вова
Вова
спасибо помогло
Синий экран при включении компьютера
Алена
Алена
Как????
Как отписаться от платных услуг и подписок сервиса Tutorplace – инструкция
Алена
Алена
Отключите подписку!!! Я не подписана. А деньги списываются без уведомления !!!! Что за бред
Как отписаться от платных услуг и подписок сервиса Tutorplace – инструкция
Жанна
Жанна
Отключите арендное оборудование это приставка к телевизору так как она не работает.
Что это такое – аренда оборудования (ЦТВ) и как отключить услугу
Дмитрий
Дмитрий
Очень долго скачиваются приложения через этот стор, уж не знаю с чем это связано.
Что за приложение Palm Store в телефоне, его функционал и установка
Нина
Нина
Здравс, не поняла куда зайти надо?
Как отписаться от платных услуг и подписок сервиса Tutorplace – инструкция
Андрей
Андрей
Отписаться от платных услуг
Как отписаться от платных услуг и подписок сервиса А ДЕНЬГИ – инструкция
Елена
Елена
ОТКЛЮЧИТЕ ПОДПИСКУ!!! СПИСЫВАЕТЕ ДЕНЬГИ, А Я ДАЖЕ НЕ ЗНАЮ ЗА ЧТО !!!
Как отписаться от платных услуг и подписок сервиса Tutorplace – инструкция
Динар
Динар
Отписаться от платных услуг 89996232206
Как отписаться от платных услуг и подписок сервиса Youzaym и вернуть деньги
Ртасоаквнулпкглпгвегвплкьнаку
Ртасоаквнулпкглпгвегвплкьнаку
А что если твой номер оператор передал другому человеку? Сможет ли он войти в твой аккаунт в ватсапе, в твои чаты?
Будет ли работать мессенджер Ватсап, если заблокировать номер телефона
вася тебя как
вася тебя как
тебе 399 рублей на
Топ-4 лучших пешеходных навигаторов для Андроид, описания приложений
Ксения
Ксения
Здравствуйте прошу вернуть деньги. Которые были списаны без моего ведома ..
Как отменить подписку на ООО «Аб Софт» и почему они списали деньги
Косова Марина
Косова Марина
Верните пожалуйста деньги я нечаянно подписку нажала и отключить её.
Как отменить подписку на портале Инфоурок и вернуть деньги, отзывы
Юлия
Юлия
Отпишите меня от платных операциях 9513199812
Как отписаться от платных услуг и подписок сервиса Credity g.St.Petersb RUS
Наталья
Наталья
Как?
Как отписаться от платных услуг и подписок сервиса Tutorplace – инструкция
Наталья
Наталья
У меня такая же хрень,ты что-нибудь смогла сделать?
Как отписаться от платных услуг и подписок сервиса Tutorplace – инструкция
Александр
Александр
Всё ровно работало,но как только начинаются обновления, приложение превращается просто в бесполезный хлам!😤всем этим "обновителям" по-ходу не в то место руки воткнули
Что делать, если не работает приложение Метро Москвы, и почему это происходит
Татьяна Новикова
Татьяна Новикова
Прошу вернуть деньги спасанные с карты без моего согласия
Как отменить подписку на ООО «Аб Софт» и почему они списали деньги
Люба
Люба
Спасибо 🙏
Что это за приложение Heytap Shelf и для чего оно нужно, как скачать и установить
Оксана
Оксана
отключила, слава богу
Как отписаться от платных услуг и подписок сервиса Tutorplace – инструкция
Оксана
Оксана
тоже самое.. ничего не пойму...и как теперь отписаться?
Как отписаться от платных услуг и подписок сервиса Tutorplace – инструкция
Оксана
Оксана
Как отключить подписку?
Как отписаться от платных услуг и подписок сервиса Tutorplace – инструкция
Валерий
Валерий
Я нажимаю кнопку ALARM но часы не мигают.Что делать?
Как можно настроить китайские электронные часы с 5 кнопками – инструкция
Валерий
Валерий
Не получил ответа
Как можно настроить китайские электронные часы с 5 кнопками – инструкция
Валерий
Валерий
Часы SNOOZE C 5 кнопками SNOOZE ALARM HOUR MIN и еще какая то посредине
Как можно настроить китайские электронные часы с 5 кнопками – инструкция
Валерий
Валерий
В инструкции другие кнопки,у меня ALARM HOUR MIN SNOOZE
Как можно настроить китайские электронные часы с 5 кнопками – инструкция
Валерий
Валерий
Не могу настроить часыSNOOZE с 5 кнопками
Как можно настроить китайские электронные часы с 5 кнопками – инструкция
Бондаренко Елена Борисовна
Бондаренко Елена Борисовна
Подскажите пожалуйста, куда надо вводить код доступа для выполнения задания ученику?
Куда ввести код доступа к конкурсу на сайте go.ecologiarossii.ru – инструкция
olv massa shotta
olv massa shotta
ooloe w r wrcr5vp3[-;0=\13[bri76825ouf61355`;;lk7
Где в ОС Windows 10 находится Корзина, как открыть и восстановить ярлык
АНАТОЛИЙ
АНАТОЛИЙ
НЕ ПОЯВЛЯЕТСЯ ЗНАЧЁК БЕЗОПАСНОЕ УДАЛЕНИЕ УСТРОЙСТВ.
3 способа безопасного извлечения устройства в ОС Windows 10 и как его убрать
Юрий
Юрий
На эмуляторах не работает геолокация, наличие приемника ничего не меняет, к сожалению. Поэтому этот способ бесполезен для навигации по gps. Разве что карту и пробки смотреть, но это можно делать через браузер.
Как установить Яндекс Навигатор для компьютера
Гульназ
Гульназ
Здравствуйте, вы смогли вернуть деньги?я в такой же ситуации
Как отменить подписку на ООО «Аб Софт» и почему они списали деньги
Марина
Марина
Отписаться платных услуг 79014135894
Как отписаться от платных услуг и подписок сервиса Youzaym и вернуть деньги
Сергей
Сергей
Меняйте карту
Что это за сайт Shtrafoff.net, как отключить его подписку и вернуть деньги
Юлия
Юлия
я отменила, все равно пытались списать, хорошо денег не было на карте
Как отписаться от платных услуг и подписок сервиса Tutorplace – инструкция
Елена
Елена
Здравствуйте, прошу вас мне вернуть деньги за подписку , которую я не подключала и не разу ей не воспользовалась,на каком основании вы снимаете со счета деньги.
Что это за сервис YA Pochta, почему списали деньги с карты и как отключить подписку
Маргарита
Маргарита
Отключите подписку
Как отписаться от платных услуг и подписок сервиса Tutorplace – инструкция
Егор
Егор
Не рассказывайте сказки. Ни штатные способы, ни сторонние приложения не способны остановить эту гадость. После всех процедур всё что в ней отключали, уже через минуту будет включено. Остается рутировать телефон. Согласен в случае неудачи превратить его в кирпич, чем терпеть эту гадость.
Что за приложение App Market, его функционал и стоит ли удалять ПО
Как открыть Инстаграм Lite и приходит и открыт аккаунт
Что делать, если не приходит код подтверждения в Инстаграм – как исправить
Резеда
Резеда
Скажите, пожалуйста, смогли вернуть деньги ?
Что это за сайт Shtrafoff.net, как отключить его подписку и вернуть деньги
Резеда
Резеда
Здравствуйте. Верните деньги по 399 были списаны 3 раза . В декабре , в 15 марта и 13 апреля . На данную услугу я не подписана .
Что это за сайт Shtrafoff.net, как отключить его подписку и вернуть деньги
абвгдеж
абвгдеж
12.04.2024 19:10 в москобл, восток, дождь начался, за прошедшие пару месяцев осадков почти небыло, один раз дождь по снегу был. снега зато с зимы полно было.
Где слушать подкасты на смартфоне Андроид – топ-5 лучших приложений