【问题标题】:Discord command doesn't work if user has changed their nickname如果用户更改了他们的昵称,Discord 命令将不起作用
【发布时间】:2019-08-21 12:30:55
【问题描述】:

如果用户更改了他们在公会中的昵称,我的 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 键对象。如果用户没有在不和谐中更改他的昵称,则上述方法有效。

我创建了一个临时/测试函数:

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()))。如果用户更改了他的昵称,这不会检测到消息中的提及。如果有用户提及(不是@everyone,@here #channelname),我需要一种方法来传递if 函数。

【问题讨论】:

    标签: javascript discord.js mention


    【解决方案1】:

    if (message.isMentioned(message.mentions.users.first())) 帮我解决了。

    【讨论】:

    • 好像message.content指的是user.nickname,而message.mentions也知道user.id
    猜你喜欢
    • 2017-08-04
    • 2021-06-28
    • 2021-03-11
    • 2021-03-29
    • 2018-03-26
    • 2021-03-13
    • 1970-01-01
    • 2021-11-01
    • 1970-01-01
    相关资源
    最近更新 更多