Discord. js Проверить инвайты пользователя без листьев - PullRequest
3 голосов
/ 02 августа 2020

Я пытаюсь узнать, сколько участников пригласил определенный участник. Приведенный ниже код работает, но он учитывает всех приглашенных участников, включая ушедших. Я хочу, чтобы отображалось только количество приглашенных участников, которые все еще находятся на сервере.

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.`);
});

1 Ответ

0 голосов
/ 20 августа 2020

Идея 1: Получите идентификатор пользователя каждого userInviteCount и проверьте, находятся ли они по-прежнему на сервере через al oop.

Идея 2: Discord. JS не имеет функции, чтобы проверить, какая ссылка для приглашения член пришел, так что, к сожалению, вы можете не просто просмотреть всех участников и проверить, пришли ли они по желаемой ссылке для приглашения. Такие боты, как InviteManager, обнаруживают, когда участник присоединяется, а затем проверяют все действительные пригласительные ссылки на предмет увеличения их использования. Затем та, которая увеличивается на 1, будет определена как использованная ссылка для приглашения.

...