У меня есть код, и я все проверил, могу ли я его проверить.
Итак, мой код получает приглашение от участника, и я обнаружил с ним проблему.
Первым делом я добавляю client # ready и зацикливаю все гильдии и гильдии # fetchInvites, а затем вставляю его в JSON.
json[ invite.code ] = invite.uses;
как видите, ключ - это код приглашения, а значение - использует инвайт.
затем я добавил client # guildMemberAdd и guild # fetchInvites, затем я проверил, какое приглашение было изменено (при использовании), и считаю участника приглашающим.
После того, как я проверил все, я обнаружил проблему ..
и проблема заключалась в разнице между текущим использованием Пригласить # и прошлым использованием. Нет никакой разницы между этими ..
КОД:
module.exports.start = function ( ) { // executes when client is ready
this.client.guilds.forEach( ( g ) => {
g.getInvites().then( ( i ) => {
i.forEach( ( invite ) => {
json[ invite.code ] = invite.uses;
});
});
});
}
module.exports.getInviter = function ( member, callback ){ // executes when member join
var inviter = false;
member.guild.getInvites( ).then ( ( i ) => {
i.forEach( ( invite ) => {
if ( invite.uses > json[ invite.code ] ){
if ( inviter == false ) {
callback(invite.inviter);
inviter = true;
}
}
json[ invite.code ] = invite.uses;
});
});
if ( inviter == false ) {
return callback(member.user);
}
}
Я так и сделал, в любом случае разногласия добавят способ легче получить приглашающего.
Можете ли вы более конкретно рассказать о том, чего вы пытаетесь достичь?