寻找一种方法来查找您何时按位置加入服务器。
例如:如果我是服务器的所有者,我会是 1,因为我先加入,那么如果我在所有者之后加入,我会是 2,如果我在 20 人加入后加入,我会是 21,依此类推。
有谁知道在 Node.Js 中解决这个问题的方法吗?
最佳答案
您可以使用GuildMember.joinedAt
属性:它将返回您加入服务器的日期。
这是一个可以帮助您的函数:
function getJoinRank(ID, guild) { // Call it with the ID of the user and the guild
if (!guild.member(ID)) return; // It will return undefined if the ID is not valid
let arr = guild.members.array(); // Create an array with every member
arr.sort((a, b) => a.joinedAt - b.joinedAt); // Sort them by join date
for (let i = 0; i < arr.length; i++) { // Loop though every element
if (arr[i].id == ID) return i; // When you find the user, return it's position
}
}
如果对您来说更好的话,您也可以让它返回数组。您还可以直接对成员集合本身进行排序,但请记住,您每次都必须对其进行排序(客户端可以更新它):
guild.members.sort((a, b) => a.joinedAt - b.joinedAt);
关于node.js - 如何找到您在服务器中的加入位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54331654/