Найти в Дзене
Darkners Official

Создание DISCORD-бота на PYTHON #1

Оглавление

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

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

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

-2

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

-3

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

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

-5

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

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

Переходим по ссылке "https://discordapp.com/oauth2/authorize?&client_id={наш_client_id}&scope=bot&permissions=8".
Вместо
"{наш_client_id}" вписываем "client_id", который получили в настройках нашего приложения.

-6

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

-7

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

-8

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

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

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

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

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

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

// Активируем виртуальную среду
[Windows] > [название]\Scripts\activate.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='/')

# Тут будут команды

bot.run(token)

Немного объясню наш код:
Первые две строки - подключение библиотеки к нашему проекту. 
Далее для удобства мы сразу задаем переменную, в которую записываем наш
токен, полученный ранее.
Следующая переменная -
bot, которую мы будем использовать для обращения к API.
Аргумент
"command_prefix" - то, с какого символа будут начинаться наши команды. Например, если мы укажем (command_prefix='/'), наши команды будут выглядеть как "/profile". Туда можно подставить любой символ.
bot.run - метод, который будет запускать нашего бота. 

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

Теперь давайте создадим нашу первую команду. Для этого вместо "# Тут будут команды" мы пишем следующее:

@bot.command()
async def dark(ctx):
    await ctx.send("Darkners the best!")

Данный код будет отвечать на наше сообщение "/dark" сообщением "Darkners the best!". Как видите, в этом нет совершенно ничего сложного. Добавлять можно бесконечное множество команд. 

На сегодня все. В следующем уроке мы продолжим разбирать процесс создания команд для нашего бота. Если у вас остались еще какие-то вопросы - задавайте их в комментариях к этому уроку, либо же на нашем форуме. Так же не забудьте посетить наш блог Darkners.ru, ведь именно там выходит много подобных статей.

Ссылка на оригинальную статью: https://darkners.ru/7-sozdanie-discord-bota-na-python-1.html

Наука
7 млн интересуются