@BruhName

TypeError: Cannot read property 'name' of undefined Как решить эту ошибку?

Привет всем! Я делал бота, минут 5 назад он работал, а теперь, внезапно нет, терминал указывает на эту строчку кода
bot.commands.set(props.help.name,props);
а вот, кстати, и сам код
const Discord = require('discord.js');
const bot = new Discord.Client();
bot.commands = new Discord.Collection();
const fs = require("fs");
let config =  require("./botconfig.json");
let token = config.token;
let prefix = config.prefix;
let profile = require('./profile.json');

fs.readdir('./cmds/',(err,files)=>{
  if(err) console.log(err);
  let jsfiles = files.filter(f => f.split(".").pop() === "js")
  if(jsfiles.length <=0) console.log("нет комманд для загрузки");
  console.log(`загружено ${jsfiles.length} комманд`)
  jsfiles.forEach((f,i)=>{
    let props = require(`./cmds/${f}`)
    console.log(`${i+1}.${f} Загружено!!!`)
    bot.commands.set(props.help.name,props);
    
  })
});

bot.on('ready', () => {
  console.log(`получил пинок под жепу ${bot.user.username}`)
  bot.generateInvite(["ADMINISTRATOR"]).then(link => {console.log(link)} );
});

bot.on('message', async message => {
  if(message.author.bot) return;
  if(message.channel.type == "dm") return;
  let uid = message.author.id;
  if(!profile[uid]){
    profile[uid] ={
      coins:10,
      warns:0,
      xp:0,
      lvl:0,
      ban:0,
      c:0,

    };
  };
  let u = profile[uid];
  u.coins++;
  u.xp++;
  if(u.xp>= (u.lvl * 5)){
    u.xp = 0;
    u.lvl+=1;
    
    
    
  }

  fs.writeFile('./profile.json',JSON.stringify(profile),(err)=>{
    if(err) console.log(err);
  }); //4:00 #3
  bot.send = function (msg){
      message.channel.send(msg);
  };
  let messageArray = message.content.split(" ");
  let command = messageArray[0].toLowerCase();
  let args = messageArray.slice(1);
  if(!message.content.startsWith(prefix)) return;
  let cmd = bot.commands.get(command.slice(prefix.length));
  if(cmd) cmd.run(bot,message,args);
  
});

bot.login(token);

не ругайте за говнокод, я старался. За ранее спасибо! ещё раз напоминаю ошибку TypeError: Cannot read property 'name' of undefined
  • Вопрос задан
  • 1742 просмотра
Пригласить эксперта
Ответы на вопрос 2
s0ftik3
@s0ftik3
JavaScript / NodeJS
Проблема, скорее всего, в том, что у вас либо нет команд в папке
./cmds
или какая-то из команд пустая. К примеру в module.exports.help нет значения name или просто ваша команда ничего не делает. Ищите ошибку в этой папке.

udp: смог искусственно получить вашу ошибку. Проверьте все файлы в /cmds, у вас точно какой-то из них пустой.
Ответ написан
Комментировать
Alexandre888
@Alexandre888 Куратор тега Боты
Javascript-разработчик
«я старался» ?
с каких пор списывание кода у малоизвестного «учителя» является старанием?
код написан на скорую руку, подобная надпись в терминале появляется в случае, если в коде есть ошибки.
я категорически не рекомендую вам использовать подобную схему кода, существуют же варианты намного компактнее и практичнее:
const Discord = require('discord.js');
const client = new Discord.Client();

client.on('ready', () => {
  console.log(`Logged in as ${client.user.tag}!`);
});

client.on('message', msg => {
  if (msg.content === 'ping') {
    msg.reply('Pong!');
  }
});

client.login('token');

* код с сайта https://discord.js.org/#/
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы