我想避免尽可能多的错误,但机器人在运行时可能会出错。您只能每 7 天运行一次命令。如果涉及到错误,那当然是愚蠢的。有没有办法让命令再次可用/重置某些用户的冷却时间?
我的方法:
@trivia_channel.command(aliases=["reset"])
async def reset_cooldown(self, ctx, member: discord.Member):
await self.start.reset_cooldown(ctx, member)
await ctx.send(f"Resetted cooldown for {member}.")
trivia_channel.command
是一个组命令。
这显然会引发错误,我不知道如何适应 member
参数。
答案 0 :(得分:0)
Command.reset_cooldown
只接受一个参数,即 Context
。如果您使用 Context.author
变量覆盖 Context.message.author
和 member
属性,您可以为其他人重置冷却时间。
@trivia_channel.command(aliases=["reset"])
async def reset_cooldown(self, ctx, member: discord.Member):
ctx.author = member
ctx.message.author = member
self.start.reset_cooldown(ctx)
await ctx.send(f"Resetted cooldown for {member.mention}")
这对我有用,但这不是最好的解决方案。如果您想要更好的方法,您可以创建自定义冷却时间,但仅使用一个命令是不值得的。