【问题标题】:Discord JS, how to fetch a guild member if I have his discord userDiscord JS,如果我有他的不和谐用户,如何获取公会成员
【发布时间】:2021-10-16 01:21:58
【问题描述】:

我必须将我相当大的公会中的每个人都重命名为他们的正常名称

我有一条消息,他们中的大多数人都在该消息上做出了反应,我通过所有的反应得到了用户 - 每个人的作者, 我可以通过了解他们的不和谐用户以某种方式获得每个人的成员吗? 我经常重启我的机器人,它没有缓存任何人

代码:

var getReactedUsers = async (msg, channelID, messageID, emoji) => {
  let cacheChannel = msg.guild.channels.cache.get(channelID);
  if (cacheChannel) {
    cacheChannel.messages.fetch(messageID).then((reactionMessage) => {
      reactionMessage.reactions
        .resolve(emoji)
        .users.fetch()
        .then((userList) => {
          return userList.map((user) => {
            // Need to get guild.member here
          });
        });
    });
  }
};

getReactedUsers(msg, "664102059909313659", "665666621622082866", "????");

【问题讨论】:

    标签: javascript discord


    【解决方案1】:

    欢迎来到 Stack Overflow!希望您能在这里找到您需要的答案!

    可以解决您的问题的方法是.fetch(),如果您想进行进一步的更改,您可以在文档中找到有关它的更多信息。基本上,当您映射用户列表时,您只需执行此操作即可获取成员:

    let cacheChannel = msg.guild.channels.cache.get(channelID); 
    
    if (cacheChannel) {
        cacheChannel.messages.fetch(userID).then(reactionMessage => {
            reactionMessage.reactions.resolve(emoji).users.fetch().then(userList => {
                return userList.map((user) => {
                    msg.guild.members.fetch(user.id).then(() => {
                        // console.log(msg.guild.members.cache.get(user.id)) <- Your code here basically
                    });
                })
            });
        });
    }
    

    经过一些测试,我编写了该代码。简而言之,既然您通过其 ID 获取了用户,您可以从缓存中以 GuildMember 的形式获取用户,如 console.log 所示。

    【讨论】:

      猜你喜欢
      • 2021-02-26
      • 1970-01-01
      • 1970-01-01
      • 2020-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-22
      相关资源
      最近更新 更多