Как сделать экономического бота для дискорда на python

Добавил пользователь Владимир З.
Обновлено: 18.09.2024

Всем привет.
В интернете очень мало качественных гайдов на тему разработки Discord-бота . Поэтому я решил написать полный подробный курс на эту тему.
В этом курсе мы будем учиться созданию Discord-бота на языке программирования Python (библиотека Discord.py) с нуля.

Создание приложения

Для начала нам нужно получить токен для взаимодействия с API Discord. Получить его достаточно просто.
Перейдите по ссылке https://discordapp.com/developers/applications/ . Если вы не авторизованы в аккаунте Discord - нужно будет авторизоваться.
Справа сверху появится кнопка "New Application" .

Нажимаем на нее. В открывшемся окне нам будет предложено ввести название нового приложения.

Вводим и нажимаем Create. Теперь нам нужно выбрать вкладку "Bot" в меню слева.

В правой верхней части экрана нажимаем "Add Bot" . В открывшемся окне нажимаем "Yes, do it!" .

Строка "USERNAME" - будущее имя бота.
Token - это и есть наш код доступа к API, ради которого мы все это делали.

Добавление бота в канал

После перехода по ссылке, в открывшемся выбираем наш сервер, куда мы хотим добавить бота.

Теперь нажимаем кнопку "Продолжить" , а затем "Авторизовать" , проходим проверку на робота. Готово! Наш бот добавлен в наш сервер.

Теперь перейдем непосредственно к разработке самого бота.

Установка Discord.py

Я буду показывать пример работы в Командной Строке Windows . В целом, ход действий мало отличается от Linux , так что, если у вас линукс, - пишите то же самое.

Для удобства работы лучше будет создать виртуальное окружение (Virtual Env) . В консоли переходим в папку нашего проекта. В ней выполняем следующие команды:

// Устанавливаем VirtualEnv, если он у вас еще не установлен
> pip install virtualenv

// Создаем нашу виртуальную среду
> python -m venv [название]

// Активируем виртуальную среду
[Windows] > [название]\Scripts\activate.bat
[Linux] > source [название]/bin/activate

// Активацию нужно будет повторять при каждом запуске консоли

Теперь нам нужно установить библиотеку Discord.py . Пишем в консоли:

Готово. Библиотека успешно установлено в наше виртуальное пространство. Теперь можно перейти непосредственно к коду.

Написание основы для бота

В папке нашего проекта создаем Python-файл с любым названием и открываем его в любом редакторе. В моем случае это будет bot.py .
В этот файл вы должны написать такой код:

import discord
from discord.ext import commands

token = 'токен'
bot = commands.Bot(command_prefix='/')

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

В этой статье мы создаем своего дискорд-бота на боксе с нуля.

Подготовка

Предварительные действия на боксе такие же, как и в нашей статье про Telegram:


Выбираем имя приложения (выбирайте мудро, хоть его и можно изменить позже):


Готово. Здесь можно переименовать приложение, дать описание, загрузить аватарку:


Токен бота можно получить по кнопке Copy:


Если вдруг токен попал не только в ваши руки, его всегда можно заменить кнопкой Regenerate.

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


Выдаем права, действительно нужные боту для администрирования сервера:


Теперь бота можно добавить на сервер. Копируем ссылку и открываем её в браузере. В диалоговом окне выбираем сервер:


Проверяем его привилегии:


Всё, бот на сервере:


Код бота

Активируем виртуальное окружение и ставим нужную библиотеку:

Добавляем директорию для бота, не выходя виртуального окружения:

Создаем конфиг бота:

Наполняем его содержимым

Дальше код бота. Создаем bot.py и сразу редактируем его vim’ом:

Первыми строками активируем виртуальное окружение и импортируем нужные модули:

Обозначаем боту, с какого символа начинаются его команды:

Добавляем в код функцию запуска:

Закрываем редактор и запускаем бота:


Код бота целиком:

Запуск бота

Создаем Linux-демона — он будет следить, что бот работает. Открываем файл (mlg, если нужно, меняем на своё имя сервиса):

Добавляем в него строки:

И запускаем демона:

Проверить, что всё работает, можно так:

Дополнение кода бота

Бот улучшается в два этапа:

  • добавляем код в файл бота
  • перезапускаем бота

Для примера добавим в бота какое-нибудь рандомное API. Открываем файл бота:

И добавляем в него пару библиотек и ещё одну функцию обработки команд:

Закрываем файл и перезапускаем демона, чтобы изменения вступили в силу:

Результатом будет рандомный мем:


Готово! Боты в Discord умеют многое, и мы можем и дальше расширять его возможности, изучая документацию.

В данном статье, я покажу как можно создать Discord бота. Discord это мессенджер для голосового, видео и текстового общения для любых сообществ [Дискорд Что Это И Как Пользоваться? — Обзор Программы Discord]. А теперь, давайте создадим простого бота, и сделаем ему команду.

Создадим простой бот на сайте Discord Developer Portal — API Docs for Bots and Developers. Потом верхнем правом углу нажимаем на кнопку New Application:

Screenshot 2021-06-09 at 19-03-59 Discord Developer Portal — API Docs for Bots and Developers.jpg

Дальше, Discord попросит вас название вашего бота, пример, назовём его MyBot.​

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

Screenshot 2021-06-09 at 19-11-49 Discord Developer Portal — API Docs for Bots and Developers.jpg

Нажимаем на кнопку Copy, потом создайте простой документ txt, и закиньте его, я назову его token.txt, через пайтон файл, мы позже будем подключаться к нему:

Снимок экрана от 2021-06-09 19-15-26.jpg

Все бота мы создали, теперь мы должны кинуть на наш сервак, как это сделать? Для этого вы должны зайти на сайт: [ Discord - A New Way to Chat with Friends & Communities ] и изменить YOUR_ID на Application ID:

'
Заходим опять в Developer discord нажимаем на кнопку OAuth2 копирум Client ID и ставляете место YOUR_ID на CLIENT ID.

Вот и всё! После чего, Discord попросит на какой сервер, добавить вашего бота:

Screenshot 2021-06-09 at 19-30-26 Discord - A New Way to Chat with Friends Communities.jpg

Допустим он у меня будет называть My Server.

С созданием бота мы разобрались! Теперь, напишем код на пайтоне, и сделаем команду для бота, которые будет приветствовать. Ну для этого вы должны установить библиотеку discord:

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


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

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


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


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

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


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

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


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

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

Создаем тело бота:


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


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


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

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


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

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


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



Заключение

Вот так можно легко запустить у себя на сервере бота. Как можно заметить библиотека делает практически все за тебя и остается только добавлять свой функционал с использованием python. В следующий раз я покажу как следить за событиями, подключатся к голосовым каналам (избегая проблем с linux и Windows), использовать роли и права участников и другое.

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