#javascript #discord #discord.js
#javascript #Discord #discord.js
Вопрос:
const { Client, RichEmbed } = require("discord.js");
const chalk = require("chalk");
const { token, prefix } = require("../config/config.js");
const client = new Client();
client.on("ready", () => {
console.log(chalk.red("Witamy w konsoli bota Island"));
console.log(chalk.green(`Zalogowano jako ${client.user.tag}!`));
});
client.on("message", (msg) => {
const { author, guild } = msg;
if (author.bot || !guild) {
return;
}
if (msg.content === "-info") {
msg.channel.send("Witam, jestem botem stworzonym przez Rewera");
}
});
client.on("message", (msg) => {
const { author, guild } = msg;
if (author.bot || !guild) {
return;
}
if (msg.content === "-komendy") {
msg.channel.send("Już wkrótce, zostaną dodane. Są w trakcie tworzenia");
}
if (msg.content === "-wersja") {
msg.channel.send("Wersja: ALPHA 0.04");
}
if (msg === "-tworca") {
const botAuthor = "Rewer";
const botVersion = "v1.1";
msg.channel.send(
"Autorem bota jest: **${botAuthor}**! Wersja *${botVersion}*. "
);
}
if (message.content.startsWith("$kick")) {
if (!message.member.roles.find("name", "Admin"))
return;
// Easy way to get member object though mentions.
var member = message.mentions.members.first();
// Kick
member.kick().then((member) => {
// Successmessage
message.channel.send(":wave: " member.displayName " has been successfully kicked :point_right: ");
}).catch(() => {
// Failmessage
message.channel.send("Access Denied");
});
}
});
// Error handler
client.on("debug", () => {});
client.on("warn", () => {});
client.on("error", () => {});
client.login(token);
У меня проблема с этим кодом после добавления команды kick player. Остальная часть бота не работает, и эта команда тоже
Я не знаю, что с этим делать, когда я удаляю код kick. Бот волшебным образом начинает работать.
У кого-нибудь есть идеи о том, как это исправить, я новичок, поэтому, пожалуйста, поймите
Комментарии:
1. почему вы используете
message
, если на остальной части бота вы используетеmsg
?
Ответ №1:
Когда вы обрабатываете событие message, вы передаете «msg» в качестве аргумента
client.on("message", (msg) => {
Поэтому вы должны использовать «msg» повсюду
Однако в вашей команде kick вы начинаете использовать «сообщение»
if (message.content.startsWith("$kick")) {
и if (!message.member.roles.find("name", "Admin"))
Вы должны изменить «сообщение» на «сообщение«, чтобы оно соответствовало имени, которое вы дали переменной при запуске client.on(«сообщение», (сообщение) => {