You need to enable JavaScript to run this app. 如何让Discord机器人仅精确响应!skip指令,避免!skip123误触发?
优惠活动
大模型
产品
解决方案
定价
更多

如何让Discord机器人仅精确响应!skip指令,避免!skip123误触发?

问题核心原因

你当前使用的message.content.startswith('!skip')是前缀匹配逻辑,只要消息文本以!skip开头就会命中判断,因此!skip123、!skip任意内容这类带额外后缀的消息都会触发误响应。

具体调整方案
  • 最直接的严格匹配:将判断条件从前缀匹配替换为完全相等匹配
    把原代码行if message.content.startswith('!skip'): 修改为 if message.content == '!skip':
    这种写法判定逻辑非常严格,只有消息文本和!skip字符逐位完全一致时才会触发后续响应,所有带额外字符的输入都会被排除。
  • 带容错的适配匹配:如果需要兼容用户在指令前后误加空白字符的场景,可以使用裁剪后的相等匹配
    修改判断条件为 if message.content.strip() == '!skip':
    该写法会先移除消息内容首尾的空格、换行等空白字符,像 !skip 这类带前后空格的合法指令也能正常触发,同时依然不会匹配!skip123这类带有效额外字符的内容。

补充提示:如果你后续要开发更多指令,不建议手写字符串匹配逻辑,可以直接使用discord.py内置的命令框架定义指令,框架本身已经自带指令边界判断能力,天然不会出现!skip123这类误匹配问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.06 17:27:01