Python 如何按BucketType定义命令错误消息

Python 如何按BucketType定义命令错误消息,python,error-handling,discord,discord.py,discord.py-rewrite,Python,Error Handling,Discord,Discord.py,Discord.py Rewrite,我对一个命令使用了两次max_并发,以限制每个公会最多调用3次,每个用户最多调用一次: @commands.max_concurrency(3,per=commands.BucketType.guild,wait=False) @commands.max_concurrency(1,per=commands.BucketType.user,wait=False) async def start(self, ctx): 我的问题是如何使用BucketType参数创建单独的错误消息 作为我所问问题

我对一个命令使用了两次max_并发,以限制每个公会最多调用3次,每个用户最多调用一次:

@commands.max_concurrency(3,per=commands.BucketType.guild,wait=False)
@commands.max_concurrency(1,per=commands.BucketType.user,wait=False)
async def start(self, ctx):
我的问题是如何使用BucketType参数创建单独的错误消息

作为我所问问题的一个例子:

@start.error
async def on_command_error(self,ctx,error):

        if isinstance(error, commands.MaxConcurrencyReached):

              guild_error = "Too many playing"
              user_error = "You're already playing"

              await ctx.send("guild_error or user_error depending on BucketType?")
通过使用该属性,我们可以找到BucketType并采取相应的行动

例如:

@start.error
命令上的异步定义错误(self、ctx、error):
如果isinstance(错误,commands.MaxConcurrencyReached):
帮会_error=“玩得太多”
user\u error=“您已经在玩了”
#因为error.per返回一个BucketType,所以我们可以对照BucketType.user和BucketType.guild检查它。
如果error.per==commands.BucketType.user:
等待ctx.send(用户错误)
elif error.per==commands.BucketType.guild:
等待ctx.send(帮会错误)
通过使用属性,我们可以找到BucketType并采取相应的行动

例如:

@start.error
命令上的异步定义错误(self、ctx、error):
如果isinstance(错误,commands.MaxConcurrencyReached):
帮会_error=“玩得太多”
user\u error=“您已经在玩了”
#因为error.per返回一个BucketType,所以我们可以对照BucketType.user和BucketType.guild检查它。
如果error.per==commands.BucketType.user:
等待ctx.send(用户错误)
elif error.per==commands.BucketType.guild:
等待ctx.send(帮会错误)