message.mentions возвращает неопределенное значение, если сообщение не определено

#discord #discord.js

Вопрос:

Я ценю, что вы изучили мою проблему и попытались ее решить!

Проблема Проблема в том, что всякий раз, когда я пытаюсь использовать message.mentions внутри своего кода, он всегда возвращается как неопределенный.

Что я пробовал? Я попытался войти в discord.js сервер и просил людей там помочь мне, но они мне совсем не помогли.

Было бы здорово, если бы кто-нибудь мог помочь!

Код, в котором возникает проблема, является:

 interaction.channel.awaitMessages({ messagefilter, max: 1, time: 20000, errors: ['time'] }).then(async message => {
    console.log(message.mentions) // logs undefined
    if (message.mentions) { // if statement fails
        // this part doesn't run
    } else {
        // this part does run
    }
}).
 

Ответ №1:

Метод TextChannel#awaitMessages() возвращает набор Collection сообщений, а не один объект сообщения. просто определив его как message не Collection являющийся отдельным Message объектом, вы должны получить first() свойство коллекции и проверить упоминания в нем! Вот так:

 interaction.channel.awaitMessages({ messagefilter, max: 1, time: 20000, errors: ['time'] }).then(async message => { 
console.log(message.first().mentions);
...
})
 

Вы пытаетесь войти Collection#mentions в свою консоль прямо сейчас, но ее там нет.

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

1. Никаких проблем! Рад, что это помогло!