随机Meme命令(discord.js v12)

时间:2020-06-21 14:07:42

标签: discord.js

我正在尝试为Discord Bot发出“随机模因”命令。我是接触API的新手,但是我已经尽力了。

问题是,当我键入命令时,什么也没发生。没有错误,但该漫游器不会发送任何不一致的信息。

这是我的代码:

if (command === "meme")
async (client, message, args) => {
const subReddits = ["dankmeme", "meme", "me_irl"];
const random = subReddits[Math.floor(Math.random() * subReddits.length)];

const img = await randomPuppy(random);
const embed = new Discord.MessageEmbed()
.setColor(16776960)
.setFooter("test")
.setImage(img)
.setTitle(`Random Meme requested by <@${message.author.tag}>`)
.setURL(`https://reddit.com/r/${random}`)
message.channel.send(embed);
}

2 个答案:

答案 0 :(得分:0)

client.on('message', message => {

    if (!message.content.startsWith(prefix) || message.author.bot) return;  
    const args = message.content.slice(prefix.length).trim().split(/ +/);
    const command = args.shift().toLowerCase();
    
    if (command === "meme") {
        async (client, message, args) => 
        const subReddits = ["dankmeme", "meme", "me_irl"];
        const random = subReddits[Math.floor(Math.random() * subReddits.length)];

        const img = await randomPuppy(random);
        const embed = new Discord.MessageEmbed()
        .setColor(16776960)
        .setFooter("test")
        .setImage(img)
        .setTitle(`Random Meme requested by <@${message.author.tag}>`)
        .setURL(`https://reddit.com/r/${random}`)
        message.channel.send(embed);
    }
}); 

这应该工作,但不确定,还没有测试。 (您可以自己放置命令处理程序)

答案 1 :(得分:0)

这里是显示有关模因信息的人

if(command === "meme") {
const subReddits = ["dankmeme", "meme", "me_irl"];
const random = subReddits[Math.floor(Math.random() * subReddits.length)];
try {
const { body } = await snekfetch
                .get('https://www.reddit.com/r/${random}.json?sort=top&t=week')
                .query({ limit: 800 });
const allowed = message.channel.nsfw ? body.data.children : body.data.children.filter(post => !post.data.over_18);
if (!allowed.length) return message.channel.send('It seems we are out of memes');
const randomnumber = Math.floor(Math.random() * allowed.length)
const embed = new Discord.RichEmbed()
            .setColor(0x00A2E8)
            .setTitle(allowed[randomnumber].data.title)
            .setDescription("Posted by: " + allowed[randomnumber].data.author)
            .setImage(allowed[randomnumber].data.url)
            .addField("Other info:", "Up votes: " + allowed[randomnumber].data.ups + " / Comments: " + allowed[randomnumber].data.num_comments)
            .setFooter("r/" + random)
message.channel.send(embed)
        } catch (err) {
return console.log(err);
        }
    }

让我知道它是否无效,但我应该