discord-tickets
Version:
Discord.js extention library for manage easily tickets
104 lines (103 loc) • 3.54 kB
TypeScript
import { TextTicket } from "./TextTicket";
import { BaseManager } from "../Base/BaseManager";
/**
* @external CategoryChannel
* @see {@link https://discord.js.org/#/docs/main/stable/class/CategoryChannel}
*/
/**
* @external Client
* @see {@link https://discord.js.org/#/docs/main/stable/class/Client}
*/
/**
* @external Collection
* @see {@link https://discord.js.org/#/docs/collection/stable/class/Collection}
*/
/**
* @external Guild
* @see {@link https://discord.js.org/#/docs/main/stable/class/Guild}
*/
/**
* @external GuildMember
* @see {@link https://discord.js.org/#/docs/main/stable/class/GuildMember}
*/
/**
* @external Permissions
* @see {@link https://discord.js.org/#/docs/main/stable/class/Permissions}
*/
import { Client, Collection, Guild, GuildMember } from "discord.js";
import { TicketManagerOptions, TicketManagerEvents } from "../types/types";
/**
* Text Ticket Manager
* @extends {BaseManager}
*/
export declare class TicketManager extends BaseManager {
readonly client: Client;
options: TicketManagerOptions;
tickets: Collection<string, TextTicket>;
/**
* @param {Client} client Discord Client
* @param {TicketManagerOptions} [options] TicketManager options
*/
constructor(client: Client, options?: TicketManagerOptions);
/**
* Caching raws tickets into Array
* @return {Promise<void>}
* @private
*/
cachingTickets(): Promise<void>;
on<U extends keyof TicketManagerEvents>(event: U, listener: TicketManagerEvents[U]): this;
emit<U extends keyof TicketManagerEvents>(event: U, ...args: Parameters<TicketManagerEvents[U]>): boolean;
/**
* Get options
* @private
* @param {string} id
* @return {TicketManagerOptions}
*/
getOptions(id: string): Promise<TicketManagerOptions>;
/**
* Create Ticket
* @param {Guild} guild Discord Guild
* @param {GuildMember} member Discord Guild Member
* @return {Promise<TextTicket>}
* @example
* //Create Thread Ticket
* await ticketText.createTicket(message.guild, message.member)
*/
createTicket(guild: Guild, member: GuildMember): Promise<TextTicket | undefined>;
/**
* Delete Ticket
* @param {TextTicket} ticket Ticket class
* @return {Promise<any>}
*/
deleteTicket(ticket: TextTicket): Promise<any>;
/**
* Close Ticket
* @param {TextTicket} ticket Ticket class
* @return {Promise<any>}
*/
closeTicket(ticket: TextTicket): Promise<any>;
/**
* ReOpen ticket
* @param {TextTicket} ticket Ticket Resolvable
* @return {Promise<any>}
*/
reOpenTicket(ticket: TextTicket): Promise<any>;
/**
* Rename Ticket
* @param {ThreadTicket} ticket ThreadTicket
* @param {string} name new Name
* @return {Promise<any>}
*/
renameTicket(ticket: TextTicket, name: string): Promise<any>;
}
/**
* Text Ticket Manager Config Types
* @typedef {object} TicketManagerOptions
* @property {boolean} enabled Manager status
* @property {string} parentID Category Id where are created tickets
* @property {string} staffRole Discord Role id who can access to tickets
* @property {string} closedParentID Category Id where are closed tickets
* @property {string} [channelTopic] Ticket's channel topic
* @property {boolean} ticketCache Storing tickets in the cache
* @property {StorageType} storage Storage File path
*/