hennus-api
Version:
Esta es una libreria para el bot Hennus
63 lines (62 loc) • 2.26 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.GuildMember = void 0;
const data_1 = require("../base/data");
const user_1 = require("../user");
const flagsbifields_1 = require("../bitfield/flagsbifields");
const utils_1 = require("../../utils");
class GuildMember extends data_1.BaseData {
constructor(member, guild, client) {
super(client);
this.member = member;
Object.defineProperty(this, "member", { value: member });
Object.defineProperty(this, "guild", { value: guild });
this.user = member.user ? new user_1.User(member.user, this.client) : undefined;
this.nick = member.nick ?? undefined;
this.avatar = member.avatar ?? undefined;
this._roles = member.roles;
this.joinedTimestamp = member.joined_at;
this.premiumSinceTimestamp = member.premium_since ?? undefined;
this.deaf = member.deaf;
this.mute = member.mute;
this.flags = new flagsbifields_1.MemberFlags(member.flags);
this.pending = member.pending ?? false;
this.communicationDisabledUntilTimestamp = member.communication_disabled_until ?? undefined;
}
;
get roles() {
const roles = new utils_1.MemberRolesManager(this.client, this.guild.id, this.user?.id ?? '');
const map = this.guild.roles.searchlist(this._roles);
roles.setall(map);
return roles;
}
;
avatarURL(options) {
if (this.avatar && this.user)
return this.cdn.guildMemberAvatar(this.guild.id, this.user.id, this.avatar, options);
return undefined;
}
get joinedAt() {
return this.joinedTimestamp && new Date(this.joinedTimestamp);
}
get premiumSince() {
return this.premiumSinceTimestamp && new Date(this.premiumSinceTimestamp);
}
get communicationDisabledUntil() {
return this.communicationDisabledUntilTimestamp && new Date(this.communicationDisabledUntilTimestamp);
}
;
get displayHexColor() {
return this.roles.color?.hexColor ?? '#000000';
}
;
toString() {
if (this.user)
return `<@${this.user.id}>`;
else
return "";
}
;
}
exports.GuildMember = GuildMember;
;