获取已对消息添加响应的所有用户(discord.js)

时间:2020-06-24 06:42:19

标签: javascript discord discord.js

在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);
}

谢谢。

1 个答案:

答案 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);
          }
     }
});