UNPKG

hennus-api

Version:

Esta es una libreria para el bot Hennus

63 lines (62 loc) 2.26 kB
"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; ;