Всем привет.
В интернете очень мало качественных гайдов на тему разработки Discord-бота . Поэтому я решил написать полный подробный курс на эту тему.
В этом курсе мы будем учиться созданию Discord-бота на языке программирования Python (библиотека Discord.py) с нуля.
Создание приложения
Для начала нам нужно получить токен для взаимодействия с API Discord. Получить его достаточно просто.
Перейдите по ссылке https://discordapp.com/developers/applications/ . Если вы не авторизованы в аккаунте Discord — нужно будет авторизоваться.
Справа сверху появится кнопка «New Application» .
Нажимаем на нее. В открывшемся окне нам будет предложено ввести название нового приложения.
Вводим и нажимаем Create. Теперь нам нужно выбрать вкладку «Bot» в меню слева.
В правой верхней части экрана нажимаем «Add Bot» . В открывшемся окне нажимаем «Yes, do it!» .
Строка «USERNAME» — будущее имя бота.
БОТ ДЛЯ ДИСКОРДА НА PYTHON, КАК НАПИСАТЬ В ЛС, СДЕЛАТЬ ЭМБЭД, ПОСТАВИТЬ ИГРАТЬ БОТА
Token — это и есть наш код доступа к API, ради которого мы все это делали.
Добавление бота в канал
После перехода по ссылке, в открывшемся выбираем наш сервер, куда мы хотим добавить бота.
Теперь нажимаем кнопку «Продолжить» , а затем «Авторизовать» , проходим проверку на робота. Готово! Наш бот добавлен в наш сервер.
Теперь перейдем непосредственно к разработке самого бота.
Установка Discord.py
Я буду показывать пример работы в Командной Строке Windows . В целом, ход действий мало отличается от Linux , так что, если у вас линукс, — пишите то же самое.
Для удобства работы лучше будет создать виртуальное окружение (Virtual Env) . В консоли переходим в папку нашего проекта. В ней выполняем следующие команды:
// Устанавливаем VirtualEnv, если он у вас еще не установлен
> pip install virtualenv
// Создаем нашу виртуальную среду
> python -m venv [название]
// Активируем виртуальную среду
[Windows] > [название]Scriptsactivate.bat
[Linux] > source [название]/bin/activate
// Активацию нужно будет повторять при каждом запуске консоли
Теперь нам нужно установить библиотеку Discord.py . Пишем в консоли:
> pip install discord
Готово. Библиотека успешно установлено в наше виртуальное пространство. Теперь можно перейти непосредственно к коду.
Написание основы для бота
В папке нашего проекта создаем Python-файл с любым названием и открываем его в любом редакторе. В моем случае это будет bot.py .
В этот файл вы должны написать такой код:
import discord
from discord.ext import commands
token = ‘токен’
bot = commands.Bot(command_prefix=’/’)
# Тут будут команды
Немного объясню наш код:
Первые две строки — подключение библиотеки к нашему проекту.
Kак сделать дискорд бота на disnake? | Часть 1 | Первые команды и запуск 1
Далее для удобства мы сразу задаем переменную, в которую записываем наш токен , полученный ранее.
Следующая переменная — bot , которую мы будем использовать для обращения к API .
Аргумент «command_prefix» — то, с какого символа будут начинаться наши команды. Например, если мы укажем (command_prefix=’/’) , наши команды будут выглядеть как «/profile» . Туда можно подставить любой символ.
bot.run — метод, который будет запускать нашего бота.
Создание первой команды
Теперь давайте создадим нашу первую команду. Для этого вместо «# Тут будут команды» мы пишем следующее:
Создание Discord-бота на Python. Часть 1
Приветствую, хабровчане и другие пользователи интернета. Сегодня я начну цикл статей, посвящённых созданию Discord-бота с помощью библиотеки discord.py. Мы рассмотрим создание как и примитивного бота, как и «продвинутого» бота с модулями. В этой статье мы сделаем стандартную команду и ещё одну небольшую команду. Начнём!
Создание бота и получение токена
Для того, чтобы добавить бота на сервер нужно создать свое приложение и во вкладке General Information скопировать Client ID.
Здесь заменяем CLID на ранее скопированный Client ID.
https://discordapp.com/oauth2/authorize?scope=botтело» бота, название может быть любое:
bot = commands.Bot(command_prefix = settings[‘prefix’]) # Так как мы указали префикс в settings, обращаемся к словарю с ключом prefix.
Начинаем писать основной код.
В конце запускаем бота с помощью:
bot.run(settings[‘token’]) # Обращаемся к словарю settings с ключом token, для получения токена
Полный код
Должно получится так:
Бонусный туториал!
Сделаем вывод случайных картинок с лисами
Для этого импортируем еще пару библиотек:
import json import requests
Приступим к написанию команды.
Должно получится так:
Конец
На этом 1 часть закончена. Скоро будет опубликована 2 часть.
Источник: habr.com
Создайте бота Discord с помощью Python
Итак, вы используете Discord в качестве приложения для обмена сообщениями и думаете: «Эй, может, мне стоит сделать из себя бота…». Надеюсь, это руководство поможет вам начать правильный путь к созданию собственного бота Discord с использованием Python.
Оглавление
- Шаг 1. Установите discord.py .
- Шаг 2: Создайте приложение Discord и бота.
- Шаг 3: Создайте гильдию (сервер) в Discord.
- Шаг 4: Добавьте бота на сервер.
- Шаг 5. Закодируйте бота.
1. Установите discord.py
Есть несколько библиотек для работы с Discord API, каждая со своими особенностями, но в конечном итоге все они достигают одного и того же. Поскольку мы фокусируемся на Python, discord.py , вероятно, является самой популярной оболочкой для Python.
Предполагая, что у вас уже установлены Python и pip , вам нужно выполнить эту команду:
pip install discord.py
discord.py имеет некоторые требования, которые будут автоматически установлены, если на вашем компьютере их еще нет. После того, как вы запустите эту команду, вы должны увидеть что-то вроде этого:
Installing collected packages: discord.py Successfully installed discord.py-[version-number]
Успех! Теперь у вас есть доступ к API Discord. Прежде чем мы перейдем к написанию версии Hello World для бота Discord, нам нужно настроить еще несколько вещей.
2. Создайте приложение Discord и бота.
Прежде чем перейти к коду, нам нужно создать приложение Discord. По сути, это приложение, в котором содержится бот. Доступен на Discord.
Если у вас нет учетной записи Discord, вам нужно создать ее. Но если у вас нет учетной записи в Discord, я не понимаю, зачем вам вообще читать этот тип учебников.
Страница должна выглядеть примерно так:
Как только вы окажетесь на этой странице, вам нужно будет перейти к кнопке «Новое приложение»:
После того, как вы нажмете на кнопку, вам будет предложено назвать свое приложение:
Я назову свой SampleDiscordBot, но вы можете называть его как хотите.
Итак, как только вы создали свое приложение, вы попадаете в меню, которое выглядит следующим образом:
Здесь много информации и настроек, но на данный момент нас действительно волнует только настройка «Бот» слева. Итак, давайте продолжим и нажмем на нее, чтобы перейти на страницу с ботами:
Затем мы хотим нажать кнопку «Добавить бота». Появится всплывающее окно с вопросом, хотите ли вы привязать бота к своему приложению. Вы хотите разбить это «Да, сделайте это!» кнопка.
Бот создан и прикреплен к приложению. Нам нужно будет создать совершенно новый сервер Discord — или «гильдию», как API любит называть это — чтобы мы могли бросить бота, чтобы с ним возиться.
3. Создайте гильдию Discord (сервер)
Теперь, когда наш бот запущен и работает, нам нужно создать новый сервер, чтобы у нас была песочница для бота. Вы можете добавить его к существующему серверу, чтобы связываться с людьми. Если ты этого хочешь, то будь моим гостем.
Создать сервер Discord просто. Просто нажмите кнопку с плюсом слева, когда вы находитесь в Discord:
Вам будет предложено указать имя сервера в меню. Вы можете назвать сервер как угодно, но я обычно назову его в честь бота и буду рассматривать его как среду разработки.
Нам просто нужно добавить бота на сервер, и тогда мы наконец сможем вникнуть в код.
4. Добавление бота на сервер
Чтобы мы могли поиграть с ботом, нам нужно добавить его на сервер. Это тоже довольно простой шаг. Нам нужно перейти в раздел «OAuth2» в нашем приложении Discord:
После входа в раздел OAuth2 мы видим экран с кучей флажков. Мы хотим убедиться, что нажали на поле с надписью «бот».
После того, как мы установим этот флажок, прямо под ним должен появиться URL-адрес:
Скопируйте URL-адрес и вставьте его в свой браузер. Эта ссылка позволяет вашему боту присоединиться к любому серверу, на который у вашего пользователя есть разрешения, с помощью OAuth2. Если вы ранее добавляли ботов на сервер, этот шаг должен показаться вам довольно знакомым. Для тех из вас, кто этого не сделал, при переходе по этому URL-адресу вам будет предложено меню, подобное этому:
Идите вперед, выберите созданный вами сервер в раскрывающемся списке и нажмите «Авторизовать». Бот будет загружен на ваш сервер! На вашем сервере появится сообщение о том, что бот присоединился:
Вы также увидите своего бота в списке пользователей в правой части интерфейса Discord:
Теперь, когда бот вошел на сервер, мы наконец можем приступить к написанию базового бота.
5. Кодирование бота
Давайте продолжим и создадим новый файл Python где-нибудь на вашем компьютере. Я позвоню своему main.py . Содержимое файла будет выглядеть так:
— 704974365309141042 (name: Quadriaxis’s server) SampleDiscordBot is in 1 guilds.
Вы можете использовать это как инструмент для регистрации информации по своему усмотрению. Я просто использую это, чтобы быстро подсчитать, чтобы проверить, к скольким гильдиям / серверам подключен бот, и некоторые данные о гильдиях / серверах.
Функция on_message() прослушивает любое сообщение, которое поступает в любой канал, в котором находится бот. Каждое сообщение, отправленное на стороне Discord, запускает эту функцию и отправляет объект Message , который содержит много информации об отправленном сообщении. Такие вещи, как канал, отправитель сообщения и т. Д. Я использую эту функцию, чтобы просто проверить, соответствует ли отправленное сообщение «привет». Если это так, то наш бот отвечает очень приветливой фразой.
Теперь, когда слушатели событий рассмотрены, я собираюсь сосредоточиться на некоторых из наиболее важных частей, которые происходят в этом блоке кода.
Для запуска бота необходимы три части:
Эти строки импортируют API Discord, создают объект Client , который позволяет нам диктовать, что может делать бот, и, наконец, запускают бот с нашим токеном. Говоря о токене, чтобы получить токен своего бота, просто перейдите на страницу бота на портале разработчиков Discord и нажмите кнопку «Копировать».
Если вы знакомы с токенами API, то вот оно. Если нет, то это специальная строка, которая идентифицирует вашего бота. Это позволяет вам получить доступ к вашему боту из вашей программы. Вы можете думать об этом как о пароле для своего бота. Без этого токена вы не сможете прикоснуться к своему боту, поэтому обязательно держите его в секрете.
В противном случае другие также могут прикоснуться к вашему боту. Вы бы не хотели, чтобы к вашему боту прикасались другие люди, не так ли?
Обычной практикой для хранения этих типов токенов является использование какого-то скрытого файла, из которого ваша программа извлекает строку, чтобы они не были привязаны к VCS. python-dotenv — популярный пакет, который делает это за нас. Давайте продолжим и установим этот пакет, чтобы мы могли защитить наш токен.
Запустите эту команду в своем терминале:
pip install python-dotenv
Это установит python-dotenv на нашу машину. Это позволит нам использовать .env файл для хранения нашего токена. Создайте файл .env на том же уровне каталога, что и ваш main.py . Содержимое .env должно выглядеть так:
DISCORD_TOKEN=»NzA0OTcwNzUyNzQyNjUzOTYz.Xqk5ww.1U_-WdW4aeGWCNF7bOJkLAu_2TM»
Теперь, когда у нас есть токен API внутри этого файла, мы можем получить его в main.py , добавив эти строки в наш существующий код:
Поскольку у нас есть DISCORD_TOKEN , мы можем заменить жестко запрограммированный токен API на эту переменную в нижней части программы:
# Executes the bot with the specified token. bot.run(DISCORD_TOKEN)
В результате получится окончательный main.py файл, который выглядит примерно так:
Поздравляю! Вы сделали своего первого бота! Мы пока лишь поверхностно коснулись, но это отличная отправная точка. Такие темы, как команды ботов, даже не рассматривались в этой статье. Еще больше документации и полезной информации можно найти на официальной странице справки по API discord.py.
Хорошее понимание того, как читать API, не только сделает вас лучшим разработчиком, но и позволит вам создать любой тип бота Discord, который вы хотите.
Исходный код также можно найти на GitHub.
Увидимся, ребята, в следующем!
Источник: questu.ru