lavacord
Version:
A simple by design lavalink wrapper made for any discord library.
45 lines (43 loc) • 1.5 kB
JavaScript
import { __name } from '../chunk-PAWJFY3S.mjs';
import { Manager as Manager$1 } from '../lib/Manager.mjs';
import { GatewayDispatchEvents } from 'discord-api-types/v10';
export * from '../index.mjs';
var Manager = class extends Manager$1 {
constructor(client, nodes, options) {
super(nodes, options);
this.client = client;
client.on("event", (packet) => {
switch (packet.t) {
case GatewayDispatchEvents.VoiceServerUpdate:
this.voiceServerUpdate(packet.d);
break;
case GatewayDispatchEvents.VoiceStateUpdate:
this.voiceStateUpdate(packet.d);
break;
case GatewayDispatchEvents.GuildCreate:
for (const state of packet.d.voice_states ?? [])
this.voiceStateUpdate({
...state,
guild_id: packet.d.id
});
break;
case 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);
}
};
export { Manager };
//# sourceMappingURL=cloudstorm.mjs.map
//# sourceMappingURL=cloudstorm.mjs.map