yukimu 1.2.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 -2
- package/dist/ConnectionPool.d.ts.map +1 -1
- package/dist/ConnectionPool.js +123 -44
- package/dist/ConnectionPool.js.map +1 -1
- package/dist/Constants.d.ts +26 -47
- package/dist/Constants.d.ts.map +1 -1
- package/dist/Constants.js +134 -67
- 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 +217 -79
- package/dist/Node.js.map +1 -1
- package/dist/Player.d.ts +77 -6
- package/dist/Player.d.ts.map +1 -1
- package/dist/Player.js +319 -75
- package/dist/Player.js.map +1 -1
- package/dist/Plugin.d.ts +16 -12
- package/dist/Plugin.d.ts.map +1 -1
- package/dist/Plugin.js +5 -9
- package/dist/Plugin.js.map +1 -1
- package/dist/Queue.d.ts +69 -3
- package/dist/Queue.d.ts.map +1 -1
- package/dist/Queue.js +123 -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 +233 -27
- package/dist/Resolver.js.map +1 -1
- package/dist/Rest.d.ts +25 -3
- package/dist/Rest.d.ts.map +1 -1
- package/dist/Rest.js +165 -23
- package/dist/Rest.js.map +1 -1
- package/dist/TrackCache.d.ts +28 -8
- package/dist/TrackCache.d.ts.map +1 -1
- package/dist/TrackCache.js +111 -24
- package/dist/TrackCache.js.map +1 -1
- package/dist/WsQueue.d.ts +30 -9
- package/dist/WsQueue.d.ts.map +1 -1
- package/dist/WsQueue.js +66 -24
- package/dist/WsQueue.js.map +1 -1
- package/dist/Yukimu.d.ts +37 -13
- package/dist/Yukimu.d.ts.map +1 -1
- package/dist/Yukimu.js +146 -59
- 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 +21 -19
- 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 +13 -17
- package/dist/connector/Eris.d.ts.map +1 -1
- package/dist/connector/Eris.js +36 -4
- package/dist/connector/Eris.js.map +1 -1
- package/dist/connector/Oceanic.d.ts +13 -14
- package/dist/connector/Oceanic.d.ts.map +1 -1
- package/dist/connector/Oceanic.js +35 -2
- 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 -9
- 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 -21
- package/dist/index.js.map +1 -1
- package/dist/plugins/AutoResume.d.ts +18 -14
- package/dist/plugins/AutoResume.d.ts.map +1 -1
- package/dist/plugins/AutoResume.js +101 -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 +196 -78
- 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 -131
- package/src/Constants.ts +0 -101
- package/src/Node.ts +0 -309
- package/src/Player.ts +0 -337
- package/src/Plugin.ts +0 -23
- package/src/Queue.ts +0 -91
- package/src/Resolver.ts +0 -79
- package/src/Rest.ts +0 -121
- package/src/TrackCache.ts +0 -69
- package/src/WsQueue.ts +0 -78
- package/src/Yukimu.ts +0 -248
- package/src/connector/Connector.ts +0 -13
- package/src/connector/DiscordJS.ts +0 -33
- package/src/connector/Eris.ts +0 -35
- package/src/connector/Oceanic.ts +0 -32
- package/src/errors/YukimuError.ts +0 -33
- package/src/index.ts +0 -46
- package/src/plugins/AutoResume.ts +0 -61
- package/src/plugins/PlayerMoved.ts +0 -26
- package/src/types.ts +0 -145
- package/tsconfig.json +0 -20
package/dist/Player.d.ts
CHANGED
|
@@ -1,8 +1,21 @@
|
|
|
1
|
+
/** Yukimu v2.0.0 — Player with State Safety & Bitrate Optimization */
|
|
1
2
|
import { Queue } from "./Queue";
|
|
2
3
|
import { PlayerState } from "./Constants";
|
|
3
4
|
import type { Yukimu } from "./Yukimu";
|
|
4
5
|
import type { Node } from "./Node";
|
|
5
|
-
import type { Track, PlayerOptions, FilterOptions } from "./types";
|
|
6
|
+
import type { Track, PlayerOptions, FilterOptions, LoopMode, BoostTier } from "./types";
|
|
7
|
+
/**
|
|
8
|
+
* Represents an audio player for a specific Discord guild.
|
|
9
|
+
*
|
|
10
|
+
* Critical fixes from v1:
|
|
11
|
+
* 1. play() — only sets playing=true AFTER the REST call succeeds
|
|
12
|
+
* 2. pause() — paused tracks are still "playing" from Lavalink's perspective
|
|
13
|
+
* 3. moveToNode() — properly re-sends voice state to the new node
|
|
14
|
+
* 4. sendVoicePayload() — deferred until connector is ready (safe for startup)
|
|
15
|
+
* 5. Proper cleanup in destroy() — all state, timers, and references
|
|
16
|
+
* 6. Input validation on filter values
|
|
17
|
+
* 7. Boost-tier-aware audio optimization
|
|
18
|
+
*/
|
|
6
19
|
export declare class Player {
|
|
7
20
|
readonly manager: Yukimu;
|
|
8
21
|
node: Node;
|
|
@@ -17,7 +30,8 @@ export declare class Player {
|
|
|
17
30
|
ping: number;
|
|
18
31
|
lastUpdated: number;
|
|
19
32
|
volume: number;
|
|
20
|
-
loop:
|
|
33
|
+
loop: LoopMode;
|
|
34
|
+
autoplay: boolean;
|
|
21
35
|
sessionId: string | null;
|
|
22
36
|
voiceToken: string | null;
|
|
23
37
|
voiceEndpoint: string | null;
|
|
@@ -25,22 +39,52 @@ export declare class Player {
|
|
|
25
39
|
selfMute: boolean;
|
|
26
40
|
filters: FilterOptions;
|
|
27
41
|
readonly data: Map<string, unknown>;
|
|
28
|
-
autoplay: boolean;
|
|
29
42
|
constructor(manager: Yukimu, node: Node, options: PlayerOptions);
|
|
30
43
|
get connected(): boolean;
|
|
31
|
-
/**
|
|
44
|
+
/**
|
|
45
|
+
* Estimated real-time position accounting for time since last update.
|
|
46
|
+
* Returns the actual position (capped at track length).
|
|
47
|
+
*/
|
|
32
48
|
get realPosition(): number;
|
|
49
|
+
/**
|
|
50
|
+
* Get the current boost tier of the guild this player is in.
|
|
51
|
+
*/
|
|
52
|
+
get boostTier(): BoostTier;
|
|
33
53
|
sendVoicePayload(channelId: string | null, selfDeaf: boolean, selfMute: boolean): void;
|
|
54
|
+
/**
|
|
55
|
+
* Check if we have all voice connection data and send it to Lavalink.
|
|
56
|
+
*/
|
|
34
57
|
checkVoiceReady(): void;
|
|
58
|
+
/**
|
|
59
|
+
* Play a track. If no track is provided, plays the current queue track.
|
|
60
|
+
*
|
|
61
|
+
* FIX: Only sets `playing = true` after the REST call succeeds.
|
|
62
|
+
* In v1, state was set before the REST call, causing ghost playing state on failure.
|
|
63
|
+
*/
|
|
35
64
|
play(track?: Track, options?: {
|
|
36
65
|
startTime?: number;
|
|
37
66
|
endTime?: number;
|
|
38
67
|
noReplace?: boolean;
|
|
39
68
|
}): Promise<void>;
|
|
69
|
+
/**
|
|
70
|
+
* Pause or unpause playback.
|
|
71
|
+
*
|
|
72
|
+
* FIX: `playing` now reflects "has an active track" independently of pause state.
|
|
73
|
+
* A paused player is still "playing" (it has an active track, just paused).
|
|
74
|
+
*/
|
|
40
75
|
pause(state?: boolean): Promise<void>;
|
|
41
76
|
resume(): Promise<void>;
|
|
42
77
|
stop(): Promise<void>;
|
|
43
78
|
skip(): Promise<Track | null>;
|
|
79
|
+
/**
|
|
80
|
+
* Play the previous track (from history).
|
|
81
|
+
* @returns The previous track, or null if no history exists
|
|
82
|
+
*/
|
|
83
|
+
previous(): Promise<Track | null>;
|
|
84
|
+
/**
|
|
85
|
+
* Restart the currently playing track from the beginning.
|
|
86
|
+
*/
|
|
87
|
+
replay(): Promise<void>;
|
|
44
88
|
seek(position: number): Promise<void>;
|
|
45
89
|
setVolume(volume: number): Promise<void>;
|
|
46
90
|
setFilters(filters: FilterOptions): Promise<void>;
|
|
@@ -53,12 +97,39 @@ export declare class Player {
|
|
|
53
97
|
setTremolo(enabled: boolean, frequency?: number, depth?: number): Promise<void>;
|
|
54
98
|
setVibrato(enabled: boolean, frequency?: number, depth?: number): Promise<void>;
|
|
55
99
|
setLowPass(enabled: boolean, smoothing?: number): Promise<void>;
|
|
100
|
+
/** Set playback speed (1.0 = normal, 2.0 = double speed) */
|
|
101
|
+
setSpeed(speed: number): Promise<void>;
|
|
102
|
+
/** Set playback pitch (1.0 = normal) */
|
|
103
|
+
setPitch(pitch: number): Promise<void>;
|
|
104
|
+
/**
|
|
105
|
+
* Add track(s) to the queue. If nothing is currently playing, plays immediately.
|
|
106
|
+
*/
|
|
56
107
|
add(tracks: Track | Track[], requester?: unknown): Promise<void>;
|
|
57
|
-
setLoop(mode:
|
|
108
|
+
setLoop(mode: LoopMode): void;
|
|
58
109
|
setAutoplay(enabled: boolean): void;
|
|
59
|
-
/**
|
|
110
|
+
/**
|
|
111
|
+
* Move this player to a different Lavalink node.
|
|
112
|
+
*
|
|
113
|
+
* FIX: Now properly re-sends the voice state to the new node.
|
|
114
|
+
* In v1, the new node didn't know about the voice connection.
|
|
115
|
+
*/
|
|
60
116
|
moveToNode(node: Node): Promise<void>;
|
|
117
|
+
/** Move the bot to a different voice channel */
|
|
61
118
|
move(channelId: string): Promise<void>;
|
|
119
|
+
/**
|
|
120
|
+
* Apply optimal audio settings based on the guild's boost tier.
|
|
121
|
+
* Automatically adjusts EQ and filters for best clarity at the available bitrate.
|
|
122
|
+
*/
|
|
123
|
+
applyOptimalQuality(): Promise<void>;
|
|
124
|
+
/** Maximum audio quality — crystal clear, enhanced bass & treble */
|
|
125
|
+
setHighQuality(): Promise<void>;
|
|
126
|
+
/** Studio quality — flat, neutral, most accurate */
|
|
127
|
+
setStudioQuality(): Promise<void>;
|
|
128
|
+
/** Concert hall effect — scaled for boost tier */
|
|
129
|
+
setConcertHall(): Promise<void>;
|
|
130
|
+
/**
|
|
131
|
+
* Destroy this player and clean up all resources.
|
|
132
|
+
*/
|
|
62
133
|
destroy(): Promise<void>;
|
|
63
134
|
}
|
|
64
135
|
//# sourceMappingURL=Player.d.ts.map
|
package/dist/Player.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Player.d.ts","sourceRoot":"","sources":["../src/Player.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"Player.d.ts","sourceRoot":"","sources":["../src/Player.ts"],"names":[],"mappings":"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"}
|