У меня проблема с этим кодом после добавления команды kick player. Остальная часть бота не работает, и эта команда тоже

#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(«сообщение», (сообщение) => {