python - 不和谐.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.')
但是机器人忽略了第二个命令。为什么?
解决方案
当这样写它时,它会检查消息中是否有一个你好,那里有一个你好。要让您的机器人响应,然后等待响应,请使用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 的消息
推荐阅读
- java - 异常(stacktrace)在 springboot 单元测试中不可用
- python - 仅使用 dlib 对 iPhone 照片进行面部检测失败
- c++ - 如何在红黑树中重载 operator=?C++
- python - 用 Python bs4 从 HTML 中提取文本
- azure-functions - 如何仅使用逻辑应用 HTTP 操作将 HTTP 触发 azure 函数连接到我的 azure 逻辑应用?
- python - 展示 pandas DataFrame 进化
- firebase - Firestore 错误:流以状态关闭:PERMISSION_DENIED
- java - Android - 不推荐使用 getExternalStorageDirectory() 后获取 SD 卡路径位置
- elasticsearch - 使用 Java 高级别的客户端执行 ClusterStateRequest
- react-native - 使用 react-native-fingerpirnt-scanner 进行 React Native 指纹认证