yukimu 1.0.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. package/.cache/replit/env/latest +88 -0
  2. package/.cache/replit/env/latest.json +1 -0
  3. package/.cache/replit/modules/python-3.11.res +1 -0
  4. package/.cache/replit/nix/dotreplitenv.json +1 -1
  5. package/.cache/replit/toolchain.json +1 -1
  6. package/.local/state/workflow-logs/KRgHXizaECjWI5nWtS7Dj/configure_your_app.packager.installForAll.0 +1 -0
  7. package/.local/state/workflow-logs/KRgHXizaECjWI5nWtS7Dj/configure_your_app.shell.exec.1 +1 -0
  8. package/.local/state/workflow-logs/jVavLOnv1MqxUvxhMmqER/configure_your_app.packager.installForAll.0 +1 -0
  9. package/.local/state/workflow-logs/jVavLOnv1MqxUvxhMmqER/configure_your_app.shell.exec.1 +1 -0
  10. package/.replit +4 -1
  11. package/.upm/store.json +1 -1
  12. package/dist/ConnectionPool.d.ts +34 -0
  13. package/dist/ConnectionPool.d.ts.map +1 -0
  14. package/dist/ConnectionPool.js +124 -0
  15. package/dist/ConnectionPool.js.map +1 -0
  16. package/dist/Constants.d.ts +66 -0
  17. package/dist/Constants.d.ts.map +1 -0
  18. package/dist/Constants.js +101 -0
  19. package/dist/Constants.js.map +1 -0
  20. package/dist/Node.d.ts +26 -10
  21. package/dist/Node.d.ts.map +1 -1
  22. package/dist/Node.js +203 -81
  23. package/dist/Node.js.map +1 -1
  24. package/dist/Player.d.ts +30 -29
  25. package/dist/Player.d.ts.map +1 -1
  26. package/dist/Player.js +178 -97
  27. package/dist/Player.js.map +1 -1
  28. package/dist/Plugin.d.ts +21 -0
  29. package/dist/Plugin.d.ts.map +1 -0
  30. package/dist/Plugin.js +19 -0
  31. package/dist/Plugin.js.map +1 -0
  32. package/dist/Queue.d.ts +10 -16
  33. package/dist/Queue.d.ts.map +1 -1
  34. package/dist/Queue.js +39 -32
  35. package/dist/Queue.js.map +1 -1
  36. package/dist/Resolver.d.ts +4 -21
  37. package/dist/Resolver.d.ts.map +1 -1
  38. package/dist/Resolver.js +28 -66
  39. package/dist/Resolver.js.map +1 -1
  40. package/dist/Rest.d.ts +24 -0
  41. package/dist/Rest.d.ts.map +1 -0
  42. package/dist/Rest.js +104 -0
  43. package/dist/Rest.js.map +1 -0
  44. package/dist/TrackCache.d.ts +21 -0
  45. package/dist/TrackCache.d.ts.map +1 -0
  46. package/dist/TrackCache.js +57 -0
  47. package/dist/TrackCache.js.map +1 -0
  48. package/dist/WsQueue.d.ts +20 -0
  49. package/dist/WsQueue.d.ts.map +1 -0
  50. package/dist/WsQueue.js +74 -0
  51. package/dist/WsQueue.js.map +1 -0
  52. package/dist/Yukimu.d.ts +33 -32
  53. package/dist/Yukimu.d.ts.map +1 -1
  54. package/dist/Yukimu.js +133 -65
  55. package/dist/Yukimu.js.map +1 -1
  56. package/dist/connector/Connector.d.ts +8 -0
  57. package/dist/connector/Connector.d.ts.map +1 -0
  58. package/dist/connector/Connector.js +11 -0
  59. package/dist/connector/Connector.js.map +1 -0
  60. package/dist/connector/DiscordJS.d.ts +25 -0
  61. package/dist/connector/DiscordJS.d.ts.map +1 -0
  62. package/dist/connector/DiscordJS.js +27 -0
  63. package/dist/connector/DiscordJS.js.map +1 -0
  64. package/dist/connector/Eris.d.ts +23 -0
  65. package/dist/connector/Eris.d.ts.map +1 -0
  66. package/dist/connector/Eris.js +30 -0
  67. package/dist/connector/Eris.js.map +1 -0
  68. package/dist/connector/Oceanic.d.ts +20 -0
  69. package/dist/connector/Oceanic.d.ts.map +1 -0
  70. package/dist/connector/Oceanic.js +27 -0
  71. package/dist/connector/Oceanic.js.map +1 -0
  72. package/dist/errors/YukimuError.d.ts +15 -0
  73. package/dist/errors/YukimuError.d.ts.map +1 -0
  74. package/dist/errors/YukimuError.js +35 -0
  75. package/dist/errors/YukimuError.js.map +1 -0
  76. package/dist/index.d.ts +14 -1
  77. package/dist/index.d.ts.map +1 -1
  78. package/dist/index.js +34 -2
  79. package/dist/index.js.map +1 -1
  80. package/dist/plugins/AutoResume.d.ts +21 -0
  81. package/dist/plugins/AutoResume.d.ts.map +1 -0
  82. package/dist/plugins/AutoResume.js +52 -0
  83. package/dist/plugins/AutoResume.js.map +1 -0
  84. package/dist/plugins/PlayerMoved.d.ts +7 -0
  85. package/dist/plugins/PlayerMoved.d.ts.map +1 -0
  86. package/dist/plugins/PlayerMoved.js +30 -0
  87. package/dist/plugins/PlayerMoved.js.map +1 -0
  88. package/dist/types.d.ts +92 -38
  89. package/dist/types.d.ts.map +1 -1
  90. package/dist/types.js +0 -12
  91. package/dist/types.js.map +1 -1
  92. package/package.json +1 -1
  93. package/src/ConnectionPool.ts +131 -0
  94. package/src/Constants.ts +101 -0
  95. package/src/Node.ts +157 -174
  96. package/src/Player.ts +200 -108
  97. package/src/Plugin.ts +23 -0
  98. package/src/Queue.ts +43 -34
  99. package/src/Resolver.ts +29 -77
  100. package/src/Rest.ts +121 -0
  101. package/src/TrackCache.ts +69 -0
  102. package/src/WsQueue.ts +78 -0
  103. package/src/Yukimu.ts +156 -85
  104. package/src/connector/Connector.ts +13 -0
  105. package/src/connector/DiscordJS.ts +33 -0
  106. package/src/connector/Eris.ts +35 -0
  107. package/src/connector/Oceanic.ts +32 -0
  108. package/src/errors/YukimuError.ts +33 -0
  109. package/src/index.ts +41 -1
  110. package/src/plugins/AutoResume.ts +61 -0
  111. package/src/plugins/PlayerMoved.ts +26 -0
  112. package/src/types.ts +50 -83
  113. package/tsconfig.json +4 -2
  114. package/README.md +0 -152
@@ -1 +1 @@
1
- {"version":3,"file":"Yukimu.d.ts","sourceRoot":"","sources":["../src/Yukimu.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EACL,aAAa,EACb,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,YAAY,EACb,MAAM,SAAS,CAAC;AAEjB;;;;GAIG;AACH,qBAAa,MAAO,SAAQ,YAAY;IACtC,SAAgB,OAAO,EAAE,aAAa,CAAC;IACvC,SAAgB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAa;IACrD,SAAgB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAa;IACzD,SAAgB,QAAQ,EAAE,QAAQ,CAAC;IAEnC,0EAA0E;IACnE,WAAW,EAAG,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;gBAErD,OAAO,EAAE,aAAa;IAalC,8BAA8B;IACvB,OAAO,CAAC,OAAO,EAAE,OAAO,SAAS,EAAE,WAAW,GAAG,IAAI;IAO5D,4BAA4B;IACrB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAOrC,+CAA+C;IACxC,WAAW,IAAI,IAAI;IAa1B,sCAAsC;IAC/B,YAAY,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM;IAcnD,6BAA6B;IACtB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIrD,uBAAuB;IAChB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAU3C;;;;OAIG;IACU,MAAM,CACjB,KAAK,EAAE,MAAM,EACb,MAAM,GAAE,YAAsD,GAC7D,OAAO,CAAC,YAAY,CAAC;IAMxB;;;OAGG;IACI,sBAAsB,CAAC,IAAI,EAAE;QAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC5B,GAAG,IAAI;IAoBR;;;OAGG;IACI,uBAAuB,CAAC,IAAI,EAAE;QACnC,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC1B,GAAG,IAAI;IAYD,EAAE,CAAC,CAAC,SAAS,MAAM,YAAY,EACpC,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,IAAI,GAC3C,IAAI;IAIA,IAAI,CAAC,CAAC,SAAS,MAAM,YAAY,EACtC,KAAK,EAAE,CAAC,EACR,GAAG,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,GACvB,OAAO;CAGX"}
1
+ {"version":3,"file":"Yukimu.d.ts","sourceRoot":"","sources":["../src/Yukimu.ts"],"names":[],"mappings":"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"}
package/dist/Yukimu.js CHANGED
@@ -5,128 +5,196 @@ const events_1 = require("events");
5
5
  const Node_1 = require("./Node");
6
6
  const Player_1 = require("./Player");
7
7
  const Resolver_1 = require("./Resolver");
8
- /**
9
- * Yukimu - A powerful Lavalink v4 wrapper for Discord bots
10
- * Supports: YouTube, YouTube Music, Spotify, Deezer, Apple Music,
11
- * JioSaavn, Tidal, SoundCloud, Yandex Music
12
- */
8
+ const ConnectionPool_1 = require("./ConnectionPool");
9
+ const TrackCache_1 = require("./TrackCache");
10
+ const Constants_1 = require("./Constants");
11
+ const YukimuError_1 = require("./errors/YukimuError");
13
12
  class Yukimu extends events_1.EventEmitter {
14
- constructor(options) {
13
+ constructor(options, connector, nodes, plugins = []) {
15
14
  super();
16
15
  this.nodes = new Map();
17
16
  this.players = new Map();
18
- this.options = options;
17
+ this.plugins = new Map();
18
+ this.options = {
19
+ moveOnDisconnect: true,
20
+ voiceConnectionTimeout: 15000,
21
+ ...options,
22
+ };
23
+ this.connector = connector.set(this);
19
24
  this.resolver = new Resolver_1.Resolver(this);
20
- // Initialize all nodes
21
- for (const nodeOpts of options.nodes) {
22
- this.addNode(nodeOpts);
23
- }
25
+ this.pool = new ConnectionPool_1.ConnectionPool(this);
26
+ this.trackCache = new TrackCache_1.TrackCache();
27
+ for (const plugin of plugins)
28
+ this.use(plugin);
29
+ this.connector.listen();
30
+ for (const node of nodes)
31
+ this.addNode(node);
32
+ }
33
+ // ─── Plugin System ────────────────────────────────────────────────
34
+ use(plugin) {
35
+ if (this.plugins.has(plugin.name))
36
+ throw new YukimuError_1.YukimuError(`Plugin "${plugin.name}" already loaded`);
37
+ plugin.load(this);
38
+ this.plugins.set(plugin.name, plugin);
39
+ console.log(`[Yukimu] 🧩 Plugin "${plugin.name}" loaded`);
40
+ return this;
41
+ }
42
+ unuse(name) {
43
+ const plugin = this.plugins.get(name);
44
+ if (!plugin)
45
+ throw new YukimuError_1.YukimuError(`Plugin "${name}" not found`);
46
+ plugin.unload?.(this);
47
+ this.plugins.delete(name);
48
+ return this;
24
49
  }
25
- // ─── Node Management ────────────────────────────────────────────
26
- /** Add a new Lavalink node */
50
+ getPlugin(name) {
51
+ return this.plugins.get(name);
52
+ }
53
+ // ─── Node Management ──────────────────────────────────────────────
27
54
  addNode(options) {
55
+ if (this.nodes.has(options.name))
56
+ throw new YukimuError_1.YukimuError(`Node "${options.name}" already exists`);
28
57
  const node = new Node_1.Node(this, options);
29
58
  this.nodes.set(options.name, node);
30
59
  node.connect();
31
60
  return node;
32
61
  }
33
- /** Remove a node by name */
34
62
  removeNode(name) {
35
63
  const node = this.nodes.get(name);
36
64
  if (!node)
37
- throw new Error(`Node "${name}" not found`);
65
+ throw new YukimuError_1.YukimuError(`Node "${name}" not found`);
38
66
  node.destroy();
39
67
  this.nodes.delete(name);
40
68
  }
41
- /** Get the best available node (least load) */
69
+ getNode(name) {
70
+ if (name) {
71
+ const node = this.nodes.get(name);
72
+ if (!node)
73
+ throw new YukimuError_1.YukimuError(`Node "${name}" not found`);
74
+ return node;
75
+ }
76
+ return this.getBestNode();
77
+ }
42
78
  getBestNode() {
43
79
  const connected = [...this.nodes.values()].filter(n => n.connected);
44
80
  if (!connected.length)
45
- throw new Error("No connected Lavalink nodes available");
46
- return connected.sort((a, b) => {
47
- const aLoad = a.stats?.cpu?.lavalinkLoad ?? 0;
48
- const bLoad = b.stats?.cpu?.lavalinkLoad ?? 0;
49
- return aLoad - bLoad;
50
- })[0];
51
- }
52
- // ─── Player Management ───────────────────────────────────────────
53
- /** Create a new player for a guild */
81
+ throw new YukimuError_1.YukimuError("No connected Lavalink nodes available");
82
+ if (this.nodeResolver) {
83
+ const resolved = this.nodeResolver(this.nodes);
84
+ if (resolved?.connected)
85
+ return resolved;
86
+ }
87
+ return connected.sort((a, b) => a.calculatePenalties() - b.calculatePenalties())[0];
88
+ }
89
+ // ─── Player Management ────────────────────────────────────────────
54
90
  createPlayer(options) {
55
91
  const existing = this.players.get(options.guildId);
56
92
  if (existing)
57
93
  return existing;
58
- const node = options.nodeName
59
- ? this.nodes.get(options.nodeName) ?? this.getBestNode()
60
- : this.getBestNode();
94
+ const node = options.nodeName ? this.getNode(options.nodeName) : this.getBestNode();
61
95
  const player = new Player_1.Player(this, node, options);
62
96
  this.players.set(options.guildId, player);
97
+ this.pool.add(options.guildId, options.voiceChannelId);
63
98
  this.emit("playerCreate", player);
64
99
  return player;
65
100
  }
66
- /** Get an existing player */
67
101
  getPlayer(guildId) {
68
- return this.players.get(guildId);
102
+ return this.players.get(guildId) ?? null;
69
103
  }
70
- /** Destroy a player */
71
- destroyPlayer(guildId) {
104
+ async destroyPlayer(guildId) {
72
105
  const player = this.players.get(guildId);
73
106
  if (!player)
74
107
  return;
75
- player.destroy();
108
+ await player.destroy();
76
109
  this.players.delete(guildId);
110
+ this.pool.remove(guildId);
77
111
  this.emit("playerDestroy", player);
78
112
  }
79
- // ─── Search ──────────────────────────────────────────────────────
80
- /**
81
- * Search for tracks across any supported source
82
- * @param query - Search query or direct URL
83
- * @param source - Where to search (youtube, spotify, deezer, etc.)
84
- */
85
- async search(query, source = this.options.defaultSource ?? "youtube") {
86
- return this.resolver.resolve(query, source);
87
- }
88
- // ─── Discord Voice Gateway Handlers ──────────────────────────────
89
- /**
90
- * Handle Discord voice state updates — call this in your bot's
91
- * voiceStateUpdate event handler
92
- */
113
+ // ─── Search ───────────────────────────────────────────────────────
114
+ async search(query, options) {
115
+ return this.resolver.resolve(query, options?.source ?? this.options.defaultSource ?? "youtube", options?.requester);
116
+ }
117
+ // ─── Voice Gateway ────────────────────────────────────────────────
93
118
  handleVoiceStateUpdate(data) {
94
119
  if (data.user_id !== this.options.clientId)
95
120
  return;
96
121
  if (!data.guild_id)
97
122
  return;
98
123
  const player = this.players.get(data.guild_id);
99
- if (!player)
100
- return;
101
124
  if (!data.channel_id) {
102
- // Bot was disconnected from voice
103
- player.voiceChannelId = null;
104
- player.connected = false;
125
+ this.pool.remove(data.guild_id);
126
+ if (player && this.options.moveOnDisconnect) {
127
+ this.destroyPlayer(data.guild_id).catch(() => { });
128
+ }
105
129
  return;
106
130
  }
107
- player.voiceChannelId = data.channel_id;
108
- player.sessionId = data.session_id;
109
- player.connected = true;
110
- player.checkVoiceReady();
111
- }
112
- /**
113
- * Handle Discord voice server updates — call this in your bot's
114
- * voiceServerUpdate event handler
115
- */
131
+ this.pool.updateSession(data.guild_id, data.session_id, data.channel_id);
132
+ if (player) {
133
+ const oldChannel = player.voiceChannelId;
134
+ player.voiceChannelId = data.channel_id;
135
+ player.sessionId = data.session_id;
136
+ if (oldChannel && oldChannel !== data.channel_id) {
137
+ this.emit("playerMove", player, oldChannel, data.channel_id);
138
+ }
139
+ if (this.pool.isReady(data.guild_id)) {
140
+ const vs = this.pool.getVoiceState(data.guild_id);
141
+ player.voiceToken = vs.token;
142
+ player.voiceEndpoint = vs.endpoint;
143
+ player.checkVoiceReady();
144
+ this.pool.markConnected(data.guild_id);
145
+ }
146
+ }
147
+ }
116
148
  handleVoiceServerUpdate(data) {
149
+ if (!data.endpoint)
150
+ return;
151
+ this.pool.updateServer(data.guild_id, data.token, data.endpoint);
117
152
  const player = this.players.get(data.guild_id);
118
153
  if (!player)
119
154
  return;
120
- if (!data.endpoint)
121
- return;
122
155
  player.voiceToken = data.token;
123
156
  player.voiceEndpoint = data.endpoint;
124
- player.checkVoiceReady();
157
+ if (this.pool.isReady(data.guild_id)) {
158
+ player.checkVoiceReady();
159
+ this.pool.markConnected(data.guild_id);
160
+ }
125
161
  }
126
- // ─── EventEmitter typing ─────────────────────────────────────────
162
+ // ─── Utility ─────────────────────────────────────────────────────
163
+ detectSource(url) {
164
+ for (const [source, patterns] of Object.entries(Constants_1.URL_PATTERNS)) {
165
+ if (patterns.some(p => p.test(url)))
166
+ return source;
167
+ }
168
+ return null;
169
+ }
170
+ getStats() {
171
+ const nodes = [...this.nodes.values()];
172
+ return {
173
+ nodes: nodes.length,
174
+ connectedNodes: nodes.filter(n => n.connected).length,
175
+ players: this.players.size,
176
+ playingPlayers: [...this.players.values()].filter(p => p.playing).length,
177
+ cachedTracks: this.trackCache.size,
178
+ };
179
+ }
180
+ destroy() {
181
+ for (const node of this.nodes.values())
182
+ node.destroy();
183
+ for (const guildId of this.players.keys())
184
+ this.destroyPlayer(guildId).catch(() => { });
185
+ this.trackCache.destroy();
186
+ this.nodes.clear();
187
+ }
188
+ // ─── Typed EventEmitter ───────────────────────────────────────────
127
189
  on(event, listener) {
128
190
  return super.on(event, listener);
129
191
  }
192
+ once(event, listener) {
193
+ return super.once(event, listener);
194
+ }
195
+ off(event, listener) {
196
+ return super.off(event, listener);
197
+ }
130
198
  emit(event, ...args) {
131
199
  return super.emit(event, ...args);
132
200
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Yukimu.js","sourceRoot":"","sources":["../src/Yukimu.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Yukimu.js","sourceRoot":"","sources":["../src/Yukimu.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { Yukimu } from "../Yukimu";
2
+ export declare abstract class Connector {
3
+ protected manager: Yukimu;
4
+ set(manager: Yukimu): this;
5
+ abstract listen(): void;
6
+ abstract sendPayload(guildId: string, payload: unknown): void;
7
+ }
8
+ //# sourceMappingURL=Connector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Connector.d.ts","sourceRoot":"","sources":["../../src/connector/Connector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAExC,8BAAsB,SAAS;IAC7B,SAAS,CAAC,OAAO,EAAG,MAAM,CAAC;IAEpB,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;aAKjB,MAAM,IAAI,IAAI;aACd,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;CACrE"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Connector = void 0;
4
+ class Connector {
5
+ set(manager) {
6
+ this.manager = manager;
7
+ return this;
8
+ }
9
+ }
10
+ exports.Connector = Connector;
11
+ //# sourceMappingURL=Connector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Connector.js","sourceRoot":"","sources":["../../src/connector/Connector.ts"],"names":[],"mappings":";;;AAEA,MAAsB,SAAS;IAGtB,GAAG,CAAC,OAAe;QACxB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;CAIF;AAVD,8BAUC"}
@@ -0,0 +1,25 @@
1
+ import { Connector } from "./Connector";
2
+ interface DiscordJSClient {
3
+ user: {
4
+ id: string;
5
+ } | null;
6
+ guilds: {
7
+ cache: Map<string, {
8
+ shard: {
9
+ send(payload: unknown): void;
10
+ };
11
+ }>;
12
+ };
13
+ on(event: "raw", listener: (packet: {
14
+ t: string;
15
+ d: unknown;
16
+ }) => void): this;
17
+ }
18
+ export declare class DiscordJS extends Connector {
19
+ private client;
20
+ constructor(client: DiscordJSClient);
21
+ listen(): void;
22
+ sendPayload(guildId: string, payload: unknown): void;
23
+ }
24
+ export {};
25
+ //# sourceMappingURL=DiscordJS.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DiscordJS.d.ts","sourceRoot":"","sources":["../../src/connector/DiscordJS.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,UAAU,eAAe;IACvB,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC5B,MAAM,EAAE;QAAE,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE;YAAE,KAAK,EAAE;gBAAE,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;aAAE,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC;IAC5E,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,GAAG,IAAI,CAAC;CAC/E;AAED,qBAAa,SAAU,SAAQ,SAAS;IACtC,OAAO,CAAC,MAAM,CAAkB;gBAEpB,MAAM,EAAE,eAAe;IAK5B,MAAM,IAAI,IAAI;IAWd,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;CAI5D"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DiscordJS = void 0;
4
+ const Connector_1 = require("./Connector");
5
+ class DiscordJS extends Connector_1.Connector {
6
+ constructor(client) {
7
+ super();
8
+ this.client = client;
9
+ }
10
+ listen() {
11
+ this.client.on("raw", (packet) => {
12
+ if (packet.t === "VOICE_STATE_UPDATE") {
13
+ this.manager.handleVoiceStateUpdate(packet.d);
14
+ }
15
+ if (packet.t === "VOICE_SERVER_UPDATE") {
16
+ this.manager.handleVoiceServerUpdate(packet.d);
17
+ }
18
+ });
19
+ }
20
+ sendPayload(guildId, payload) {
21
+ const guild = this.client.guilds.cache.get(guildId);
22
+ if (guild)
23
+ guild.shard.send(payload);
24
+ }
25
+ }
26
+ exports.DiscordJS = DiscordJS;
27
+ //# sourceMappingURL=DiscordJS.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DiscordJS.js","sourceRoot":"","sources":["../../src/connector/DiscordJS.ts"],"names":[],"mappings":";;;AAAA,2CAAwC;AASxC,MAAa,SAAU,SAAQ,qBAAS;IAGtC,YAAY,MAAuB;QACjC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAEM,MAAM;QACX,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,MAAiC,EAAE,EAAE;YAC1D,IAAI,MAAM,CAAC,CAAC,KAAK,oBAAoB,EAAE,CAAC;gBACtC,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAoD,CAAC,CAAC;YACnG,CAAC;YACD,IAAI,MAAM,CAAC,CAAC,KAAK,qBAAqB,EAAE,CAAC;gBACvC,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAqD,CAAC,CAAC;YACrG,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,WAAW,CAAC,OAAe,EAAE,OAAgB;QAClD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACpD,IAAI,KAAK;YAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;CACF;AAvBD,8BAuBC"}
@@ -0,0 +1,23 @@
1
+ import { Connector } from "./Connector";
2
+ interface ErisClient {
3
+ guilds: Map<string, {
4
+ shard: {
5
+ id: number;
6
+ };
7
+ }>;
8
+ shards: Map<number, {
9
+ sendWS(op: number, data: unknown): void;
10
+ }>;
11
+ on(event: "rawWS", listener: (packet: {
12
+ t: string;
13
+ d: unknown;
14
+ }) => void): this;
15
+ }
16
+ export declare class Eris extends Connector {
17
+ private client;
18
+ constructor(client: ErisClient);
19
+ listen(): void;
20
+ sendPayload(guildId: string, payload: unknown): void;
21
+ }
22
+ export {};
23
+ //# sourceMappingURL=Eris.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Eris.d.ts","sourceRoot":"","sources":["../../src/connector/Eris.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,UAAU,UAAU;IAClB,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE;YAAE,EAAE,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC,CAAC;IAC/C,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IACjE,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,GAAG,IAAI,CAAC;CACjF;AAED,qBAAa,IAAK,SAAQ,SAAS;IACjC,OAAO,CAAC,MAAM,CAAa;gBAEf,MAAM,EAAE,UAAU;IAKvB,MAAM,IAAI,IAAI;IAWd,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;CAM5D"}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Eris = void 0;
4
+ const Connector_1 = require("./Connector");
5
+ class Eris extends Connector_1.Connector {
6
+ constructor(client) {
7
+ super();
8
+ this.client = client;
9
+ }
10
+ listen() {
11
+ this.client.on("rawWS", (packet) => {
12
+ if (packet.t === "VOICE_STATE_UPDATE") {
13
+ this.manager.handleVoiceStateUpdate(packet.d);
14
+ }
15
+ if (packet.t === "VOICE_SERVER_UPDATE") {
16
+ this.manager.handleVoiceServerUpdate(packet.d);
17
+ }
18
+ });
19
+ }
20
+ sendPayload(guildId, payload) {
21
+ const guild = this.client.guilds.get(guildId);
22
+ if (!guild)
23
+ return;
24
+ const shard = this.client.shards.get(guild.shard.id);
25
+ if (shard)
26
+ shard.sendWS(4, payload.d);
27
+ }
28
+ }
29
+ exports.Eris = Eris;
30
+ //# sourceMappingURL=Eris.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Eris.js","sourceRoot":"","sources":["../../src/connector/Eris.ts"],"names":[],"mappings":";;;AAAA,2CAAwC;AASxC,MAAa,IAAK,SAAQ,qBAAS;IAGjC,YAAY,MAAkB;QAC5B,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAEM,MAAM;QACX,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,MAAiC,EAAE,EAAE;YAC5D,IAAI,MAAM,CAAC,CAAC,KAAK,oBAAoB,EAAE,CAAC;gBACtC,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAoD,CAAC,CAAC;YACnG,CAAC;YACD,IAAI,MAAM,CAAC,CAAC,KAAK,qBAAqB,EAAE,CAAC;gBACvC,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAqD,CAAC,CAAC;YACrG,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,WAAW,CAAC,OAAe,EAAE,OAAgB;QAClD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC9C,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACrD,IAAI,KAAK;YAAE,KAAK,CAAC,MAAM,CAAC,CAAC,EAAG,OAA0B,CAAC,CAAC,CAAC,CAAC;IAC5D,CAAC;CACF;AAzBD,oBAyBC"}
@@ -0,0 +1,20 @@
1
+ import { Connector } from "./Connector";
2
+ interface OceanicClient {
3
+ guilds: Map<string, {
4
+ shard: {
5
+ send(payload: unknown): void;
6
+ };
7
+ }>;
8
+ on(event: "packet", listener: (packet: {
9
+ t: string;
10
+ d: unknown;
11
+ }) => void): this;
12
+ }
13
+ export declare class Oceanic extends Connector {
14
+ private client;
15
+ constructor(client: OceanicClient);
16
+ listen(): void;
17
+ sendPayload(guildId: string, payload: unknown): void;
18
+ }
19
+ export {};
20
+ //# sourceMappingURL=Oceanic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Oceanic.d.ts","sourceRoot":"","sources":["../../src/connector/Oceanic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,UAAU,aAAa;IACrB,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE;YAAE,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;SAAE,CAAA;KAAE,CAAC,CAAC;IACjE,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,GAAG,IAAI,CAAC;CAClF;AAED,qBAAa,OAAQ,SAAQ,SAAS;IACpC,OAAO,CAAC,MAAM,CAAgB;gBAElB,MAAM,EAAE,aAAa;IAK1B,MAAM,IAAI,IAAI;IAWd,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;CAI5D"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Oceanic = void 0;
4
+ const Connector_1 = require("./Connector");
5
+ class Oceanic extends Connector_1.Connector {
6
+ constructor(client) {
7
+ super();
8
+ this.client = client;
9
+ }
10
+ listen() {
11
+ this.client.on("packet", (packet) => {
12
+ if (packet.t === "VOICE_STATE_UPDATE") {
13
+ this.manager.handleVoiceStateUpdate(packet.d);
14
+ }
15
+ if (packet.t === "VOICE_SERVER_UPDATE") {
16
+ this.manager.handleVoiceServerUpdate(packet.d);
17
+ }
18
+ });
19
+ }
20
+ sendPayload(guildId, payload) {
21
+ const guild = this.client.guilds.get(guildId);
22
+ if (guild)
23
+ guild.shard.send(payload);
24
+ }
25
+ }
26
+ exports.Oceanic = Oceanic;
27
+ //# sourceMappingURL=Oceanic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Oceanic.js","sourceRoot":"","sources":["../../src/connector/Oceanic.ts"],"names":[],"mappings":";;;AAAA,2CAAwC;AAQxC,MAAa,OAAQ,SAAQ,qBAAS;IAGpC,YAAY,MAAqB;QAC/B,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAEM,MAAM;QACX,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAiC,EAAE,EAAE;YAC7D,IAAI,MAAM,CAAC,CAAC,KAAK,oBAAoB,EAAE,CAAC;gBACtC,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAoD,CAAC,CAAC;YACnG,CAAC;YACD,IAAI,MAAM,CAAC,CAAC,KAAK,qBAAqB,EAAE,CAAC;gBACvC,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAqD,CAAC,CAAC;YACrG,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,WAAW,CAAC,OAAe,EAAE,OAAgB;QAClD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC9C,IAAI,KAAK;YAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;CACF;AAvBD,0BAuBC"}
@@ -0,0 +1,15 @@
1
+ export declare class YukimuError extends Error {
2
+ constructor(message: string);
3
+ }
4
+ export declare class NodeError extends YukimuError {
5
+ constructor(message: string);
6
+ }
7
+ export declare class PlayerError extends YukimuError {
8
+ constructor(message: string);
9
+ }
10
+ export declare class RestError extends YukimuError {
11
+ readonly status: number;
12
+ readonly path: string;
13
+ constructor(message: string, status: number, path: string);
14
+ }
15
+ //# sourceMappingURL=YukimuError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"YukimuError.d.ts","sourceRoot":"","sources":["../../src/errors/YukimuError.ts"],"names":[],"mappings":"AAAA,qBAAa,WAAY,SAAQ,KAAK;gBACxB,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,SAAU,SAAQ,WAAW;gBAC5B,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,WAAY,SAAQ,WAAW;gBAC9B,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,SAAU,SAAQ,WAAW;IACxC,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,SAAgB,IAAI,EAAE,MAAM,CAAC;gBAEjB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;CAO1D"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RestError = exports.PlayerError = exports.NodeError = exports.YukimuError = void 0;
4
+ class YukimuError extends Error {
5
+ constructor(message) {
6
+ super(message);
7
+ this.name = "YukimuError";
8
+ }
9
+ }
10
+ exports.YukimuError = YukimuError;
11
+ class NodeError extends YukimuError {
12
+ constructor(message) {
13
+ super(message);
14
+ this.name = "NodeError";
15
+ }
16
+ }
17
+ exports.NodeError = NodeError;
18
+ class PlayerError extends YukimuError {
19
+ constructor(message) {
20
+ super(message);
21
+ this.name = "PlayerError";
22
+ }
23
+ }
24
+ exports.PlayerError = PlayerError;
25
+ class RestError extends YukimuError {
26
+ constructor(message, status, path) {
27
+ super(message);
28
+ this.name = "RestError";
29
+ this.status = status;
30
+ this.status = status;
31
+ this.path = path;
32
+ }
33
+ }
34
+ exports.RestError = RestError;
35
+ //# sourceMappingURL=YukimuError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"YukimuError.js","sourceRoot":"","sources":["../../src/errors/YukimuError.ts"],"names":[],"mappings":";;;AAAA,MAAa,WAAY,SAAQ,KAAK;IACpC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;IAC5B,CAAC;CACF;AALD,kCAKC;AAED,MAAa,SAAU,SAAQ,WAAW;IACxC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;IAC1B,CAAC;CACF;AALD,8BAKC;AAED,MAAa,WAAY,SAAQ,WAAW;IAC1C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;IAC5B,CAAC;CACF;AALD,kCAKC;AAED,MAAa,SAAU,SAAQ,WAAW;IAIxC,YAAY,OAAe,EAAE,MAAc,EAAE,IAAY;QACvD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAXD,8BAWC"}
package/dist/index.d.ts CHANGED
@@ -2,6 +2,19 @@ export { Yukimu } from "./Yukimu";
2
2
  export { Node } from "./Node";
3
3
  export { Player } from "./Player";
4
4
  export { Queue } from "./Queue";
5
+ export { Rest } from "./Rest";
5
6
  export { Resolver } from "./Resolver";
6
- export * from "./types";
7
+ export { ConnectionPool } from "./ConnectionPool";
8
+ export { TrackCache } from "./TrackCache";
9
+ export { WsQueue } from "./WsQueue";
10
+ export { Plugin } from "./Plugin";
11
+ export { Connector } from "./connector/Connector";
12
+ export { DiscordJS } from "./connector/DiscordJS";
13
+ export { Eris } from "./connector/Eris";
14
+ export { Oceanic } from "./connector/Oceanic";
15
+ export { PlayerMoved } from "./plugins/PlayerMoved";
16
+ export { AutoResume } from "./plugins/AutoResume";
17
+ export { YukimuError, NodeError, PlayerError, RestError } from "./errors/YukimuError";
18
+ export * from "./Constants";
19
+ export type { YukimuOptions, NodeOptions, NodeStats, NodeInfo, PlayerOptions, SpotifyOptions, SearchSource, Track, TrackInfo, SearchResult, PlaylistInfo, LavalinkException, VoiceState, FilterOptions, YukimuEvents, } from "./types";
7
20
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAG9C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAGlD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGtF,cAAc,aAAa,CAAC;AAG5B,YAAY,EACV,aAAa,EACb,WAAW,EACX,SAAS,EACT,QAAQ,EACR,aAAa,EACb,cAAc,EACd,YAAY,EACZ,KAAK,EACL,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,UAAU,EACV,aAAa,EACb,YAAY,GACb,MAAM,SAAS,CAAC"}