diff --git a/.dist/guild.js b/.dist/guild.js index 38238bc..f96b144 100644 --- a/.dist/guild.js +++ b/.dist/guild.js @@ -12,6 +12,7 @@ class Guild extends SnowFlake { channels; channelids; properties; + member_count; roles; roleids; prevchannel; @@ -22,6 +23,7 @@ class Guild extends SnowFlake { member; html; emojis; + large; static contextmenu = new Contextmenu("guild menu"); static setupcontextmenu() { Guild.contextmenu.addbutton("Copy Guild id", function () { @@ -78,6 +80,8 @@ class Guild extends SnowFlake { console.log(json.stickers, ":3"); } super(json.id); + this.large = json.large; + this.member_count = json.member_count; this.emojis = json.emojis; this.owner = owner; this.headers = this.owner.headers; diff --git a/.dist/localuser.js b/.dist/localuser.js index adc3bf0..6ed85d6 100644 --- a/.dist/localuser.js +++ b/.dist/localuser.js @@ -1356,6 +1356,22 @@ class Localuser { if (guildid === "@me") { return undefined; } + const guild = this.guildids.get(guildid); + const borked = true; + if (borked && guild && guild.member_count > 250) { //sorry puyo, I need to fix member resolving while it's broken on large guilds + try { + const req = await fetch(this.info.api + "/guilds/" + guild.id + "/members/" + id, { + headers: this.headers + }); + if (req.status !== 200) { + return undefined; + } + return await req.json(); + } + catch { + return undefined; + } + } let guildmap = this.waitingmembers.get(guildid); if (!guildmap) { guildmap = new Map(); diff --git a/webpage/guild.ts b/webpage/guild.ts index 60ec004..8c4d8d7 100644 --- a/webpage/guild.ts +++ b/webpage/guild.ts @@ -16,6 +16,7 @@ class Guild extends SnowFlake{ channels:Channel[]; channelids:{[key:string]:Channel}; properties; + member_count:number; roles:Role[]; roleids:Map; prevchannel:Channel|undefined; @@ -26,6 +27,7 @@ class Guild extends SnowFlake{ member:Member; html:HTMLElement; emojis:emojijson[]; + large:boolean; static contextmenu=new Contextmenu("guild menu"); static setupcontextmenu(){ Guild.contextmenu.addbutton("Copy Guild id",function(this:Guild){ @@ -88,6 +90,8 @@ class Guild extends SnowFlake{ console.log(json.stickers,":3"); } super(json.id); + this.large=json.large; + this.member_count=json.member_count; this.emojis = json.emojis; this.owner=owner; this.headers=this.owner.headers; diff --git a/webpage/localuser.ts b/webpage/localuser.ts index d17acb9..a10753b 100644 --- a/webpage/localuser.ts +++ b/webpage/localuser.ts @@ -1355,6 +1355,21 @@ class Localuser{ if(guildid==="@me"){ return undefined; } + const guild=this.guildids.get(guildid); + const borked=true; + if(borked&&guild&&guild.member_count>250){//sorry puyo, I need to fix member resolving while it's broken on large guilds + try{ + const req=await fetch(this.info.api+"/guilds/"+guild.id+"/members/"+id,{ + headers:this.headers + }); + if(req.status!==200){ + return undefined; + } + return await req.json(); + }catch{ + return undefined; + } + } let guildmap=this.waitingmembers.get(guildid); if(!guildmap){ guildmap=new Map();