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

PyCharm开发Discord随机响应Bot的匹配问题求助

问题解决:让Discord Bot在包含触发词时就响应

你的问题出在**精确匹配(==)**的判断逻辑上——只有当输入内容和触发词完全一模一样时,Bot才会触发响应,只要多了任何额外字符或内容就不会生效。

修改方案

把精确匹配改成包含匹配,同时把所有触发词统一整理,避免重复代码,方便后续维护:

def get_response(message: str) -> str:
    p_message = message.lower()
    # 把所有需要触发的关键词整理成列表,统一转小写
    trigger_words = [
        '@madrid',
        '@madridddsta',
        'madridddsta#7819',
        '<@949798747586584647>',
        '@xtreditz',
        '@xtreditz#6250',
        '<@841488565225390080>'
    ]
    
    # 检查消息是否包含任意一个触发词
    for word in trigger_words:
        if word in p_message:
            return 'Reduce on pinging him, wait until he comes online and ask him what you wanted to ask.'
    # 如果没有匹配到任何触发词,返回空或者默认响应(根据你的需求调整)
    return ''

说明

  1. 统一将输入消息和触发词转成小写,避免大小写差异导致的匹配失败
  2. 用in操作符判断触发词是否存在于输入消息中,只要包含就触发响应
  3. 把所有触发词集中在一个列表里,后续新增触发词直接添加到列表即可,无需重复编写if判断,代码更简洁易维护

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 06:03:11