【发布时间】: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