在discord.js中,我如何获得对消息添加了响应的所有用户? (然后使用其ID和标签等进行操作) 以下是我认为的样子,但是它不起作用,并且找不到任何可以在互联网上为我提供搜索帮助的东西。
var users = msg.reactions.resolve(messageID).users.cache;
var userIDs = [];
var userTags = [];
users.forEach(user => {
userIDs.push(user.id);
userTags.push(user.tag);
}
谢谢。
答案 0 :(得分:2)
希望这足以帮助您:D
编辑:现在,它将针对具有特定字符串的消息(也称为旧消息)
var targetedMessage = "Whatever the string is of that specific old message";
var userIDs = [];
var userTags = [];
client.on("message", message => {
//Alternate targeting technique
/*if(message.content == "reactMe") {
targetedMessage = message.id;
}*/
if(message.content == "whoReacted" && targetedMessage != null) {
var theReactors = "Everyone who reacted was:";
for(var i = 0; i < userIDs.length; i++) {
theReactors = theReactors + ` <@${userIDs[i]}>`;
}
message.channel.send(theReactors);
}
}
client.on("messageReactionAdd", (reaction, user) => {
if(reaction.message.content == targetedMessage) {
var reacted = false;
for(var i = 0; i < userIDs.length; i++) {
if(user.id == userIDs[i]) {
reacted = true;
}
}
if(!reacted) {
userIDs.push(user.id);
userTags.push(user.tag);
}
}
});