【问题标题】:How do you select a random member id from a server? Discord.js您如何从服务器中选择随机成员 ID?不和谐.js
【发布时间】:2020-11-12 16:47:00
【问题描述】:

我尝试了很多东西并尽可能多地研究,我找不到任何有效的东西,或者我可以从中获得灵感。我发现的任何东西都不起作用,我需要帮助。 我只想从 id 中获取一个随机成员(也许创建一个 id 数组)。 这是我能想到的最接近/最好的东西:

const members = await message.guild.members.fetch();
for (const [, member] of members) {
  console.log(member.id);
};

member.id 获取服务器中用户的所有 id,但我不知道还能做什么(比如将其放入数组中)。有人可以帮忙吗?

【问题讨论】:

    标签: javascript node.js arrays discord discord.js


    【解决方案1】:

    您可以尝试在成员集合上使用.random(),如下所示:

    const members = await message.guild.members.fetch();
    const randMember = members.random(); 
    console.log(randMember);
    

    如果您想要一个随机成员数组,您可以将一个数字传递给.random() 方法来指定您想要多少个随机成员,例如:.random(5) 将给出 5 个随机成员。

    【讨论】:

    • 这行得通,但是我仍然不知道如何获取 id,抱歉。我得到一个随机用户,但不知道如何得到一个随机 id。我试过:` const members = await message.guild.members.fetch(); const randMember = members.random().id;控制台.log(randMember); ` 抱歉,如果我做错了,我正在尝试从这给我的信息中获取 id,但是使用此代码返回未定义。
    • 其实,对不起。使用 message.channel.send 标记一个随机用户,这就是我想要的。很抱歉给您带来不便。
    • @FatPotato 哦,好吧,不用担心,我自己对 discord api 了解不多,所以无需抱歉 :)。我打算建议您尝试const [, {id}] = members.random() 作为对您的第一条评论的修复,但是如果您已经成功了,那就太好了(如果您认为将来会对其他人有所帮助,可以添加自己的问题的答案)
    • 谢谢,我也是 Stack Overflow 的新手,所以我不太了解如何提问或如何以正确的方式放置 cmets。无论如何,这有帮助,谢谢
    【解决方案2】:

    这里,members 是一个集合,其中成员 ID 是键。您可以使用 .randomKey() 获取随机 ID 的方法。因此,您的线路可能是 const randomId = members.randomKey(1) 或类似的名称。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-08-05
      • 2021-04-17
      • 2020-12-05
      • 1970-01-01
      • 2021-07-11
      • 1970-01-01
      相关资源
      最近更新 更多