Discord.py-将冷却时间应用于.event on_message



我想对on_message应用冷却。我已经从运行一个带有序言的命令(如.reclaim 000(转移到了简单的"000"或DM.上的任何代码

旧代码:

@commands.command(name='claim',pass_context=True)   
@commands.cooldown(1, 5, commands.BucketType.user)
async def redeem(self, ctx, code):
if isinstance(ctx.channel, discord.channel.DMChannel)

新代码:

@bot.event
@bot.cooldown(1, 5, commands.BucketType.user)
async def on_message(message):

然而,新的.事件类型忽略了冷却谓词。有没有办法将其应用于此?

我认为没有办法做到这一点,因为内置的冷却是为了与命令框架一起工作,这就引出了一个问题,为什么要从命令的(更好的(框架改为仅使用on_message?无论如何,你可能必须使用自己的冷却系统,这应该不会太难制作。你只需要一条用户的格言:可能是最后一次使用。

最新更新