不和谐的机器人等待消息

时间:2018-10-15 18:31:18

标签: python bots discord.py

因此,正如标题所示,我正在尝试使我的漫游器响应特定消息。因此,在用户发送图片后,它会称赞一下,然后,如果该用户使用诸​​如“感谢”之类的消息来响应该消息,则机器人将继续以另一条消息进行响应,但是我正在尝试使它使用if语句响应“感谢”的多​​个版本。到目前为止,这是代码:

if '.png' in message.content or '.jpg' in message.content or '.jpeg' in message.content:
            await bot.send_message(message.channel, "woah, very nice!")
            msg = await bot.wait_for_message(author=message.author)
            if msg:
                if msg.content == 'thanks':
                    print("test") 
                    await bot.send_message(message.channel, "hey, gotta compliment nice images right?")

我不确定我是否正确执行此操作,python shell无法打印测试,并且机器人在服务器中没有响应。

1 个答案:

答案 0 :(得分:0)

我们可以编写一个检查许多不同变化的函数,然后将该函数作为wait_for_message参数传递给check

thanks = ['thanks', 'thank you', 'thx']

def thanks_check(message):
    content = message.content.lower()
    return any(t in content for t in thanks)

@bot.event
async def on_message(message):
    content = message.content.lower()
    if '.png' in content or '.jpg' in content or '.jpeg' in content:
                await bot.send_message(message.channel, "woah, very nice!")
                print("Waiting for test")
                msg = await bot.wait_for_message(author=message.author, check=thanks_check)
                if msg:
                    print("test") 
                    await bot.send_message(message.channel, "hey, gotta compliment nice images right?")