如何一次只允许一个人使用不和谐机器人
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 为真,然后如果其他人尝试 运行 命令,它将显示有人正在使用它。
所以我有这行代码:
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 为真,然后如果其他人尝试 运行 命令,它将显示有人正在使用它。