我正在尝试让某个成员邀请了多少成员。下面的代码有效,但是它计算所有邀请的成员,包括离开的成员。 我希望它仅显示仍在服务器上的受邀请成员的数量。
var user = null;
user = message.mentions.members.first() || message.author;
message.guild.fetchInvites()
.then(invites =>
{
const userInvites = invites.array().filter(o => o.inviter.id === user.id);
var userInviteCount = 0;
for(var i=0; i < userInvites.length; i++)
{
var invite = userInvites[i];
userInviteCount += invite['uses'];
userInviteCount - invite['left'];
}
message.reply(`You have ${userInviteCount} invites.`);
});
答案 0 :(得分:0)
想法1: 获取每个userInviteCount的userID并通过循环检查它们是否仍在服务器中。
想法2: Discord.JS没有功能来检查成员来自哪个邀请链接,因此可悲的是,您不仅可以循环浏览所有成员,还可以检查它们是否来自所需的邀请链接。 像InviteManager这样的漫游器所做的是,它们检测成员何时加入,然后检查所有有效的邀请链接以增加使用率。然后,将上升1的那个作为使用的邀请链接。