Discord.js ничего не делает

#javascript #discord.js

#javascript #discord.js

Вопрос:

Мой код работал нормально, но я кое-что изменил, и теперь это не так…

Когда я набираю !ping любой канал, он не работает.

  • бот находится на сервере и является администратором.
  • Я изменил токен там
  • вот код: кто-нибудь что-нибудь видит??
 
const Discord = require(`discord.js`),
client = new Discord.Client(),
prefix = `!`,

NO    = `801418578069815297`
YES   = `801418578300764180`

client.login(`bruh`)

client.once(`ready`, () => {
  console.log(`online.`)
  client.user.setPresence({
      status: `online`,
      game: {
          name: `You`,
          type: `WATCHING`
      }
  })
})
client.on(`message`, message =>{                                                
    if(!message.content.startsWith(prefix) || message.author.client) return        
    const args = message.content.slice(prefix.length).trim().split(` `)         
    const arg = args.toString().split(sep)                                      
    const command = args.shift().toLowerCase()
      if(command === `ping`){                                                     
          message.channel.send(`pong!`)                                           
      }
      }
    )
 

Редактировать:

Я вставил некоторые выходные данные журнала в:

 const Discord = require("discord.js");
let client = new Discord.Client();
let prefix = "!";
console.log("discord, client, prefix defined.")

client.login("bruh");
console.log("logged in.")
client.once("ready", () => {
  console.log("online.");
  client.user.setPresence({
      status: "online",
      game: {
          name: "You",
          type: "WATCHING"
      }
  });
});

client.on("message", message =>{                                                
  console.log("message recieved")  
  if(!message.content.startsWith(prefix) || message.author.client) return;
  console.log("it's a command.")
    const args = message.content.slice(prefix.length).trim().split(" ");
    console.log("splitted.")        
    const arg = args.toString().split(sep);    
    console.log("args defined.")                               
    const command = args.shift().toLowerCase();
    console.log("command defined.")

    if(command === "ping") {      
      console.log("command identified:" command)                                               
        message.channel.send("pong!");
        console.log("message sent.")                                           
    }
});
 

Вывод:

 logged in.
online.
message recieved
 

Я внимательно посмотрел на это, но все равно ничего не нашел…

Ответ №1:

Проблема в том, что вы используете запятые там, где вы должны использовать точки с запятой, поэтому JS будет странно интерпретировать это, что приведет к неопределенному поведению. Также желательно, чтобы ваши переменные имели префикс let , var const иначе это также может привести к неопределенному поведению. Рекомендуется использовать let over var .

Попробуйте приведенный ниже код, чтобы решить вашу проблему:

 const Discord = require(`discord.js`);
let client = new Discord.Client();
let prefix = '!';

let NO = "801418578069815297";
let YES = "801418578300764180";

client.login(`bruh`);

client.once(`ready`, () => {
  console.log(`online.`);
  client.user.setPresence({
      status: `online`,
      game: {
          name: `You`,
          type: `WATCHING`
      }
  });
});

client.on(`message`, message =>{                                                
    if(!message.content.startsWith(prefix) || message.author.client) return;
     
    const args = message.content.slice(prefix.length).trim().split(' ');
    const command = args.shift().toLowerCase();

    if(command === `ping`) {                                                     
        message.channel.send(`pong!`);                                           
    }
});
 

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

1. Рекомендуется использовать const или let более var

2. У меня это не сработало… Я ввел токен, сохранил файл и проверил пакет.json: «main»: «pingtest.js » все еще не работает. Но спасибо, что так внимательно посмотрели на это и потратили свое время на попытки помочь мне!

3. Я также изменил кавычки, это не помогло

4. Я обновил свой код, пожалуйста, ознакомьтесь с обновлением.

Ответ №2:

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

Попробуйте заменить все ваши » с » или »

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

1. использование разных методов инициализации строки не должно иметь значения, если не возникают ошибки формата строки, такие как неправильная уценка

2. Кто-то сказал мне, что я должен использовать эти «но ig» должен работать, поскольку он показан на многих страницах учебника. Я попробую это. -Хорошо, я попробовал, но это ничего не изменило.

Ответ №3:

Я нашел способ заставить это работать. свяжитесь со мной по discord Moderpo # 0172 если вы хотите знать ответ, мне нужно будет выяснить, что я сделал, потому что я забыл, лол