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

使用discord.js-selfbot-v13发送Embed触发空消息错误求助

解决discord.js-selfbot-v13发送Embed提示“无法发送空消息”问题

问题核心原因

你构造的Embed存在无效字段,导致Discord API判定消息为空。常见触发点有两个:

  • user.avatarURL可能返回undefined(比如用户无自定义头像、缓存未加载),破坏Embed结构
  • user.presence.status如果用户在线状态未被缓存,会返回undefined,导致描述内容异常

修改后的可运行代码

if (!user) { return message.edit(":x: 未知用户!") }
// 确保从discord.js-selfbot-v13正确导入MessageEmbed
const { MessageEmbed } = require('discord.js-selfbot-v13');

const embed = new MessageEmbed()
.setTitle("**用户信息**")
.setColor("#00D4FF")
// 改用displayAvatarURL,保证始终返回有效头像链接
.setThumbnail(user.displayAvatarURL({ dynamic: true }))
// 用可选链式调用+默认值,避免status为undefined的情况
.setDescription(`用户名 - **${user.username}**\n标签 - **${user.discriminator}**\nID - **${user.id}**\n状态 - **${user.presence?.status || '未知'}**\n`)
.setFooter({ text: "来源: Discord" });

// 调试用:打印Embed的JSON结构,确认是否有无效字段
console.log(embed.toJSON());
message.channel.send({ embeds: [embed] });

额外注意事项

  • 必须确保MessageEmbed是从discord.js-selfbot-v13库导入的,不要混用普通discord.js的类,两者存在兼容性差异
  • 如果修改后仍报错,可以查看embed.toJSON()的输出结果,检查是否有字段为null或undefined,逐一排查修复

内容的提问来源于stack exchange,提问作者philipp.bkrr

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 00:15:02