Команда help discord py
В этой статье мы создаем своего дискорд-бота на боксе с нуля.
Подготовка
Предварительные действия на боксе такие же, как и в нашей статье про Telegram:
Создание бота происходит в два этапа на сайте мессенджера. Сначала создаем приложение: «Разработчикам»(в футере) → «Applications», нажимаем кнопку «New Application» в правой верхней части страницы:
Выбираем имя приложения (выбирайте мудро, хоть его и можно изменить позже):
Готово. Здесь можно переименовать приложение, дать описание, загрузить аватарку:
Теперь добавим к нему бота. В меню слева вкладка «Bot» → «Add Bot» → «Yes, do it!».
Токен бота можно получить по кнопке Copy:
Если вдруг токен попал не только в ваши руки, его всегда можно заменить кнопкой Regenerate.
Добавление бота на сервер
Переходим на вкладку «OAuth2» и создаем для него свой URL для приглашения:
Чуть ниже выбираем права для бота. Если это бот для администрирования сервера, то можно, конечно, выбрать «Administrator», но нужно быть осторожными с этим.
Выдаем права, действительно нужные боту для администрирования сервера:
Теперь бота можно добавить на сервер. Копируем ссылку и открываем её в браузере. В диалоговом окне выбираем сервер:
Проверяем его привилегии:
Всё, бот на сервере:
Код бота
Активируем виртуальное окружение и ставим нужную библиотеку:
Добавляем директорию для бота, не выходя виртуального окружения:
Создаем конфиг бота:
Наполняем его содержимым
Дальше код бота. Создаем bot.py и сразу редактируем его vim’ом:
Первыми строками активируем виртуальное окружение и импортируем нужные модули:
Обозначаем боту, с какого символа начинаются его команды:
Добавляем в код функцию запуска:
Закрываем редактор и запускаем бота:
Код бота целиком:
Запуск бота
Создаем Linux-демона — он будет следить, что бот работает. Открываем файл (mlg, если нужно, меняем на своё имя сервиса):
Добавляем в него строки:
И запускаем демона:
Проверить, что всё работает, можно так:
Дополнение кода бота
Бот улучшается в два этапа:
- добавляем код в файл бота
- перезапускаем бота
Для примера добавим в бота какое-нибудь рандомное API. Открываем файл бота:
И добавляем в него пару библиотек и ещё одну функцию обработки команд:
Закрываем файл и перезапускаем демона, чтобы изменения вступили в силу:
Результатом будет рандомный мем:
Готово! Боты в Discord умеют многое, и мы можем и дальше расширять его возможности, изучая документацию.
Читайте также: