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

使用JDA开发Discord机器人时help命令发送Embed消息失败

Discord机器人Help命令Embed消息发送失败解决方法

错误原因

EmbedBuilder.build()生成的是MessageEmbed对象,你调用的sendMessage(CharSequence)是用于发送普通文本的方法,两者类型不兼容,强制类型转换会触发类型转换异常,导致代码无法正常运行。

修复代码

将错误的发送语句替换为专门发送Embed消息的方法:

if (message.equalsIgnoreCase(">help")) {
    EmbedBuilder eb = new EmbedBuilder();

    eb.setColor(0x26FF00);
    eb.setTitle("Commands");
    eb.setDescription("Command test...");
    eb.setFooter("Made by kersozone.pl");
    // 替换这里的发送逻辑
    event.getChannel().sendMessageEmbeds(eb.build()).queue();
}

如果使用的是旧版本JDA(4.x及以下),可以用以下写法兼容:

event.getChannel().sendMessage("").setEmbeds(eb.build()).queue();

额外检查

确保已正确导入相关类:

import net.dv8tion.jda.api.EmbedBuilder;
import net.dv8tion.jda.api.entities.MessageChannel;
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 21:27:13