discord.js发送MessageEmbed嵌入消息报错Invalid Form Body如何解决?
问题根因
你代码中调用的msg.guild.icon仅返回Discord服务器图标的哈希值字符串,并非带http/https协议的完整资源链接,因此触发了Discord API的协议校验报错。
修复方法
使用discord.js内置的Guild.iconURL()方法直接获取合法的完整图标链接,同时兼容无图标的服务器场景,避免空值报错。
只需要修改代码中setThumbnail对应的行即可:
// 原错误代码 // .setThumbnail(`${msg.guild.icon}`) // 修复后代码,可选配置默认图,也可以直接用msg.guild.iconURL(),为空时自动跳过缩略图设置 .setThumbnail(msg.guild.iconURL({ size: 1024 }) ?? '')
如果需要给没有设置图标的服务器配置默认缩略图,把??后面的空字符串替换为你自己的默认图片链接即可。
内容的提问来源于stack exchange,提问作者umurew
相关产品推荐
相关产品推荐

