UNPKG

discord-tickets

Version:

Discord.js extention library for manage easily tickets

103 lines (102 loc) 2.54 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.BaseTicket = void 0; class BaseTicket { /** * @param {TicketManager} manager The Ticket Manager * @param {TicketData} data The ticket data */ constructor(manager, data) { /** * The Ticket manager * @readonly * @type {TicketManager} */ this.manager = manager; this.data = data; /** * The discord guild id * @readonly * @private * @type {string} */ this.guildId = data.guild; /** * The discord channel id * @readonly * @private * @type {string} */ this.channelId = data.channel; /** * The discord member id * @readonly * @private * @type {string} */ this.memberId = data.member; /** * The ticket number * @readonly * @type {string} */ this.number = data.number; /** * The ticket status * @readonly * @type {string} */ this.status = data.status; /** * Ticket type * @type {string} */ this.type = data.type; /** * The list of participants of the ticket * @type {Array<string>} */ this.participants = data.participants; } /** * Ticket's Guild * @type {Guild} * @readonly */ get guild() { return this.manager.getGuild(this.guildId); } /** * Ticket's Member * @type {GuildMember} * @readonly */ get member() { return this.guild.members.cache.get(this.memberId); } } exports.BaseTicket = BaseTicket; /** * Ticket's Status: * * "closed" * * "open" * @typedef {string} TicketStatus */ /** * Ticket's channel type: * * "thread" * * "channel" * * "dm" * @typedef {string} TicketTypes */ /** * Ticket Data * @typedef {object} TicketData * @property {string} guild Discord Guild ID * @property {string} member Discord Guild Member ID * @property {string} channel Discord Channel ID * @property {string} number Ticket's number * @property {TicketStatus} status Ticket's status * @property {Array<string>} participants Ticket's Participants list * @property {TicketTypes} type Ticket's channel type */