отправить сообщение на определенный канал при готовности / запуске

#javascript #node.js #discord #discord.js

#javascript #node.js #Discord #discord.js

Вопрос:

я пытаюсь найти способ отправить сообщение на канал при запуске бота discord. Я пробовал использовать

 client.on('message', (message) => {
client.on('ready', () => {
  channel = client.channels.cache.get('744630121213722696');
  channel.send('bot is up and running!');

})});
  

но безуспешно, я не получаю сообщений об ошибках, просто нет ответа от бота

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

1. Удалите on('ready') обработчик из on('message') обработчика. Учтите: невозможно проверить запуск бота изнутри любого другого обработчика, поскольку запуск бота является первым обработчиком. Не вкладывайте обработчики событий.

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

Ответ №1:

У вас не может быть 2 обработчика в одном. Уберите client.on('message', (message) => {}

Таким образом, новый код будет:

 client.on('ready', () => {
  channel = client.channels.cache.get('744630121213722696');
  channel.send('bot is up and running!');

});
  

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

1. но затем я получаю сообщение об ошибке (node:7592) UnhandledPromiseRejectionWarning: ReferenceError: channel is not defined