Рассмотрим как написать дискорд бота на питоне, с чего начать и как вообще всё это работает))).
Для того чтобы всё получилось у вас должна быть учётная запись в дискорде с подтверждённым e-mail, учётная запись на replit.com (но не обязательно, просто я привык писать код именно в этом облачном IDE), чуточку упорства и ,конечно же, хорошее настроение. Готовы? Тогда поехали!
Step 0
Зайдите на сайт discord.com и найдите там раздел разработчикам. Обычно он находится в «подвале» сайта.


Вас перекинет на подобную страницу. Выберите раздел Applications. В этот момент вас попросят авторизоваться. Пройдите авторизацию если вы этого не сделали ранее.
Замечание: Если после авторизации у вас открылся Discord в браузере, просто вернитесь на пару страниц назад и опять выберите раздел Applications.

Здесь вы увидите:
1 — Вашу аватарку
2 — Уже созданные приложения
3 — Кнопку для создания нового приложения. Именно на неё и жмём для создания приложения через которое будет работать наш бот.

Перейдите в раздел Bot и добавьте бота Add Bot. В появившемся окне нажимаем Yes, do it! Должно появиться подобное окно, как ниже.

Пролистайте страницу в самый низ и дайте боту права администратора. ВАЖНО! Выдавайте права администратора только на стадии разработки. После того как вы напишете бота, снимите данную галочку и укажите только необходимые для корректной работы бота права.

Почти готово!
Теперь необходимо создать сервер на котором будет работать ваш бот. Для этого откройте приложение discord и нажмите на кнопку добавить сервер

В появившихся окнах выбирайте следующие пункты.
Теперь переходим в браузер и переключаемся на вкладку OAuth2. Ставим галочку напротив пункта Bot, ниже в окне должна появиться ссылка, которую необходимо скопировать и вставить в новой вкладке браузера.
В появившемся окне вам будет предложено выбрать сервер на котором будет работать ваш бот. Выбирайте сервер который мы создали ранее и переходите в приложение discord. Вы увидите в правой части вашего бота. Пока что он не в сети. Необходимо написать код для него и запустить на выполнение чтобы он заработал.
Step 1
Настало время покодить. Заходите на репл и создавайте новый. Я назову свой «Test super discord».
В первых строчках импортируем необходимые библиотеки. Далее создадим объект класса Bot. Именно этому объекту мы будем прописывать все дальнейшие команды. command_prefix — символ, который необходимо написать в сообщении, чтобы бот воспринимал текст сообщения как команду. Методом run() запускаем бота, передав в качестве параметра токен.

Для того чтобы получить токен. В браузере в окне приложения discord перейдите в раздел Bot и нажмите на кнопку Copy. Вставьте токен в переменную TOKEN (тип данных — строка).

Если вы сейчас запустите бота, он появится в сети на сервере, но пока что он ничего не умеет. Давай напишем нашу первую обработку команды. Например, чтобы на сообщение /hello , бот отвечал бы Hello, world!

Размещайте код команд до строчки bot.run(TOKEN). Отправьте сообщение ‘/hello’ на сервер, бот вам ответит. Обратите внимание, имя функции полностью соответствует тексту команды, которую мы хотим запрограммировать. Таким образом можно описать сколько угодно команд и их алгоритмы.

Теперь напишем команду add которая будет складывать два числа и отправлять в сообщении сумму этих чисел.

при отправке команды /add через пробел напишите два числа и бот пришлёт вам сумму этих чисел.

Я думаю вы уже заметили, что для отправки сообщения мы используем метод send() у объекта context. Так же стоит обратить внимание на декораторы, которые мы пишем перед тем как объявить функцию команды @bot.command
.
В следующей статье мы рассмотрим декораторы событий в discorde. Научимся перехватывать событие запуска бота и событие отправки пользователем сообщения. Абсолютно любого сообщения, а не только команд.
Discord bot on python: part 1: 1 комментарий
Самая легкая, понятная и информативная инструкция по созданию бота! Спасибо большое!