运行discord bot(JS)时的错误代码

时间:2017-10-26 13:41:12

标签: javascript node.js discord discord.js

对不起英文不好! 首先,我运行我的discord bot,并使用来自" Threebow" 然后我在教程的最后一部分 我得到了命令!userinfo - show embed但是当我登陆时!userinfo 我在colsole中得到了这些错误

(node:13056) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): ReferenceError: messsage is not defined
(node:13056) [DEP0018] DeprecationWarning: Unhandled promise rejections are 
    deprecated. In the future, promise rejections that are not handled will 
    terminate the Node.js process with a non-zero exit code.

这是我的代码不和谐机器人代码

const botSettings = require("./botsettings.json");
const Discord = require("discord.js");
const prefix = botSettings.prefix;

const bot = new Discord.Client({disableEveryone: true})

bot.on("ready", async () => {
    console.log(`Bot is ready! ${bot.user.username}`);

    try {
        let link = await bot.generateInvite(["ADMINISTRATOR"]);
        console.log(link);
    } catch(e) {
        console.log(e.stack);
    }
});

bot.on("message", async message =>{
    if(message.author.bot) return;
    if(message.channel.type === "dm") return;

    let messageArray = message.content.split(" ");
    let command = messageArray[0];
    let args = messageArray.slice(1);

    if(!command.startsWith(prefix)) return;

    if(command === `${prefix}userinfo`) {
        let embed = new Discord.RichEmbed()
            .setAuthor(message.author.username)
            .setDescription("This is the user info!")
            .setColor("#9B59B6")
            .addField("Full username", `${message.author.name}#${message.author.discriminator}`)
            .addField("ID", message.author.id)
            .addField("Create At", message.author.createAt)

        messsage.channel.sendEmbed(embed);

        return;
    }
});

bot.login(botSettings.token);

5 个答案:

答案 0 :(得分:1)

好的,我明白了!来自Faisal Umair!替换

messsage.channel.sendEmbed(embed)

messsage.channel.sendEmbed(embed).catch(err => console.log(err));

答案 1 :(得分:1)

好吧。也许尝试阅读错误并真正理解它们。

您写了messsage.channel.send(embed);
但是您需要像message.channel.send(embed);

这样写

答案 2 :(得分:0)

我认为你只需要。只是提示而不是答案。

messsage.channel.send(embed);

答案 3 :(得分:0)

找到你的问题。您定义了message但后来messsage.channel.send(embed)。将消息更改为消息。 3 s'。

答案 4 :(得分:0)

您的代码有错误,因为在您的函数message.channel.send中,您有使用3 s写的消息。但是,最好将embed发送到大括号中,因为RichEmbeds在发送之前已更改为Embed JSON 更新后的行: message.channel.send({EMBED})