UNPKG

hennus-api

Version:

Esta es una libreria para el bot Hennus

59 lines (58 loc) 2.16 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Client = void 0; const v10_1 = require("discord-api-types/v10"); const base_1 = require("./base"); const rest_1 = require("../rest"); const ws_1 = require("../ws"); const Error_1 = require("./Error"); const ws_2 = require("@discordjs/ws"); const utils_1 = require("../utils"); const types_1 = require("../types"); const aplication_1 = require("./base/aplication"); const emojis_1 = require("../utils/manager/emojis"); class Client extends base_1.BaseClient { constructor(options) { super(); this.options = options; this.status = false; this.intents.add(options.intents ?? 0); this.channels = new utils_1.ChannelsManager(this); this.users = new utils_1.UsersManager(this); this.guilds = new utils_1.GuildsManager(this); this.aplication.commands = new aplication_1.commandsManger(this); this.emojis = new emojis_1.EmojisManager(this); } async login(token) { if (!token || token.length === 0) { throw new Error_1.HennusError(Error_1.errorCodes.TokenNull); } this.token = token; try { this.rest = new rest_1.HennusRest(this); const ws = new ws_1.HennusWS(this, this.rest.api); await ws.connect(); ws.on(ws_2.WebSocketShardEvents.Dispatch, ({ data }) => { const { t } = data; if (t === v10_1.GatewayDispatchEvents.Ready) { if (!this.status) { this.status = true; this.user = new types_1.ClientUser(data.d.user, this); this.id = data.d.user.id; this.aplicationId = data.d.application.id; ws.ready(data.d); } } else { ws.Handler(data); } }); this.ws = ws; } catch { throw new Error_1.HennusError(Error_1.errorCodes.TokenInvalid); } return token; } } exports.Client = Client;