lavacord
Version:
A simple by design lavalink wrapper made for any discord library.
54 lines (51 loc) • 1.85 kB
JavaScript
;
var Manager_cjs = require('../lib/Manager.cjs');
var v10 = require('discord-api-types/v10');
var index_cjs = require('../index.cjs');
var __defProp = Object.defineProperty;
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
var Manager = class extends Manager_cjs.Manager {
constructor(client, nodes, options) {
super(nodes, options);
this.client = client;
client.on("event", (packet) => {
switch (packet.t) {
case v10.GatewayDispatchEvents.VoiceServerUpdate:
this.voiceServerUpdate(packet.d);
break;
case v10.GatewayDispatchEvents.VoiceStateUpdate:
this.voiceStateUpdate(packet.d);
break;
case v10.GatewayDispatchEvents.GuildCreate:
for (const state of packet.d.voice_states ?? [])
this.voiceStateUpdate({
...state,
guild_id: packet.d.id
});
break;
case v10.GatewayDispatchEvents.Ready: {
if (!this.userId) this.userId = packet.d.user.id;
break;
}
}
});
}
static {
__name(this, "Manager");
}
send(packet) {
if (!this.client.options.totalShards) return;
const shardID = Number((BigInt(packet.d.guild_id) >> BigInt(22)) % BigInt(this.client.options.totalShards));
const s = Object.entries(this.client.shardManager.shards).find((e) => String(e[0]) === String(shardID))?.[1];
if (s) s.connector.sendMessage(packet);
}
};
exports.Manager = Manager;
Object.keys(index_cjs).forEach(function (k) {
if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
enumerable: true,
get: function () { return index_cjs[k]; }
});
});
//# sourceMappingURL=cloudstorm.cjs.map
//# sourceMappingURL=cloudstorm.cjs.map