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

Discord Python机器人如何识别消息中的Emoji并实现关键词触发回复?

Discord Python机器人识别Emoji触发词解决方案

匹配规则说明

要实现带Emoji的触发词识别,需要先区分你要匹配的是全局Unicode Emoji还是服务器自定义Emoji,两种场景的填入格式完全不同:

  • 匹配系统自带的全局通用Emoji(比如🍎、🧟这类全平台通用表情)
    直接将Emoji本身复制粘贴到代码的XXXX位置即可,不要使用:apple:这类短名填充。Discord会将用户发送的短名自动解析为实际Unicode字符,用短名无法完成匹配。
    示例代码:
    word_list = ['Lanfeust got 1 🧟 zombie eye']
    
  • 匹配服务器上传的自定义Emoji
    机器人收到的消息中,自定义Emoji有固定格式:静图格式为<:emoji名称:emojiID>,动图格式为<a:emoji名称:emojiID>,需要按完整格式填入,仅填ID或短名都无法匹配。
    假设你要使用的僵尸眼Emoji名称为zombie_eye、ID为908223460097011743且为静图,填入后示例代码:
    word_list = ['Lanfeust got 1 <:zombie_eye:908223460097011743> zombie eye']
    

调试方法

如果还是匹配失败,可以在on_message方法中添加一行print(message.content),发送对应带Emoji的消息后查看控制台输出的原始内容,直接复制输出里的Emoji部分到触发词中,即可保证格式完全匹配。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 18:36:06