我在 repl.i 上尝试编码时遇到了“消息”问题。 我去的错误:
ReferenceError: message is not defined
at /home/runner/lifeafterbot/index.js:12:1
at Script.runInContext (vm.js:130:18)
at Object.<anonymous> (/run_dir/interp.js:209:20)
at Module._compile (internal/modules/cjs/loader.js:1137:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1157:10)
at Module.load (internal/modules/cjs/loader.js:985:32)
at Function.Module._load (internal/modules/cjs/loader.js:878:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12)
at internal/main/run_main_module.js:17:47Hint: hit control+c anytime to enter REPL.
这是我的代码:
let Discord = require ("discord.js");
let client = new Discord.Client();
client.on("ready", () => {
client.user.setPresence({ activity: {name: "Minecraft" }})
});
if (message.content.startsWith('!ban')) {
if(message.member.hasPermission("BAN_MEMBERS")) {
const user = message.mentions.users.first();
if (user) {
const member = message.guild.member(user);
if (member) {
member
.ban({
reason: 'They were bad!',
}).then(() => {
// We let the message author know we were able to ban the person
message.reply("Successfully banned ${user.tag}");
}).catch(err => {
message.reply("I was unable to ban the member");
console.error(err);
});
} else {
message.reply("That user isn't in this guild!");
}
} else {
message.reply("You didn't mention the user to ban!");
}
}
}
client.login
你能帮我看看有什么问题吗? 我会很感激的!
答案 0 :(得分:0)
您必须使用
检查正在发送的消息client.on("message", async message => {
})
您更正后的代码是:
let Discord = require("discord.js");
let client = new Discord.Client();
client.on("ready", () => {
client.user.setPresence({ activity: { name: "Minecraft" } });
});
client.on("message", async (message) => {
if (message.content.startsWith("!ban")) {
if (message.member.hasPermission("BAN_MEMBERS")) {
const user = message.mentions.users.first();
if (user) {
const member = message.guild.member(user);
if (member) {
member
.ban({
reason: "They were bad!",
})
.then(() => {
// We let the message author know we were able to ban the person
message.reply("Successfully banned ${user.tag}");
})
.catch((err) => {
message.reply("I was unable to ban the member");
console.error(err);
});
} else {
message.reply("That user isn't in this guild!");
}
} else {
message.reply("You didn't mention the user to ban!");
}
}
}
});
client.login;