Вывод увеличивается при каждом использовании команды

#javascript #discord #discord.js

Вопрос:

Я попытался сделать сценарий для участников в discord.js. Моя ошибка в том, что каждый раз, когда я отправляю команду !kick, сообщение отображается еще раз. Например, если я пошлю !удар в первый раз, он отправит такой ответ: «Пожалуйста, укажите пользователя!». Если я отправлю его во второй раз, он отправит это сообщение дважды, и так далее. Мой код:

 const Discord = require("discord.js")

exports.run = async(client, msg, args) => {
    msg.delete();
    if(!msg.member.hasPermission('KICK_MEMBERS')) return msg.reply('you don't have permission to use this command!')


    const user = msg.mentions.users.first() || msg.guild.members.cache.get(args[0]);
    if(!user) return msg.reply(`please specify a user you wish to be punished.`).then(msg => msg.delete({timeout: 5000}));

    let member;
    try {
        member = await msg.guild.members.fetch(user)
    } catch(err) {
        member = null;
    }
    if(member){
        if(member.hasPermission('MANAGE_MESSAGES')) return msg.reply('that user is too cool to be banned.').then(msg => msg.delete({timeout: 5000}));
    }

    let reason = args.slice(1).join(' ');
    if(!reason) return msg.reply('please specify a reason.').then(msg => msg.delete({timeout: 5000}));

    let channel = msg.guild.channels.cache.find(c => name.name === '📁┊discord_logs');

    let log = new Discord.MessageEmbed()
    .setColor('#0088FF')
    .setDescription(`${user} has been kicked by ${msg.author} for ${reason}`)
    channel.send(log);

    let userLog = new Discord.MessageEmbed()
    .setColor('#0088FF')
    .setDescription(`You have been kicked from Scratta for: ${reason}`)
    try {
        await user.send(userLog);
    } catch(err) {
        console.warn(err);
    }
    member.kick(reason)

    let confir = new Discord.MessageEmbed()
    .setColor('#0088FF')
    .setDescription(`${user} has been kicked from Scratta.`)
    msg.channel.send(confir);
    
    msg.delete();
} 

Ответ №1:

Ты пропускаешь эту строчку вверху в своем module.exports :

 if (msg.author.bot) return;
 

Это позволит убедиться, что бот не отреагирует на свое собственное сообщение

Комментарии:

1. Я такая глупая. Это все исправило, большое вам спасибо! Я не знаю, как мне удалось забыть что-то такое простое.

2. Рад, что смог помочь 🙂 Было бы неплохо, если бы вы отметили ответ как принятый

3. я новичок в stackoverflow, как мне его отметить?