(Discord. js) Бот не отвечает - PullRequest
       9

(Discord. js) Бот не отвечает

0 голосов
/ 26 апреля 2020

Я создал бота, и у меня есть эта функция очистки, она работала до того, как я добавил if, который проверял роль пользователя. Это не дает мне ошибок и не отвечает вообще, независимо от того, есть ли у меня роли или нет.

Код:

client.on("message", message => {
if (message.content.startsWith(prefix("purge"))) { 
    if (!message.guild.member.roles.cache.get('703727486009213048') || !message.guild.member.roles.cache.get('702847833241550859') || !message.guild.member.roles.cache.get('703727579328151562')) {
      console.log('ssadd')
      return message.reply('you can\'t use that command!')
    };
    const args = message.content.slice(prefix.length).split(" ");
    const amount = args[1];
    if (!amount) {
      return message.reply("please specify the number of messages to purge!");
    }
    if (isNaN(amount * 1)) {
      return message.reply(
        "you'll need to specify a number, not whatever \"" +
          `${amount}` +
          '" is.'
      );
    }

    message.delete();
    message.channel.bulkDelete(amount * 1 + 1);
  };
});
client.login(process.env.token);```

1 Ответ

0 голосов
/ 27 апреля 2020

Если он никогда не отвечал ни на что, что либо означает, что бот не вошел в систему, либо он никогда не проходил первое условие if. Чтобы проверить, вошел ли бот в систему, просто выполните client.on("ready", () => console.log("ready"))

Но я думаю, что более вероятно, что он просто не выполнил первое условие, является ли префикс функцией? prefix("purge") должно быть prefix + "purge".

В вашем коде есть и другие fl aws. Вот только переделать, если вам нужно, чтобы я что-то объяснил, просто lmk.

client.on("message", msg => {
    if (msg.author.bot || !msg.content.startsWith(prefix)) return;

    const args = msg.content.slice(1).split(" ");
    //later on you should move to modules but for now this is fine ig
    if (args[0] === "purge") {

        //other flags here https://discord.js.org/#/docs/main/stable/class/Permissions?scrollTo=s-FLAGS
        if (!msg.member.hasPermission("ADMINISTRATOR")) {
            return msg.reply("you can't use that command!")
        }

        const amount = args[1] && parseInt(args[1]);

        if (!amount) {
            return msg.reply("please specify an integer of messages to purge!");
        }

        msg.delete();
        msg.channel.bulkDelete(amount);
    };
});

client.login(process.env.token);
...