UNPKG

@evolvejs/core

Version:

An advanced Discord API wrapper with TS and JS support

89 lines (88 loc) 2.9 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.EvolveClient = void 0; const sign_logger_1 = require("sign-logger"); const Structures_1 = require("../Structures/Structures"); const EventListener_1 = require("../Utils/EventListener"); const GuildsManager_1 = require("./Managers/GuildsManager"); const ChannelsManger_1 = require("./Managers/ChannelsManger"); const UsersManager_1 = require("./Managers/UsersManager"); const RolesManager_1 = require("./Managers/RolesManager"); const MessagesManager_1 = require("./Managers/MessagesManager"); const EmojisManager_1 = require("./Managers/EmojisManager"); const RestAPI_1 = require("./RestAPI/RestAPI"); /** * The Client which was given by EvolveBuilder#build * @type {EvolveClient} * @class * @extends {EventListener} */ class EvolveClient extends EventListener_1.EventListener { /** * @constructor * @param token * @param options */ constructor(token, options) { super(); /** * The Guilds and Guilds Cache Managet * @type {GuildsManager} */ this.guilds = new GuildsManager_1.GuildsManager(this); /** * The Channels and Channels Cache Manager * @type {ChannelsManageer} */ this.channels = new ChannelsManger_1.ChannelsManager(this); /** * The Users and UsersCacheManager * @type {UsersManager} */ this.users = new UsersManager_1.UsersManager(); /** * The Emojis and Emoji Cache Manager * @type {EmojisManager} */ this.emojis = new EmojisManager_1.EmojisManager(); /** * The Roles and Role Cache Manager * @type {RolesManager} */ this.roles = new RolesManager_1.RolesManager(); /** * The Messsages and Message Cache Manager * @type {MessagesManager} */ this.messages = new MessagesManager_1.MessagesManager(); /** * The RestAPI Class for handling the Discord Rest Api * @type {RestAPI} * @readonly */ this.rest = new RestAPI_1.RestAPI(this); /** * The Structures Class * @type {Structures} */ this.structures = new Structures_1.Structures(this); /** * Sign Logger for customized logging * @type {Transformer} */ this.transformer = new sign_logger_1.Transformer().setSymbols([ "[", "]", ]); this.token = token; this.options = options; if (!this.token) throw this.transformer.error("No token provided"); } get uptime() { if (!this.readyAt) throw this.transformer.error("EvolveClient not ready yet..."); return Date.now() - this.readyAt; } } exports.EvolveClient = EvolveClient;