UNPKG

@gigglebot/wrapper

Version:

A library to use giggle API features

42 lines 1.48 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.SocketManager = void 0; const node_events_1 = require("node:events"); const ws_1 = __importDefault(require("ws")); class SocketManager extends node_events_1.EventEmitter { client; ws; constructor(client) { super(); this.client = client; } connect() { const url = this.client.props?.base_url ?? "wss://api-test.gigglebot.website/ws/connect"; try { this.ws = new ws_1.default(url, { headers: { authorization: this.client.api_key, }, }); this.ws.on("error", err => this.emit("error", err)); this.ws.on("open", () => this.emit("connect")); this.ws.on("message", message => { const parsed = JSON.parse(message.toString()); switch (parsed.event) { case "payment": this.emit("payment", parsed.data); } }); this.ws.on("close", (code) => { setTimeout(() => this.connect(), this.client.props?.reconnect_timeout ?? 1000 * 10); }); } catch (err) { } } } exports.SocketManager = SocketManager; //# sourceMappingURL=socket.js.map