rewriting awaitAvailability

This commit is contained in:
ZiomaleQ 2021-01-05 14:10:16 +01:00
parent 4cbc2b344d
commit e009ae3127

View file

@ -310,12 +310,15 @@ export class Guild extends Base {
* Fulfills promise when guild becomes available * Fulfills promise when guild becomes available
* @param delay the delay between checking guild availability * @param delay the delay between checking guild availability
*/ */
async awaitAvailability( async awaitAvailability(delay: number = 1000): Promise<void> {
delay: number = 1000 if(!this.unavailable) return;
): Promise<void> { var loaded = false;
var listener = (guild: Guild) => loaded = loaded || guild.id == this.id;
this.client.on('guildLoaded', listener);
while(true) { while(true) {
await new Promise(resolve => setTimeout(resolve, delay)) await new Promise(resolve => setTimeout(resolve, delay));
if(!this.unavailable) { if(loaded) {
this.client.removeListener('guildLoaded', listener);
return; return;
} }
} }