您如何从服务器中选择随机成员 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