我正在使用不和谐的webhook在我的频道上发送一些自动的计划邮件。我想在嵌入中使用的每个字段中添加一些图像。我当前的设置如下:
hook.login(configs.TEST_WEBHOOK_ID, configs.TEST_WEBHOOK_TOKEN);
Embed.setTitle('MY TITLE HERE');
const fields = [];
for(const item of data) {
fields.push({
name: item.title,
value: item.detail,
image: {
url: `${item.imgsrc}`
}
});
}
Embed.fields = fields;
hook.setPayload(hookcord.DiscordJS(Embed));
您可以看到我在字段对象上添加了image属性(这不起作用)。最好的方法是什么?这些图像仅是链接,可以从Web服务器获得。谢谢
编辑
我正在使用hookcord
软件包来设置挂钩和discord.js
软件包。
答案 0 :(得分:1)
Discord在 1 嵌入消息中仅提供 2张图片。
它的方法.setImage('url')
和.setThumbnail('url')
,因此无法将图像添加到每个字段。
嵌入字段只有3个字段:名称-字符串,值-字符串,内联-boolevan。
RichEmbed / Embed Visualizer
答案 1 :(得分:0)
好吧,正如@Cipher所指出的,确实没有办法在字段内添加图像。相反,我求助于创建多个嵌入而不是一个。每个嵌入都可以使用两个图片网址;一个用于缩略图,另一个用于横幅。我将数据结构化为多个嵌入,并通过消息发送它们。请注意,每封邮件的限制为10个嵌入,您可能需要相应地进行调整。
以下是添加为嵌入的代码段:
for(let send = 0; send < data.length; send += 10) {
let tosend;
// size the embeds to max 10
if((data.length - send) < EMBEDS_PER_MSG) {
tosend = data.slice(send, data.length);
}
else {
tosend = data.slice(send, EMBEDS_PER_MSG);
}
const embeds = [];
for(const item of tosend) {
embeds.push({
title: item.title,
url: item.link,
fields: [
{
name: 'Description',
value: item.detail
}
],
thumbnail: {
url: item.imgsrc
},
image: {
url: item.imgsrc
},
footer: {
text: 'Footer Text'
}
});
}
hook.setPayload({ embeds: embeds });
}