@gigglebot/wrapper
Version:
A library to use giggle API features
42 lines • 1.48 kB
JavaScript
;
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