【发布时间】:2020-10-22 13:53:39
【问题描述】:
我是javascript新手,也有discord js,运行我的discord bot时出现错误,在这里,请修复代码并告诉我我做错了什么,谢谢。
我一直在制作一个全功能的不和谐机器人,这是我发现的第一个我无法修复的错误,如果你们能提供帮助,我将不胜感激。
let args = message.content.slice(prefix.length).trim().split(' ');
ReferenceError: 消息未定义
// Constant Variables
const Discord = require("discord.js");
const prefix = "!";
const client = new Discord.Client();
// Startup 1 Below Listener Events
client.once("ready", () => {
console.log("Countless Is Up And Running, Wooohooo");
});
// Moderation 2 Below
client.on("Message", (Message) => {
if (Message.member.hasPermission(["KICK_MEMBERS"])) {
//console.log(message.content);
if (Message.content.startsWith(`${prefix}kick`)) {
//message.channel.send("Kick")
let member = Message.mentions.members.first();
member.kick().then((member) => {
Message.channel.send(
"https://gph.is/2iBA79h :wave: " +
member.displayName +
" has been kicked!"
);
});
}
}
});
client.on("Message", (Message) => {
if (Message.member.hasPermission(["BAN_MEMBERS"])) {
//console.log(message.content);
if (Message.content.startsWith(`${prefix}ban`)) {
//message.channel.send("Ban")
let member = Message.mentions.members.first();
member.ban().then((member) => {
Message.channel.send(
"https://gph.is/29507Ei :wave: " +
member.displayName +
" has been banned!"
);
});
}
}
});
// Variables
let args = message.content.slice(prefix.length).trim().split(" ");
let cmd = args.shift().toLowerCase();
// Return Statements
if (Message.author.bot) return; // Ignores All Bots
if (!Message.content.startWith(prefix)) return; // Returns Messages if doesnt start with the prefix
// Command Handler
try {
// Bonus: Auto-Reload ()
delete require.cache[require.resolve(`./commands/${cmd}.js`)];
let commandFile = require(`./commands/${cmd}.js`);
commandFile.run(client, Message, args);
} catch (e) {
// Will catch any errors within code or commands
console.log(e.stack);
}
client.login(token);
【问题讨论】:
-
错误信息很清楚;在您的代码中,
message没有在任何地方定义。你期望它是什么? -
我看了这个视频,我说过我是 javascript 和 discordjs 的新手。我将如何定义它youtube.com/watch?v=Ygc04PcjoLk&t=223s
-
这是错字吗? JavaScript 区分大小写,并且您的代码在任何地方都使用
Message,但出现错误的行除外(在某些 cmets 中......)是否应该将出现错误的行改为let args = Message.content.slice(prefix.length).trim().split(' ');? -
还是不行
-
好吧,
Message仍然需要定义,因此您可能希望将代码移动到已定义Message的范围内。 IE。client.on('Message', Message => {... let args = Message.content.slice(prefix.length).trim().split(' '); }
标签: javascript discord discord.js