【问题标题】:How to get picture sent in message? Discord.js如何在邮件中获取图片?不和谐.js
【发布时间】:2020-11-17 07:30:56
【问题描述】:

我在 discord.js 中有发送 message.contentmessage.attachments 的脚本,例如。来自 bot 消息中的用户的图片。

脚本:

client.on("message", message => {
    message.channel.send({
         "embed": {
            "color": 14680086,
            "description": message.content + message.attachments,
            "author": {
                "icon_url": "url to some picture",
                "url": "url to some picture",
                "name": "some text"
            }
        }
    })
})

机器人发送message.content,但当我添加图片时,我收到[object Map]

【问题讨论】:

    标签: javascript discord discord.js


    【解决方案1】:

    message.attachments 是一个不和谐的集合,所以你不能将它添加到嵌入描述中。 一种方法是检查邮件是否有附件,然后将其添加到embed.image

    client.on('message', async message => {
        let messageAttachment = message.attachments.size > 0 ? message.attachments.array()[0].url : null
        let embed = new Discord.MessageEmbed();
            embed.setAuthor(message.author.tag, message.author.avatarURL())
            if (messageAttachment) embed.setImage(messageAttachment)
            embed.setColor(14680086)
            await message.channel.send(embed)
            message.delete()
    })
    client.login(token)
    

    【讨论】:

    • 我还有一个问题。在这种情况下,我如何删除用户消息。因为当我在末尾添加 message.delete 时,机器人会发送空消息。像这样:1. 用户发送消息 2. Bot 在嵌入中发送用户消息 3. Bot 删除用户消息
    • 如果你删除带有图片的用户消息,图片也会被删除,所以你需要将图片保存到本地存储,然后在嵌入中使用。
    • 在这种情况下如何将图像保存在本地存储中?
    • 您可以使用download-file 作为变量。或者使用 http 和管道 example
    猜你喜欢
    • 2021-08-24
    • 2022-01-26
    • 2020-10-23
    • 2021-07-18
    • 2022-01-26
    • 2015-08-08
    • 2021-10-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多