您如何从服务器中选择随机成员 ID?不和谐.js

Posted

技术标签:

【中文标题】您如何从服务器中选择随机成员 ID?不和谐.js【英文标题】:How do you select a random member id from a server? Discord.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,但我不知道还能做什么(比如将其放入数组中)。有人可以帮忙吗?

【问题讨论】:

【参考方案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) 或类似的名称。

【讨论】:

以上是关于您如何从服务器中选择随机成员 ID?不和谐.js的主要内容,如果未能解决你的问题,请参考以下文章

如何获取不和谐服务器中特定角色的所有成员的列表?

如何将随机设置的单词值分配给变量 Javascript? (不和谐 JS v12H

如何使用不和谐机器人从不和谐频道随机发布文本?

如何自动更改不和谐机器人的昵称。 (Javascript)(Discord.js)

如何从 ID discord.py 中获取成员对象

如何使不和谐的 js 机器人在某个时间在不和谐的确切文本通道中发送随机消息(我制作一个列表并发送它)