Kot_Steamovich
@Kot_Steamovich
Кратко о себе да ._.

Cannot read property 'run' of undefined?

Я не знаю что делать, я тупенький... С кодом немного помог друг.
Ошибка:
Загружено 3 файлов команд
1.asay.js загружен.
2.rank.js загружен.
3.reloadbot.js загружен.
НедоМурка124 запустился!
(node:12188) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'run' of undefined
at Client. (C:\Папки\Bot\bot.js:68:20)
at Client.emit (events.js:315:20)
at MessageCreateAction.handle (C:\Папки\Bot\node_modules\discord.js\src\client\actions\MessageCreate.js:31:14)
at Object.module.exports [as MESSAGE_CREATE] (C:\Папки\Bot\node_modules\discord.js\src\client\websocket\handlers\MESSAGE_CREATE.js:4:32)
at WebSocketManager.handlePacket (C:\Папки\Bot\node_modules\discord.js\src\client\websocket\WebSocketManager.js:384:31)
at WebSocketShard.onPacket (C:\Папки\Bot\node_modules\discord.js\src\client\websocket\WebSocketShard.js:444:22)
at WebSocketShard.onMessage (C:\Папки\Bot\node_modules\discord.js\src\client\websocket\WebSocketShard.js:301:10)
at WebSocket.onMessage (C:\Папки\Bot\node_modules\ws\lib\event-target.js:125:16)
at WebSocket.emit (events.js:315:20)
at Receiver.receiverOnMessage (C:\Папки\Bot\node_modules\ws\lib\websocket.js:797:20)
(Use `node --trace-warnings ...` to show where the warning was created)
(node:12188) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_reje...). (rejection id: 1)
(node:12188) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

Код:
const { err } = require('console');
const Discord = require('discord.js');
const profile = require('./uinfo.json');
const fs = require('fs');
const bot = new Discord.Client();
bot.commands = new Discord.Collection();
bot.shortcommands = new Discord.Collection();
bot.rucommands = new Discord.Collection();
let config = require('./config.json');
let token = config.token;
let prefix = config.prefix;



fs.readdir('./comms/', (err, files) => {
	if(err) console.log(err);
	let jsfiles = files.filter(f => f.split('.').pop() === 'js');
	console.log(`Загружено ${jsfiles.length} файлов команд`);
	jsfiles.forEach((f,i) => {
		let props = require(`./comms/${f}`);
		console.log(`${i+1}.${f} загружен.`);
		bot.commands.set(props.help.name,props);
		bot.shortcommands.set(props.help.shortname,props);
		bot.rucommands.set(props.help.runame,props);
	});
});

bot.on('message', async mess => {
  if(mess.author.bot) return;
  if(mess.channel.type == "dm") return;
  let uid = mess.author.id;
  if(!profile[uid]){
    profile[uid] ={
      монетки:10,
      варны:0,
      опыт:0,
      уровень:0,
      баны:0,

    };
  };
  let u = profile[uid];
  u.монетки++;
  u.опыт++;
  if(u.опыт>= (u.уровень * 5)){
    u.опыт = 0;
    u.уровень+=1;
    
    
    
  }
  fs.writeFile('./profile.json',JSON.stringify(profile),(err)=>{
    if(err) console.log(err);
  });
  bot.send = function (msg){
      mess.channel.send(msg);
  };
  let messArray = mess.content.split(" ");
  let command = messArray[0].toLowerCase();
  let args = messArray.slice(1);
  if(!mess.content.startsWith(prefix)) return;
  let cmd = bot.commands.get(command.slice(prefix.length));
  let shortcmd = bot.shortcommands.get(command.slice(prefix.length));
  let rucmd = bot.rucommands.get(command.slice(prefix.length));
  if(cmd) cmd.run(bot, mess, args);
  if(shortcmd) cmd.run(bot, mess, args);
  if(rucmd) rucmd.run(bot, mess, args);
  
});

bot.on("ready", function() {
  console.log(bot.user.username + " запустился!");
  bot.user.setActivity(`discord.gg/Тут могло быть ваше приглашение`, {type: "PLAYING"});
});



bot.login(token);
  • Вопрос задан
  • 284 просмотра
Решения вопроса 1
KIRIK12
@KIRIK12
Переменные можно объявлять только на английском. Любые другие языки недопустимы
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
18 апр. 2024, в 21:56
2000 руб./за проект
18 апр. 2024, в 21:00
150 руб./за проект