«готовое» событие никогда не вызывается - PullRequest
0 голосов
/ 04 сентября 2018

Я программирую своего первого бота Discord, и я запрограммировал его на вывод чего-либо на консоль при каждом запуске или, другими словами, при вызове client.on("ready"). Однако, я не могу заставить это фактически стрелять, и я не знаю почему. У меня установлены все зависимости Node, бот находится на сервере и может отправлять сообщения, и первые несколько строк программы работают нормально.
В чем проблема?

Вот источник:

console.log("Launching bot...\n");

const Discord = require("discord.js");

const client = new Discord.Client();

const config = require("./config.json");

client.on("ready", () => {
  console.log(`Bot has started, with 
  ${client.users.size} users, in 
  ${client.channels.size} channels of 
  ${client.guilds.size} guilds.`);
  client.user.setActivity(`Serving 
  ${client.guilds.size} servers`);
});

client.on("message", async message => {
  if(message.authot.bot) return;

  if(message.content.indexOf(config.prefix) !== 0) 
    return;

  const args = 
  message.content
  .slice(config.prefix.length).trim().split(/ + 
  /g);
  const command = args.shift().toLowerCase();

  if(command === "ping") {
    let m = await message.channel.send("Ping?");
    m.edit(`Pong! Latency is ${m.createdTimestamp - 
    message.createdTimestamp}ms. API Latency is 
    ${Math.round(client.ping)}ms`);
  }
});

1 Ответ

0 голосов
/ 04 сентября 2018

Вы забыли использовать метод .login для своего клиента, поэтому ваше событие ready не запускается!

Вот обновленный код, вам просто нужно вставить свой сверхсекретный ключ из https://discordapp.com/developers/applications/

console.log("Launching bot...\n");

const Discord = require("discord.js");

const client = new Discord.Client();

const config = require("./config.json");

client.on("ready", () => {
  console.log(`Bot has started, with 
  ${client.users.size} users, in 
  ${client.channels.size} channels of 
  ${client.guilds.size} guilds.`);
  client.user.setActivity(`Serving 
  ${client.guilds.size} servers`);
});

client.on("message", async message => {
  if(message.authot.bot) return;

  if(message.content.indexOf(config.prefix) !== 0) 
    return;

  const args = 
  message.content
  .slice(config.prefix.length).trim().split(/ + 
  /g);
  const command = args.shift().toLowerCase();

  if(command === "ping") {
    let m = await message.channel.send("Ping?");
    m.edit(`Pong! Latency is ${m.createdTimestamp - 
    message.createdTimestamp}ms. API Latency is 
    ${Math.round(client.ping)}ms`);
  }
});

client.login("YOUR TOP SECRET KEY")
...