discord.js bot 上的 Reddit 命令问题

时间:2020-12-30 23:53:24

标签: discord.js

我试图在我的 discord.js bot 中放置一个被诅咒的图像命令,但它不断出现此错误

got('https://www.reddit.com/r/madlads/random/.json').then(response => {
^

ReferenceError: got is not defined

这是代码

if(command === "cursed") {

        got('https://www.reddit.com/r/cursedimages/random/.json').then(response => {
                let content = JSON.parse(response.body);
            var image = content[0].data.children[0].data.url;
            let permalink = content[0].data.children[0].data.permalink;
            let memeUrl = `https://reddit.com${permalink}`;
            let memeImage = content[0].data.children[0].data.url;
            let memeTitle = content[0].data.children[0].data.title;
            let memeUpvotes = content[0].data.children[0].data.ups;
            let memeNumComments = content[0].data.children[0].data.num_comments;
            const cursedembed = new Discord.MessageEmbed()
                .setColor('RANDOM')
                .setTitle(content[0].data.children[0].data.title)
                .setURL(`${memeUrl}`)
                .setImage(image)
                .setFooter(`? ${memeUpvotes} ? ${memeNumComments}`)
                .setTimestamp()

            message.channel.send(cursedembed);
        });
}

1 个答案:

答案 0 :(得分:1)

由于您没有将 node-fetch 作为您的软件包之一,您将无法使用 fetch 函数。要使用此软件包,您必须执行三个步骤。

  1. 安装node-fetch。这可以通过在您的项目目录中运行 npm i node-fetch 来完成。
  2. node-fetch 导入您的代码。这可以通过在代码文件顶部放置 const fetch = require('node-fetch'); 来完成,类似于您的 discord.js 导入。
  3. got 替换为 fetch

之后,您应该可以使用 fetch 来下载网络内容并在不和谐中发布 reddit 内容。