rewriting awaitAvailability

This commit is contained in:
ZiomaleQ 2021-01-05 14:10:16 +01:00
parent 4cbc2b344d
commit e009ae3127
1 changed files with 11 additions and 8 deletions

View File

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