首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Discord.js Meme生成器代码不工作

Discord.js Meme生成器代码不工作
EN

Stack Overflow用户
提问于 2020-12-25 22:01:59
回答 2查看 364关注 0票数 0

有人能说出为什么我的Meme生成器代码不起作用吗?因此,我在discord.js中制作了一个模因生成器,当有人说"gg! meme“时,它会生成随机模因。

代码语言:javascript
代码运行次数:0
运行
复制
client.on('message', message => {
    module.exports = {
        name: "meme",
        category: "fun",
        description: "Sends an epic meme",
        run: async (client, message, args) => {
            // In this array, 
            // you can put the subreddits you want to grab memes from
            const subReddits = ["dankmeme", "meme", "me_irl"];
            // Grab a random property from the array
            const random = subReddits[Math.floor(Math.random() * subReddits.length)];
    if (message.content === 'gg!meme') {
                // Get a random image from the subreddit page
                const img = await randomPuppy(random);
                const embed = new RichEmbed()
                    .setColor("RANDOM")
                    .setImage(img)
                    .setTitle(`From /r/${random}`)
                    .setURL(`https://reddit.com/r/${random}`);

                message.channel.send(embed);
            }
        }
    };
});
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-12-25 23:16:50

概述:是的,我知道原因。看起来,您已经完全复制并粘贴了代码源代码,并将其放入代码中,而不知道它在做什么。

问题:您已经在非命令处理程序脚本中输入了命令处理程序结构化命令。

问题:#2这段代码过时了,似乎是Discord.js v11

假设您的脚本是在没有命令处理程序的情况下运行的,那么应该可以这样做:

代码语言:javascript
代码运行次数:0
运行
复制
client.on('message', message => {
    if (message.content === 'gg!meme') {
         // In this array, 
            // you can put the subreddits you want to grab memes from
            const subReddits = ["dankmeme", "meme", "me_irl"];
            // Grab a random property from the array
            const random = subReddits[Math.floor(Math.random() * subReddits.length)];
                // Get a random image from the subreddit page
                const img = await randomPuppy(random);
                const embed = new Discord.MessageEmbed()
                    .setColor("RANDOM")
                    .setImage(img)
                    .setTitle(`From /r/${random}`)
                    .setURL(`https://reddit.com/r/${random}`);

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

建议:

与其每次发出命令时都输入gg!,不如将其转换为可以始终引用的变量。

代码语言:javascript
代码运行次数:0
运行
复制
Example:
const prefix = 'gg!'

Usage:
if (message.content.startsWith(prefix + 'ping')) {
 return message.channel.send('pong!')
}

假设您也安装了npm包randompuppy,这应该可以工作。

票数 1
EN

Stack Overflow用户

发布于 2020-12-25 23:18:01

您使用的是过时的discord.js版本。

通过在终端中键入discord.js来安装最新版本的npm i discord.js@latest。在最新版本中,RichEmbedMessageEmbed取代。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65452135

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档