DiscordAPIError:无效的表单正文
Posted
技术标签:
【中文标题】DiscordAPIError:无效的表单正文【英文标题】:DiscordAPIError: Invalid Form Body 【发布时间】:2021-04-09 20:50:46 【问题描述】:我正在尝试使用此端点上可用的 API 创建一个发送随机图像的命令,(在这种情况下为 waifu):https://waifu.pics/api/sfw/waifu
我正在执行的命令是test1
,这是我的代码:
if (command === 'test1')
const a = new Discord.MessageEmbed()
got('https://waifu.pics/api/sfw/waifu').then(response =>
let content = response.body;
let Image = content.url;
a.setTitle('test')
a.setImage(`$Image`)
message.channel.send(a)
)
我面临的问题是以下错误:
embed.image.url: Scheme "undefined" is not supported. Scheme must be one of ('http', 'https').
【问题讨论】:
【参考方案1】:使用此格式发送嵌入消息
message.channel.send(
embed: a
)
或
message.channel.send(
embed: a,
content: "my content without embed"
)
【讨论】:
请添加更多详细信息以扩展您的答案,例如工作代码或文档引用。 这没有回答所提出的问题,OP 要求解决方案从他的 API 端点发送带有图像的嵌入,而不是如何发送简单的嵌入。【参考方案2】:您正在尝试使用变量 Image
来 setImage()
,这是来自 API 的原始响应,但是 API 端点似乎正在发送 JSON 响应,因此您需要先对其进行解析并将其转换为数组,并从 url
键中获取 URL。
if (command === 'test1')
got("https://waifu.pics/api/sfw/waifu").then(response =>
let imageData = JSON.parse(response); // Parse the JSON response from the API.
// Prepare the embed.
let embed = new MessageEmbed()
.setTitle("Embed Title")
.setDescription("Embed message here!")
.setImage(imageData.url); // Set the image.
message.channel.send( embeds: [embed] );
);
【讨论】:
以上是关于DiscordAPIError:无效的表单正文的主要内容,如果未能解决你的问题,请参考以下文章
未处理的拒绝:DiscordAPIError:尝试禁止命令时表单正文无效
DiscordAPIError:无效的表单正文 embed.image.url:不支持方案“[对象响应]”。方案必须是 ('http', 'https') 之一
Discord.js DiscordAPIError:无效的表单正文 0.permissions:长度必须为 10 或更少
为啥我的 Discord.js 欢迎消息中出现“无效的表单正文”错误?
discord.py embed.image.url 中的无效表单正文:不支持方案“<discord.file.file object at 0x000001e151c02360>”