首页 > 解决方案 > 不和谐.py | 检查 2 条或更多消息

问题描述

我试图编写一个不和谐的机器人来一个接一个地检查多条消息。所以如果有人写“你好”,机器人应该写“你好”并检查以下消息“你好吗?” 是。

    @client.event
async def on_message(message):
    if 'hi' in message.content:
        await message.channel.send('Hello there.')
        if 'How are you?' in message.content:
            await message.channel.send('I am fine.')

但是机器人忽略了第二个命令。为什么?

标签: pythondiscord.py

解决方案


当这样写它时,它会检查消息中是否有一个你好,那里有一个你好。要让您的机器人响应,然后等待响应,请使用wait_for

它看起来像这样:

@client.event
async def on_message(message):
    if 'hi' in message.content:
        await message.channel.send('Hello there.')
        await bot.wait_for("How are you", check=check)

这是在做什么,如果一条消息中有 hi,机器人会响应,然后等待一条带有 How are you 的消息


推荐阅读