Для корректной работы бота советуем установить Python 3.9 и выше
-
Тыкаем сюда и у вас скачивается Python 3.9
-
Обязательно включаем галочку рядом с Add Python 3.9 to PATH и проходим дальнейшую установку
После установки Python вы так же можете установить Visual Studio Code для редактирования файлов бота по этой ссылке
Создание нового бота на сайте Discord Developers Portal
- Заходим на сайт и нажимаем на кнопку
New Application
- Вводим название приложения и нажимаем
Create
- Выбираем вкладку
Bot
- Нажимаем
Add Bot
- И снова нажимаем
Yes, do it!
- Нажимаем
Reset Token
и сохраняем его где-нибудь (После перезагрузки страницы токен пропадет и его придется пересоздать в случае утери)
Во вкладке Bot
включаем следующие галочки
Public Bot
- Означает, что бот является общедоступным и может быть добавлен другими людьми на их сервера в Discord.Presence Intent
- Позволяет боту отслеживать присутствие пользователей, включая их статус в реальном времени (например, онлайн, отсутствует, занят) и активность (например, играет в игру).Server Members Intent
- Позволяет боту получать информацию об участниках сервера, такую как имена, никнеймы, роли и т.д.Message Content Intent
- Позволяет боту получать информацию о содержимом сообщений, включая текст и вложения.
Пишем в cmd вот эту команду pip install disnake
Онлайн
status=disnake.Status.online
Оффлайн
status=disnake.Status.offline
Не беспокоить
status=disnake.Status.dnd
Не активен
status=disnake.Status.idle
Играет
activity=disnake.Game(name="игру")
Смотрит
activity=disnake.Activity(type=disnake.ActivityType.watching, name="ютуб")
Слушает
activity=disnake.Activity(type=disnake.ActivityType.listening, name="музыку")
Стримит
activity=disnake.Streaming(name="игру", url="https://www.twitch.tv/никнейм") #если убрать аргумент url то кнопки просто не будет, но все будет работать
Соревнуется в
activity=disnake.Activity(type=disnake.ActivityType.competing, name="создании бота")
Этот параметр обозначает добавление тестового сервера на котором слеш команды будут обновляться сразу При добавлении большого количество идентификаторов то бот будет запускаться медленно, советуем добавлять не более 3х
Что бы добавить туда свой сервер напишите так
test_guilds=[960169222808432660]
Что бы добавить несколько серверов напишите так
test_guilds=[960169222808432660, 941767647790514216]
Важно - Если айди вашего сервера не будет там то слеш команда появится/обновится только через 10-15 минут после её добавления/изменения
Создаем файл <название на английском>.py
в папке cogs
, пример - moderation.py
import disnake
from disnake.ext import commands
class Fun(commands.Cog):
def __init__(self, bot):
self.bot = bot
@commands.Cog.listener()
async def on_ready(self): #ивент который будет активироваться когда вы включите бота
print('Любой текст, к примеру: Cog Fun - Ready')
#Тут будут команды и ивенты
def setup(bot):
bot.add_cog(Fun(bot))
Ког - модуль бота где хранятся команды, можно создавать столько когов, сколько захотите (Модерация, Развлечение и.т.п)
Токен - зашифрованный ключ Discord, с помощью которого бот авторизуется
Импорт - обязательная вещь которая добавляет в код много полезного, пример ниже
import disnake
from disnake.ext import commands
Ивент - триггер который активируется при каком либо действии, к примеру on_ready - бот включен(готов)
На этом все, дальше смотрите файлы, там я буду выкладывать примеры