我正在尝试计算在频道中提到用户的次数。我的代码是:
message.channel.messages.fetch()
.then(messages => console.log(`${messages.filter(m => m.mentions.users[1] === 'msg.author').size} messages`))
.catch(console.error);
当我在某个频道中运行此内容时,该频道的历史记录中有27条被提及。这返回了0 messages
。
我该怎么做?
答案 0 :(得分:1)
过滤器出现错误
m.mentions.users
是由用户ID映射的集合,当您执行[1]时,它将检查ID为1的用户,然后将其检查为字符串msg.author
message.channel.messages.fetch()
.then(messages => {
//.has() checks if the collection includes the key
const size = messages.filter(m => m.mentions.users.has(message.author.id)).size;
console.log(size, "messages");
});
.catch(console.error);