我正在等待一条消息:
msg = await bot.wait_for_message(author=message.author, content = '.hit')
我想要做的是等待消息,然后继续处理2种不同的内容,例如:
msg = await bot.wait_for_message(author=message.author, content = '.hit' or '.pass')
虽然这不会引发任何错误,但它不起作用。我查了一下:
if msg.content == (".hit"):
print("He hits.")
elif msg.content == (".pass"):
print("He passes.")
else:
print("It did not work.")
有人知道这是否可行?谢谢!
答案 0 :(得分:1)
您可以这样做:
msg = (await bot.wait_for("message")).content
if msg == ".hit":
print("He hits!")
elif msg == ".pass":
print("He passes!")
else:
print("He doesn't do anything")
答案 1 :(得分:0)
content = '.hit' or '.pass'
将不会按照您的想法执行,它(如果您在空闲状态下检查)将只返回'.hit'
您想要做的事情,只是不要包含content关键字参数并自己检查内容所以
msg = await bot.wait_for_message(author=message.author)
if msg:
if msg.content == '.hit':
print('He hits')
elif msg.content == '.pass':
print('He passes')
else:
print('He didn\'t give a valid option')
我首先放置if msg
分支的原因是,如果您设置了超时,机器人将返回None
代替discord.Message