TypeError: Cannot read property 'send' of undefined
Я пытаюсь сделать отправку сообщения в определённый канал с помощью бота на discord.js. Вот код:
const channel = msg.guild.channels.cache.find((ch) => {
ch.name === 'appeals'
})
channel.send(`Жалоба:\nАвтор: ${msg.author.username}\nЖалоба на: ${args[0]}\nСтатья: ${args[1]}`)
Но мне выдаёт ошибку:
TypeError: Cannot read property 'send' of undefined
Не могу понять что не так
Ответы (1 шт):
Автор решения: vsemozhebuty
→ Ссылка
Насколько я могу понять, msg.guild.channels.cache содержит массив. Метод массива find() возвращает undefined, если не находит ни одного элемента, удовлетворяющего условию, это и происходит в вашем случае.
Ошибка в формате стрелочной функции, нужно так:
(ch) => ch.name === 'appeals'
Или так:
(ch) => {
return ch.name === 'appeals';
}
Если тело функции облекается в фигурные скобки, нужно явно употреблять оператор return, иначе функция будет вовзрващать undefined в любом случае, и ничего не будет найдено.