我如何显示本地图像与discord.js消息嵌入?



我正在制作半gacha bot命令,您可以在其中拉字符等。我想在用户拉出后显示字符图像这就是我卡住的地方,它不显示任何东西我在这里找到了答案,但它没有帮助,因为我会得到相同的结果,我没有得到任何错误,所以我不知道到底是什么错了。我试着先打印出MessageAttachment的结果:

const attachment = new Discord.MessageAttachment('./chars/1.Jakku.png', '1.Jakku.png');
console.log(attachment);

我得到:undefined,有人知道我做错了什么吗?是的,我导入了discord.js库。代码的相关部分:

collector.on('collect', reaction => {
//new embd
const newEmbd = new Discord.MessageEmbed();
// gacha logic
if (reaction.emoji.name === '✅') {  
const values = Object.values(chars);
const randomChar = values[parseInt(Math.floor(Math.random()*values.length))];
const attachment = new Discord.MessageAttachment('./chars/1.Jakku.png', '1.Jakku.png');
const charData = randomChar.split('.');
newEmbd
.setTitle(`You pulled: ${charData[1]}!`)
.setColor('YELLOW')
.attachFiles(attachment)
.setImage(`attachment://1.Jakku.png`);
embdReact.edit(newEmbd);
pulled = true;
} else if (reaction.emoji.name === '❌') {
newEmbd
.setTitle('Time for gacha!')
.setColor('YELLOW')
.addFields(
{ name: 'Result:', value: 'You decided against pulling' }
);
embdReact.edit(newEmbd);
};
});

您需要按照本指南使用正确的语法来附加文件

const exampleEmbed = new Discord.MessageEmbed()
.setTitle('Some title')
.attachFiles(['./chars/1.Jakku.png'])
message.channel.send(exampleEmbed);

最新更新