February 23, 2023
Создание дискорд бота. Часть 3. Команды.
Вы дождались 3 части моей статьи, я вас с этим поздравляю. Если вкратце, мы научимся создавать слеш команды и префиксные.
Рекомендую отказаться от префиксных команд если ваш бот публичный, и вы хотите получить верификацию. После верификации вам вряд ли дадут доступ к Message Intent, который обязателен для префиксных команд.
Ещё одно предупреждение, не используйте commands Context в слеш командах.
import disnake
from disnake.ext import commands
# Создание переменной bot и присваивание ей екземпляр класса commands.Bot
bot = commands.Bot(command_prefix=".", intents=disnake.Intents.all()) # Все Intents должны быть включены для работы.
# Ивент который запустится когда бот будет готов
# ЭТОТ ИВЕНТ МОЖЕТ ЗАПУСКАТЬСЯ НЕСКОЛЬКО РАЗ, НЕ ДЕЛАЙТЕ ЗДЕСЬ АПИ ЗАПРОСЫ
@bot.event
async def on_ready():
print("Bot's ready!")
# Создание команды
@bot.slash_command(name='its-my-test-command')
async def its_my_test_command(inter: disnake.ApplicationCommandInteraction):
# Ответ на интеракцию. Отправка ephemeral (невидимого) сообщения Test!
await inter.response.send_message('Test!', ephemeral=True)
bot.run('YOUR_BOT_TOKEN')import disnake
from disnake.ext import commands
# Создание переменной bot и присваивание ей екземпляр класса commands.Bot
bot = commands.Bot(command_prefix=".", intents=disnake.Intents.all()) # Все Intents должны быть включены для работы.
# Ивент который запустится когда бот будет готов
# ЭТОТ ИВЕНТ МОЖЕТ ЗАПУСКАТЬСЯ НЕСКОЛЬКО РАЗ, НЕ ДЕЛАЙТЕ ЗДЕСЬ АПИ ЗАПРОСЫ
@bot.event
async def on_ready():
print("Bot's ready!")
# Создание команды
@bot.command(name='its-my-test-command')
async def its_my_test_command(ctx: commands.Context):
await ctx.send('Test!')
bot.run('YOUR_BOT_TOKEN')