Nic*_*les 6 javascript discord.js
我正在设置一个 waifu gacha 游戏discord.js,想知道是否可以发送包含多个图像的嵌入内容?与此相同的事情
(https://pm1.narvii.com/7022/e92995beeea9d48d4344c7fcdd97bedbf3fd4d13r1-1920-1080v2_hq.jpg)
如果需要的话,这是我的嵌入代码:
number = Math.floor(Math.random() * animechr.characters.length);
oof = animechr.characters[number]["name"]
oof2 = animechr.characters[number]["image_url"]
const waifu = new Discord.RichEmbed()
.setAuthor(anime.title)
.setThumbnail(oof2)
.setTitle(oof)
.setTimestamp()
.setFooter('Pulled time:')
message.channel.sendEmbed(waifu)
Run Code Online (Sandbox Code Playgroud)
.setImage虽然我不知道如何实现这一目标,但除了和 之外,我真的没有任何基础.setThumbnail。
我发现这篇 Reddit 帖子显示,只要 URL 属性完全相同,客户端就会聚合属于同一消息的嵌入内容。
为了显示标题和其他道具,需要在第一次嵌入时设置它们。
但请注意,设置 URL 属性也会使嵌入标题链接到所设置的任何 URL。
另请注意,移动应用程序会丢弃除第一个嵌入之外的所有内容。
const embeds = [
new EmbedBuilder().setURL("https://example.org/").setImage("https://picsum.photos/500/500")
.setTitle("title").setDescription("desc").setFooter({ text: "footer" }),
new EmbedBuilder().setURL("https://example.org/").setImage("https://picsum.photos/500/400"),
new EmbedBuilder().setURL("https://example.org/").setImage("https://picsum.photos/400/500"),
new EmbedBuilder().setURL("https://example.org/").setImage("https://picsum.photos/400/400"),
];
await interaction.reply({ embeds });
Run Code Online (Sandbox Code Playgroud)

其实是有办法的。Webhook 消息每条消息最多可以包含 10 个嵌入。因此,您可以使用 Webhook 发送 10 个嵌入,每个嵌入包含一张图像。
该图像应该具有此处记录的宽度和高度字段,但我没有看到任何使用嵌入对象或 RichEmbed 来执行此操作的方法,因此您必须调整要使用的图像的大小,以便它们具有相同的大小。
在您的情况下,懒惰的想法:将图像合并在一个画布中并渲染它,将更好,更接近您共享的图片
const client = new Discord.Client();
const hook = new Discord.WebhookClient(webHook.id, webHook.token);
client.on('ready', () => {
console.log('Starting!');
client.user.setActivity(config.activity);
});
client.on('message', async (msg) => {
if (msg.author.bot) { return; }
sendImage();
});
let webHook = {
token: "token-webhook",
id: "id-webhook"
};
let img = [
'https://i.imgur.com/ezC66kZ.png',
'https://i.imgur.com/wSTFkRM.png'
];
function sendImage() {
let embeds = [];
embeds.push(new Discord.RichEmbed()
.setTitle('First Messages')
.setImage(img[0])
.setTimestamp()
.setFooter('Pulled time:'));
embeds.push(new Discord.RichEmbed()
.setTitle('First Messages')
.setImage(img[1])
.setTimestamp()
.setFooter('Pulled time:'));
hook.send({embeds: embeds});
}
client.login(config.token)
.then(() => console.log("We're in!"))
.catch((err) => console.log(err));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
30081 次 |
| 最近记录: |