discord-player 7.0.0 → 7.1.1-dev.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/index.d.ts +148 -26
- package/dist/index.js +1052 -232
- package/dist/index.mjs +10 -0
- package/package.json +9 -9
package/dist/index.d.ts
CHANGED
|
@@ -2,13 +2,13 @@ import * as discord_js from 'discord.js';
|
|
|
2
2
|
import { Client, User, UserResolvable, GuildVoiceChannelResolvable, VoiceChannel, StageChannel, Guild, VoiceState, VoiceBasedChannel, GuildResolvable, Snowflake } from 'discord.js';
|
|
3
3
|
import Eris from 'eris';
|
|
4
4
|
import { ListenerSignature, DefaultListener, EventEmitter, Collection, Queue, QueueStrategy } from '@discord-player/utils';
|
|
5
|
-
import * as stream from 'stream';
|
|
6
5
|
import { Readable, Duplex } from 'stream';
|
|
7
6
|
import * as _discord_player_equalizer from '@discord-player/equalizer';
|
|
8
7
|
import { EqualizerBand, BiquadFilters, PCMFilters, FiltersChain } from '@discord-player/equalizer';
|
|
9
8
|
export { AF_NIGHTCORE_RATE, AF_VAPORWAVE_RATE, BASS_EQ_BANDS, FilterType as BiquadFilterType, BiquadFilters, FiltersChain, AudioFilters as PCMAudioFilters, PCMFilters, Q_BUTTERWORTH, VolumeTransformer } from '@discord-player/equalizer';
|
|
10
9
|
import { AudioResource, StreamType, AudioPlayerError, VoiceConnection, AudioPlayer, AudioPlayerStatus } from 'discord-voip';
|
|
11
|
-
export { AudioPlayer, CreateAudioPlayerOptions, JoinConfig, JoinVoiceChannelOptions, createAudioPlayer, getVoiceConnection, getVoiceConnections, joinVoiceChannel } from 'discord-voip';
|
|
10
|
+
export { AudioPlayer, CreateAudioPlayerOptions, JoinConfig, JoinVoiceChannelOptions, StreamType, createAudioPlayer, createAudioResource, getVoiceConnection, getVoiceConnections, joinVoiceChannel } from 'discord-voip';
|
|
11
|
+
import { Transform, Writable, TransformCallback } from 'node:stream';
|
|
12
12
|
import { RequestOptions } from 'http';
|
|
13
13
|
import { FFmpegLib } from '@discord-player/ffmpeg';
|
|
14
14
|
export * from '@discord-player/ffmpeg';
|
|
@@ -585,7 +585,7 @@ declare class Track<T = unknown> {
|
|
|
585
585
|
|
|
586
586
|
interface CreateStreamOps {
|
|
587
587
|
type?: StreamType;
|
|
588
|
-
data
|
|
588
|
+
data: Track;
|
|
589
589
|
disableVolume?: boolean;
|
|
590
590
|
disableEqualizer?: boolean;
|
|
591
591
|
disableBiquad?: boolean;
|
|
@@ -611,6 +611,7 @@ interface VoiceEvents {
|
|
|
611
611
|
destroyed: () => any;
|
|
612
612
|
}
|
|
613
613
|
declare class StreamDispatcher extends EventEmitter<VoiceEvents> {
|
|
614
|
+
#private;
|
|
614
615
|
queue: GuildQueue;
|
|
615
616
|
readonly connectionTimeout: number;
|
|
616
617
|
voiceConnection: VoiceConnection;
|
|
@@ -672,7 +673,7 @@ declare class StreamDispatcher extends EventEmitter<VoiceEvents> {
|
|
|
672
673
|
* @param {object} [ops] Options
|
|
673
674
|
* @returns {AudioResource}
|
|
674
675
|
*/
|
|
675
|
-
createStream(src: Readable, ops
|
|
676
|
+
createStream(src: Readable, ops: CreateStreamOps): Promise<AudioResource<Track<unknown>>>;
|
|
676
677
|
get resampler(): _discord_player_equalizer.PCMResampler | null;
|
|
677
678
|
get filters(): _discord_player_equalizer.AudioFilter | null;
|
|
678
679
|
get biquad(): _discord_player_equalizer.BiquadStream | null;
|
|
@@ -732,7 +733,7 @@ declare class StreamDispatcher extends EventEmitter<VoiceEvents> {
|
|
|
732
733
|
get streamTime(): number;
|
|
733
734
|
}
|
|
734
735
|
|
|
735
|
-
declare class GuildQueueHistory<Meta =
|
|
736
|
+
declare class GuildQueueHistory<Meta = any> {
|
|
736
737
|
queue: GuildQueue<Meta>;
|
|
737
738
|
tracks: Queue<Track<unknown>>;
|
|
738
739
|
constructor(queue: GuildQueue<Meta>);
|
|
@@ -911,7 +912,7 @@ interface StreamConfig {
|
|
|
911
912
|
dispatcherConfig: CreateStreamOps;
|
|
912
913
|
playerConfig: ResourcePlayOptions;
|
|
913
914
|
}
|
|
914
|
-
declare class GuildQueuePlayerNode<Meta =
|
|
915
|
+
declare class GuildQueuePlayerNode<Meta = any> {
|
|
915
916
|
#private;
|
|
916
917
|
queue: GuildQueue<Meta>;
|
|
917
918
|
tasksQueue: AsyncQueue;
|
|
@@ -1082,7 +1083,7 @@ declare function FFMPEG_ARGS_PIPED(fmt?: string): string[];
|
|
|
1082
1083
|
* @param stream The source stream
|
|
1083
1084
|
* @param options FFmpeg stream options
|
|
1084
1085
|
*/
|
|
1085
|
-
declare function createFFmpegStream(stream: Readable | Duplex | string, options?: FFmpegStreamOptions): Readable
|
|
1086
|
+
declare function createFFmpegStream(stream: Readable | Duplex | string, options?: FFmpegStreamOptions): Readable;
|
|
1086
1087
|
|
|
1087
1088
|
type Filters = keyof typeof AudioFilters.filters;
|
|
1088
1089
|
type EQPreset = {
|
|
@@ -1106,7 +1107,7 @@ type EQPreset = {
|
|
|
1106
1107
|
Techno: EqualizerBand[];
|
|
1107
1108
|
};
|
|
1108
1109
|
declare const EqualizerConfigurationPreset: Readonly<EQPreset>;
|
|
1109
|
-
declare class FFmpegFilterer<Meta =
|
|
1110
|
+
declare class FFmpegFilterer<Meta = any> {
|
|
1110
1111
|
#private;
|
|
1111
1112
|
af: GuildQueueAudioFilters<Meta>;
|
|
1112
1113
|
constructor(af: GuildQueueAudioFilters<Meta>);
|
|
@@ -1135,7 +1136,7 @@ declare class FFmpegFilterer<Meta = unknown> {
|
|
|
1135
1136
|
* @param source The stream source
|
|
1136
1137
|
* @param options The stream options
|
|
1137
1138
|
*/
|
|
1138
|
-
createStream(source: string | Readable, options: FFmpegStreamOptions): Readable
|
|
1139
|
+
createStream(source: string | Readable, options: FFmpegStreamOptions): Readable;
|
|
1139
1140
|
/**
|
|
1140
1141
|
* Set ffmpeg filters
|
|
1141
1142
|
* @param filters The filters
|
|
@@ -1199,7 +1200,7 @@ interface GuildQueueAFiltersCache {
|
|
|
1199
1200
|
volume: number;
|
|
1200
1201
|
sampleRate: number;
|
|
1201
1202
|
}
|
|
1202
|
-
declare class GuildQueueAudioFilters<Meta =
|
|
1203
|
+
declare class GuildQueueAudioFilters<Meta = any> {
|
|
1203
1204
|
queue: GuildQueue<Meta>;
|
|
1204
1205
|
graph: AFilterGraph<Meta>;
|
|
1205
1206
|
ffmpeg: FFmpegFilterer<Meta>;
|
|
@@ -1232,7 +1233,7 @@ declare class GuildQueueAudioFilters<Meta = unknown> {
|
|
|
1232
1233
|
*/
|
|
1233
1234
|
triggerReplay(seek?: number): Promise<boolean>;
|
|
1234
1235
|
}
|
|
1235
|
-
declare class AFilterGraph<Meta =
|
|
1236
|
+
declare class AFilterGraph<Meta = any> {
|
|
1236
1237
|
af: GuildQueueAudioFilters<Meta>;
|
|
1237
1238
|
constructor(af: GuildQueueAudioFilters<Meta>);
|
|
1238
1239
|
get ffmpeg(): (keyof QueueFilters)[];
|
|
@@ -1273,7 +1274,7 @@ interface GuildQueueStatisticsMetadata {
|
|
|
1273
1274
|
player: string;
|
|
1274
1275
|
};
|
|
1275
1276
|
}
|
|
1276
|
-
declare class GuildQueueStatistics<Meta =
|
|
1277
|
+
declare class GuildQueueStatistics<Meta = any> {
|
|
1277
1278
|
queue: GuildQueue<Meta>;
|
|
1278
1279
|
constructor(queue: GuildQueue<Meta>);
|
|
1279
1280
|
/**
|
|
@@ -1472,7 +1473,7 @@ declare class SyncedLyricsProvider {
|
|
|
1472
1473
|
resume(): boolean;
|
|
1473
1474
|
}
|
|
1474
1475
|
|
|
1475
|
-
interface GuildNodeInit<Meta =
|
|
1476
|
+
interface GuildNodeInit<Meta = any> {
|
|
1476
1477
|
guild: Guild;
|
|
1477
1478
|
queueStrategy: QueueStrategy;
|
|
1478
1479
|
equalizer: EqualizerBand[] | boolean;
|
|
@@ -1506,6 +1507,8 @@ interface GuildNodeInit<Meta = unknown> {
|
|
|
1506
1507
|
disableBiquad: boolean;
|
|
1507
1508
|
disableResampler: boolean;
|
|
1508
1509
|
disableFallbackStream: boolean;
|
|
1510
|
+
enableStreamInterceptor: boolean;
|
|
1511
|
+
verifyFallbackStream: boolean;
|
|
1509
1512
|
}
|
|
1510
1513
|
interface VoiceConnectConfig {
|
|
1511
1514
|
deaf?: boolean;
|
|
@@ -1518,7 +1521,7 @@ interface PostProcessedResult {
|
|
|
1518
1521
|
type: StreamType;
|
|
1519
1522
|
}
|
|
1520
1523
|
type OnBeforeCreateStreamHandler = (track: Track, queryType: SearchQueryType, queue: GuildQueue) => Promise<Readable | null>;
|
|
1521
|
-
type OnAfterCreateStreamHandler = (stream: Readable, queue: GuildQueue) => Promise<PostProcessedResult | null>;
|
|
1524
|
+
type OnAfterCreateStreamHandler<T = unknown> = (stream: Readable, queue: GuildQueue, track: Track<T>) => Promise<PostProcessedResult | null>;
|
|
1522
1525
|
type PlayerTriggeredReason = 'filters' | 'normal';
|
|
1523
1526
|
declare const GuildQueueEvent: {
|
|
1524
1527
|
/**
|
|
@@ -1637,6 +1640,10 @@ declare const GuildQueueEvent: {
|
|
|
1637
1640
|
* Emitted when a queue is trying to add similar track for autoplay
|
|
1638
1641
|
*/
|
|
1639
1642
|
readonly WillAutoPlay: "willAutoPlay";
|
|
1643
|
+
/**
|
|
1644
|
+
* Emitted when sample rate is updated
|
|
1645
|
+
*/
|
|
1646
|
+
readonly SampleRateUpdate: "sampleRateUpdate";
|
|
1640
1647
|
};
|
|
1641
1648
|
type GuildQueueEvent = (typeof GuildQueueEvent)[keyof typeof GuildQueueEvent];
|
|
1642
1649
|
declare enum TrackSkipReason {
|
|
@@ -1825,6 +1832,13 @@ interface GuildQueueEvents<Meta = any> {
|
|
|
1825
1832
|
* @param done Done callback
|
|
1826
1833
|
*/
|
|
1827
1834
|
[GuildQueueEvent.WillAutoPlay]: (queue: GuildQueue<Meta>, tracks: Track[], done: (track: Track | null) => void) => unknown;
|
|
1835
|
+
/**
|
|
1836
|
+
* Emitted when sample rate is updated
|
|
1837
|
+
* @param queue The queue where this event occurred
|
|
1838
|
+
* @param oldRate The old sample rate
|
|
1839
|
+
* @param newRate The new sample rate
|
|
1840
|
+
*/
|
|
1841
|
+
[GuildQueueEvent.SampleRateUpdate]: (queue: GuildQueue<Meta>, oldRate: number, newRate: number) => unknown;
|
|
1828
1842
|
}
|
|
1829
1843
|
/**
|
|
1830
1844
|
* The queue repeat mode. This can be one of:
|
|
@@ -1852,7 +1866,7 @@ declare const QueueRepeatMode: {
|
|
|
1852
1866
|
readonly AUTOPLAY: 3;
|
|
1853
1867
|
};
|
|
1854
1868
|
type QueueRepeatMode = (typeof QueueRepeatMode)[keyof typeof QueueRepeatMode];
|
|
1855
|
-
declare class GuildQueue<Meta =
|
|
1869
|
+
declare class GuildQueue<Meta = any> {
|
|
1856
1870
|
#private;
|
|
1857
1871
|
player: Player;
|
|
1858
1872
|
options: GuildNodeInit<Meta>;
|
|
@@ -1870,6 +1884,10 @@ declare class GuildQueue<Meta = unknown> {
|
|
|
1870
1884
|
tasksQueue: AsyncQueue;
|
|
1871
1885
|
syncedLyricsProvider: SyncedLyricsProvider;
|
|
1872
1886
|
constructor(player: Player, options: GuildNodeInit<Meta>);
|
|
1887
|
+
/**
|
|
1888
|
+
* Whether this queue can intercept streams
|
|
1889
|
+
*/
|
|
1890
|
+
canIntercept(): boolean;
|
|
1873
1891
|
/**
|
|
1874
1892
|
* Estimated duration of this queue in ms
|
|
1875
1893
|
*/
|
|
@@ -2010,6 +2028,18 @@ declare class GuildQueue<Meta = unknown> {
|
|
|
2010
2028
|
* @param track The track to remove
|
|
2011
2029
|
*/
|
|
2012
2030
|
removeTrack(track: TrackResolvable): Track<unknown> | null;
|
|
2031
|
+
/**
|
|
2032
|
+
* Prepends a track or track resolvable to the queue
|
|
2033
|
+
* @param track The track resolvable to insert
|
|
2034
|
+
* @param index The index to insert the track at (defaults to 0). If > 0, the inserted track will be placed before the track at the given index.
|
|
2035
|
+
*/
|
|
2036
|
+
prepend(track: Track | Queue<Track> | Array<Track>, index?: number): void;
|
|
2037
|
+
/**
|
|
2038
|
+
* Appends a track or track resolvable to the queue
|
|
2039
|
+
* @param track The track resolvable to insert
|
|
2040
|
+
* @param index The index to insert the track at (defaults to 0). If > 0, the inserted track will be placed after the track at the given index.
|
|
2041
|
+
*/
|
|
2042
|
+
append(track: Track | Queue<Track> | Array<Track>, index?: number): void;
|
|
2013
2043
|
/**
|
|
2014
2044
|
* Inserts the track to the given index
|
|
2015
2045
|
* @param track The track to insert
|
|
@@ -2106,7 +2136,7 @@ declare class GuildQueue<Meta = unknown> {
|
|
|
2106
2136
|
get hasDebugger(): boolean;
|
|
2107
2137
|
}
|
|
2108
2138
|
|
|
2109
|
-
interface GuildNodeCreateOptions<T =
|
|
2139
|
+
interface GuildNodeCreateOptions<T = any> {
|
|
2110
2140
|
strategy?: QueueStrategy;
|
|
2111
2141
|
volume?: number;
|
|
2112
2142
|
equalizer?: EqualizerBand[];
|
|
@@ -2139,11 +2169,13 @@ interface GuildNodeCreateOptions<T = unknown> {
|
|
|
2139
2169
|
disableBiquad?: boolean;
|
|
2140
2170
|
disableResampler?: boolean;
|
|
2141
2171
|
disableFallbackStream?: boolean;
|
|
2172
|
+
enableStreamInterceptor?: boolean;
|
|
2173
|
+
verifyFallbackStream?: boolean;
|
|
2142
2174
|
}
|
|
2143
2175
|
type NodeResolvable = GuildQueue | GuildResolvable;
|
|
2144
|
-
declare class GuildNodeManager<Meta =
|
|
2176
|
+
declare class GuildNodeManager<Meta = any> {
|
|
2145
2177
|
player: Player;
|
|
2146
|
-
cache: Collection<string, GuildQueue<
|
|
2178
|
+
cache: Collection<string, GuildQueue<any>>;
|
|
2147
2179
|
constructor(player: Player);
|
|
2148
2180
|
/**
|
|
2149
2181
|
* Create guild queue if it does not exist
|
|
@@ -2311,7 +2343,10 @@ declare function useQueue<Meta = unknown>(node: NodeResolvable): GuildQueue<Meta
|
|
|
2311
2343
|
declare function useMainPlayer(): Player;
|
|
2312
2344
|
|
|
2313
2345
|
type SetterFN$1<T, P> = (previous: P) => T;
|
|
2314
|
-
type MetadataDispatch<T> = readonly [
|
|
2346
|
+
type MetadataDispatch<T> = readonly [
|
|
2347
|
+
() => T,
|
|
2348
|
+
(metadata: T | SetterFN$1<T, T>) => void
|
|
2349
|
+
];
|
|
2315
2350
|
/**
|
|
2316
2351
|
* Fetch or manipulate guild queue metadata
|
|
2317
2352
|
* @param node Guild queue node resolvable
|
|
@@ -2353,7 +2388,10 @@ declare function onAfterCreateStream(handler: OnAfterCreateStreamHandler): void;
|
|
|
2353
2388
|
declare function onBeforeCreateStream(handler: OnBeforeCreateStreamHandler): void;
|
|
2354
2389
|
|
|
2355
2390
|
type SetterFN = (previous: number) => number;
|
|
2356
|
-
type VolumeDispatch = readonly [
|
|
2391
|
+
type VolumeDispatch = readonly [
|
|
2392
|
+
() => number,
|
|
2393
|
+
(volume: number | SetterFN) => boolean | undefined
|
|
2394
|
+
];
|
|
2357
2395
|
/**
|
|
2358
2396
|
* Fetch or manipulate player volume
|
|
2359
2397
|
* @param node Guild queue node resolvable
|
|
@@ -2535,6 +2573,80 @@ interface HooksCtx {
|
|
|
2535
2573
|
guild: Guild;
|
|
2536
2574
|
}
|
|
2537
2575
|
|
|
2576
|
+
/**
|
|
2577
|
+
* Represents a stream that can be intercepted and consumed without affecting the original consumer.
|
|
2578
|
+
* @example const stream = new InterceptedStream();
|
|
2579
|
+
*
|
|
2580
|
+
* // real consumer
|
|
2581
|
+
* stream.pipe(fs.createWriteStream('file.txt'));
|
|
2582
|
+
*
|
|
2583
|
+
* // man in the middle consumer
|
|
2584
|
+
* const manInTheMiddle = new Writable({
|
|
2585
|
+
* write(chunk, encoding, callback) {
|
|
2586
|
+
* console.log(chunk.toString());
|
|
2587
|
+
* callback();
|
|
2588
|
+
* }
|
|
2589
|
+
* });
|
|
2590
|
+
*
|
|
2591
|
+
* // stream.interceptors is a Set of Writable streams
|
|
2592
|
+
* stream.interceptors.add(manInTheMiddle);
|
|
2593
|
+
*/
|
|
2594
|
+
declare class InterceptedStream extends Transform {
|
|
2595
|
+
#private;
|
|
2596
|
+
readonly interceptors: Set<Writable>;
|
|
2597
|
+
/**
|
|
2598
|
+
* Start intercepting the stream. This is the default state of InterceptedStream.
|
|
2599
|
+
*/
|
|
2600
|
+
startIntercepting(): void;
|
|
2601
|
+
/**
|
|
2602
|
+
* Stop intercepting the stream. This will prevent the stream from being consumed by the interceptors.
|
|
2603
|
+
* This can be useful when you want to temporarily stop the interception. The stopped state can be resumed by calling startIntercepting again.
|
|
2604
|
+
*/
|
|
2605
|
+
stopIntercepting(): void;
|
|
2606
|
+
/**
|
|
2607
|
+
* Whether the stream is being intercepted
|
|
2608
|
+
*/
|
|
2609
|
+
isIntercepting(): boolean;
|
|
2610
|
+
_transform(chunk: Buffer, encoding: BufferEncoding, callback: TransformCallback): void;
|
|
2611
|
+
_final(callback: TransformCallback): void;
|
|
2612
|
+
_destroy(error: Error, callback: TransformCallback): void;
|
|
2613
|
+
}
|
|
2614
|
+
|
|
2615
|
+
type Awaitable<T> = T | PromiseLike<T>;
|
|
2616
|
+
type ShouldInterceptFunction = <T = any>(queue: GuildQueue<T>, track: Track, format: StreamType, stream: InterceptedStream) => Awaitable<boolean>;
|
|
2617
|
+
type OnInterceptedStreamHandler = <T = any>(queue: GuildQueue<T>, track: Track, format: StreamType, stream: InterceptedStream) => Awaitable<void>;
|
|
2618
|
+
interface PlayerStreamInterceptorOptions {
|
|
2619
|
+
/**
|
|
2620
|
+
* Determines whether the stream should be intercepted.
|
|
2621
|
+
*/
|
|
2622
|
+
shouldIntercept?: ShouldInterceptFunction;
|
|
2623
|
+
}
|
|
2624
|
+
declare class PlayerStreamInterceptor {
|
|
2625
|
+
#private;
|
|
2626
|
+
readonly player: Player;
|
|
2627
|
+
private readonly options;
|
|
2628
|
+
/**
|
|
2629
|
+
* Creates a new PlayerStreamInterceptor instance.
|
|
2630
|
+
* @param player The player instance
|
|
2631
|
+
* @param options The interceptor options
|
|
2632
|
+
*/
|
|
2633
|
+
constructor(player: Player, options: PlayerStreamInterceptorOptions);
|
|
2634
|
+
/**
|
|
2635
|
+
* Handles the intercepted stream.
|
|
2636
|
+
* @param queue The guild queue
|
|
2637
|
+
* @param track The track
|
|
2638
|
+
* @param stream The intercepted stream
|
|
2639
|
+
* @returns Whether the stream was intercepted
|
|
2640
|
+
*/
|
|
2641
|
+
handle<T = unknown>(queue: GuildQueue<T>, track: Track, type: StreamType, stream: InterceptedStream): Promise<boolean>;
|
|
2642
|
+
/**
|
|
2643
|
+
* Adds a new intercepted stream listener.
|
|
2644
|
+
* @param handler The handler
|
|
2645
|
+
* @returns A function to remove the listener
|
|
2646
|
+
*/
|
|
2647
|
+
onStream(handler: OnInterceptedStreamHandler): () => void;
|
|
2648
|
+
}
|
|
2649
|
+
|
|
2538
2650
|
interface PlayerEvents {
|
|
2539
2651
|
debug: (message: string) => any;
|
|
2540
2652
|
error: (error: Error) => any;
|
|
@@ -2549,7 +2661,7 @@ declare const PlayerEvent: {
|
|
|
2549
2661
|
readonly VoiceStateUpdate: "voiceStateUpdate";
|
|
2550
2662
|
};
|
|
2551
2663
|
type PlayerEvent = (typeof PlayerEvent)[keyof typeof PlayerEvent];
|
|
2552
|
-
interface PlayerNodeInitializationResult<T =
|
|
2664
|
+
interface PlayerNodeInitializationResult<T = any> {
|
|
2553
2665
|
track: Track;
|
|
2554
2666
|
extractor: BaseExtractor | null;
|
|
2555
2667
|
searchResult: SearchResult;
|
|
@@ -2627,7 +2739,7 @@ declare class Player extends PlayerEventsEmitter<PlayerEvents> {
|
|
|
2627
2739
|
/**
|
|
2628
2740
|
* The player nodes (queue) manager
|
|
2629
2741
|
*/
|
|
2630
|
-
nodes: GuildNodeManager<
|
|
2742
|
+
nodes: GuildNodeManager<any>;
|
|
2631
2743
|
/**
|
|
2632
2744
|
* The voice api utilities
|
|
2633
2745
|
*/
|
|
@@ -2677,7 +2789,7 @@ declare class Player extends PlayerEventsEmitter<PlayerEvents> {
|
|
|
2677
2789
|
/**
|
|
2678
2790
|
* Alias to `Player.nodes`.
|
|
2679
2791
|
*/
|
|
2680
|
-
get queues(): GuildNodeManager<
|
|
2792
|
+
get queues(): GuildNodeManager<any>;
|
|
2681
2793
|
/**
|
|
2682
2794
|
* Event loop latency in ms. If your bot is laggy and this returns a number above 20ms for example,
|
|
2683
2795
|
* some expensive task is being executed on the current thread which is slowing down the event loop.
|
|
@@ -2789,7 +2901,7 @@ declare class Player extends PlayerEventsEmitter<PlayerEvents> {
|
|
|
2789
2901
|
* @returns {string}
|
|
2790
2902
|
*/
|
|
2791
2903
|
scanDeps(): string;
|
|
2792
|
-
[Symbol.iterator](): Generator<GuildQueue<
|
|
2904
|
+
[Symbol.iterator](): Generator<GuildQueue<any>, void, undefined>;
|
|
2793
2905
|
/**
|
|
2794
2906
|
* Creates `Playlist` instance
|
|
2795
2907
|
* @param data The data to initialize a playlist
|
|
@@ -2800,6 +2912,16 @@ declare class Player extends PlayerEventsEmitter<PlayerEvents> {
|
|
|
2800
2912
|
* @param resource The audio resource
|
|
2801
2913
|
*/
|
|
2802
2914
|
createTrackFromAudioResource(resource: AudioResource): Track<Record<string, unknown>>;
|
|
2915
|
+
/**
|
|
2916
|
+
* Handles intercepting streams
|
|
2917
|
+
* @param stream The stream to intercept
|
|
2918
|
+
*/
|
|
2919
|
+
handleInterceptingStream(queue: GuildQueue, track: Track, format: StreamType, stream: InterceptedStream): Promise<boolean | undefined>;
|
|
2920
|
+
/**
|
|
2921
|
+
* Creates a global stream interceptor
|
|
2922
|
+
* @param options The stream interceptor options
|
|
2923
|
+
*/
|
|
2924
|
+
createStreamInterceptor(options: PlayerStreamInterceptorOptions): PlayerStreamInterceptor;
|
|
2803
2925
|
}
|
|
2804
2926
|
|
|
2805
2927
|
type SerializedPlaylist = ReturnType<Playlist['serialize']>;
|
|
@@ -3204,7 +3326,7 @@ declare class Util {
|
|
|
3204
3326
|
static randomChoice<T>(src: T[]): T;
|
|
3205
3327
|
static arrayCloneShuffle<T>(src: T[]): T[];
|
|
3206
3328
|
}
|
|
3207
|
-
declare const VALIDATE_QUEUE_CAP: (queue: GuildQueue, items: Playlist | Track | Track[]) => void;
|
|
3329
|
+
declare const VALIDATE_QUEUE_CAP: (queue: GuildQueue, items: Playlist | Track | Track[] | number) => void;
|
|
3208
3330
|
|
|
3209
3331
|
declare class DiscordPlayerError extends Error {
|
|
3210
3332
|
readonly code: ErrorCodes;
|
|
@@ -3318,4 +3440,4 @@ declare const DependencyReportGenerator: {
|
|
|
3318
3440
|
|
|
3319
3441
|
declare const version: string;
|
|
3320
3442
|
|
|
3321
|
-
export { AFilterGraph, AsyncQueue, type AsyncQueueAcquisitionOptions, AsyncQueueEntry, type AsyncQueueExceptionHandler, AudioFilters, BaseExtractor, Context, type ContextReceiver, type CreateStreamOps, type DependenciesReport, DependencyReportGenerator, DiscordPlayerQueryResultCache, type Encodable, EqualizerConfigurationPreset, ExtractorExecutionContext, type ExtractorExecutionEvents, type ExtractorExecutionFN, type ExtractorExecutionResult, type ExtractorInfo, type ExtractorResolvable, type ExtractorSearchContext, type ExtractorSession, type ExtractorStreamable, FFMPEG_ARGS_PIPED, FFMPEG_ARGS_STRING, FFMPEG_SRATE_REGEX, FFmpegFilterer, type FFmpegReport, type FFmpegStreamOptions, type FilterGraph, type FiltersName, type GuildNodeCreateOptions, type GuildNodeInit, GuildNodeManager, GuildQueue, type GuildQueueAFiltersCache, GuildQueueAudioFilters, GuildQueueEvent, type GuildQueueEvents, GuildQueueHistory, GuildQueuePlayerNode, GuildQueueStatistics, type GuildQueueStatisticsMetadata, type GuildQueueTimeline, type LrcGetParams, type LrcGetResult, LrcLib, type LrcSearchParams, type LrcSearchResult, type MaybeNull, type MetadataDispatch, type NextFunction, type NodeResolvable, type OnAfterCreateStreamHandler, type OnBeforeCreateStreamHandler, type PackageJSON, type PlayOptions, Player, PlayerEvent, type PlayerEvents, PlayerEventsEmitter, type PlayerInitOptions, type PlayerNodeInitializationResult, type PlayerNodeInitializerOptions, type PlayerProgressbarOptions, type PlayerSearchResult, type PlayerTimestamp, type PlayerTriggeredReason, Playlist, type PlaylistInitData, type PlaylistJSON, type PostProcessedResult, QueryCache, type QueryCacheOptions, type QueryCacheProvider, type QueryCacheResolverContext, type QueryExtractorSearch, QueryResolver, QueryType, type QueueFilters, QueueRepeatMode, type RawTrackData, type RequestEntity, type ResolvedQuery, type ResourcePlayOptions, type Runtime, type RuntimeType, type SearchOptions, type SearchQueryType, SearchResult, type SearchResultData, SequentialBucket, type SerializedPlaylist, type SerializedTrack, SerializedType, type SetterFN$1 as SetterFN, type SkipOptions, type StreamConfig, StreamDispatcher, type TimeData, type TimelineDispatcherOptions, Track, type TrackJSON, type TrackLike, type TrackResolvable, TrackSkipReason, type TrackSource, TypeUtil, Util, VALIDATE_QUEUE_CAP, type VoiceConnectConfig, type VoiceEvents, type VoiceStateHandler, VoiceUtils, type WithMetadata, createContext, createErisCompat, createFFmpegStream, decode, deserialize, encode, isErisProxy, onAfterCreateStream, onBeforeCreateStream, serialize, tryIntoThumbnailString, useContext, useHistory, useMainPlayer, useMetadata, usePlayer, useQueue, useTimeline, useVolume, version };
|
|
3443
|
+
export { AFilterGraph, AsyncQueue, type AsyncQueueAcquisitionOptions, AsyncQueueEntry, type AsyncQueueExceptionHandler, AudioFilters, BaseExtractor, Context, type ContextReceiver, type CreateStreamOps, type DependenciesReport, DependencyReportGenerator, DiscordPlayerQueryResultCache, type Encodable, EqualizerConfigurationPreset, ExtractorExecutionContext, type ExtractorExecutionEvents, type ExtractorExecutionFN, type ExtractorExecutionResult, type ExtractorInfo, type ExtractorResolvable, type ExtractorSearchContext, type ExtractorSession, type ExtractorStreamable, FFMPEG_ARGS_PIPED, FFMPEG_ARGS_STRING, FFMPEG_SRATE_REGEX, FFmpegFilterer, type FFmpegReport, type FFmpegStreamOptions, type FilterGraph, type FiltersName, type GuildNodeCreateOptions, type GuildNodeInit, GuildNodeManager, GuildQueue, type GuildQueueAFiltersCache, GuildQueueAudioFilters, GuildQueueEvent, type GuildQueueEvents, GuildQueueHistory, GuildQueuePlayerNode, GuildQueueStatistics, type GuildQueueStatisticsMetadata, type GuildQueueTimeline, InterceptedStream, type LrcGetParams, type LrcGetResult, LrcLib, type LrcSearchParams, type LrcSearchResult, type MaybeNull, type MetadataDispatch, type NextFunction, type NodeResolvable, type OnAfterCreateStreamHandler, type OnBeforeCreateStreamHandler, type OnInterceptedStreamHandler, type PackageJSON, type PlayOptions, Player, PlayerEvent, type PlayerEvents, PlayerEventsEmitter, type PlayerInitOptions, type PlayerNodeInitializationResult, type PlayerNodeInitializerOptions, type PlayerProgressbarOptions, type PlayerSearchResult, PlayerStreamInterceptor, type PlayerStreamInterceptorOptions, type PlayerTimestamp, type PlayerTriggeredReason, Playlist, type PlaylistInitData, type PlaylistJSON, type PostProcessedResult, QueryCache, type QueryCacheOptions, type QueryCacheProvider, type QueryCacheResolverContext, type QueryExtractorSearch, QueryResolver, QueryType, type QueueFilters, QueueRepeatMode, type RawTrackData, type RequestEntity, type ResolvedQuery, type ResourcePlayOptions, type Runtime, type RuntimeType, type SearchOptions, type SearchQueryType, SearchResult, type SearchResultData, SequentialBucket, type SerializedPlaylist, type SerializedTrack, SerializedType, type SetterFN$1 as SetterFN, type ShouldInterceptFunction, type SkipOptions, type StreamConfig, StreamDispatcher, type TimeData, type TimelineDispatcherOptions, Track, type TrackJSON, type TrackLike, type TrackResolvable, TrackSkipReason, type TrackSource, TypeUtil, Util, VALIDATE_QUEUE_CAP, type VoiceConnectConfig, type VoiceEvents, type VoiceStateHandler, VoiceUtils, type WithMetadata, createContext, createErisCompat, createFFmpegStream, decode, deserialize, encode, isErisProxy, onAfterCreateStream, onBeforeCreateStream, serialize, tryIntoThumbnailString, useContext, useHistory, useMainPlayer, useMetadata, usePlayer, useQueue, useTimeline, useVolume, version };
|