Вы можете использовать message.mentions.members
(или message.mentions.users
), чтобы увидеть упоминания в сообщении. Вы можете сохранить количество упоминаний для каждого пользователя: каждый раз, когда они упоминаются, вы увеличиваете количество.
var mention_count = {};
client.on('message', message => {
for (let id of message.mentions.users.keyArray()) {
if (!mention_count[id]) mention_count[id] = 1;
else mention_count[id]++;
}
});
Обратите внимание, что mention_count
будет сбрасываться при каждой перезагрузке бота, поэтому не забудьте сохранить его в файле или в базе данных, чтобы не потерять его.
Редактировать: ниже вы можете увидеть, как ваш код применяется к упоминаниям: каждый раз, когда есть упоминание для подсчета, оно сохраняется в значении level
оценки.
client.on('message', message => {
if (!message.guild) return;
for (let id of message.mentions.users.keyArray()) if (id != message.author.id) {
let score = client.getScore.get(id, message.guild.id);
if (!score) score = {
id: `${message.guild.id}-${id}`,
user: id,
guild: message.guild.id,
points: 0,
level: 0
};
score.level++;
client.setScore.run(score);
}
});