You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

discord.py机器人如何实现不区分大小写检测消息内关键词并响应

实现方法

你当前代码里的==是整句精确匹配逻辑,只有消息内容完全等于"ok"时才会触发,要实现「不区分大小写+检测消息任意位置包含关键词」的需求,直接用Python的成员运算符in替换==即可:

# 统一将消息内容转为小写,再判断目标小写关键词是否存在于内容中
if "ok" in message.content.lower():
    await message.channel.send('Ok')

该写法可以覆盖所有不区分大小写的包含匹配场景,类似OK、Ok, I see、that's ok man、oK no problem这类内容都可以正常触发响应。


可选优化:避免子串误匹配

如果不想把带有"ok"字符片段的其他单词(比如look、cook、okra)误识别为关键词,可以通过正则增加单词边界判断,同样支持不区分大小写匹配:

import re

# \b 代表单词边界,只会匹配独立出现的ok关键词
if re.search(r"\bok\b", message.content, re.IGNORECASE):
    await message.channel.send('Ok')

该写法下,类似I look at the cat这类包含ok字符片段但并非独立单词的内容不会触发响应,只有独立出现的ok(不限制大小写、不限制在消息中的位置)才会触发。

内容的提问来源于stack exchange,提问作者rfretehb

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 10:06:20