对不起英文不好! 首先,我运行我的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);
答案 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})