UNPKG

erium

Version:

Erium is Discord Bot Library made in typescript

57 lines (56 loc) 1.82 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.GatewayHandler = void 0; const events_1 = __importDefault(require("events")); const ws_1 = __importDefault(require("ws")); const Presence_1 = require("../types/Presence"); class GatewayHandler extends events_1.default { constructor(client) { super(); this.status = "disconnected"; this.lastSequence = 0; this.latency = Infinity; this.token = client.token; // @ts-ignore this.intents = client.intents; } onError(err) { return console.error(err); } onClose(code, reason) { return console.log(reason, code); } updatePresence(presence) { const data = { since: presence.since ? presence.since : null, status: presence.status, afk: !!presence.afk, activities: [] }; let e; presence.activities.forEach(e => { if (e.type === "streaming") { data.activities.push({ name: e.name, type: Presence_1.ActivityType.streaming, url: e.url }); } else { data.activities.push({ name: e.name, type: Presence_1.ActivityType[e.type] }); } }); } send(code, data) { if (!this.ws || this.ws.readyState !== ws_1.default.OPEN) return; this.ws.send(JSON.stringify({ op: code, d: data })); } } exports.GatewayHandler = GatewayHandler;