TS conversion
This commit is contained in:
parent
75fa9d0844
commit
845c7f6612
44 changed files with 6225 additions and 611 deletions
80
.dist/member.js
Normal file
80
.dist/member.js
Normal file
|
@ -0,0 +1,80 @@
|
|||
import { User } from "./user.js";
|
||||
class Member {
|
||||
static already = {};
|
||||
owner;
|
||||
user;
|
||||
roles;
|
||||
constructor(memberjson, owner) {
|
||||
if (!owner) {
|
||||
console.error("Guild not included in the creation of a member object");
|
||||
}
|
||||
this.owner = owner;
|
||||
let membery = memberjson;
|
||||
if (memberjson.guild_member) {
|
||||
membery = memberjson.guild_member;
|
||||
this.user = memberjson.user;
|
||||
}
|
||||
for (const thing of Object.keys(membery)) {
|
||||
if (thing === "guild") {
|
||||
continue;
|
||||
}
|
||||
this[thing] = membery[thing];
|
||||
}
|
||||
this.user = new User(this.user, owner.localuser);
|
||||
}
|
||||
get guild() {
|
||||
return this.owner;
|
||||
}
|
||||
get localuser() {
|
||||
return this.guild.localuser;
|
||||
}
|
||||
get info() {
|
||||
return this.owner.info;
|
||||
}
|
||||
static async resolve(user, guild) {
|
||||
if (guild.id === "@me") {
|
||||
return null;
|
||||
}
|
||||
if (!Member.already[guild.id]) {
|
||||
Member.already[guild.id] = {};
|
||||
}
|
||||
else if (Member.already[guild.id][user.id]) {
|
||||
const memb = Member.already[guild.id][user.id];
|
||||
if (memb instanceof Promise) {
|
||||
return await memb;
|
||||
}
|
||||
return memb;
|
||||
}
|
||||
const promoise = fetch(guild.info.api.toString() + "/v9/users/" + user.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][user.id] = memb;
|
||||
guild.fillMember(memb);
|
||||
console.log("resolved");
|
||||
return memb;
|
||||
});
|
||||
Member.already[guild.id][user.id] = promoise;
|
||||
return await promoise;
|
||||
}
|
||||
hasRole(ID) {
|
||||
console.log(this.roles, ID);
|
||||
for (const thing of this.roles) {
|
||||
if (thing.id === ID) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
getColor() {
|
||||
for (const thing of this.roles) {
|
||||
const color = thing.getColor();
|
||||
if (color) {
|
||||
return color;
|
||||
}
|
||||
}
|
||||
return "";
|
||||
}
|
||||
isAdmin() {
|
||||
return this.guild.properties.owner_id === this.user.id;
|
||||
}
|
||||
}
|
||||
export { Member };
|
Loading…
Add table
Add a link
Reference in a new issue