我有一些类似这样的齿轮的代码:
class Example(commands.Cog):
def __init__(self, bot):
self.bot = bot
self.counter = 0
@commands.Cog.listener()
async def on_message(self, message):
print("Listener triggered")
self.counter += 1
@commands.group()
async def first(self, ctx):
if ctx.invoked_subcommand is None:
await ctx.send("Invalid subcommand")
@first.command()
async def second(self, ctx):
print("Command triggered")
await ctx.send(f"Current counter: {self.counter}")
当我运行此代码并向我的机器人发送消息时,second
在 on_message
之前被调用。我在 second
中有一些代码希望先执行 on_message
,但我想不出实现这一点的好方法。建议?