Это моя первая статья, не судите строго.
Это статья про то, как сделать дискорд бота на языке программирования Python.
Обучение действительно лёгкое, даже если вы ещё познаёте азы программирования, как например я.
Почему Python?
- Имеет много всевозможных модулей;
- Высокоуровневый (лёгок в написании);
- А также много других привилегий!
Но минусы тоже имеются, например...
- Он медленнее, в отличии от других (к примеру C++) хоть это не особо мешает, если у вас небольшой бот;
- Разные версии питона не совместимы (например код на версии питона 2.x.x не будет работать на 3.x.x, а значит для перехода на новую версию придётся либо переписывать код, либо смириться и остаться на 2.x.x).
Что-ж, начинаем!
Для начала переходим на этот сайт. Это сайт дискорда, а точнее, портал разработчиков. Жмём на кнопку "New Application", чтобы создать приложение
Затем мы видим вот такую картину:
Далее- жмём на кнопку "Bot". И видим это:
Жмём кнопку "Add Bot", и соглашаемся.
Поздравляю, бот создан!
Теперь нам надо нажать кнопку "Copy", чтобы скопировать токен бота
Токен есть у каждого пользователя в дискорде. Не только у ботов, но и у каждого юзера он есть.
Токен позволяет войти в аккаунт. Одного токена хватит чтоб обойти логин, пароль, и даже двухфакторную аутентификацию (или же просто 2FA).
После копирования токена, врубаем интенты- для большего функционала
Далее переходим на вкладку OAuth2
Далее пролистываем вниз, ставим галочку на "bot" и "Administrator"
Вот что у нас вышло:
Далее жмём "Copy", и открываем эту ссылку в браузере.
Добавляем бота на тестовый сервер:
Ну а дальше жмите "Продолжить", и сами разберётесь. После этого бот будет на сервере. Начало пройдено.
Затем скачиваем интерпретатор. Я советую PyCharm, сам им пользуюсь.
Для начала скачаем модуль discord, который необходим для написания бота. Чтоб его установить пишем в командную строку Windows следующую команду:
pip install discord
Вскоре загрузка модуля кончится. Когда модуль скачается, начнём писать код!
Переходим к основе!
Для начала пишем в код импорт модуля discord:
import discord
И ещё
from discord.ext import commands
Потом пишем переменную Token.
Вот так:
Token = "ранее скопированный токен в кавычках"
Далее пишем интенты, и обьявляем что задействуем все их типы:
intents = discord.Intents.all()
Далее переменную bot
bot = commands.Bot(command_prefix='!', intents=intents, help_command=None)
Обьясняю:
Переменную bot мы обьявляем ботом. Мы будем её активно использовать, в дальнейшем.
command_prefix - это префикс всех команд. Тоесть знак, или знаки, или слово которое печатается до самой команды. Например:
!help
Префикс- восклицательный знак.
intents=intents - говорим программе что интенты находятся в переменной intents.
help_command=None - Это значит что команды !help (которая добавляется по умолчанию и выводит все команды) отсутствует, чтобы при написании !help ничего не происходило.
Пишем команды для бота!
Их написание нетрудное. Конечно, всё зависит от обьёма.
Пример команды:
@bot.command()
async def test(ctx):
await ctx.send("Я тут!")
Эта простенькая команда в 3 строки. При написании !test, бот говорит "Я тут!"
Объясняю поподробнее:
@bot.command() - объявляем что это- команда (есть и ивенты, и команды со слешем, и многое другое, так что это важная строка.)
async def - просто знайте что это надо писать перед названием каждой команды
test - само название команды
ctx - означает то что мы работаем с чатом
await - ставится обязательно после строки async def, означает что эта команда выполняет какую то функцию. Не ставится перед объявлением переменных.
ctx.send("текст") - как можно догадаться, отправляет сообщение.
Давайте напишем эту команду в общий код бота.
Далее запустим бота- для этого пишем:
bot.run(Token)
Либо же, если не сработало
bot.run("сюда токен бота, с кавычками")
Запускаем файл, и у нас получилось!
Но чтобы бот работал всегда, придётся поставить его на хостинг. Например repl.it.
И это всё только начало! Вы можете прочитать документацию по discord.py, если хорошо знаете английский.