@Shookal

Disnake не находит команду. как решить?

Работаю в Disnake.py
Пишу на Python 3.10

Образовалась проблема с использованием @bot.slashcommand().

from dis import disco
import disnake
from disnake.ext import commands
from config import settings







intents = disnake.Intents.all()
intents.message_content = True
disnake.member = True

bot = commands.Bot(command_prefix = settings['prefix'], intents = intents )

@bot.event
async def on_ready():
    print(f'ready:{bot.user.display_name}')
    

@bot.command()
async def ping(ctx):
    await ctx.send('pong')
    print('test')


@bot.slash_command(description='Приглашение в команду')
async def teaminvite(inter):
    print("yeah")
    

bot.run(settings['token'])


При написании команды /teaminvite она не появляется в листе команд и питон выдает:

Ignoring exception in command None:
disnake.ext.commands.errors.CommandNotFound: Command "teaminvite" is not found
  • Вопрос задан
  • 385 просмотров
Решения вопроса 1
fenrir1121
@fenrir1121 Куратор тега discord.py
Начни с документации
Потому что нельзя делать префиксом слеш
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Vindicar
@Vindicar
RTFM!
На полноценную глобальную регистрацию команды бота в дискорде уходит время. Кто-то называл срок около часа что ли, я сам не пробовал.
В доках написано, как тестировать в рамках одного сервера. Попробуй сначала так.
from disnake.ext import commands

command_sync_flags = commands.CommandSyncFlags.default()
command_sync_flags.sync_commands_debug = True  # чтобы бот писал в лог ход регистрации

bot = commands.Bot(
    command_prefix='!',
    test_guilds=[123456789], # локальная регистрация для одного сервера
    command_sync_flags=command_sync_flags,
)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы