discord.js Ошибка типа: не удается прочитать свойство ‘forEach’ неопределенного

#discord.js

#discord.js

Вопрос:

У меня есть некоторый код для получения вложений сообщений в определенных каналах и регистрации URL-адресов. Сначала это работало нормально, но теперь я получаю ошибку типа «не удается прочитать свойство ‘forEach’ неопределенного.

 messageAttachments.push(message.attachments);
messageAttachments.forEach((element) => element.forEach(attachment_array =>console.log(attachment_array.url)));
  

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

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

1. Похоже attachments , что свойство message объекта, который вы помещаете в массив, не определено…

2. @derpirscher Если я делаю что-то подобное if (typeof message.attachments !== undefined) , я все равно получаю ту же ошибку.

3. Вы используете forEach два раза. Один раз с messageAttachments.forEach помощью и один раз с element.forEach помощью . messageAttachments не может быть неопределенным, потому push что произойдет сбой, и ваш код не дойдет до следующей строки. Итак, основываясь на коде, который вы нам показываете, по крайней мере один element из messageAttachments них должен быть неопределенным. И единственный element in messageAttachments есть message.attachments . Таким образом, либо это не определено, либо ошибка происходит где-то в другом месте, либо вы добавляете неопределенные элементы в другом месте…

4. И ваша проверка типа неверна. typeof всегда возвращает строку. Поэтому вы должны проверить if (typeof message.attachments !== 'undefined')