我正在尝试在嵌入中随机生成gif,但它会生成图像,而不嵌入

时间:2020-05-23 21:10:24

标签: node.js discord discord.js

正如标题中所说的那样,我正在尝试使机器人自动发送gif并发送gif,但不在嵌入中。

我收到此错误:The resource must be a string, Buffer or a valid file stream.

有什么帮助吗?我尝试自己编写此代码,因为任何地方都没有教程,而且我陷入了困境。

if(!message.channel.nsfw){ (message.channel.send) 
            message.channel.send("Please use an NSFW channel for this command."); return;


        } else {    

            if (message.content.startsWith (PREFIX + "stoys")) {
                number = 42;
                imageNumber = Math.floor (Math.random() * (number - 1 + 1)) + 1;
                message.channel.send ( {files: ["./stoys/" + imageNumber + ".gif"]} )

                let files = ["./stoys/" + imageNumber + ".gif"]

                const embed = new Discord.MessageEmbed()
                .attachFiles({attachment: files}).setImage(files)
                .setColor(0x7732a8)
                .setFooter("?BOT IS IN EARLY-ALPHA TESTING? (Neon#0999)")
                message.channel.send(embed);


            }
        }
    }
}

1 个答案:

答案 0 :(得分:0)

由于文件是数组,因此setImage不采用数组,而是采用字符串。您将不得不选择数组的一个元素,或者只是通过删除[]周围的数组将其变成字符串。

所以,您的最终结果可能是这些2:

let files = ["./stoys/" + imageNumber + ".gif"]

const embed = new Discord.MessageEmbed()
.setImage(files[0])
let files = "./stoys/" + imageNumber + ".gif"

const embed = new Discord.MessageEmbed()
.setImage(files)

希望我能帮上忙!