Ошибка ссылки: префикс не определен

#javascript #node.js #discord.js

#javascript #node.js #discord.js

Вопрос:

Я программирую бота discord и выполняю команду запрета: запуск бота работает нормально, но как только я запускаю ‘/ ban’, я получаю сообщение об ошибке в консоли. Какое-либо исправление? Код:

 module.exports = {
    name: "ban",
    description: "Bans a member from the server",
    execute(message) {
        if(!message.member.hasPermission("BAN_MEMBERS")) return message.channel.send('You can't use that!');
        if(!message.guild.me.hasPermission("BAN_MEMBERS")) return message.channel.send('I don't have the right permissions.');
        
        const member = message.mentions.members.first() || message.guild.members.cache.get(args[0]);

        if (!args[0]) {
            return message.channel.send('Please specify a user!');
        }
        if (!member) {
            return message.channel.send('Cant find that user');
        }
        if (!member.bannable) {
            return message.channel.send('Cant ban that user');
        }
        let reason = args.slice(1).join(" ");
        if (!reason) {
            reason = 'Unspecified';
        }
        member.ban({ days: 7, reason: '${reason}' }).catch(err => { 
            message.channel.send('Something went wrong');
              console.log(err);
          });
        
        const banembed = new Discord.MessageEmbed()
          .setTitle('Member Banned')
          .setThumbnail(member.user.displayAvatarURL())
          .addField('User Banned', member)
          .addField('Kicked by', message.author)
          .addField('Reason', reason)
          .setFooter('Time kicked', client.user.displayAvatarURL())
          .setTimestamp();
  
          message.channel.send(banembed);
        }
    };
 

И вот ошибка:

 ReferenceError: args is not defined
at Object.execute (C:UsersawesoDocumentsProjectsVatox-BOTcommandsban2.js:8:92)
at Client.<anonymous> (C:UsersawesoDocumentsProjectsVatox-BOTindex.js:67:11)
at Client.emit (node:events:327:20)
at MessageCreateAction.handle (C:UsersawesoDocumentsProjectsVatox-BOTnode_modulesdiscord.jssrcclientactionsMessageCreate.js:31:14)
at Object.module.exports [as MESSAGE_CREATE] (C:UsersawesoDocumentsProjectsVatox-BOTnode_modulesdiscord.jssrcclientwebsockethandlersMESSAGE_CREATE.js:4:32)
at WebSocketManager.handlePacket (C:UsersawesoDocumentsProjectsVatox-BOTnode_modulesdiscord.jssrcclientwebsocketWebSocketManager.js:384:31)
at WebSocketShard.onPacket (C:UsersawesoDocumentsProjectsVatox-BOTnode_modulesdiscord.jssrcclientwebsocketWebSocketShard.js:444:22)
at WebSocketShard.onMessage (C:UsersawesoDocumentsProjectsVatox-BOTnode_modulesdiscord.jssrcclientwebsocketWebSocketShard.js:301:10)
at WebSocket.onMessage (C:UsersawesoDocumentsProjectsVatox-BOTnode_moduleswslibevent-target.js:132:16)
at WebSocket.emit (node:events:327:20)
 

Я знаю, что очевидным решением является определение «аргументов», но это выполняется из Index.js который уже определил аргументы.

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

1. Переменные не переносятся из файла в файл. Вам нужно передать args массив execute функции в вашем обработчике команд.

Ответ №1:

попробуйте добавить аргументы здесь и внутри вашего родительского элемента в вашем index.js : выполнить(сообщение, аргументы)

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

1. Добро пожаловать в SOF, пожалуйста, прокомментируйте однострочные ответы, спасибо