snowflake and cleaning up classes
This commit is contained in:
parent
14d1c69c7d
commit
7eb3ff6cab
21 changed files with 584 additions and 361 deletions
|
@ -2,6 +2,7 @@ import {User} from "./user.js";
|
|||
import {Role} from "./role.js";
|
||||
import {Guild} from "./guild.js";
|
||||
import { Contextmenu } from "./contextmenu.js";
|
||||
import { SnowFlake } from "./snowflake.js";
|
||||
|
||||
class Member{
|
||||
static already={};
|
||||
|
@ -38,7 +39,7 @@ class Member{
|
|||
if(thing==="owner"){continue}
|
||||
if(thing==="roles"){
|
||||
for(const strrole of membery["roles"]){
|
||||
const role=this.guild.getRole(strrole);
|
||||
const role=SnowFlake.getSnowFlakeFromID(strrole,Role).getObject();
|
||||
this.roles.push(role);
|
||||
}
|
||||
continue;
|
||||
|
@ -65,44 +66,45 @@ class Member{
|
|||
console.error(guild)
|
||||
}
|
||||
let user:User;
|
||||
let id="";
|
||||
let id:SnowFlake<User>;
|
||||
if(unkown instanceof User){
|
||||
user=unkown as User;
|
||||
id=user.id;
|
||||
}else if(typeof unkown===typeof ""){
|
||||
id=unkown as string;
|
||||
id=new SnowFlake(unkown as string,undefined);
|
||||
}else{
|
||||
return new Member(unkown,guild);
|
||||
}
|
||||
if(guild.id==="@me"){return null}
|
||||
if(!Member.already[guild.id]){
|
||||
Member.already[guild.id]={};
|
||||
}else if(Member.already[guild.id][id]){
|
||||
const memb=Member.already[guild.id][id]
|
||||
if(guild.id.id==="@me"){return null}
|
||||
if(!Member.already[guild.id.id]){
|
||||
Member.already[guild.id.id]={};
|
||||
}else if(Member.already[guild.id.id][id]){
|
||||
const memb=Member.already[guild.id.id][id]
|
||||
if(memb instanceof Promise){
|
||||
return await memb;
|
||||
}
|
||||
return memb;
|
||||
}
|
||||
const promoise= fetch(guild.info.api.toString()+"/v9/users/"+id+"/profile?with_mutual_guilds=true&with_mutual_friends_count=true&guild_id="+guild.id,{headers:guild.headers}).then(_=>_.json()).then(json=>{
|
||||
const promoise= fetch(guild.info.api.toString()+"/users/"+id+"/profile?with_mutual_guilds=true&with_mutual_friends_count=true&guild_id="+guild.id,{headers:guild.headers}).then(_=>_.json()).then(json=>{
|
||||
const memb=new Member(json,guild);
|
||||
Member.already[guild.id][id]=memb;
|
||||
Member.already[guild.id.id][id]=memb;
|
||||
console.log("resolved")
|
||||
return memb
|
||||
})
|
||||
Member.already[guild.id][id]=promoise;
|
||||
Member.already[guild.id.id][id]=promoise;
|
||||
try{
|
||||
return await promoise
|
||||
}catch(_){
|
||||
|
||||
const memb=new Member(user,guild,true);
|
||||
Member.already[guild.id][id]=memb;
|
||||
Member.already[guild.id.id][id]=memb;
|
||||
return memb;
|
||||
}
|
||||
}
|
||||
hasRole(ID:string){
|
||||
console.log(this.roles,ID);
|
||||
for(const thing of this.roles){
|
||||
if(thing.id===ID){
|
||||
if(thing.id.id===ID){
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -123,7 +125,7 @@ class Member{
|
|||
return true;
|
||||
}
|
||||
}
|
||||
return this.guild.properties.owner_id===this.user.id;
|
||||
return this.guild.properties.owner_id===this.user.id.id;
|
||||
}
|
||||
bind(html:HTMLElement){
|
||||
if(html.tagName==="SPAN"){
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue