Discord py получить сообщение

Обновлено: 18.05.2024

Создание простого Discord бота с помощью библиотеки discord.py

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

Получение токена и Client ID для вашего бота

Для получения токена и ID бота небходимо создать свое приложение и в разделе General Information скопировать Client ID.

А в разделе настроек создать бота и скопировать его токен. Задача не сложная, думаю все с этим справятся.

Собственно пишем бота

Устанавливаем discord.py с помощью pip:

pip install discord

После успешной установки создаем файл bot.py, где будем писать бота.

Импортируем все необходимое:

import discord
from discord.ext import commands

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

TOKEN = 'Ваш токен'

Про токен
Создаем тело бота:

Для начала сделаем простенькую команду, аргумент которой бот будет просто пересылать:

И в конце запускаем бота с вашим токеном:

В итоге должно получится вот такое:

Код
Теперь необходимо добавить бота на сервер. Сделать это можно с помощью ссылки:

Число необходимых прав можно получить в разделе настроек бота.

Теперь можно запускать бота:

После нескольких секунд, можно заметить его в сети:

Latest commit

Git stats

Files

README.md

discordbotstut

Начнём. Ссылка на мой youtube канал.

Discord bot туториал. Туториал по созданию ботов для дискорда на node.js используя discord.js.

Creation date : 06.12.2019

Установка node.js .

Давайте начнём создание бота. Если у вас установлена node.js, то пропустите сделающие 2 строчки. Заходим на сайт node.js , скачиваем, устанавливаем. Скриншотов процесса установки нету, тк переустанавливать node.js нету желания. Но там всё интуитивно понятно.

Создание файлов, инициализация проекта, установка библиотек.

Создаём папку bot. Желательно не использовать кирилицу, юникод и т. п. в названии. Сразу же создаём файл index.js или bot.js. Это не несёт особого смысла. Можно назвать как угодно, но принятно index.js / bot.js. Это будет главный файл бота, т.е. первым запускается, в нём основной код бота. Далее открываем консоль / терминал если у вас linux. Для быстрого открытия консоли на windows можно нажать WIN + R, ввести cmd. Далее переходим в папку бота, думаю как это сделать через консоль всем понятно. Пишим : npm init - инициализация проекта. Жмём enter до конца. Если ошибка в package name, то напишите bot. npm i discord.js - установка библиотеки discord.js.

Редакторы кода.

Далее рекомендую установить один из следующих редакторов кода :

Atom .

VScode .

Если очень слабый компьюер можете поставить notepad++ , но это для постоянной основы не самый хороший вариант. Лично я использую Atom.

Аккаунт бота.

Вы можете зарегистрировать его на сайте discord developers . Жмём кнопку "New Application". Вводим название бота. Жмём "Create". Переходим во вкладку "Bot", нажимаем "Add Bot", затем "Yes, do it!" Находим строку "token", немного ниже есть кнопка "Copy", нажимаем. Теперь в вашем буфере обмена есть токен бота.

Код.

Начало.

Создадим первый код. Пишем :

const Discord = require("discord.js"); //Подключаем discord.js для дальнейшего использования.
const client = new Discord.Client();
client.login("token"); //Где token пишем токен бота.

Запуск.

Открываем консоль, переходим в папку проекта и пишем :

в зависимости от названия файла. Если у вас windows, то вы можете создать файл start.bat с текстом

Если линукс, то вы можете создать файл start.sh

Это будет запускать бота. Далее я не буду говорить про запуск. Делайте это сами.

Конфиг.

Создаем файл config.json с конфигурацией нашего бота.

В начале кода бота напишем :

const config = require("./config.json");

Еще вы можете создать конфиг прямо в коде бота.

Но второй вариант крайне не рекомендуется использовать, ведь для того что-бы изменить конфиг бота нам придется изменять его код.

Давайте залогируем тег автора.

Команда !ping

Также можно писать не

.startsWith проверят начинается ли строка с символов в аргументах.

//some code.
client.channels.get('ID канала').send("Hi!");

Eval.

Также даже начинающим программистам будет очень полезна в боте команда !eval для выполнения кода не пиша его в коде бота, т.е. вы пишите !eval какой-то код и бот выполняет этот код.
Я нашёл хороший туториал по этой команде на github. Рекомендую ознакомиться и взять себе команду в код бота. Принцип её работы мы разберём позже. Тык .

RichEmbed.

Пример.

Это называется RichEmbed (Embed). Давайте отправим простой эмбед похожий на данный. (Картинка ниже)

Из этого туториала Вы узнаете, как полностью создать собственного бота Discord в облаке.

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

Мы будем использовать целый ряд инструментов, в том числе Discord API, библиотеки Python, и платформы облачных вычислений под названием Repl.it.

Как создать учетную запись Discord Bot

Чтобы работать с библиотекой Python и API Discord, мы должны сначала создать учетную запись Discord Bot.

Вот шаг к созданию учетной записи Discord Bot.

1. Убедитесь, что вы вошли на сайт Discord.




Оставьте настройки по умолчанию для Public Bot и Require OAuth2 Code Grant.

Ваш бот создан. Следующим шагом будет копирование токена.


Этот токен является паролем вашего бота, поэтому не сообщайте его никому. Это может позволить кому-то войти в ваш бот и делать разные плохие вещи.

Вы можете регенерировать токен, если он случайно станет доступен.

Как пригласить вашего бота присоединиться к серверу

Теперь вам нужно подключить своего пользователя-бота к серверу. Для этого вы должны создать для него URL-адрес приглашения.



Теперь, когда вы создали пользователя-бота, мы начнем писать код Python для бота.

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

Мы будем использовать библиотеку Python discord.py, чтобы написать код для бота. discord.py - это оболочка API для Discord, которая упрощает создание бота Discord на Python.

Как создать реплику и установить disocrd.py

Вы можете разработать бота на своем локальном компьютере с помощью любого редактора кода. Однако в этом уроке мы будем использовать Repl.it, потому что это упростит всем пользователям следовать его указаниям. Repl.it - ​​это онлайн-среда IDE, которую вы можете использовать в своем веб-браузере.

Если вы предпочитаете кодировать бота локально, вы можете использовать эту команду в MacOS для установки discord.py:

Возможно, вам придется использовать pip3 вместо pip .

Если вы используете Windows, вы должны вместо этого использовать следующую строку:

Как настроить события Discord для вашего бота

Добавьте этот код в main.py. (Вы можете назвать файл как-нибудь иначе, только не discord.py.) Я вскоре объясню, что делает весь этот код.

Когда вы создали своего пользователя-бота в Discord, вы скопировали токен. Теперь мы собираемся создать файл .env для хранения токена. Если вы запускаете свой код локально, вам не нужен файл .env . Просто замените os.getenv('TOKEN') токеном.

.env файлы используются для объявления переменных среды. На Repl.it большинство создаваемых вами файлов видны всем, но .env файлы видны только вам. Другие люди, просматривающие публичный ответ, не смогут увидеть содержимое файла .env .

Поэтому, если вы разрабатываете на Repl.it, включайте в файл .env только личную информацию, такую ​​как токены или ключи.


Внутри файла добавьте следующую строку, включая ваш фактический токен, который вы скопировали ранее:

Теперь давайте рассмотрим, что делает каждая строка в коде вашего бота Discord.

У нас есть код для бота, поэтому теперь нам просто нужно его запустить.

Как запустить бота

Теперь нажмите кнопку запуска вверху, чтобы запустить своего бота в repl.it.

Если вы пишете бота локально, вы можете использовать эти команды в терминале для запуска бота:

В других системах:


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

Как добавить в бота вдохновляющие цитаты

Мы будем получать вдохновляющие цитаты из API под названием zenquotes.io. Нам нужно импортировать еще пару модулей Python, добавить функцию get_quote() и обновить код нашего бота, чтобы вызвать функцию.

Вот обновленный код. После кода я объясню новые части.

Функция get_quote() очень проста. Во-первых, она использует модуль запросов для запроса данных из URL-адреса API. API возвращает случайную вдохновляющую цитату. Эту функцию можно легко переписать для получения котировок из другого API, если текущий перестанет работать.

Затем внутри функции мы используем json.loads() для преобразования ответа API в JSON. Методом проб и ошибок я понял, как перевести цитату из JSON в нужный строковый формат. Цитата возвращается из функции в виде строки.

На этом этапе вы можете запустить свой код и попробовать его.

Как добавить грустные слова в бота

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

Добавьте следующую строку после создания переменной client :

Не стесняйтесь добавлять в список больше слов.

Добавьте следующий список после созданного вами списка sad_words :

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

Вот обновленный код:

Это хорошее время для тестирования бота. Теперь вы знаете достаточно, чтобы создать собственного бота.

Узнайте, как создать своего собственного бота Discord с помощью Python и Reply.it. Мы пройдем все шаги, необходимые для настройки вашего бота на Discord, а затем закодируем его с помощью Python, все в облаке.

Примечание: этот учебник представляет собой отрывок из Код с Reply.it: Проекты на Python для начинающих , книга и набор учебных пособий для начинающих, чтобы получить практический опыт программирования на Python.

Если вы предпочитаете JavaScript, вы можете найти перевод этого руководства с использованием NodeJS вместо Python.

Вам будет легче следить за этим, если у вас есть некоторые знания Python и вы уже использовали Discord или подобное приложение, такое как Skype или Telegram. Мы не будем рассматривать самые основы Python, но мы подробно объясним каждую строку кода, поэтому, если у вас есть какой-либо опыт программирования, вы должны быть в состоянии следовать этому.

Обзор и требования

Мы будем делать все наше кодирование через Repl.it веб-IDE и хостинг нашего бота с Repl.it кроме того, вам не нужно будет устанавливать какое-либо дополнительное программное обеспечение на свой компьютер. Для этого урока вам нужно будет создать учетную запись Discord (если она у вас уже есть, вы можете пропустить это). Инструкции о том, как это сделать, приведены в следующем разделе.

В этом уроке мы рассмотрим:

  • Создание приложения и пользователя бота в вашей учетной записи Discord
  • Создание сервера на Discord
  • Добавление нашего бота на наш сервер Discord

Давайте сначала пройдем через эти шаги администратора, а затем перейдем к самой интересной части кодирования нашего бота.

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

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

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

Заполните имя своего бота и выберите “Создать”.

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

Вы также можете переименовать приложение и предоставить описание своего бота в этот момент и нажать “Сохранить изменения”.

Теперь вы создали приложение Discord. Следующим шагом является добавление бота в это приложение, поэтому перейдите на вкладку “Бот” с помощью меню слева и нажмите кнопку “Добавить бота”, как указано ниже. Нажмите “Да, сделайте это”, когда Discord спросит, уверены ли вы в том, чтобы оживить нового бота.

Последнее, что нам понадобится от нашего бота, – это Токен. Любой, у кого есть токен бота, может доказать, что он принадлежит ему, поэтому вам нужно быть осторожным, чтобы не поделиться этим с кем-либо. Вы можете получить токен, нажав “Нажмите, чтобы открыть токен”, или скопировать его в буфер обмена, не видя его, нажав “Копировать”.

Обратите внимание на свой токен или скопируйте его в буфер обмена, так как в ближайшее время нам нужно будет добавить его в наш код.

Создание сервера Раздора

Если у вас нет сервера Discord для добавления бота, вы можете создать его, либо открыв приложение Discord для рабочего стола, которое вы загрузили ранее, либо вернувшись на домашнюю страницу Discord в вашем браузере. Нажмите значок”+”, обозначенный восклицательным знаком, как показано ниже, чтобы создать сервер.

Нажмите “Создать сервер” на следующем экране, а затем укажите имя сервера. Как только сервер будет запущен и запущен, вы сможете пообщаться с самим собой или пригласить друзей пообщаться с вами. Скоро мы также пригласим нашего бота пообщаться с нами.

Добавление бота Discord на сервер Discord

Наш бот Discord на данном этапе все еще является просто оболочкой, поскольку мы не написали никакого кода, чтобы позволить ему что-либо делать, но давайте все равно добавим его на наш сервер Discord. Чтобы добавить немного на ваш сервер, вам понадобится идентификатор клиента со страницы “Общая информация”, которую мы рассматривали ранее, когда создавали наше приложение Replbot (т. Е. идентификатор клиента, а не секретный токен бота).

Создайте URL-адрес, который выглядит следующим образом, но в конце используйте свой идентификатор клиента вместо моего:

Создайте URL-адрес, который выглядит следующим образом, но в конце используйте свой идентификатор клиента вместо моего:

Перейдите по URL-адресу, созданному в вашем веб-браузере, и вы увидите страницу, похожую на следующую, где вы можете выбрать, на какой сервер добавить своего бота.

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

Теперь мы можем перейти к самой веселой части создания мозга для нашего бота!

Создание Repl и установка наших зависимостей Discord

Первое, что нам нужно сделать, это создать Python Repl для написания кода для нашего бота Discord. По адресу repl.it , создайте новый ответ, выбрав в качестве языка “Python”.

Нам не нужно изобретать велосипед, так как на GitHub уже есть отличная оболочка Python для API Discord bot , что значительно ускоряет настройку базового бота discord на Python. Чтобы использовать библиотеку, мы можем просто написать import discord в верхней части main.py . Reply.it будет обрабатывать установку этой зависимости при нажатии кнопки “выполнить”.

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

Настройка авторизации для нашего бота

По умолчанию, Repl.it код является общедоступным. Это здорово, поскольку это поощряет сотрудничество и обучение, но мы должны быть осторожны, чтобы не делиться нашим секретным токеном бота (который дает любому, кто имеет к нему доступ, полный контроль над нашим ботом).

Чтобы обойти проблему необходимости предоставления нашему коду доступа к токену, позволяя другим получить доступ к нашему коду, но не нашему токену, мы будем использовать переменные среды . На обычной машине мы бы установили их непосредственно в нашей операционной системе, но с помощью Repl.it у нас нет к этому доступа. Reply.it позволяет нам устанавливать секретные переменные среды через специальный файл .env .

Во-первых, нам нужно создать новый файл с точным именем .env . Выберите “Добавить файл” на левой панели, как показано на рисунке ниже, и назовите этот файл .env . Важно не упускать из виду . в самом начале.

Откройте этот новый файл и добавьте переменную для определения секретного токена вашего бота (обратите внимание, что это второй токен, который мы получили при настройке бота-отличается от идентификатора клиента, который мы использовали для добавления нашего бота на наш сервер). Это должно выглядеть примерно так:

Вам нужно будет:

  • Замените токен (после знака = ) на токен, который Discord дал вам при создании собственного бота.
  • Будьте осторожны с интервалом . В отличие от Python, если вы поставите пробел по обе стороны от = в файле .env , эти пробелы будут частью имени переменной или значения, поэтому убедитесь, что у вас нет пробелов вокруг = или в конце строки.
  • Запустите код еще раз. Иногда вам нужно обновить всю страницу, чтобы убедиться, что переменные среды успешно загружены.

Давайте создадим бота Discord, который повторяет все, что мы говорим, но в обратном порядке. Мы можем сделать это всего за несколько строк кода. В вашем main.py файл, добавьте следующее:

Давайте разорвем это на части строка за строкой, чтобы посмотреть, что он делает.

Последние две строки получают наш секретный токен из переменных среды, которые мы настроили ранее, а затем сообщают вашему боту о запуске.

Нажмите большую зеленую кнопку “Выполнить” еще раз, и вы увидите, что ваш бот сообщает об успешном присоединении к каналу в выводе Repl.

Откройте Discord и на сервере, который мы создали ранее, выберите приложение ReplBotApplication на панели в правой части экрана.

Бот отвечает каждый раз, меняя текст, который мы вводим.

Поддержание жизни нашего бота

Reply.it ваш код будет работать после закрытия вкладки браузера только в том случае, если вы используете веб-сервер. Потому что мы используем Python discord.py библиотека, наш бот не требует явного веб-сервера, но мы можем создать сервер и запустить его в отдельном потоке, просто чтобы сохранить наш Репл живым. Мы сделаем это с помощью фреймворка Flask .

Создайте новый файл в своем проекте под названием keep_alive.py и добавьте следующий код:

Мы не будем подробно останавливаться на этом, поскольку это не является центральным для нашего бота, но здесь мы запускаем веб-сервер, который вернет “Я жив”, если кто-нибудь его посетит, и мы предоставим метод для запуска этого в новом потоке (оставив основной поток для нашего бота Repl).

В нашем main.py файл, нам нужно добавить импорт для этого сервера в верхней части. Добавьте следующую строку в верхней части main.py .

В main.py нам нужно запустить веб – сервер непосредственно перед запуском загрузки. Добавьте эти три строки в main.py , непосредственно перед строкой с token.environ.get("DISCORD_BOT_SECRET") :

Сделав это и снова нажав зеленую кнопку “Выполнить”, вы увидите некоторые изменения в своем ответе. Во-первых, вы увидите новую панель в правом верхнем углу, которая показывает веб-вывод с вашего сервера. Мы видим, что посещение вашего ответа теперь возвращает базовую веб-страницу, показывающую строку “Я жив”, которую мы сказали нашему веб-серверу вернуть по умолчанию. В нижней правой панели вы также можете увидеть некоторые дополнительные выходные данные от запуска и непрерывной работы Flask, прослушивания запросов.

Теперь ваш бот будет оставаться живым даже после закрытия браузера или выключения машины разработки. Repl все равно очистит ваш сервер и убьет вашего бота примерно через час бездействия, поэтому, если вы некоторое время не используете своего бота, вам придется войти в Repl и снова запустить бота. Кроме того, вы можете настроить сторонний (бесплатный!) сервис, например Uptime Robot . Робот Uptime пингует ваш сайт каждые 5 минут, чтобы убедиться, что он все еще работает-обычно, чтобы уведомить вас о неожиданном времени простоя, но в этом случае постоянные пинги имеют побочный эффект сохранения нашего Репла, поскольку он никогда не будет работать больше часа без какой-либо активности.

Разветвление и расширение нашего базового бота

Это не очень полезное и то, и другое, но сейчас возможности ограничены только вашим творчеством! Вы можете заставить своего бота получать ввод от пользователя, обрабатывать ввод и отвечать любым выбранным вами способом. На самом деле, с базовым вводом и выводом, которые мы продемонстрировали, у нас есть большинство компонентов любого современного компьютера, все из которых основаны на архитектуре фон Неймана (мы могли бы легко добавить недостающую память, если бы наш бот записал в файл или с немного большим усилием связался с базой данных SQLite для постоянного хранения).

Если вы застряли в поисках идей, почему бы не связать свой дискорд с API Twitch , чтобы получать уведомления, когда ваши любимые стримеры находятся в Сети, или создать текстовое приключение .

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

Гайд для GitHub по написанию бота c помощью discord.py

Дата написания данного гайда 05.02.2021 Библиотека discord.py может обновляться, поэтому после крупных патчей разработка бота может отличаться. В любом случае ближайшие несколько месяцев данный гайд будет актуален.

Что нам потребуется?:

  • Стабильное интернет соединение
  • Неплохие знания Питона
  • Умение "гуглить" и находить нужную информацию
  • Среда для написания кода

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

Создание Application'a:

После создания Application'а мы должны перейти во вкладку Bot, а затем нажать на кнопку Add Bot.

Если у вас появилось зеленая надпись по типу: A wild bot has appeared!, значит вы всё сделали правильно и бот у вас уже создан.

Подключаем нашего бота к серверу:

Для того чтобы подключить бота к вашему серверу Дискорд, нужно следовать простым инструкциям:

Нужно получить Client_ID вашего бота. Для этого мы переходим во вкладку General Information и копируем его нажав на кнопку Copy.

Копируем эту ссылку ==> https://discordapp.com/oauth2/authorize?&client_id=(тут)&scope=bot&permissions=8 . В эту ссылку вместо слова "тут" вставляем наш Client_ID. Скобки естественно убираем. Доп. информация: В нашей ссылке bot&permissions=8 означает что наш permissions integer равен 8. Проще говоря, это число отвечает за то, какие права будут выданы боту при подключении. Этот код можно узнать во вкладке Bot (в которой мы создавали бота). Пролистав вниз, вы сможете сами выбрать нужные вам права, но я советую оставить 8, так как если вы будете сами выбирать права, могут произойти казусные ситуации при работе с ботом.

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

Создание проекта:

Ну вот мы и готовы начать писать код для нашего прекрасного бота. Если вы знаете Python на ОЧЕНЬ низком уровне, я советую воздержаться от создания ботов и заняться чем нибудь более простым.

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

Затем если у вас не установлена библиотека discord.py, вам нужно её устновить. Для этого переходим в командную строку и пишем: pip install discord.py
Внимание, для установки библиотек требуется pip, если он у вас не установлен, то гугл в помощь ^_^

После успешной установки библиотеки, переходим в вашу любимую среду разработки, в моём случае это PyCharm. Затем создаем новый файл Python файл с названием "bot" (такое название не даст вам запутаться) и расширением .py и сразу сохраняем его в нашей папке с проектом.

Первые строчки кода: Начинаем писать скрипт для нашего бота.

Для начала подключаем (импортируем) наши библиотеки:

(можем запустить наш скрипт для проверки работоспособности библиотеки)

Создаем еще один файлик .py названием config, для хранения в нём опасных данных. Почему мы не можем просто создать переменные с этими данными? Всё очень просто. Это самый простой способ защитить себя от злоумышленников. Если кто-то каким-то образом получит ваш код, то не сможет управлять вашим ботом. Все наши токены будут хранится в отдельном файлике.

В файле config.py создаем словарь, к которому мы будем обращаться при работе в ботом:

Сохраняем файл config.py и возвращаемся обратно к файлу bot.py

Импортируем наш файлик config.py:

Написание "тела" для бота и первый запуск:

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

  • Переменная bot - это "тело" нашего бота. Ему мы присваиваем значение commands.Bot с определёнными аргументами.
  • command_prefix=settings['prefix'] - это аргумент, в который мы вписываем значение нашего префикса. settings['prefix'] означает, кто мы обращаемся к словарю settings (который мы импортировали из файла config.py) и обращаемся к ключу prefix, в котором вписано нужное нам значение.

Затем мы можем проверить, запускается наш бот или нет. В библиотеке discord.py есть огромное количество разных ивентов (Event). Одним из них мы сейчас воспользуемся:

@bot.event - говорит нам о том, что ниже будет прописана функция, являющаяся ивентом.

async def on_ready(): - Асинхронная функция (Очень важно все функции создавать асинхронными, так как бот должен выполнять несколько функций в одно время). Ей присваивается значение on_ready, данная функция срабатывает когда бот полностью подключен и готов к работе. Аргументов у этой функции нет.

Создание первой команды:

Настало время создать первую команду для нашего бота:

Можем запускать нашего бота и проверять команду!

Давайте создадим еще одну команду, но уже с использованием посторонней библиотеки. Я возьму библиотеку random. Для начала её нужно подключить. Переходим в cmd (командную строку) и пишем pip install random, после чего начнется скачка библиотеки. Затем в самом начале кода пишем:

Я создал очень простую команду, которая умеет генерировать случайное число от 0 до числа, которого мы зададим сами:

Точно так-же говорим о том что ниже будет команда с помощью строчки @bot.command. Напоиманаю, что bot - это перемеенная, которую мы создали в самом начале. Это наше "тело" для бота. Дольше создаем асинхронную функцию randoms. Почему не random? Потому что название функции не может совпадать с названием библиотеки. Дальше мы передаем 2 аргумеента: ctx и arg. В arg поместиться наше число, которое мы будем задавать. Дальше я использую try, вы спросите зачем? Всё просто. Если мы случайно укажем вместо числа какой-то другой символ, бот в чате выдаст ошибку. Затем мы создаем переменную a - это наше сгенерированное число. Как генерировать числа с помощью библиотеки random вы сможете найти выше по ссылке. Дальше с помощью await ctx.send мы выводим наше число.

Есть еще очень классная "фича" в библиотеке discord.py как стили embed. Их обычно используют для красивого вывода какой либо информации на экран. Например команды help обычно делают с использованием этого стиля. Я создал небольшую и довольно простую функцию, которая называется menu. В неё мы например можем записать каждую команду в боте и указать что она делает. Вот что у меня получилось:

Некоторые строчки я буду пропускать, потому что я их свойства и значения я объяснял выше. В любом случае если вы что-то не поняли я оставлял ссылку на доп. информацию в самом конце гайда. Для начала мы задаем переменную embed, в которой мы будем хранить сам "embed", а так-же его значения. Color - цвет, title - текст, который будет являться "названием". В них мы записываем нужны нам значения. Кстати в color мы так-же можем записывать цвет словами, например "yellow", "white" и так далее. Дальше мы прописываем add_field, эта штука добавляет нам новую "строку" для "embed". В значение name мы записываем имя строки, в value - значение ну и в inline указываем True или False, она меняет расположение строки. Советую поиграться и выбрать самый оптимальный для вас вариант. Последней строчкой в значении embed мы просто указываем переменную, которую мы задали в начале функции.

Есть еще несколько вещей, которые я хотел бы разобрать, но это я сделаю в будущем

P.S Возможно, я когда нибудь дополню этот гайд дополнительными интересными командами и ивентами.

Читайте также: