@evolvejs/core
Version:
An advanced Discord API wrapper with TS and JS support
89 lines (88 loc) • 2.9 kB
JavaScript
"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;