在 client.wait_for() discord.py 期间阻止命令

Prevent commands during client.wait_for() discord.py

我遇到了 client.wait_for() 的问题。

while True:
      msg = await client.wait_for('message', check=lambda message: message.author == ctx.author)

虽然 运行 是一个无限循环,但当我输入同一个命令时,该命令有另一个“实例” 运行。

有没有办法防止在 client.wait_for() 响应期间使用命令?

我试过 startswith('prefix') 但它不起作用,命令仍然执行。

要限制 ONE 命令的使用,以便它可以同时允许一定数量的调用,请使用装饰器 max_concurrency.

您可以在 wait_for 之前设置一个变量 commandsDisabled = True,然后将其设置为 False。然后在每个命令中检查这个变量