运行不和谐机器人(JS)时的错误代码

Posted

技术标签:

【中文标题】运行不和谐机器人(JS)时的错误代码【英文标题】:Error code when run discord bot (JS) 【发布时间】:2018-04-07 22:23:34 【问题描述】:

如果英语不好,请见谅! 首先我运行我的不和谐机器人,然后使用“三弓”中的教程 然后我在教程的最后一部分 我得到了命令 !userinfo - 显示嵌入但是当我启动 !userinfo 我在 colsole 中遇到了这些错误

(节点:13056)UnhandledPromiseRejectionWarning:未处理的承诺拒绝(拒绝ID:1):ReferenceError:消息未定义 (节点:13056)[DEP0018] DeprecationWarning:未处理的承诺拒绝是 已弃用。将来,未处理的 Promise 拒绝将 使用非零退出代码终止 Node.js 进程。

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

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 === `$prefixuserinfo`) 
        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);

【问题讨论】:

messsage.channel.sendEmbed(embed) 是一个在拒绝时抛出错误的承诺,你应该抓住拒绝。试试,message.channel.sendEmbed(embed).catch(err => console.log(err)); 【参考方案1】:

好的,我知道了!来自费萨尔·乌梅尔!替换

messsage.channel.sendEmbed(embed)

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

【讨论】:

【参考方案2】:

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

你写的messsage.channel.send(embed); 但是你需要写成message.channel.send(embed);

【讨论】:

【参考方案3】:

找到您的问题。您定义了message,但随后定义了messsage.channel.send(embed)。将消息更改为消息。 3 秒。

【讨论】:

【参考方案4】:

您的代码出错了,因为在您的函数 message.channel.send 中,您的消息是用 3 s 编写的。但是,最好将嵌入发送到大括号中,因为 RichEmbeds 在发送之前已更改为嵌入 JSON 更新行: message.channel.send(embed)

【讨论】:

以上是关于运行不和谐机器人(JS)时的错误代码的主要内容,如果未能解决你的问题,请参考以下文章

Node.Js 版本 14 抛出 e;不和谐机器人的错误(discord.js)

有人可以帮我解决我的不和谐机器人代码错误吗? [复制]

故障上托管的不和谐机器人错误:找不到模块'discord.js'

如何使用机器人删除不和谐的消息,但只能使用特殊角色 node.js

如何在heroku中托管一个不和谐的机器人(错误)

我的不和谐机器人出现错误,请告诉我如何修复