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

ElizaOS机器人在Discord发送图片失败问题求助

问题分析与修复方案

一、动作名称重复显示(RANDOM_UNICORN_MEME)的原因及修复

你返回return true;会触发ElizaOS框架的默认后续处理逻辑,导致自动追加动作名称标识,和你手动通过callback发送的内容重复。

修复:将handler末尾的return true;改为return false;,阻止框架执行默认的动作响应逻辑,避免重复显示动作名称。

二、图片无法加载的常见问题及修复

1. 同时混用ElizaOS Attachments和Discord Embeds导致冲突

你在消息中同时定义了attachments和embeds,两者可能互相干扰。建议针对不同平台单独处理:

针对Discord平台(仅用Embed)

handler: async (
    runtime: IAgentRuntime,
    message: Memory,
    state: State,
    _options: { [key: string]: unknown },
    callback?: HandlerCallback
): Promise<boolean> => {
    console.log("[HANDLER] Starting unicorn meme handler");
    console.log("[HANDLER] Incoming message:", message.content.text);
    if (callback) {
        const responses = [
            "Hey friend of Charlie the Unicorn! Here's a magical meme for you:",
            "As Charlie the Unicorn would say, let's go on a meme adventure!",
            "Charlie the Unicorn approved this meme to cheer you up:",
            "Here's a meme straight from Candy Mountain!",
            "Charlie and the unicorn gang present:",
        ];
        const randomResponse = responses[Math.floor(Math.random() * responses.length)];
        const imageUrl = "https://i.imgur.com/your-unicorn-image.jpg"; // 替换为稳定的公开图片URL

        const messageToSend = {
            text: randomResponse,
            embeds: [{
                title: "Unicorn Meme",
                description: "A magical unicorn meme",
                image: { url: imageUrl }
            }],
        } as Content;

        console.log("[HANDLER] callback message:", messageToSend);
        callback(messageToSend);
    }
    return false; // 阻止框架默认响应
};

针对通用平台(仅用ElizaOS Attachments)

简化attachments字段,只保留必要属性,多余字段可能导致解析错误:

const messageToSend = {
    text: randomResponse,
    attachments: [{
        url: imageUrl,
        title: "Unicorn Meme",
        contentType: "image/jpeg",
    }] as Media[],
} as Content;

2. 图片URL存在访问限制

你使用的图片URL可能存在防盗链限制,导致Discord无法拉取。建议更换为无防盗链的公开图片服务的直接图片链接,确保URL能在浏览器直接打开且无跳转。

3. 频道权限未完全配置

确认机器人在目标Discord频道的角色拥有发送嵌入消息权限(部分服务器会单独限制频道权限,即使全局权限已开启)。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 18:13:22