как разрешить выполнить команду только в одном канале discord py

Мне нужно узнавать, когда человек пишет определённую команду именно в определённом канале, и ещё, как удалять сообщения в этом канале, если это не определённая команда ))


Ответы (1 шт):

Автор решения: RAINGM
def one_channel_for_all_commands_predicate(ctx: commands.Context):
    channel = discord.utils.get(ctx.guild.text_channels, id=channel_id)
    if channel:
        if ctx.channel != channel:
            raise commands.CheckFailure(f"error {str(ctx.author)}")
        else:
            return True
    else:
        return True

has_one_channel_for_all_commands = commands.check(one_channel_for_all_commands_predicate)

@commands.command()
@has_one_channel_for_all_commands
async def command(self, ctx: commands.Context):
    await ctx.send(1)
→ Ссылка