如何使用 Discord.js 发送图像

时间:2021-04-16 18:02:34

标签: discord.js

我正在使用puppeteer,如果有错误,我想发送网页的屏幕截图。屏幕截图正确,但我无法发送屏幕截图。我一直在通道中获取 [object Object] 而不是图像。

 let message = new Discord.MessageAttachment(await page.screenshot({
        quality:10,
        type:'jpeg'
    }),"ERRORIMAGE.png")
    mainChannel.send({files:[message]});

我也尝试过 .send(message)、.send('error image',message) 和 .send({attachments:[message]})。 我也尝试将图像保存为文件,然后给出路径,但也只是给出了 [object Object]。

2 个答案:

答案 0 :(得分:0)

您最好的选择是使用 setImage 方法通过 Discord.messageEmbed 发送它。

const embed = new Discord.MessageEmbed().setImage('insert the url of the image here') 
mainChannel.send(embed)

如果是您经常使用的图片,您可能需要将其托管在某个地方以缩短响应时间。 here is a link for a guide on Discord.MessageEmbed 它还包括与 Discord.MessageAttachments 相关的内容,您可以查看

答案 1 :(得分:0)

您正在寻找稍微不同的语法

//I will not include the screenshot code, since you said that was working fine, and I will therefore assume you do not need help with that

let message = new Discord.MessageAttachment(await page.screenshot({quality:10,type:'jpeg'}),"ERRORIMAGE.png");

message.channel.send('Message that goes above image - can be removed for no message', {
   files: [message.path] //can attach multiple files, simply add more commma delimited filepaths
});

这应该可行 - 确保添加图像的文件路径,而不仅仅是其名称

编辑[object, Object] 错误发生在您尝试使用对象而不指定您正在使用的部分时。这意味着您很可能需要执行 message.path 或类似的操作,因为 message 是一个对象。