我要做的是创建一个机器人,当管理员输入时,它将启动!开始。之后,用户可以输入长度只能为3个字符的消息。这些消息中的每一条都将显示在嵌入的消息中。当管理员命中!停止,消息将停止录制。现在,我可以!开始吧!停下来,但我不能在中间收到信息。msg2变量甚至没有打印出来。在
@client.event
async def on_message(message):
if message.content.startswith('!start'):
await client.send_message(message.channel, "Starting")
def check(msg):
return len(msg.content) == 3
while (not await client.wait_for_message(author=message.author, content='!stop')):
msg2 = await client.wait_for_message(check=check)
print (msg2.content)
await client.send_message(message.channel, "Stopping")
您需要从同一个
wait_for_message
获取所有消息,包括停止消息。否则,您将开始等待stop
消息,而不会开始等待3个字母的消息。在相关问题 更多 >
编程相关推荐