【问题标题】:I'm trying to make a gif randomly spawn in an embed, but it spawns the image but not the embed我正在尝试在嵌入中随机生成一个 gif,但它会生成图像而不是嵌入
【发布时间】:2020-05-24 05:40:11
【问题描述】:

正如标题所说,我正在尝试让机器人随机发送 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);


            }
        }
    }
}

【问题讨论】:

    标签: node.js discord discord.js


    【解决方案1】:

    因为 files 是一个数组,所以 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)
    

    希望我能帮上忙!

    【讨论】:

    • 我还是有问题,我是保留.attachFiles 还是删除它并添加你输入的内容let files = ["./stoys/" + imageNumber + ".gif"] const embed = new Discord.MessageEmbed() .setImage(files[0]) .setColor(0x7732a8) .setFooter("?BOT IS IN EARLY-ALPHA TESTING? (Neon#0999)") message.channel.send(embed); 它说“无效的身体形式”和“不是一个很好的形式URL”,然后我只用了files,它说Could not interpret "['./stoys/27.gif']" as string.
    • 对不起,如果我不清楚。好吧,您唯一的方法实际上是使用 .attachFiles 而不是 .setImage 因为它需要一个 url,但 .attachFiles 需要一个文件路径。您可以尝试使用我所说的,但使用 .attachFiles 而不是 .setImage。这应该可以解决您的问题。
    • 现在它把图像和嵌入,但嵌入只是页脚和描述,图像在嵌入顶部的嵌入之外。
    猜你喜欢
    • 2019-05-02
    • 2022-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-10
    • 2013-07-29
    • 2021-08-23
    相关资源
    最近更新 更多