lavacord
Version:
A simple by design lavalink wrapper made for any discord library.
1 lines • 3.21 kB
Source Map (JSON)
{"version":3,"sources":["../../../src/wrappers/cloudstorm.ts"],"names":["BaseManager","GatewayDispatchEvents"],"mappings":";;;;;;;;AAQO,IAAM,OAAA,GAAN,cAAsBA,mBAAA,CAAY;AAAA,EACjC,WAAA,CACU,MAAA,EAChB,KAAA,EACA,OAAA,EACC;AACD,IAAA,KAAA,CAAM,OAAO,OAAO,CAAA;AAJJ,IAAA,IAAA,CAAA,MAAA,GAAA,MAAA;AAMhB,IAAA,MAAA,CAAO,EAAA,CAAG,OAAA,EAAS,CAAC,MAAA,KAA4B;AAC/C,MAAA,QAAQ,OAAO,CAAA;AAAG,QACjB,KAAKC,yBAAA,CAAsB,iBAAA;AAC1B,UAAA,IAAA,CAAK,iBAAA,CAAkB,OAAO,CAAC,CAAA;AAC/B,UAAA;AAAA,QAED,KAAKA,yBAAA,CAAsB,gBAAA;AAC1B,UAAA,IAAA,CAAK,gBAAA,CAAiB,OAAO,CAAC,CAAA;AAC9B,UAAA;AAAA,QAED,KAAKA,yBAAA,CAAsB,WAAA;AAC1B,UAAA,KAAA,MAAW,KAAA,IAAS,MAAA,CAAO,CAAA,CAAE,YAAA,IAAgB,EAAC;AAC7C,YAAA,IAAA,CAAK,gBAAA,CAAiB;AAAA,cACrB,GAAG,KAAA;AAAA,cACH,QAAA,EAAU,OAAO,CAAA,CAAE;AAAA,aACnB,CAAA;AACF,UAAA;AAAA,QACD,KAAKA,0BAAsB,KAAA,EAAO;AACjC,UAAA,IAAI,CAAC,IAAA,CAAK,MAAA,OAAa,MAAA,GAAS,MAAA,CAAO,EAAE,IAAA,CAAK,EAAA;AAC9C,UAAA;AAAA;AAGA;AACF,KACA,CAAA;AAAA;AACF,EAzCD;AAQyC,IAAA,MAAA,CAAA,IAAA,EAAA,SAAA,CAAA;AAAA;AAAA,EAmCrB,KAAK,MAAA,EAAiC;AACxD,IAAA,IAAI,CAAC,IAAA,CAAK,MAAA,CAAO,OAAA,CAAQ,WAAA,EAAa;AAEtC,IAAA,MAAM,OAAA,GAAU,MAAA,CAAA,CAAQ,MAAA,CAAO,MAAA,CAAO,EAAE,QAAQ,CAAA,IAAK,MAAA,CAAO,EAAE,KAAK,MAAA,CAAO,IAAA,CAAK,MAAA,CAAO,OAAA,CAAQ,WAAW,CAAC,CAAA;AAC1G,IAAA,MAAM,CAAA,GAAI,OAAO,OAAA,CAAQ,IAAA,CAAK,OAAO,YAAA,CAAa,MAAM,EAAE,IAAA,CAAK,CAAC,MAAM,MAAA,CAAO,CAAA,CAAE,CAAC,CAAC,CAAA,KAAM,OAAO,OAAO,CAAC,IAAI,CAAC,CAAA;AAE3G,IAAA,IAAI,CAAA,EAAG,CAAA,CAAE,SAAA,CAAU,WAAA,CAAY,MAAM,CAAA;AAAA;AAEvC","file":"cloudstorm.cjs","sourcesContent":["import { Manager as BaseManager } from \"../lib/Manager\";\nimport type { ManagerOptions, LavalinkNodeOptions } from \"../lib/Types\";\nimport { GatewayDispatchEvents, GatewayVoiceStateUpdate } from \"discord-api-types/v10\";\n\nimport { Client, IGatewayMessage } from \"cloudstorm\";\n\nexport * from \"../index\";\n\nexport class Manager extends BaseManager {\n\tpublic constructor(\n\t\tpublic readonly client: Client,\n\t\tnodes: LavalinkNodeOptions[],\n\t\toptions?: ManagerOptions\n\t) {\n\t\tsuper(nodes, options);\n\n\t\tclient.on(\"event\", (packet: IGatewayMessage) => {\n\t\t\tswitch (packet.t) {\n\t\t\t\tcase GatewayDispatchEvents.VoiceServerUpdate:\n\t\t\t\t\tthis.voiceServerUpdate(packet.d);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase GatewayDispatchEvents.VoiceStateUpdate:\n\t\t\t\t\tthis.voiceStateUpdate(packet.d);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase GatewayDispatchEvents.GuildCreate:\n\t\t\t\t\tfor (const state of packet.d.voice_states ?? [])\n\t\t\t\t\t\tthis.voiceStateUpdate({\n\t\t\t\t\t\t\t...state,\n\t\t\t\t\t\t\tguild_id: packet.d.id\n\t\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\t\t\t\tcase GatewayDispatchEvents.Ready: {\n\t\t\t\t\tif (!this.userId) this.userId = packet.d.user.id;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tdefault:\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t});\n\t}\n\n\tprotected override send(packet: GatewayVoiceStateUpdate) {\n\t\tif (!this.client.options.totalShards) return;\n\n\t\tconst shardID = Number((BigInt(packet.d.guild_id) >> BigInt(22)) % BigInt(this.client.options.totalShards));\n\t\tconst s = Object.entries(this.client.shardManager.shards).find((e) => String(e[0]) === String(shardID))?.[1];\n\n\t\tif (s) s.connector.sendMessage(packet);\n\t}\n}\n"]}