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

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

Прямой эфир

Владимир
Владимир
Браузер давно не обновлялся, версия его устарела, в нём много дыр из за этого и стрёмно использовать в виду безопасности. Обновится он ещё не скоро и обновится ли? Да, браузер классный. но использовать его уже нельзя.
Браузер Cent — 5 причин, почему он лучший для компьютера
федя
федя
я не могу зайти сейчас в телеграмм
Почему иногда блокируют номер телефона в Телеграме и как можно снять бан
АМ АМ АМ
АМ АМ АМ
АБАЮДНО
Что это такое – Podpiska Paket Moscow RUS и как отключить подписку, если списывает 199 руб
Обиджон
Обиджон
Хочу отключить
Как отключить подписку на Smart Glocal Kazan RU, если он списывает деньги с карты
Александр
Александр
здравствуйте,а линцезионый ключ есть на бусстер?
Driver Booster Free — бесплатное обновление драйверов, исправление неполадок
Михаил
Михаил
Только что Яндекс отказал в предоставлении чека при оплате наличными, посылает к водителю
Как можно получить чек в сервисе Яндекс Такси – инструкция и зачем он нужен
Роман
Роман
Упомянута Xiaomi. Не знаю как у кого, у меня Xiaomi Mi A2 Lite с ноября 2018 года, много раз падал на деревянный (и подобные поверхности) пол, дважды на бетон (с высоты примерно 1,2 метра), работает в штатном режиме и это при том что я не использую чехол, защиту дисплея и т.д. и т.п.. Есть небольшие царапины, потёртости, но в глаза не бросается, правда немного раздражает, что заряда хватает только на день, хотелось бы больше.
Список самых ненадёжных телефонов 2025 года, которые чаще всего попадают в ремонт
Алексей
Алексей
Смирнов Алексей Валерьевич 28.10.1994
Как найти водительское удостоверение по имени отчеству, фамилии и дате рождения
Stilet2016
Stilet2016
Приветствую! Так ведь после удаления папки под именем «QHAActiveDefense» остается еще 8 папок в этой же директории, смотрите выше, как быть с ними? Оставить или удалить ? Этот 360 тый везде наследил и этого катайца трудно выселить. Тот еще друг в наглую ставит еще и свой браузер, его выпилишь , а он опять лезет.
Как полностью удалить с компьютера с ОС Windows 10 360 Total Security – 4 способа
Андрей
Андрей
Проверить водительское удостоверение
Как найти водительское удостоверение по имени отчеству, фамилии и дате рождения
РУСЛАНА
РУСЛАНА
ОТПИШИТЕ МЕНЯ ОТ СВОЕЙ ПОДПИСКИ И НЕ СПИСЫВАЙТЕ ДЕНЬГИ.СПАСИБО.
Как отписаться от платных услуг и подписок сервиса Tutorplace – инструкция
Александр
Александр
Explorer
Почему при удалении файла на Андроиде выскакивает ошибка и как исправить
ЯНА СОЛЯХ
ЯНА СОЛЯХ
И КАК РЕШИТЬ?
Что это Shell Experience Host в системе Windows 10 и как отключить процесс
Alex
Alex
Позвонили с номера 1000 от якобы банка ВТБ, с которым у меня никаких дел не было. Предлагали выпуск карты. Звонок не санкционирован. Неоднократный запрет на озвучивание рекламной информации игнорировался. Налицо нарушение закона о рекламе. Однозначно мошенники.
Что за номер 1000 постоянно звонит в Вайбере, как поступить и обезопасить себя
Линуксоид 228
Линуксоид 228
Ля, вы говорите про Винду, при это показываете Линукс. ОК
Изменения переменных сред в ОС Windows 10, где они находятся и как зайти
Андрей
Андрей
Остаюсь в потоке последних новостей с Биткоганом. Приложение в этом плане хорошо сделано и продумано. Простотое и надежное Не виснет. Оценка 5/5. Плюс записи эфиров для подписчиков можно посмотреть.
Что это за приложение Bitkogan и для чего оно нужно, как его использовать
Сергей
Сергей
Попользовался приложением Биткоган. Интересное. Не могу судить активы по типу США или Китая, так как не в зоне моих интересов. Но по российским активам пуши точные. Сейчас активно слежу за Татнефью. Много было слухов, что они перестали давать доходность. Но пока пуши в Биткогане показывают более точную картину.
Что это за приложение Bitkogan и для чего оно нужно, как его использовать
Елена
Елена
Здравствуйте подскажите пожалуйста если 2 мес не заходить в телеграмм удалится ли аккаунт?
Что такое удаленный аккаунт в Телеграме и как деактивировать свой профиль
Аксана
Аксана
Как отключить подписку смартглокал
Как отключить подписку на Smart Glocal Kazan RU, если он списывает деньги с карты
Олеся
Олеся
Поделитесь пожалуйста историей, чем закончилась? У меня аналогичная, списали почти 40 тысяч
Как отменить подписку на ООО «Аб Софт» и почему они списали деньги
Анлдрей
Анлдрей
Клутой маделатол, што тут скасать
Что такое Windows To Go и как создать переносную ОС Windows 10 на флешке
ТВОЙ-ИНФОРМАТОР.РУ поиск любых данных
ТВОЙ-ИНФОРМАТОР.РУ поиск любых данных
Единственная статья в интернете, написанная без воды:)
Как можно пробить любого человека по номеру его телефона – 7 способов
Ольга
Ольга
Как вернуть деньги
Как можно отписаться от платных услуг НКО МСС 8999 и свои вернуть деньги
Atrix
Atrix
Спасибо ребятам давно не мог решить эту проблему теперь это не будет меня раздражать каждый раз когда я запускаю пк, спосибо ещё раз)))
Включение и способы настройки меню автозапуска приложений в ОС Windows 10
карина
карина
здравствуйте,это ваша кл. руководительница Елена Геннадьевна карина, ты очень съехала по учебе! чтоб завтра с бабушкой в школу
Топ-4 лучших пранк-ботов в Телеграме для розыгрыша по телефону бесплатно
Виктор
Виктор
Отключить подписку
Как можно отключить подписку на сервис SMSPoisk ru – инструкция
Anton Berg
Anton Berg
Страшно, очень страшно! Мы не знаем, что это такое, вот если бы мы знали, что это такое, но мы не знаем, что это такое!
Что это за приложение CustCoreApp и нужно ли оно, как его настроить
Ник
Ник
Могил Бабы - это серьёзно!!
Что это за приложение Xclub и нужно ли оно, плюсы и минусы, как удалить
Дэн
Дэн
А чё не ответил?
Как удалить и отключить зарезервированное хранилище в системе Windows 10
Moderator
Moderator
Пожалуйста. Читайте наши статьи
Как можно восстановить закрытые вкладки в Microsoft Edge – инструкция
Moderator
Moderator
Это все в вашем праве. Узнавайте в банках, МФО
Что значит, если от Retail Sol приходят СМС о кредите, и как это отключить
Moderator
Moderator
Видимо, достичь возраста 18) И подтвердить потом
Отзывы о сайте знакомств Moi.chat и как можно удалить свою анкету
Moderator
Moderator
Сама додумала или сперла у кого? Авторские права не заявила. Такова жизнь
Почему вместо Яндекса открывается Яндекс Дзен и как этого избежать
Moderator
Moderator
Увы, универсальных решений не бывает. Попробуйте найти ответ самостоятельно
Как на ноутбуке отключить Fn на клавиатуре
Moderator
Moderator
Ну респект вам. И за рекламу сервиса тоже
Что это такое – разделение ответственности по ШК на Вайлдберриз и как быть
Moderator
Moderator
Попробуйте отказаться от подписки. В крайнем случае - заблокируйте карту
Как отменить подписку на ООО «Аб Софт» и почему они списали деньги
Зема
Зема
Вот я не понимаю, чего ждут эти рекламодатели? Что кто-то клюнет? Ооочень глупая мысль с их стороны. Уже давно никто не покупается на рекламу.
Как отключить и заблокировать рекламу в ВК на телефоне Андроид – способы
Марк
Марк
Спасибо огромное🔥
Как можно восстановить закрытые вкладки в Microsoft Edge – инструкция
Марк
Марк
Боже спасибо огромное автору, я уже 100 раз 060$₽@л$R думая что сбросил всю работу за 3 дня
Как можно восстановить закрытые вкладки в Microsoft Edge – инструкция
Кристина
Кристина
2 недели назад мой аккаунт взломали мошенники. Установили облачный пароль и все. Я потеряла доступ к своему же аккаунту...а самое страшное, что я не могу его восстановить через номер телефона. Все попытки восстановить ведут к тому, что я должна ввести облачный пароль...и на жтрм все обрывается. Никогда не думала, что могу оказаться в настолько абсурдно ситуации 😱 а техподдержки нет вовсе! Раз 10 писала куда только можно, но ни ответа, ни привета!!! А аккаунт мой рабочий, файлы, контакты - все утеряно!!!
Как работает служба техподдержки в Телеграме и как написать на горячую линию
Наталья
Наталья
Я хочу узнать какой я брала кредит 03 2024 года
Что значит, если от Retail Sol приходят СМС о кредите, и как это отключить
Ирина
Ирина
здравствуйте, как отключить инфоурок, он мне не востребован в данное время
Как отменить подписку на портале Инфоурок и вернуть деньги, отзывы
Александр
Александр
Как продолжить общение на сайте, если у меня не получается подтвердить что мне есть 18 лет
Отзывы о сайте знакомств Moi.chat и как можно удалить свою анкету
Людмила
Людмила
Спасибо. Сегодня столкнулась с такой проблемой. Вчера на BW видела всплывающее окно: завтра спишем 313 рублей оплату частями. Я посчитала, что меня это не касается, т.к. не заключала с ними такого соглашения. Посчитала просто рекламой не для меня. Не тут-то было сегодня с меня списали эти 313 руб. Зашла в СБЕР и увидела код списания 7399. Теперь буду решать эту проблему, спасибо вам за информацию.
Почему списали деньги с кодом торговой точки МСС 7399 и что делать
Роман
Роман
вот еще неплохой бот в телеге для поиска музыки @Music_quickbot часто пользуюсь
Каналы для скачивания музыки в Телеграме и как пользоваться ботами
Кристина
Кристина
Впервые в жизни не могу восстановить аккаунт. Ну как так, чтобы нельзя было по номеру телефона свой же аккаунт вернуть? 😨😭
Как работает служба техподдержки в Телеграме и как написать на горячую линию
Кристина
Кристина
Здравствуйте! У меня уже крик души😱 ну помогите, пожалуйста!!! Несколько дней назад подруга прислала архив фото (как оказалось её взломали), как впоследствии и меня (( потому что я пыталась открыть эту папку. В итоге я потеряла доступ в телеграм, мошенники от моего имени всем пишут, а я ничего не могу сделать, установили облачный пароль. А почту я не привязывать, да и не предлагал телеграм почту привязать при регистрации. А теперь все мои рабочие контакты утеряны...мои чаты. Ну помогите, как быть? Почему при запросе кода на номер телефона, просит приобрести премиум аккаунт на телеграм? Как восстановить свой аккаунт? 🙏🙏🙏
Как работает служба техподдержки в Телеграме и как написать на горячую линию
Светлана
Светлана
Как вы отключили подписку только на компьютере можно это сделать ?
Как отписаться от платных услуг и подписок сервиса Tutorplace – инструкция
Ефросиний
Ефросиний
У меня была проблема с "активным разрешением экрана", кот. не совпадал с "разрешением рабочего стола". Началось после того как я для проверки работоспособности воткнул другой монитор (покруче), потом отключил его и вернул свой старый и началось. Было мыльное изображение на экране, вроде разрешение обычное старое, но как будто в мыле весь экран. Переустановил драйвера с оф сайта Нвидиа (gtx 660), потыкал-перетыкал провода (VGA синенькие), Не помогло ничего. РЕШЕНИЕ. ПКМ-Панель управления Нвидиа - Дисплей- Изменение разрешения (Там частоту поменял со своей 60Гц на 70 Гц (хотя мой моник не поддерживает 70 Гц). После этого экран опять сделелся резким (перестал быть мыльным)!!!!. Вылезло стандартное окошко мелкое, что через 12 сек настройки сбросятся на старые, я нажал ОТМЕНА (вернулся опять к 60 Гц то есть) и все после этого осталось Четким. Зашел проверить в ПКМ-Параметры экрана-Дополнит.настройки дисплея. Там активное разрешение поменялось на старое мое и стало совпадать с Разрешением рабочего стола (короче, проблема решилась). Шаманства, может они только на моем бубне работают))
3 способа изменения не совпадающего активного разрешения сигнала Windows 10
Евгений
Евгений
Короче 10 нормальная, но вот уже 11 требует 4 Гб, а 12 - и все 8 Гб - что немного напряжно.
Минимальные и максимальные системные требования для 32 и 64 бит Windows 10