fixing guild/channel creation

This commit is contained in:
MathMan05 2024-11-12 13:46:44 -06:00
parent ebce301cbf
commit 71aa1c0e9b
4 changed files with 18 additions and 13 deletions

View file

@ -208,6 +208,7 @@ class Guild extends SnowFlake{
}
this.sortRoles();
if(member instanceof User){
console.warn(member);
Member.resolveMember(member, this).then(_=>{
if(_){
this.member = _;
@ -415,6 +416,7 @@ class Guild extends SnowFlake{
divy.append(noti);
if(guild instanceof Guild){
guild.localuser.guildhtml.set(guild.id, divy);
guild.html=divy;
}
let icon: string | null;
if(guild instanceof Guild){

View file

@ -436,7 +436,7 @@ class Localuser{
}
break;
}
case"GUILD_CREATE": {
case"GUILD_CREATE": (async()=>{
const guildy = new Guild(temp.d, this, this.user);
this.guilds.push(guildy);
this.guildids.set(guildy.id, guildy);
@ -444,8 +444,9 @@ class Localuser{
guildy.generateGuildIcon(),
document.getElementById("bottomseparator")
);
break;
}
})();
break;
case"MESSAGE_REACTION_ADD":
{
temp.d.guild_id ??= "@me";
@ -600,7 +601,7 @@ class Localuser{
if(!guild)return;
const channel = guild.createChannelpac(json);
if(json.guild_id === this.lookingguild?.id){
this.loadGuild(json.guild_id);
this.loadGuild(json.guild_id,true);
}
if(channel.id === this.gotoid){
guild.loadGuild();
@ -743,7 +744,7 @@ class Localuser{
}
if(json.guild_id === this.lookingguild?.id){
this.loadGuild(json.guild_id);
this.loadGuild(json.guild_id,true);
}
}
init(): void{
@ -770,12 +771,13 @@ class Localuser{
return false;
}
}
loadGuild(id: string): Guild | undefined{
loadGuild(id: string,forceReload=false): Guild | undefined{
let guild = this.guildids.get(id);
if(!guild){
guild = this.guildids.get("@me");
}
if(this.lookingguild === guild){
console.log(forceReload);
if((!forceReload)&&(this.lookingguild === guild)){
return guild;
}
if(this.channelfocus){
@ -1939,11 +1941,11 @@ class Localuser{
}
const guild = this.guildids.get(guildid);
const borked = true;
if(borked && guild && guild.member_count > 250){
if( !guild || borked && 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,
this.info.api + "/guilds/" + guildid + "/members/" + id,
{
headers: this.headers,
}

View file

@ -158,6 +158,7 @@ class Member extends SnowFlake{
}
});
user.members.set(guild, promise);
return await promise;
}
if(maybe instanceof Promise){
return await maybe;