Почему Discord.js Бот котловой плиты не работает?

#node.js #discord #discord.js #bots

#node.js #Discord #discord.js #боты

Вопрос:

Я начинаю кодировать бота Discord, и я использую базовый код котельной плиты, который указан на Discord.js Домашняя страница, которая является этой —

 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');
 

Но, к сожалению, это не работает. И да, я заменил токен на токен бота. Когда я его запускаю, он не отвечает в течение нескольких секунд, а затем в отладчике появляется эта ошибка. (Я использую nodemon)

 (node:14931) UnhandledPromiseRejectionWarning: AbortError: The user aborted a request.
    at RequestHandler.execute (/home/sulphurouscerebrum/Projects/Discord Bot/Sulph Bot/node_modules/discord.js/src/rest/RequestHandler.js:93:15)
    at process._tickCallback (internal/process/next_tick.js:68:7)
(node:14931) 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(). (rejection id: 3)
(node:14931) [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.
Waiting for the debugger to disconnect...
 

Я попытался удалить и переустановить Discord.js но безрезультатно. Может кто-нибудь сказать мне, в чем проблема?

Ответ №1:

Запрос занял больше времени, чем указано restRequestTimeout (15 секунд по умолчанию), и был прерван, чтобы не блокировать обработчик запроса. Это может быть внутренняя ошибка сервера на стороне Discord или просто медленное соединение. В последнем случае restRequestTimeout опция in ClientOptions может быть увеличена, чтобы предотвратить будущее AbortErrors .

 const client = new Discord.Client({ restRequestTimeout: 30000 }); // 30s
 

Ответ №2:

Это ошибка, возникающая в discord.js библиотека, когда веб-запрос зависает на длительное время, что может произойти из-за сбоя или плохого подключения к Интернету. Его можно игнорировать, поскольку он не убивает программу, но вы можете попытаться поместить свой код в оператор try / catch, чтобы избежать этого.