yukimu 1.3.0 → 2.0.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.
- package/dist/BitrateOptimizer.d.ts +52 -0
- package/dist/BitrateOptimizer.d.ts.map +1 -0
- package/dist/BitrateOptimizer.js +115 -0
- package/dist/BitrateOptimizer.js.map +1 -0
- package/dist/ConnectionPool.d.ts +52 -3
- package/dist/ConnectionPool.d.ts.map +1 -1
- package/dist/ConnectionPool.js +124 -32
- package/dist/ConnectionPool.js.map +1 -1
- package/dist/Constants.d.ts +27 -2
- package/dist/Constants.d.ts.map +1 -1
- package/dist/Constants.js +133 -11
- package/dist/Constants.js.map +1 -1
- package/dist/Logger.d.ts +22 -0
- package/dist/Logger.d.ts.map +1 -0
- package/dist/Logger.js +74 -0
- package/dist/Logger.js.map +1 -0
- package/dist/Node.d.ts +17 -4
- package/dist/Node.d.ts.map +1 -1
- package/dist/Node.js +226 -88
- package/dist/Node.js.map +1 -1
- package/dist/Player.d.ts +74 -7
- package/dist/Player.d.ts.map +1 -1
- package/dist/Player.js +317 -92
- package/dist/Player.js.map +1 -1
- package/dist/Plugin.d.ts +19 -1
- package/dist/Plugin.d.ts.map +1 -1
- package/dist/Plugin.js +8 -0
- package/dist/Plugin.js.map +1 -1
- package/dist/Queue.d.ts +69 -2
- package/dist/Queue.d.ts.map +1 -1
- package/dist/Queue.js +138 -17
- package/dist/Queue.js.map +1 -1
- package/dist/Resolver.d.ts +33 -2
- package/dist/Resolver.d.ts.map +1 -1
- package/dist/Resolver.js +225 -33
- package/dist/Resolver.js.map +1 -1
- package/dist/Rest.d.ts +27 -4
- package/dist/Rest.d.ts.map +1 -1
- package/dist/Rest.js +157 -25
- package/dist/Rest.js.map +1 -1
- package/dist/TrackCache.d.ts +30 -5
- package/dist/TrackCache.d.ts.map +1 -1
- package/dist/TrackCache.js +119 -15
- package/dist/TrackCache.js.map +1 -1
- package/dist/WsQueue.d.ts +31 -1
- package/dist/WsQueue.d.ts.map +1 -1
- package/dist/WsQueue.js +70 -12
- package/dist/WsQueue.js.map +1 -1
- package/dist/Yukimu.d.ts +38 -5
- package/dist/Yukimu.d.ts.map +1 -1
- package/dist/Yukimu.js +150 -57
- package/dist/Yukimu.js.map +1 -1
- package/dist/connector/Connector.d.ts +26 -0
- package/dist/connector/Connector.d.ts.map +1 -1
- package/dist/connector/Connector.js +28 -0
- package/dist/connector/Connector.js.map +1 -1
- package/dist/connector/DiscordJS.d.ts +20 -1
- package/dist/connector/DiscordJS.d.ts.map +1 -1
- package/dist/connector/DiscordJS.js +44 -2
- package/dist/connector/DiscordJS.js.map +1 -1
- package/dist/connector/Eris.d.ts +12 -1
- package/dist/connector/Eris.d.ts.map +1 -1
- package/dist/connector/Eris.js +40 -6
- package/dist/connector/Eris.js.map +1 -1
- package/dist/connector/Oceanic.d.ts +12 -1
- package/dist/connector/Oceanic.d.ts.map +1 -1
- package/dist/connector/Oceanic.js +39 -4
- package/dist/connector/Oceanic.js.map +1 -1
- package/dist/errors/YukimuError.d.ts +40 -4
- package/dist/errors/YukimuError.d.ts.map +1 -1
- package/dist/errors/YukimuError.js +79 -8
- package/dist/errors/YukimuError.js.map +1 -1
- package/dist/index.d.ts +13 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +30 -16
- package/dist/index.js.map +1 -1
- package/dist/plugins/AutoResume.d.ts +18 -1
- package/dist/plugins/AutoResume.d.ts.map +1 -1
- package/dist/plugins/AutoResume.js +109 -21
- package/dist/plugins/AutoResume.js.map +1 -1
- package/dist/plugins/AutoplayPlugin.d.ts +35 -0
- package/dist/plugins/AutoplayPlugin.d.ts.map +1 -0
- package/dist/plugins/AutoplayPlugin.js +111 -0
- package/dist/plugins/AutoplayPlugin.js.map +1 -0
- package/dist/plugins/InactivityPlugin.d.ts +30 -0
- package/dist/plugins/InactivityPlugin.d.ts.map +1 -0
- package/dist/plugins/InactivityPlugin.js +86 -0
- package/dist/plugins/InactivityPlugin.js.map +1 -0
- package/dist/plugins/PlayerMoved.d.ts +23 -1
- package/dist/plugins/PlayerMoved.d.ts.map +1 -1
- package/dist/plugins/PlayerMoved.js +57 -12
- package/dist/plugins/PlayerMoved.js.map +1 -1
- package/dist/types.d.ts +198 -71
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -0
- package/dist/types.js.map +1 -1
- package/package.json +49 -5
- package/.cache/replit/env/latest +0 -88
- package/.cache/replit/env/latest.json +0 -1
- package/.cache/replit/modules/nodejs-20.res +0 -1
- package/.cache/replit/modules/python-3.11.res +0 -1
- package/.cache/replit/modules/replit.res +0 -1
- package/.cache/replit/modules.stamp +0 -0
- package/.cache/replit/nix/dotreplitenv.json +0 -1
- package/.cache/replit/toolchain.json +0 -1
- package/.local/state/workflow-logs/7zVU0iVo-fBL1ccMCmELy/configure_your_app.packager.installForAll.0 +0 -9
- package/.local/state/workflow-logs/7zVU0iVo-fBL1ccMCmELy/configure_your_app.shell.exec.1 +0 -1
- package/.local/state/workflow-logs/KRgHXizaECjWI5nWtS7Dj/configure_your_app.packager.installForAll.0 +0 -1
- package/.local/state/workflow-logs/KRgHXizaECjWI5nWtS7Dj/configure_your_app.shell.exec.1 +0 -1
- package/.local/state/workflow-logs/U0AinJQVHonnwGjj0RXLn/configure_your_app.packager.installForAll.0 +0 -2
- package/.local/state/workflow-logs/jVavLOnv1MqxUvxhMmqER/configure_your_app.packager.installForAll.0 +0 -1
- package/.local/state/workflow-logs/jVavLOnv1MqxUvxhMmqER/configure_your_app.shell.exec.1 +0 -1
- package/.replit +0 -7
- package/.upm/store.json +0 -1
- package/src/ConnectionPool.ts +0 -114
- package/src/Constants.ts +0 -45
- package/src/Node.ts +0 -302
- package/src/Player.ts +0 -332
- package/src/Plugin.ts +0 -7
- package/src/Queue.ts +0 -66
- package/src/Resolver.ts +0 -90
- package/src/Rest.ts +0 -127
- package/src/TrackCache.ts +0 -46
- package/src/WsQueue.ts +0 -58
- package/src/Yukimu.ts +0 -213
- package/src/connector/Connector.ts +0 -13
- package/src/connector/DiscordJS.ts +0 -26
- package/src/connector/Eris.ts +0 -24
- package/src/connector/Oceanic.ts +0 -22
- package/src/errors/YukimuError.ts +0 -31
- package/src/index.ts +0 -24
- package/src/plugins/AutoResume.ts +0 -37
- package/src/plugins/PlayerMoved.ts +0 -26
- package/src/types.ts +0 -145
- package/tsconfig.json +0 -22
|
@@ -1,29 +1,74 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/** Yukimu v2.0.0 — PlayerMoved Plugin */
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.PlayerMoved = void 0;
|
|
4
5
|
const Plugin_1 = require("../Plugin");
|
|
6
|
+
/**
|
|
7
|
+
* Handles player behavior when the bot is moved between channels
|
|
8
|
+
* or disconnected from voice.
|
|
9
|
+
*
|
|
10
|
+
* Improvements from v1:
|
|
11
|
+
* - Configurable behavior (destroy, pause, or ignore)
|
|
12
|
+
* - Handles additional close codes (4015 for voice server crash)
|
|
13
|
+
* - Proper unload() with listener cleanup
|
|
14
|
+
*/
|
|
5
15
|
class PlayerMoved extends Plugin_1.Plugin {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
16
|
+
name = "PlayerMoved";
|
|
17
|
+
options;
|
|
18
|
+
boundListeners = new Map();
|
|
19
|
+
constructor(options = {}) {
|
|
20
|
+
super();
|
|
21
|
+
this.options = {
|
|
22
|
+
onDisconnect: options.onDisconnect ?? "destroy",
|
|
23
|
+
onSocketClose: options.onSocketClose ?? "destroy",
|
|
24
|
+
closeCodes: options.closeCodes ?? [4014, 4006, 4015],
|
|
25
|
+
};
|
|
9
26
|
}
|
|
10
27
|
load(manager) {
|
|
11
|
-
|
|
28
|
+
const onPlayerMove = async (player, _oldChannel, newChannel) => {
|
|
12
29
|
if (!newChannel) {
|
|
13
|
-
|
|
14
|
-
|
|
30
|
+
// Bot was disconnected from voice
|
|
31
|
+
switch (this.options.onDisconnect) {
|
|
32
|
+
case "destroy":
|
|
33
|
+
await manager.destroyPlayer(player.guildId).catch(() => { });
|
|
34
|
+
break;
|
|
35
|
+
case "pause":
|
|
36
|
+
await player.pause(true).catch(() => { });
|
|
37
|
+
break;
|
|
38
|
+
case "none":
|
|
39
|
+
break;
|
|
15
40
|
}
|
|
16
41
|
return;
|
|
17
42
|
}
|
|
43
|
+
// Bot was moved to a different channel — update is already handled by Yukimu
|
|
18
44
|
player.voiceChannelId = newChannel;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
if (code
|
|
22
|
-
|
|
23
|
-
|
|
45
|
+
};
|
|
46
|
+
const onSocketClosed = async (player, code, _reason, _byRemote) => {
|
|
47
|
+
if (this.options.closeCodes.includes(code)) {
|
|
48
|
+
switch (this.options.onSocketClose) {
|
|
49
|
+
case "destroy":
|
|
50
|
+
manager.logger.info(`[PlayerMoved] Destroying player for guild ${player.guildId} (socket closed: ${code})`);
|
|
51
|
+
await manager.destroyPlayer(player.guildId).catch(() => { });
|
|
52
|
+
break;
|
|
53
|
+
case "pause":
|
|
54
|
+
manager.logger.info(`[PlayerMoved] Pausing player for guild ${player.guildId} (socket closed: ${code})`);
|
|
55
|
+
await player.pause(true).catch(() => { });
|
|
56
|
+
break;
|
|
57
|
+
case "none":
|
|
58
|
+
break;
|
|
24
59
|
}
|
|
25
60
|
}
|
|
26
|
-
}
|
|
61
|
+
};
|
|
62
|
+
this.boundListeners.set("playerMove", onPlayerMove);
|
|
63
|
+
this.boundListeners.set("socketClosed", onSocketClosed);
|
|
64
|
+
manager.on("playerMove", onPlayerMove);
|
|
65
|
+
manager.on("socketClosed", onSocketClosed);
|
|
66
|
+
}
|
|
67
|
+
unload(manager) {
|
|
68
|
+
for (const [event, listener] of this.boundListeners) {
|
|
69
|
+
manager.off(event, listener);
|
|
70
|
+
}
|
|
71
|
+
this.boundListeners.clear();
|
|
27
72
|
}
|
|
28
73
|
}
|
|
29
74
|
exports.PlayerMoved = PlayerMoved;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlayerMoved.js","sourceRoot":"","sources":["../../src/plugins/PlayerMoved.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PlayerMoved.js","sourceRoot":"","sources":["../../src/plugins/PlayerMoved.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,54 +1,121 @@
|
|
|
1
|
+
/** Yukimu v2.0.0 — Core Type Definitions */
|
|
1
2
|
export interface YukimuOptions {
|
|
3
|
+
/** The Discord bot's client/user ID */
|
|
2
4
|
clientId: string;
|
|
5
|
+
/** The Discord bot token (used by some connectors) */
|
|
3
6
|
token?: string;
|
|
7
|
+
/** Default search source when no source is specified */
|
|
4
8
|
defaultSource?: SearchSource;
|
|
9
|
+
/** Spotify API credentials for fallback metadata resolution */
|
|
5
10
|
spotify?: SpotifyOptions;
|
|
11
|
+
/** Whether to destroy players when the bot is disconnected from voice */
|
|
6
12
|
moveOnDisconnect?: boolean;
|
|
13
|
+
/** Timeout in ms for voice connections before retrying (default: 15000) */
|
|
7
14
|
voiceConnectionTimeout?: number;
|
|
15
|
+
/** Log level for the built-in logger (default: "info") */
|
|
16
|
+
logLevel?: LogLevel;
|
|
17
|
+
/** Custom logger implementation — overrides built-in logger */
|
|
18
|
+
logger?: YukimuLogger;
|
|
19
|
+
/** Maximum number of tracks to keep in the global track cache (default: 1000) */
|
|
20
|
+
maxCacheSize?: number;
|
|
21
|
+
/** TTL in ms for cached tracks (default: 3600000 = 1 hour) */
|
|
22
|
+
cacheTTL?: number;
|
|
8
23
|
}
|
|
9
24
|
export interface NodeOptions {
|
|
25
|
+
/** Unique name for this node */
|
|
10
26
|
name: string;
|
|
27
|
+
/** Lavalink server host (IP or domain, no protocol) */
|
|
11
28
|
host: string;
|
|
29
|
+
/** Lavalink server port */
|
|
12
30
|
port: number;
|
|
31
|
+
/** Lavalink server password */
|
|
13
32
|
password: string;
|
|
33
|
+
/** Whether to use TLS (wss/https) */
|
|
14
34
|
secure?: boolean;
|
|
35
|
+
/** Max reconnection attempts before giving up (default: 5) */
|
|
15
36
|
retries?: number;
|
|
37
|
+
/** Lavalink protocol version (default: 4) */
|
|
16
38
|
version?: 3 | 4;
|
|
39
|
+
/** Resume key for session resuming */
|
|
17
40
|
resumeKey?: string;
|
|
41
|
+
/** Resume timeout in seconds (default: 60) */
|
|
18
42
|
resumeTimeout?: number;
|
|
43
|
+
/** Node priority/weight — lower = preferred (default: 0) */
|
|
44
|
+
priority?: number;
|
|
45
|
+
/** Connection timeout in ms (default: 10000) */
|
|
46
|
+
connectionTimeout?: number;
|
|
19
47
|
}
|
|
20
48
|
export interface SpotifyOptions {
|
|
21
49
|
clientId: string;
|
|
22
50
|
clientSecret: string;
|
|
23
51
|
}
|
|
24
|
-
export
|
|
52
|
+
export interface PlayerOptions {
|
|
53
|
+
/** The guild ID this player belongs to */
|
|
54
|
+
guildId: string;
|
|
55
|
+
/** The voice channel to join */
|
|
56
|
+
voiceChannelId: string;
|
|
57
|
+
/** The text channel for notifications (informational only) */
|
|
58
|
+
textChannelId?: string;
|
|
59
|
+
/** Whether the bot should self-deafen (default: true) */
|
|
60
|
+
selfDeaf?: boolean;
|
|
61
|
+
/** Whether the bot should self-mute (default: false) */
|
|
62
|
+
selfMute?: boolean;
|
|
63
|
+
/** Preferred node name — falls back to best available */
|
|
64
|
+
nodeName?: string;
|
|
65
|
+
/** Initial volume 0–1000 (default: 100) */
|
|
66
|
+
volume?: number;
|
|
67
|
+
}
|
|
68
|
+
export type SearchSource = "youtube" | "youtubemusic" | "spotify" | "deezer" | "applemusic" | "soundcloud" | "tidal" | "jiosaavn" | "yandexmusic" | "bandcamp" | "vimeo" | "twitch" | "tiktok" | "facebook" | "twitter" | "reddit" | "instagram" | "pornhub" | "mixcloud" | "bilibili" | "http";
|
|
25
69
|
export interface Track {
|
|
70
|
+
/** Base64-encoded track data for Lavalink */
|
|
26
71
|
encoded: string;
|
|
72
|
+
/** Decoded track metadata */
|
|
27
73
|
info: TrackInfo;
|
|
28
|
-
|
|
29
|
-
|
|
74
|
+
/** Plugin-specific metadata from Lavalink plugins */
|
|
75
|
+
pluginInfo?: Record<string, unknown>;
|
|
76
|
+
/** User who requested this track (set by application) */
|
|
77
|
+
requester?: unknown;
|
|
30
78
|
}
|
|
31
79
|
export interface TrackInfo {
|
|
80
|
+
/** Platform-specific track identifier */
|
|
32
81
|
identifier: string;
|
|
82
|
+
/** Whether the track supports seeking */
|
|
33
83
|
isSeekable: boolean;
|
|
84
|
+
/** Track artist/author */
|
|
34
85
|
author: string;
|
|
86
|
+
/** Track duration in milliseconds (0 for streams) */
|
|
35
87
|
length: number;
|
|
88
|
+
/** Whether this is a live stream */
|
|
36
89
|
isStream: boolean;
|
|
90
|
+
/** Current playback position in ms */
|
|
37
91
|
position: number;
|
|
92
|
+
/** Track title */
|
|
38
93
|
title: string;
|
|
94
|
+
/** Track URL */
|
|
39
95
|
uri?: string;
|
|
96
|
+
/** Artwork/thumbnail URL */
|
|
40
97
|
artworkUrl?: string;
|
|
98
|
+
/** Legacy thumbnail field */
|
|
41
99
|
thumbnail?: string;
|
|
100
|
+
/** International Standard Recording Code */
|
|
42
101
|
isrc?: string;
|
|
102
|
+
/** Source platform name (e.g., "youtube", "spotify") */
|
|
43
103
|
sourceName: string;
|
|
44
104
|
}
|
|
105
|
+
export type LoadType = "track" | "playlist" | "search" | "empty" | "error";
|
|
45
106
|
export interface SearchResult {
|
|
46
|
-
|
|
107
|
+
/** The type of result returned by Lavalink */
|
|
108
|
+
loadType: LoadType;
|
|
109
|
+
/** Array of resolved tracks */
|
|
47
110
|
tracks: Track[];
|
|
111
|
+
/** Playlist metadata (only for loadType "playlist") */
|
|
48
112
|
playlistInfo?: PlaylistInfo;
|
|
113
|
+
/** Error details (only for loadType "error") */
|
|
49
114
|
exception?: LavalinkException;
|
|
50
|
-
|
|
51
|
-
|
|
115
|
+
/** Plugin-specific data from Lavalink plugins */
|
|
116
|
+
pluginInfo?: Record<string, unknown>;
|
|
117
|
+
/** Raw data field from Lavalink v4.2+ responses */
|
|
118
|
+
data?: unknown;
|
|
52
119
|
}
|
|
53
120
|
export interface PlaylistInfo {
|
|
54
121
|
name: string;
|
|
@@ -62,15 +129,6 @@ export interface LavalinkException {
|
|
|
62
129
|
severity: string;
|
|
63
130
|
cause: string;
|
|
64
131
|
}
|
|
65
|
-
export interface PlayerOptions {
|
|
66
|
-
guildId: string;
|
|
67
|
-
voiceChannelId: string;
|
|
68
|
-
textChannelId?: string;
|
|
69
|
-
selfDeaf?: boolean;
|
|
70
|
-
selfMute?: boolean;
|
|
71
|
-
nodeName?: string;
|
|
72
|
-
volume?: number;
|
|
73
|
-
}
|
|
74
132
|
export interface VoiceState {
|
|
75
133
|
token: string;
|
|
76
134
|
endpoint: string;
|
|
@@ -115,68 +173,137 @@ export interface NodeInfo {
|
|
|
115
173
|
lavaplayer: string;
|
|
116
174
|
sourceManagers: string[];
|
|
117
175
|
filters: string[];
|
|
118
|
-
plugins: {
|
|
176
|
+
plugins: Array<{
|
|
119
177
|
name: string;
|
|
120
178
|
version: string;
|
|
121
|
-
}
|
|
179
|
+
}>;
|
|
122
180
|
}
|
|
123
181
|
export interface FilterOptions {
|
|
124
|
-
equalizer?:
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
};
|
|
134
|
-
timescale?: {
|
|
135
|
-
speed?: number;
|
|
136
|
-
pitch?: number;
|
|
137
|
-
rate?: number;
|
|
138
|
-
};
|
|
139
|
-
tremolo?: {
|
|
140
|
-
frequency?: number;
|
|
141
|
-
depth?: number;
|
|
142
|
-
};
|
|
143
|
-
vibrato?: {
|
|
144
|
-
frequency?: number;
|
|
145
|
-
depth?: number;
|
|
146
|
-
};
|
|
147
|
-
rotation?: {
|
|
148
|
-
rotationHz?: number;
|
|
149
|
-
};
|
|
150
|
-
distortion?: any;
|
|
151
|
-
channelMix?: {
|
|
152
|
-
leftToLeft?: number;
|
|
153
|
-
leftToRight?: number;
|
|
154
|
-
rightToLeft?: number;
|
|
155
|
-
rightToRight?: number;
|
|
156
|
-
};
|
|
157
|
-
lowPass?: {
|
|
158
|
-
smoothing?: number;
|
|
159
|
-
};
|
|
182
|
+
equalizer?: EqualizerBand[];
|
|
183
|
+
karaoke?: KaraokeSettings | Record<string, never>;
|
|
184
|
+
timescale?: TimescaleSettings | Record<string, never>;
|
|
185
|
+
tremolo?: TremoloSettings | Record<string, never>;
|
|
186
|
+
vibrato?: VibratoSettings | Record<string, never>;
|
|
187
|
+
rotation?: RotationSettings | Record<string, never>;
|
|
188
|
+
distortion?: DistortionSettings | Record<string, never>;
|
|
189
|
+
channelMix?: ChannelMixSettings | Record<string, never>;
|
|
190
|
+
lowPass?: LowPassSettings | Record<string, never>;
|
|
160
191
|
volume?: number;
|
|
161
|
-
[key: string]:
|
|
192
|
+
[key: string]: unknown;
|
|
193
|
+
}
|
|
194
|
+
export interface EqualizerBand {
|
|
195
|
+
band: number;
|
|
196
|
+
gain: number;
|
|
197
|
+
}
|
|
198
|
+
export interface KaraokeSettings {
|
|
199
|
+
level?: number;
|
|
200
|
+
monoLevel?: number;
|
|
201
|
+
filterBand?: number;
|
|
202
|
+
filterWidth?: number;
|
|
203
|
+
}
|
|
204
|
+
export interface TimescaleSettings {
|
|
205
|
+
speed?: number;
|
|
206
|
+
pitch?: number;
|
|
207
|
+
rate?: number;
|
|
162
208
|
}
|
|
209
|
+
export interface TremoloSettings {
|
|
210
|
+
frequency?: number;
|
|
211
|
+
depth?: number;
|
|
212
|
+
}
|
|
213
|
+
export interface VibratoSettings {
|
|
214
|
+
frequency?: number;
|
|
215
|
+
depth?: number;
|
|
216
|
+
}
|
|
217
|
+
export interface RotationSettings {
|
|
218
|
+
rotationHz?: number;
|
|
219
|
+
}
|
|
220
|
+
export interface DistortionSettings {
|
|
221
|
+
sinOffset?: number;
|
|
222
|
+
sinScale?: number;
|
|
223
|
+
cosOffset?: number;
|
|
224
|
+
cosScale?: number;
|
|
225
|
+
tanOffset?: number;
|
|
226
|
+
tanScale?: number;
|
|
227
|
+
offset?: number;
|
|
228
|
+
scale?: number;
|
|
229
|
+
}
|
|
230
|
+
export interface ChannelMixSettings {
|
|
231
|
+
leftToLeft?: number;
|
|
232
|
+
leftToRight?: number;
|
|
233
|
+
rightToLeft?: number;
|
|
234
|
+
rightToRight?: number;
|
|
235
|
+
}
|
|
236
|
+
export interface LowPassSettings {
|
|
237
|
+
smoothing?: number;
|
|
238
|
+
}
|
|
239
|
+
/** Discord server boost tier (0 = none, 1/2/3 = boost levels) */
|
|
240
|
+
export type BoostTier = 0 | 1 | 2 | 3;
|
|
241
|
+
export interface BitrateConfig {
|
|
242
|
+
/** Max bitrate in kbps for this boost tier */
|
|
243
|
+
maxBitrate: number;
|
|
244
|
+
/** Recommended Lavalink volume for optimal clarity */
|
|
245
|
+
recommendedVolume: number;
|
|
246
|
+
/** Whether to apply clarity-enhancing EQ */
|
|
247
|
+
enhancedEQ: boolean;
|
|
248
|
+
}
|
|
249
|
+
export type LogLevel = "none" | "error" | "warn" | "info" | "debug";
|
|
250
|
+
export interface YukimuLogger {
|
|
251
|
+
debug(message: string, ...args: unknown[]): void;
|
|
252
|
+
info(message: string, ...args: unknown[]): void;
|
|
253
|
+
warn(message: string, ...args: unknown[]): void;
|
|
254
|
+
error(message: string, ...args: unknown[]): void;
|
|
255
|
+
}
|
|
256
|
+
export type LoopMode = "none" | "track" | "queue";
|
|
257
|
+
import type { Node } from "./Node";
|
|
258
|
+
import type { Player } from "./Player";
|
|
163
259
|
export type YukimuEvents = {
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
260
|
+
/** Emitted when a node begins connecting */
|
|
261
|
+
nodeConnecting: [node: Node];
|
|
262
|
+
/** Emitted when the WebSocket connects (before ready) */
|
|
263
|
+
nodeConnect: [node: Node];
|
|
264
|
+
/** Emitted when the node is fully ready (session established) */
|
|
265
|
+
nodeReady: [node: Node];
|
|
266
|
+
/** Emitted when a node disconnects */
|
|
267
|
+
nodeDisconnect: [node: Node, code: number, reason: string];
|
|
268
|
+
/** Emitted when a node encounters an error */
|
|
269
|
+
nodeError: [node: Node, error: Error];
|
|
270
|
+
/** Emitted when a node begins reconnecting */
|
|
271
|
+
nodeReconnecting: [node: Node, attempt: number, maxAttempts: number];
|
|
272
|
+
/** Emitted when a track starts playing */
|
|
273
|
+
trackStart: [player: Player, track: Track];
|
|
274
|
+
/** Emitted when a track ends */
|
|
275
|
+
trackEnd: [player: Player, track: Track, reason: string];
|
|
276
|
+
/** Emitted when a track encounters an error during playback */
|
|
277
|
+
trackError: [player: Player, track: Track, exception: LavalinkException];
|
|
278
|
+
/** Emitted when a track gets stuck during playback */
|
|
279
|
+
trackStuck: [player: Player, track: Track, threshold: number];
|
|
280
|
+
/** Emitted when a new player is created */
|
|
281
|
+
playerCreate: [player: Player];
|
|
282
|
+
/** Emitted when a player is destroyed */
|
|
283
|
+
playerDestroy: [player: Player];
|
|
284
|
+
/** Emitted on periodic player state updates from Lavalink */
|
|
285
|
+
playerUpdate: [player: Player];
|
|
286
|
+
/** Emitted when a player moves between voice channels */
|
|
287
|
+
playerMove: [player: Player, oldChannel: string, newChannel: string];
|
|
288
|
+
/** Emitted when a player encounters an error */
|
|
289
|
+
playerError: [player: Player, error: Error];
|
|
290
|
+
/** Emitted when the queue is empty after a track ends */
|
|
291
|
+
queueEnd: [player: Player];
|
|
292
|
+
/** Emitted when autoplay is enabled and the queue is empty */
|
|
293
|
+
autoplayRequest: [player: Player, lastTrack: Track];
|
|
294
|
+
/** Emitted when the Discord voice WebSocket closes */
|
|
295
|
+
socketClosed: [player: Player, code: number, reason: string, byRemote: boolean];
|
|
296
|
+
/** Debug information (only when logLevel is "debug") */
|
|
297
|
+
debug: [message: string];
|
|
181
298
|
};
|
|
299
|
+
export interface RetryOptions {
|
|
300
|
+
/** Maximum number of retries */
|
|
301
|
+
maxRetries: number;
|
|
302
|
+
/** Base delay in ms (will be multiplied by backoff factor) */
|
|
303
|
+
baseDelay: number;
|
|
304
|
+
/** Maximum delay in ms */
|
|
305
|
+
maxDelay: number;
|
|
306
|
+
/** Whether to add random jitter to delay */
|
|
307
|
+
jitter: boolean;
|
|
308
|
+
}
|
|
182
309
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,YAAY,CAAC;IAC7B,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,sBAAsB,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAI5C,MAAM,WAAW,aAAa;IAC5B,uCAAuC;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,sDAAsD;IACtD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,aAAa,CAAC,EAAE,YAAY,CAAC;IAC7B,+DAA+D;IAC/D,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,yEAAyE;IACzE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,2EAA2E;IAC3E,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,+DAA+D;IAC/D,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,iFAAiF;IACjF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,+BAA+B;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,qCAAqC;IACrC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6CAA6C;IAC7C,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAChB,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8CAA8C;IAC9C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gDAAgD;IAChD,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,0CAA0C;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,gCAAgC;IAChC,cAAc,EAAE,MAAM,CAAC;IACvB,8DAA8D;IAC9D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,yDAAyD;IACzD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,wDAAwD;IACxD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yDAAyD;IACzD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2CAA2C;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAID,MAAM,MAAM,YAAY,GACpB,SAAS,GACT,cAAc,GACd,SAAS,GACT,QAAQ,GACR,YAAY,GACZ,YAAY,GACZ,OAAO,GACP,UAAU,GACV,aAAa,GACb,UAAU,GACV,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,UAAU,GACV,SAAS,GACT,QAAQ,GACR,WAAW,GACX,SAAS,GACT,UAAU,GACV,UAAU,GACV,MAAM,CAAC;AAIX,MAAM,WAAW,KAAK;IACpB,6CAA6C;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,6BAA6B;IAC7B,IAAI,EAAE,SAAS,CAAC;IAChB,qDAAqD;IACrD,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,yDAAyD;IACzD,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,SAAS;IACxB,yCAAyC;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,yCAAyC;IACzC,UAAU,EAAE,OAAO,CAAC;IACpB,0BAA0B;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,MAAM,EAAE,MAAM,CAAC;IACf,oCAAoC;IACpC,QAAQ,EAAE,OAAO,CAAC;IAClB,sCAAsC;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,4BAA4B;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4CAA4C;IAC5C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wDAAwD;IACxD,UAAU,EAAE,MAAM,CAAC;CACpB;AAID,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC;AAE3E,MAAM,WAAW,YAAY;IAC3B,8CAA8C;IAC9C,QAAQ,EAAE,QAAQ,CAAC;IACnB,+BAA+B;IAC/B,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,uDAAuD;IACvD,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,gDAAgD;IAChD,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,iDAAiD;IACjD,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,mDAAmD;IACnD,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAID,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAID,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,GAAG,EAAE;QACH,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,UAAU,CAAC,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAED,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE;QACH,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACnD;AAID,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,EAAE,aAAa,EAAE,CAAC;IAC5B,OAAO,CAAC,EAAE,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAClD,SAAS,CAAC,EAAE,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACtD,OAAO,CAAC,EAAE,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAClD,OAAO,CAAC,EAAE,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAClD,QAAQ,CAAC,EAAE,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACpD,UAAU,CAAC,EAAE,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACxD,UAAU,CAAC,EAAE,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACxD,OAAO,CAAC,EAAE,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAClD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAID,iEAAiE;AACjE,MAAM,MAAM,SAAS,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAEtC,MAAM,WAAW,aAAa;IAC5B,8CAA8C;IAC9C,UAAU,EAAE,MAAM,CAAC;IACnB,sDAAsD;IACtD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,4CAA4C;IAC5C,UAAU,EAAE,OAAO,CAAC;CACrB;AAID,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAEpE,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACjD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAChD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAChD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;CAClD;AAID,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAIlD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEvC,MAAM,MAAM,YAAY,GAAG;IACzB,4CAA4C;IAC5C,cAAc,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC7B,yDAAyD;IACzD,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC1B,iEAAiE;IACjE,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACxB,sCAAsC;IACtC,cAAc,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3D,8CAA8C;IAC9C,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACtC,8CAA8C;IAC9C,gBAAgB,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;IAErE,0CAA0C;IAC1C,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC3C,gCAAgC;IAChC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACzD,+DAA+D;IAC/D,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,iBAAiB,CAAC,CAAC;IACzE,sDAAsD;IACtD,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAE9D,2CAA2C;IAC3C,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,yCAAyC;IACzC,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,6DAA6D;IAC7D,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,yDAAyD;IACzD,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IACrE,gDAAgD;IAChD,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAE5C,yDAAyD;IACzD,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3B,8DAA8D;IAC9D,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IACpD,sDAAsD;IACtD,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAEhF,wDAAwD;IACxD,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;CAC1B,CAAC;AAIF,MAAM,WAAW,YAAY;IAC3B,gCAAgC;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,8DAA8D;IAC9D,SAAS,EAAE,MAAM,CAAC;IAClB,0BAA0B;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,4CAA4C;IAC5C,MAAM,EAAE,OAAO,CAAC;CACjB"}
|
package/dist/types.js
CHANGED
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA,4CAA4C"}
|
package/package.json
CHANGED
|
@@ -1,15 +1,54 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "yukimu",
|
|
3
|
-
"version": "
|
|
4
|
-
"description": "A
|
|
3
|
+
"version": "2.0.0",
|
|
4
|
+
"description": "A production-grade Lavalink v3/v4 wrapper for Discord bots — supports YouTube, Spotify, Deezer, Apple Music, SoundCloud, Tidal, Bandcamp, Twitch, Vimeo, TikTok, and 15+ more sources with adaptive bitrate, auto-reconnect, and typed events",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": {
|
|
9
|
+
"types": "./dist/index.d.ts",
|
|
10
|
+
"require": "./dist/index.js",
|
|
11
|
+
"default": "./dist/index.js"
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"dist/**/*.js",
|
|
16
|
+
"dist/**/*.d.ts",
|
|
17
|
+
"dist/**/*.d.ts.map",
|
|
18
|
+
"dist/**/*.js.map",
|
|
19
|
+
"README.md",
|
|
20
|
+
"LICENSE"
|
|
21
|
+
],
|
|
7
22
|
"scripts": {
|
|
8
23
|
"build": "tsc",
|
|
9
|
-
"dev": "tsc --watch"
|
|
24
|
+
"dev": "tsc --watch",
|
|
25
|
+
"clean": "rm -rf dist",
|
|
26
|
+
"prepublishOnly": "npm run clean && npm run build",
|
|
27
|
+
"typecheck": "tsc --noEmit"
|
|
10
28
|
},
|
|
11
|
-
"keywords": [
|
|
29
|
+
"keywords": [
|
|
30
|
+
"lavalink",
|
|
31
|
+
"discord",
|
|
32
|
+
"music",
|
|
33
|
+
"bot",
|
|
34
|
+
"audio",
|
|
35
|
+
"spotify",
|
|
36
|
+
"youtube",
|
|
37
|
+
"soundcloud",
|
|
38
|
+
"deezer",
|
|
39
|
+
"apple-music",
|
|
40
|
+
"tidal",
|
|
41
|
+
"bandcamp",
|
|
42
|
+
"twitch",
|
|
43
|
+
"vimeo",
|
|
44
|
+
"discord-music",
|
|
45
|
+
"lavalink-client",
|
|
46
|
+
"wavelink"
|
|
47
|
+
],
|
|
12
48
|
"license": "MIT",
|
|
49
|
+
"engines": {
|
|
50
|
+
"node": ">=18.0.0"
|
|
51
|
+
},
|
|
13
52
|
"dependencies": {
|
|
14
53
|
"ws": "^8.17.0"
|
|
15
54
|
},
|
|
@@ -19,6 +58,11 @@
|
|
|
19
58
|
"typescript": "^5.4.0"
|
|
20
59
|
},
|
|
21
60
|
"peerDependencies": {
|
|
22
|
-
"discord.js": "
|
|
61
|
+
"discord.js": ">=14.0.0"
|
|
62
|
+
},
|
|
63
|
+
"peerDependenciesMeta": {
|
|
64
|
+
"discord.js": {
|
|
65
|
+
"optional": true
|
|
66
|
+
}
|
|
23
67
|
}
|
|
24
68
|
}
|