在Discord.js版本12中,我使用message.channel.members.random().toString()获取当前通道中的随机用户名。但是我只想让那些在当前频道中具有“在线”状态的成员这样做。非成员的存在状态dnd,空闲或脱机。
对于整个服务器(我不想要的内容),所有在线用户都可以按以下方式进行查询,并选择一个随机的用户名供提及。message.guild.members.cache.filter(member => member.presence.status == 'online').random().toString()
message.channel.members没有关于存在状态的信息(联机、脱机、dnd、空闲)。
{“guildID”:“12.89”、“joinedTimestamp”:12.89、"lastMessageChannelID":null、"premiumSinceTimestamp":null、“premiumSinceTimestamp”:false、“昵称”:null、“userID”:“12.89”、“displayName”:“昵称”}
如何在当前的通道中获得随机选择的“联机”状态的成员的名称(提及)?
发布于 2020-12-07 10:53:43
您可以通过过滤可以查看通道的用户的状态来做到这一点。
message.channel.members.filter(member => member.presence.status == 'online').random()channel.members具有Collection<Snowflake, GuildMember>类型,因此您可以访问GuildMember中的存在数据。
https://stackoverflow.com/questions/65180075
复制相似问题