Как создавать команды, которые можно отключить в Discord.py ?

#python #discord #discord.py

#python #Discord #discord.py

Вопрос:

Я хотел знать, знает ли кто-нибудь, как сделать Discord.py команды, которые можно отключить с помощью другой команды. Не имеет значения, нужно ли нам использовать что-то вроде Json, я просто хотел бы найти способ.

Ответ №1:

Использовать command.update() с kwarg enabled

 @bot.command()
async def foo(ctx):
    await ctx.send('whatever')


@foo.error
async def foo_error(ctx, error):
    """Simply an error handler"""
    if isinstance(error, commands.DisabledCommand):
        await ctx.send('Command is disabled')


@bot.command()
async def disable_foo(ctx):
    """Disabled the `foo` command"""
    foo.update(enabled=False)


@bot.command()
async def enable_foo(ctx):
    """Enables the `foo` command"""
    foo.update(enabled=True)
 

Если команда отключена, commands.DisabledCommand она будет выброшена.
Ссылка

Комментарии:

1. И это будет сбрасываться с каждым сервером, верно?

2. что вы имеете в виду?

3. Например, если бы я отключил команду на одном сервере, она все равно была бы включена на других.

4. Нет, команда будет отключена во всех гильдиях

5. Есть ли способ сделать его специфичным для сервера?