如何一次只允许一个人使用不和谐机器人

How to allow only one person at a time to use discord bot

所以我有这行代码:

async def on_message(message):
  if message.content == "!test":
    await asyncio.sleep(15)
    await message.channel.send("Hello world"!)

如果我希望这行代码一次 运行 只对一个人有效(也就是说,如果其他人正在使用该机器人,其他人将无法使用该机器人),应该如何我编码这个?

我正在使用 discord.Client() 而不是 discord.Bot(),我打算保持这种状态。

如果你想让一次只能有 1 个人使用它,那么你可以添加一个 if 语句,就像我在下面添加的那样:

occupied = False
@client.event
async def on_message(message):
    global occupied
    if not occupied:
        occupied = True
    elif occupied:
        await ctx.send("Someone is using command pls wait")
        return
    if message.content == "!test":
        await asyncio.sleep(15)
        await message.channel.send("Hello world"!)

我添加了 if 语句,所以如果有人 运行 的命令 var occupied 为真,然后如果其他人尝试 运行 命令,它将显示有人正在使用它。