Не появляется slash команда в списке комманд бота
Я написал слеш команду, ее код ниже
import disnake
from disnake.ext import commands
class wantrole(commands.Cog):
def __init__(self, bot):
self.bot = bot
@commands.slash_command(
name = 'test',
description='Сменить гендер пользователя'
)
async def test(ctx):
await ctx.send('привет', ephemeral=True)
def setup(bot):
bot.add_cog(wantrole(bot))
бота запускаю, но команда почему то не появляется вообще, пробовал также заходить через браузер, там тоже ничего нет, в чем может быть ошибка в консоли ничего по поводу этого не написано
Добавлено: Создал бота с другого аккаунта, там команда почему то есть
Ответы (2 шт):
Убедись, что ты подгрузил cog в основном файле бота, где лежит bot.run() и переменная bot.
Иногда также необходимо заходить в настройки сервера, так как Discord не видит новых команд бота.
"Настройки сервера" -> "Интеграции" -> имя бота -> команда, в которой произошла ошибка -> "Переназначение ролей"
Поставь, сохрани, потом убери, чтобы Discord подгрузил команду на сервере.
Еще можно поставить test_guilds = [guild_id] в переменную bot, где guild_id - это ID твоего сервера.
Оказывается, у Discord стоит ограничение - 200 взаимодействий в день. То есть, я могу создать только 200 команд через слэш в 24 часа (оно сбрасывается глубоко ночью). Когда перезапускаешь бота, то Discord создает новые команды, а не редактирует уже существующие.