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

Lua+Discordia开发Discord Bot调用reactionAdd报nil值错误解决方法

报错原因
  • 调用对象错误:你尝试调用方法的message.reactions是Discordia用来缓存消息已有表情反应的容器对象,本身不提供添加反应的接口,自然不存在你写的reactionAdd方法。
  • 方法名错误:Discordia中给消息添加表情反应的接口是挂载在Message实例上的addReaction,不存在reactionAdd这个方法,这是直接触发attempt to call method 'reactionAdd' (a nil value)报错的核心原因。
  • 表情参数格式不符合要求:你传入的:seven:是Discord渲染表情用的Markdown语法,不是接口接受的合法参数,就算修正了方法和调用对象,这个参数也无法正常添加对应表情。
修复方案

直接替换原有错误的反应添加逻辑即可,修正后的可运行代码片段:

if message.content == "press f to pay respects" then
    if message.author.bot then
        -- 调用主体为消息对象本身,使用正确方法名addReaction,传入7️⃣对应的Unicode字符
        message:addReaction("7️⃣")
    end
end

如果需要添加服务器自定义表情,参数传入<:表情名称:表情ID>格式的字符串即可,示例:

-- 替换为实际自定义表情的名称和ID
message:addReaction("<:customEmoji:123456789012345678>")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 12:09:20