@ssurskikh

Как исправить ошибку с bot.login(token);?

Бот не запускается из-за какой-то ошибки.

Код:

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;

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(`4{I+1}/.${F} Загружен!`);
    bot.command.set(props.help.name,props);
})

bot.on('ready', () => {
 console.log(`бот готов ${bot.user.username}`)
 bot.generateInvate([ADMINISTRATOR]).then(link =>{
   console.log(link);
});

bot.on('message', msg => {
  if (msg.content === 'ping') {
    msg.reply('Pong!');
  if(Message.author.bot) return;
  if(Message.Channel.type == "dm") return;
  let user = message.author.username;
  let usetid = message.author.id;
  let messageArray = message.content.split(" ")
  let command = messageArray[0].toLoserCase();
  let args = messageArray.slice(1);
  if(message.content.startWith(prefix)) return;
  let cmd = bot.commands.get(command.slice(prefix.length));
  if(cmd) cmd.run(bot,message,args);
};
 
bot.login(token);


Компилятор ругается:

ожидалось "}".ts(1005) [41,18]

В чем дело?
  • Вопрос задан
  • 177 просмотров
Пригласить эксперта
Ответы на вопрос 1
fgvnovoross
@fgvnovoross
ПХПХ!!! Логично, что он не запускается. Там же тебе В ЛИЦО пишет консоль.
Ожидалось, что вы напишите } но вы не написали

логично!!!
bot.on('message', msg => {
  if (msg.content === 'ping') {

Здесь ты открыл обычную ( и 2 фигурных { скобки.
let cmd = bot.commands.get(command.slice(prefix.length));
  if(cmd) cmd.run(bot,message,args);
};
 
bot.login(token);

В конце ты закрыл одну фигурную скобку из if.
А фигурную скобку и обычную ты не закрыл!!!
bot.on('ready', () => {
//твой код
});

Тут ты сделал правильно! Тут ты их открыл, а потом закрыл!

И не сделай подобную ошибку:
let cmd = bot.commands.get(command.slice(prefix.length));
  if(cmd) cmd.run(bot,message,args);
};
 
bot.login(token);
});


Ведь если ты так сделаешь, то код будет ждать сообщения пользователя, чтобы запустить бота (причём он должен будет запускаться при каждом новом сообщении, что тоже будет ошибкой или хотябы нагрузкой системы), а сам по себе он так и не запустится (а значит и читать сообщения тоже не сможет...). Правильно будет закончить код так:

let cmd = bot.commands.get(command.slice(prefix.length));
  if(cmd) cmd.run(bot,message,args);
};
 });

bot.login(token);
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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