lavacord
Version:
A simple by design lavalink wrapper made for any discord library.
48 lines (46 loc) • 1.56 kB
JavaScript
import { __name } from '../chunk-PAWJFY3S.mjs';
import { GatewayDispatchEvents } from 'discord-api-types/v10';
import { Manager as Manager$1 } from '../lib/Manager.mjs';
import { ClusterClient } from 'detritus-client';
export * from '../index.mjs';
var Manager = class extends Manager$1 {
constructor(client, nodes, options) {
super(nodes, options);
this.client = client;
client.once("ready", () => {
if (!this.userId) this.userId = client instanceof ClusterClient ? client.applicationId : client.clientId;
});
client.on("raw", (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;
}
});
}
static {
__name(this, "Manager");
}
send(packet) {
const asCluster = this.client;
const asShard = this.client;
if (asShard.guilds) return asShard.gateway.send(packet.op, packet.d);
if (asCluster.shards) {
const shard = asCluster.shards.find((c) => c.guilds.has(packet.d.guild_id));
if (shard) shard.gateway.send(packet.op, packet.d);
}
}
};
export { Manager };
//# sourceMappingURL=detritus.mjs.map
//# sourceMappingURL=detritus.mjs.map