Команда Discord не работает, если пользователь изменил свой ник - PullRequest
1 голос
/ 31 марта 2019

Мой оператор if не будет работать, если пользователь изменил свой ник в гильдии.

Кто-нибудь знает, как я могу обойти это?

if (message.content.includes(message.mentions.users.first())) {
    let user = message.mentions.users.first();
    if (results.afk === 1) {
        message.channel.send(`${user} is AFK - ${results.reason} (${moment(results.afktime).fromNow()})`);
    }
}

results.afk из ключевого объекта mySQL. Вышесказанное работает, если пользователь не изменил свой ник в разногласии.

Я создал функцию temp / test:

console.log(message.mentions.users)

        if (message.content.includes(message.mentions.users.first())){
            console.log("Has mention")
        }
  • Если я упомяну пользователя с разногласиями о том, что не изменил его имени пользователя, я получу данные коллекции из console.log(message.mentions.users) и "Has mention".

  • Если я упомяну пользователя с разногласиями о том, что изменил его имя пользователя, я получу данные сбора только от console.log(message.mentions.users).

Проблема заключается в (message.content.includes(message.mentions.users.first())). Это не обнаружение упоминания в сообщении, если пользователь меняет свой ник. Мне нужен способ передать функцию if, если есть упоминание пользователя (не @everyone, @here #channelname).

1 Ответ

1 голос
/ 31 марта 2019

if (message.isMentioned(message.mentions.users.first())) решил это за меня.

...