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

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

Прямой эфир

Ирина
Ирина
да и у меня так было, написала негативный отзыв, они сами мне написали на почту и настоятельно рекомендовали удалить отзыв тогда вернут деньги, деньги и правда вернули, но отзывы я удалять не буду.
Как отписаться от платных услуг и подписок сервиса Tutorplace – инструкция
Ирина
Ирина
отключите платежи по карте в интернете в онлайн банке.
Как отписаться от платных услуг и подписок сервиса Tutorplace – инструкция
Ирина
Ирина
пожалуйста, давайте дружно напишем отзывы на tutorplace на zoon.ru, отзовик, 2гис, yell надо не только в комментариях жаловаться, а снижать их оценку на данных порталах.
Как отписаться от платных услуг и подписок сервиса Tutorplace – инструкция
Ричард
Ричард
Ещё дарят они билет столото, сразу крутится рулетка. Мой выигрыш 240000!!! Сразу предлагают вывести деньги на карту, указав для начала ее номер... На этом я остановился... Бесплатный сыр в мышеловке.
Leboard ru — что это за сайт, стоит ли его опасаться?
Екатерина
Екатерина
Здравствуйте 👋 почему я не могу отписаться от платных услуг.
Как отписаться от платных услуг и подписок Quarta Finance и вернуть деньги
полина
полина
это приложение бесконечно показывает рекламу
Что это за приложение Phone Space Cleaner и зачем оно нужно – функционал
Валентин
Валентин
Я сирота я вышел из дом интерната по заявленню но не могу получить желей как мне сказали што интернат не обязен мне придостовлять желей помогить ветом розабраца
Как написать письмо президенту России Путину лично
диима
диима
Я инвалид 2 группы,у пеня пенсия 10000 тыщь ,у меня 2 месяц списавают 399 р. Дак я маме на карту деньги скинул все.Дак они всеравно каждый день приходит смс,о том что ,не достаточно срецтв о покупке.Это тока в банк обращатся ,чтоб сделали блокировку о интернет покупках.А больше не как,хоть карту меняй всеравно не получится.
Что это за сайт Shtrafoff.net, как отключить его подписку и вернуть деньги
Люция
Люция
Здравствуйте.Как мне вернуть списание денег с моих двух карт?Списание производились без моего согласия!За 2 раза ,с 2 карт у меня списали 3400 рублей! Разработчики,очень вас прошу помочь и во всем разобраться.В одном банке составили обращение в вашу компанию,но в другом банке ответили,чтоб я написала вам.
Как отменить подписку на ООО «Аб Софт» и почему они списали деньги
Татьяна
Татьяна
Я нечаянно когда то нажала на что то и оказалась подписана на что то и с меня стали удерживать по 99 р в месяц. Но как я не пыталась с ними связаться и объяснить что я не знаю ни электронного адреса, ни личного кабинета, не знаю что это за организация, мне пишут - Авторизуйтесь в Личный кабинет под тем же эл. адресом, с которого оформляли подписку. КАК? Если я ничего от них не получала!
Как отписаться от платных услуг и подписок сервиса Tutorplace – инструкция
fghbhb
fghbhb
наверное не надо забывать что вся эта система по сути ,,кто во что горазд,, и вобщемто никто никому ничем не обязан. так что по сути что смартфон за 10тыщ хоть за 100тыщ, разницы особо нет, по секрету всему свету, отрытые всем ,,ветрам,, и происходить может что угодно неподконтрольно владельцу. какбы лотерея, чтото получилось значит получилось, а нет то и нет... И наверно надобы сопостовлять затраченые ресурсы и результат.
Как пользоваться смартфоном на Андроиде, настройка устройства для чайников
НАСТЯ
НАСТЯ
ОТПИСАЛАСЬ .И ВСЕ РАВНО СПИСЫВАЮТ ДЕНЬГИ КОЗЛЫ
Как отписаться от платных услуг и подписок сервиса Tutorplace – инструкция
Gennady
Gennady
Реклама на сайте выносит мозг. Читать не возможно!!!
Что за файл bootsqm.dat, можно ли его удалять?
Иван
Иван
Спасибо огромное, все заработало!
Что делать, если в Windows 10 не отвечают службы звука и 5 способов запуска
Надежда
Надежда
Верните деньги, я не согласна
Как отменить подписку на Igstore Fryazino RUS и почему они списали деньги с карты
Александра
Александра
Здравствуйте, заблокировали номер по непонятной причине просьбе разобраться с этим вопросом Номер:+79264814812 С заранее спасибо.
Почему иногда блокируют номер телефона в Телеграме и как можно снять бан
Инна
Инна
Я туда заходила , нет там этих козлов, только в платежах нашла
Как отписаться от платных услуг и подписок сервиса Tutorplace – инструкция
Ольга
Ольга
Хочу отписаться
Как отписаться от платных услуг и подписок сервиса Tutorplace – инструкция
PUBLIC777
PUBLIC777
Развелось маркетов. Только место в тф занимают. Гугл рлей,там все внятно. Сиавлю халявные,зачем платить? Что надо,там есть.
Что за приложение App Market, его функционал и стоит ли удалять ПО
Наталья
Наталья
Хочу отписаться и не получается
Как отписаться от платных услуг и подписок сервиса Tutorplace – инструкция
Ангелина
Ангелина
Я хочу отписаться
Как отписаться от платных услуг и подписок сервиса Tutorplace – инструкция
Алекс
Алекс
Это Сберпрайм списывает за подписку, сумма 1.99р.)))
Как отменить подписку на AO TSPL – инструкция и почему списали деньги с карты
Алекс
Алекс
Это Сберпрайм списывает, за подписку..
Как отменить подписку на AO TSPL – инструкция и почему списали деньги с карты
Виктория
Виктория
Такая же ерунда! По 82 руб списывают практически каждый день и не добиться за что!!! Возмущению нет предела!!! Долго решалась на уход от компании но это уже ни в какие ворота не лезет! Буду подбирать другого оператора!
Что такое файлообменные сети и почему МТС списывает деньги, как отключить
Вечяслав
Вечяслав
Пролил чай пол часа назад час немного слощеный положил клавой вниз и между монитором и клавой положил салфетку Что дальше делать
Залили ноутбук, не включается? Запомните эти правила первой помощи!
Андрей
Андрей
Так в СМС-уведомлении о списании средств по автоплатежу получают по подписке ОККО
Как отменить подписку на AO TSPL – инструкция и почему списали деньги с карты
Федина Ольга
Федина Ольга
Я хочу отписаться от платных услуг
Как отписаться от платных услуг и подписок сервиса Tutorplace – инструкция
Рамис
Рамис
Отписка от платных услуги
Как отписаться от платных услуг сервиса ReallyCash и можно ли вернуть деньги
Рамис
Рамис
Отписаться от платных услуг
Как отписаться от платных услуг сервиса ReallyCash и можно ли вернуть деньги
валентина липатова
валентина липатова
отписаться
Как отписаться от платных услуг и подписок сервиса Tutorplace – инструкция
валентина липатова
валентина липатова
отписаться от Натальи Север.уж 5 месяцев вычитают не за что
Как отписаться от платных услуг и подписок сервиса Tutorplace – инструкция
Алексей
Алексей
Вернуть средства
Отзывы о сайте знакомств Moi.chat и как можно удалить свою анкету
Марина
Марина
Отписаться
Как отписаться от платных услуг и подписок сервиса Tutorplace – инструкция
Марина
Марина
Ях хочу отписаться от платныхх услуг, и вернуть деньги
Как отписаться от платных услуг и подписок сервиса Tutorplace – инструкция
Ксения
Ксения
Отписаться
Как отписаться от платных услуг и подписок сервиса Tutorplace – инструкция
Мария
Мария
Я отписалась в кабинете и от премиум и от лайт. Снова стала оформлять подписку и когда вылезла форма оплаты, внизу есть что типо изменить список карт, нажала, рядом с привязанной картой вылезла корзина, нажала и удалила привязанную карту. Буду теперь смотреть, что будет
Как отписаться от платных услуг и подписок сервиса Tutorplace – инструкция
ghnjkk
ghnjkk
поиск гугл неадекватный стал, какуюто охинею выдает, яндекс какашками откидывается, все хотят шоб им капчу в жопу засунули, питушня везде..
Что делать с ошибкой Гугл-сервисов на Андроиде и как исправить сбой
Лилия
Лилия
Хочу отписаться
Как отписаться от платных услуг и подписок сервиса Tutorplace – инструкция
Макс
Макс
От души друганя Помогло
Как убрать черно-белый экран и отключить монохромный режим на Андроиде
Астрик
Астрик
Верните мои деньги
Как отменить подписку на Igstore Fryazino RUS и почему они списали деньги с карты
СВЕТА
СВЕТА
СПИСЫВАЮТ ДЕНЬГИ ЗАЕ ПРОСТО Я НЕ ПОЛЬЗУЮСЬ ВАШИМИ УСЛУГАМИ
Описание сервиса Большое ТВ и как можно отменить подписку – инструкция
Alex
Alex
Бандеры фуфло питают.
Лучшие бесплатные самообновляемые IPTV-плейлисты для скачивания в 2024
Ольга
Ольга
Я каждый месяц отписываюсь от этого сайта, мне обещают, что деньги списывать не будут, но всё равно списывают, я буду писать заявление в прокуратуру!!!
Что это за сайт Shtrafoff.net, как отключить его подписку и вернуть деньги
Надежда
Надежда
Отвратительный сайт! Постоянно вылетает реклама на пол экрана и не даёт ни прочитать спокойно , ни даже этот текст написать!!!
Как отписаться от платных услуг и подписок сервиса SMS Zaim и вернуть деньги
Али
Али
Обучения и получения прав на сайтах лахатрон не верте не каму это обман все покажут всеровно не вертеэто обман это мошенники
Как найти водительское удостоверение по имени отчеству, фамилии и дате рождения
ЮРИЙ
ЮРИЙ
КАК ВОСТАНОВИТЬ СТРАНИЦУ.
Вход на Мою страницу в социальной сети «Фотострана»
Зульфия
Зульфия
Хочу отписаться
Как отписаться от платных услуг и подписок сервиса Tutorplace – инструкция
Зульфия
Зульфия
Как отписаться а то у меня забирают последние деньги
Как отписаться от платных услуг и подписок сервиса Tutorplace – инструкция
123
123
спасибо, помогло
6 шагов исправления ошибки при переполнении стекового буфера в Windows 10
Лилия
Лилия
Новые видео воспроизводятся. И в гуглфото тоже, а вот видео пятилетней давности из галереи при открытии, сразу закрываются. А некоторые совсем сами по себе удаляются.
Почему видео на Андроиде в галерее не воспроизводится и как исправить ошибку