discord-player 5.3.2 → 5.4.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/LICENSE +1 -1
- package/README.md +2 -0
- package/dist/index.d.ts +377 -113
- package/dist/index.js +2074 -38
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +2039 -22
- package/dist/index.mjs.map +1 -0
- package/package.json +15 -30
- package/dist/Player.js +0 -607
- package/dist/Structures/ExtractorModel.js +0 -65
- package/dist/Structures/PlayerError.js +0 -48
- package/dist/Structures/Playlist.js +0 -108
- package/dist/Structures/Queue.js +0 -830
- package/dist/Structures/Track.js +0 -155
- package/dist/VoiceInterface/StreamDispatcher.js +0 -226
- package/dist/VoiceInterface/VoiceUtils.js +0 -65
- package/dist/VoiceInterface/VolumeTransformer.js +0 -120
- package/dist/smoothVolume.js +0 -15
- package/dist/types/types.js +0 -58
- package/dist/utils/AudioFilters.js +0 -95
- package/dist/utils/FFmpegStream.js +0 -53
- package/dist/utils/QueryResolver.js +0 -68
- package/dist/utils/Util.js +0 -136
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
import { User, VoiceChannel, StageChannel, Collection, Snowflake, Client, GuildResolvable, Guild, GuildChannelResolvable, UserResolvable } from 'discord.js';
|
|
1
|
+
import { User, VoiceChannel, StageChannel, Snowflake, Client, GuildResolvable, Guild, GuildChannelResolvable, VoiceState, UserResolvable } from 'discord.js';
|
|
3
2
|
import { Readable, Duplex, TransformOptions, Transform } from 'stream';
|
|
3
|
+
import * as _discord_player_equalizer from '@discord-player/equalizer';
|
|
4
|
+
import { PCMFilters, EqualizerStream, BiquadStream, AudioFilter, EqualizerBand, BiquadFilters } from '@discord-player/equalizer';
|
|
4
5
|
import { TypedEmitter } from 'tiny-typed-emitter';
|
|
5
|
-
import { AudioPlayerError, AudioResource, VoiceConnection, AudioPlayer,
|
|
6
|
+
import { AudioPlayerError, AudioResource, VoiceConnection, AudioPlayer, AudioPlayerStatus, StreamType } from '@discordjs/voice';
|
|
7
|
+
import { Collection } from '@discord-player/utils';
|
|
6
8
|
import { downloadOptions } from 'ytdl-core';
|
|
7
9
|
|
|
8
10
|
declare class Playlist {
|
|
@@ -11,7 +13,7 @@ declare class Playlist {
|
|
|
11
13
|
title: string;
|
|
12
14
|
description: string;
|
|
13
15
|
thumbnail: string;
|
|
14
|
-
type:
|
|
16
|
+
type: 'album' | 'playlist';
|
|
15
17
|
source: TrackSource;
|
|
16
18
|
author: {
|
|
17
19
|
name: string;
|
|
@@ -44,8 +46,9 @@ declare class Track {
|
|
|
44
46
|
thumbnail: string;
|
|
45
47
|
duration: string;
|
|
46
48
|
views: number;
|
|
47
|
-
requestedBy: User;
|
|
49
|
+
requestedBy: User | null;
|
|
48
50
|
playlist?: Playlist;
|
|
51
|
+
queryType: SearchQueryType | null | undefined;
|
|
49
52
|
readonly raw: RawTrackData;
|
|
50
53
|
readonly id: string;
|
|
51
54
|
/**
|
|
@@ -82,20 +85,34 @@ declare class Track {
|
|
|
82
85
|
toJSON(hidePlaylist?: boolean): TrackJSON;
|
|
83
86
|
}
|
|
84
87
|
|
|
88
|
+
interface CreateStreamOps {
|
|
89
|
+
type?: StreamType;
|
|
90
|
+
data?: any;
|
|
91
|
+
disableVolume?: boolean;
|
|
92
|
+
disableEqualizer?: boolean;
|
|
93
|
+
disableBiquad?: boolean;
|
|
94
|
+
eq?: EqualizerBand[];
|
|
95
|
+
biquadFilter?: BiquadFilters;
|
|
96
|
+
disableFilters?: boolean;
|
|
97
|
+
defaultFilters?: PCMFilters[];
|
|
98
|
+
}
|
|
85
99
|
interface VoiceEvents {
|
|
86
100
|
error: (error: AudioPlayerError) => any;
|
|
87
101
|
debug: (message: string) => any;
|
|
88
102
|
start: (resource: AudioResource<Track>) => any;
|
|
89
103
|
finish: (resource: AudioResource<Track>) => any;
|
|
104
|
+
audioFilters: (filters: PCMFilters[]) => any;
|
|
90
105
|
}
|
|
91
106
|
declare class StreamDispatcher extends TypedEmitter<VoiceEvents> {
|
|
92
107
|
readonly connectionTimeout: number;
|
|
93
108
|
readonly voiceConnection: VoiceConnection;
|
|
94
109
|
readonly audioPlayer: AudioPlayer;
|
|
95
110
|
channel: VoiceChannel | StageChannel;
|
|
96
|
-
audioResource?: AudioResource<Track
|
|
111
|
+
audioResource?: AudioResource<Track> | null;
|
|
97
112
|
private readyLock;
|
|
98
|
-
|
|
113
|
+
equalizer: EqualizerStream | null;
|
|
114
|
+
biquad: BiquadStream | null;
|
|
115
|
+
audioFilters: AudioFilter | null;
|
|
99
116
|
/**
|
|
100
117
|
* Creates new connection object
|
|
101
118
|
* @param {VoiceConnection} connection The connection
|
|
@@ -103,17 +120,34 @@ declare class StreamDispatcher extends TypedEmitter<VoiceEvents> {
|
|
|
103
120
|
* @private
|
|
104
121
|
*/
|
|
105
122
|
constructor(connection: VoiceConnection, channel: VoiceChannel | StageChannel, connectionTimeout?: number);
|
|
123
|
+
/**
|
|
124
|
+
* Check if the player has been paused manually
|
|
125
|
+
*/
|
|
126
|
+
get paused(): boolean;
|
|
127
|
+
set paused(val: boolean);
|
|
128
|
+
/**
|
|
129
|
+
* Whether or not the player is currently paused automatically or manually.
|
|
130
|
+
*/
|
|
131
|
+
isPaused(): boolean;
|
|
132
|
+
/**
|
|
133
|
+
* Whether or not the player is currently buffering
|
|
134
|
+
*/
|
|
135
|
+
isBuffering(): boolean;
|
|
136
|
+
/**
|
|
137
|
+
* Whether or not the player is currently playing
|
|
138
|
+
*/
|
|
139
|
+
isPlaying(): boolean;
|
|
140
|
+
/**
|
|
141
|
+
* Whether or not the player is currently idle
|
|
142
|
+
*/
|
|
143
|
+
isIdle(): boolean;
|
|
106
144
|
/**
|
|
107
145
|
* Creates stream
|
|
108
146
|
* @param {Readable|Duplex|string} src The stream source
|
|
109
147
|
* @param {object} [ops] Options
|
|
110
148
|
* @returns {AudioResource}
|
|
111
149
|
*/
|
|
112
|
-
createStream(src: Readable | Duplex | string, ops?:
|
|
113
|
-
type?: StreamType;
|
|
114
|
-
data?: any;
|
|
115
|
-
disableVolume?: boolean;
|
|
116
|
-
}): AudioResource<Track>;
|
|
150
|
+
createStream(src: Readable | Duplex | string, ops?: CreateStreamOps): AudioResource<Track>;
|
|
117
151
|
/**
|
|
118
152
|
* The player status
|
|
119
153
|
* @type {AudioPlayerStatus}
|
|
@@ -145,7 +179,7 @@ declare class StreamDispatcher extends TypedEmitter<VoiceEvents> {
|
|
|
145
179
|
* @param {AudioResource<Track>} [resource=this.audioResource] The audio resource to play
|
|
146
180
|
* @returns {Promise<StreamDispatcher>}
|
|
147
181
|
*/
|
|
148
|
-
playStream(resource?: AudioResource<Track>): Promise<this>;
|
|
182
|
+
playStream(resource?: AudioResource<Track>): Promise<this | undefined>;
|
|
149
183
|
/**
|
|
150
184
|
* Sets playback volume
|
|
151
185
|
* @param {number} value The volume amount
|
|
@@ -202,35 +236,118 @@ declare class VoiceUtils {
|
|
|
202
236
|
* @param {Snowflake} guild The guild id
|
|
203
237
|
* @returns {StreamDispatcher}
|
|
204
238
|
*/
|
|
205
|
-
getConnection(guild: Snowflake): StreamDispatcher;
|
|
239
|
+
getConnection(guild: Snowflake): StreamDispatcher | undefined;
|
|
206
240
|
}
|
|
207
241
|
|
|
208
|
-
declare class
|
|
209
|
-
|
|
210
|
-
private _raw;
|
|
242
|
+
declare class BaseExtractor {
|
|
243
|
+
context: ExtractorExecutionContext;
|
|
211
244
|
/**
|
|
212
|
-
*
|
|
213
|
-
* @param {string} extractorName Name of the extractor
|
|
214
|
-
* @param {object} data Extractor object
|
|
245
|
+
* Identifier for this extractor
|
|
215
246
|
*/
|
|
216
|
-
|
|
247
|
+
static identifier: string;
|
|
217
248
|
/**
|
|
218
|
-
*
|
|
219
|
-
* @param
|
|
220
|
-
* @returns {Promise<ExtractorModelData>}
|
|
249
|
+
* Extractor constructor
|
|
250
|
+
* @param context Context that instantiated this extractor
|
|
221
251
|
*/
|
|
222
|
-
|
|
252
|
+
constructor(context: ExtractorExecutionContext);
|
|
223
253
|
/**
|
|
224
|
-
*
|
|
225
|
-
* @param {string} query The query to validate
|
|
226
|
-
* @returns {boolean}
|
|
254
|
+
* Identifier of this extractor
|
|
227
255
|
*/
|
|
228
|
-
|
|
256
|
+
get identifier(): string;
|
|
229
257
|
/**
|
|
230
|
-
*
|
|
231
|
-
* @type {string}
|
|
258
|
+
* This method will be executed when this extractor is activated
|
|
232
259
|
*/
|
|
233
|
-
|
|
260
|
+
activate(): Promise<void>;
|
|
261
|
+
/**
|
|
262
|
+
* This method will be executed when this extractor is deactivated
|
|
263
|
+
*/
|
|
264
|
+
deactivate(): Promise<void>;
|
|
265
|
+
/**
|
|
266
|
+
* Validate incoming query
|
|
267
|
+
* @param query The query to validate
|
|
268
|
+
*/
|
|
269
|
+
validate(query: string, type?: SearchQueryType | null): Promise<boolean>;
|
|
270
|
+
/**
|
|
271
|
+
* Stream the given track
|
|
272
|
+
* @param info The track to stream
|
|
273
|
+
*/
|
|
274
|
+
stream(info: Track): Promise<Readable | string>;
|
|
275
|
+
/**
|
|
276
|
+
* Handle the given query
|
|
277
|
+
* @param query The query to handle
|
|
278
|
+
*/
|
|
279
|
+
handle(query: string, context: ExtractorSearchContext): Promise<ExtractorInfo>;
|
|
280
|
+
/**
|
|
281
|
+
* A stream middleware to handle streams before passing it to the player
|
|
282
|
+
* @param stream The incoming stream
|
|
283
|
+
* @param next The next function
|
|
284
|
+
*/
|
|
285
|
+
handlePostStream(stream: Readable, next: NextFunction): void;
|
|
286
|
+
/**
|
|
287
|
+
* Dispatch an event to the player
|
|
288
|
+
* @param event The event to dispatch
|
|
289
|
+
* @param args The data to dispatch
|
|
290
|
+
*/
|
|
291
|
+
emit<K extends keyof PlayerEvents>(event: K, ...args: Parameters<PlayerEvents[K]>): boolean;
|
|
292
|
+
}
|
|
293
|
+
type NextFunction = (error?: Error | null, stream?: Readable) => void;
|
|
294
|
+
interface ExtractorInfo {
|
|
295
|
+
playlist: Playlist | null;
|
|
296
|
+
tracks: Track[];
|
|
297
|
+
}
|
|
298
|
+
interface ExtractorSearchContext {
|
|
299
|
+
type?: SearchQueryType | null;
|
|
300
|
+
requestedBy?: User | null;
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
declare class ExtractorExecutionContext {
|
|
304
|
+
player: Player;
|
|
305
|
+
store: Collection<string, BaseExtractor>;
|
|
306
|
+
constructor(player: Player);
|
|
307
|
+
isRegistered(identifier: string): boolean;
|
|
308
|
+
get size(): number;
|
|
309
|
+
get(identifier: string): BaseExtractor | undefined;
|
|
310
|
+
register(_extractor: typeof BaseExtractor): Promise<void>;
|
|
311
|
+
unregister<K extends string | BaseExtractor>(_extractor: K): Promise<void>;
|
|
312
|
+
unregisterAll(): Promise<void>;
|
|
313
|
+
run<T = unknown>(fn: ExtractorExecutionFN<T>): Promise<ExtractorExecutionResult<T> | null>;
|
|
314
|
+
}
|
|
315
|
+
interface ExtractorExecutionResult<T = unknown> {
|
|
316
|
+
extractor: BaseExtractor;
|
|
317
|
+
result: T;
|
|
318
|
+
}
|
|
319
|
+
type ExtractorExecutionFN<T = unknown> = (extractor: BaseExtractor) => Promise<T | boolean>;
|
|
320
|
+
|
|
321
|
+
interface SearchResultData {
|
|
322
|
+
query: string;
|
|
323
|
+
queryType?: SearchQueryType | QueryExtractorSearch | null;
|
|
324
|
+
extractor?: BaseExtractor | null;
|
|
325
|
+
playlist?: Playlist | null;
|
|
326
|
+
tracks?: Track[];
|
|
327
|
+
requestedBy?: User | null;
|
|
328
|
+
}
|
|
329
|
+
declare class SearchResult {
|
|
330
|
+
player: Player;
|
|
331
|
+
private _data;
|
|
332
|
+
constructor(player: Player, _data: SearchResultData);
|
|
333
|
+
get query(): string;
|
|
334
|
+
get queryType(): SearchQueryType | `ext:${string}`;
|
|
335
|
+
get extractor(): BaseExtractor | null;
|
|
336
|
+
get playlist(): Playlist | null | undefined;
|
|
337
|
+
get tracks(): Track[];
|
|
338
|
+
get requestedBy(): User | null;
|
|
339
|
+
execute(): Promise<SearchResult>;
|
|
340
|
+
isEmpty(): boolean;
|
|
341
|
+
hasPlaylist(): boolean;
|
|
342
|
+
hasTracks(): boolean;
|
|
343
|
+
toJSON(): {
|
|
344
|
+
query: string;
|
|
345
|
+
queryType: SearchQueryType | `ext:${string}`;
|
|
346
|
+
playlist: PlaylistJSON | null;
|
|
347
|
+
tracks: TrackJSON[];
|
|
348
|
+
extractor: string | null;
|
|
349
|
+
requestedBy: {} | null;
|
|
350
|
+
};
|
|
234
351
|
}
|
|
235
352
|
|
|
236
353
|
declare class Player extends TypedEmitter<PlayerEvents> {
|
|
@@ -239,8 +356,8 @@ declare class Player extends TypedEmitter<PlayerEvents> {
|
|
|
239
356
|
readonly options: PlayerInitOptions;
|
|
240
357
|
readonly queues: Collection<string, Queue<unknown>>;
|
|
241
358
|
readonly voiceUtils: VoiceUtils;
|
|
242
|
-
readonly extractors: Collection<string, ExtractorModel>;
|
|
243
359
|
requiredEvents: string[];
|
|
360
|
+
extractors: ExtractorExecutionContext;
|
|
244
361
|
/**
|
|
245
362
|
* Creates new Discord Player
|
|
246
363
|
* @param {Client} client The Discord Client
|
|
@@ -268,8 +385,8 @@ declare class Player extends TypedEmitter<PlayerEvents> {
|
|
|
268
385
|
isShard: boolean;
|
|
269
386
|
latency: {
|
|
270
387
|
client: number;
|
|
271
|
-
udp: number;
|
|
272
|
-
ws: number;
|
|
388
|
+
udp: number | undefined;
|
|
389
|
+
ws: number | undefined;
|
|
273
390
|
eventLoop: number;
|
|
274
391
|
};
|
|
275
392
|
subscribers: number;
|
|
@@ -314,23 +431,9 @@ declare class Player extends TypedEmitter<PlayerEvents> {
|
|
|
314
431
|
* Search tracks
|
|
315
432
|
* @param {string|Track} query The search query
|
|
316
433
|
* @param {SearchOptions} options The search options
|
|
317
|
-
* @returns {Promise<
|
|
434
|
+
* @returns {Promise<SearchResult>}
|
|
318
435
|
*/
|
|
319
|
-
search(query: string | Track, options: SearchOptions): Promise<
|
|
320
|
-
/**
|
|
321
|
-
* Registers extractor
|
|
322
|
-
* @param {string} extractorName The extractor name
|
|
323
|
-
* @param {ExtractorModel|any} extractor The extractor object
|
|
324
|
-
* @param {boolean} [force=false] Overwrite existing extractor with this name (if available)
|
|
325
|
-
* @returns {ExtractorModel}
|
|
326
|
-
*/
|
|
327
|
-
use(extractorName: string, extractor: ExtractorModel | any, force?: boolean): ExtractorModel;
|
|
328
|
-
/**
|
|
329
|
-
* Removes registered extractor
|
|
330
|
-
* @param {string} extractorName The extractor name
|
|
331
|
-
* @returns {ExtractorModel}
|
|
332
|
-
*/
|
|
333
|
-
unuse(extractorName: string): ExtractorModel;
|
|
436
|
+
search(query: string | Track, options: SearchOptions): Promise<SearchResult>;
|
|
334
437
|
/**
|
|
335
438
|
* Generates a report of the dependencies used by the `@discordjs/voice` module. Useful for debugging.
|
|
336
439
|
* @returns {string}
|
|
@@ -360,14 +463,17 @@ declare class Queue<T = unknown> {
|
|
|
360
463
|
previousTracks: Track[];
|
|
361
464
|
options: PlayerOptions;
|
|
362
465
|
playing: boolean;
|
|
363
|
-
metadata?: T;
|
|
466
|
+
metadata?: T | null;
|
|
364
467
|
repeatMode: QueueRepeatMode;
|
|
365
468
|
readonly id: string;
|
|
366
469
|
private _streamTime;
|
|
367
470
|
_cooldownsTimeout: Collection<string, NodeJS.Timeout>;
|
|
368
471
|
private _activeFilters;
|
|
369
472
|
private _filtersUpdate;
|
|
370
|
-
|
|
473
|
+
private _lastEQBands;
|
|
474
|
+
private _lastAudioFilters;
|
|
475
|
+
private _lastBiquadFilter;
|
|
476
|
+
onBeforeCreateStream: (track: Track, source: SearchQueryType, queue: Queue) => Promise<Readable | undefined>;
|
|
371
477
|
/**
|
|
372
478
|
* Queue constructor
|
|
373
479
|
* @param {Player} player The player that instantiated this queue
|
|
@@ -375,6 +481,106 @@ declare class Queue<T = unknown> {
|
|
|
375
481
|
* @param {PlayerOptions} [options] Player options for the queue
|
|
376
482
|
*/
|
|
377
483
|
constructor(player: Player, guild: Guild, options?: PlayerOptions);
|
|
484
|
+
/**
|
|
485
|
+
* Whether or not the PCM filterer is available
|
|
486
|
+
*/
|
|
487
|
+
isFiltersAvailable(): boolean;
|
|
488
|
+
/**
|
|
489
|
+
* The PCM filterer
|
|
490
|
+
*/
|
|
491
|
+
get filters(): _discord_player_equalizer.AudioFilter | null;
|
|
492
|
+
/**
|
|
493
|
+
* Check if biquad filter is available
|
|
494
|
+
*/
|
|
495
|
+
isBiquadEnabled(): boolean;
|
|
496
|
+
/**
|
|
497
|
+
* Check if the equalizer is turned off
|
|
498
|
+
*/
|
|
499
|
+
isBiquadOff(): boolean;
|
|
500
|
+
/**
|
|
501
|
+
* Toggles biquad on/off
|
|
502
|
+
*/
|
|
503
|
+
toggleBiquad(): boolean;
|
|
504
|
+
/**
|
|
505
|
+
* Enables biquad
|
|
506
|
+
*/
|
|
507
|
+
enableBiquad(): boolean;
|
|
508
|
+
/**
|
|
509
|
+
* Disables biquad
|
|
510
|
+
*/
|
|
511
|
+
disableBiquad(): boolean;
|
|
512
|
+
/**
|
|
513
|
+
* Biquad filter setter
|
|
514
|
+
*/
|
|
515
|
+
setBiquadFilter(filter: BiquadFilters): void;
|
|
516
|
+
/**
|
|
517
|
+
* Get active biquad filter name
|
|
518
|
+
*/
|
|
519
|
+
getBiquadFilterName(): BiquadFilters | null | undefined;
|
|
520
|
+
/**
|
|
521
|
+
* Returns current biquad filter
|
|
522
|
+
*/
|
|
523
|
+
getBiquadFilter(): BiquadFilters | undefined;
|
|
524
|
+
/**
|
|
525
|
+
* Set biquad filter gain value
|
|
526
|
+
* @param gain The gain to set
|
|
527
|
+
*/
|
|
528
|
+
setBiquadGain(gain: number): void | undefined;
|
|
529
|
+
/**
|
|
530
|
+
* Set biquad cutoff frequency value
|
|
531
|
+
* @param val The value to set
|
|
532
|
+
*/
|
|
533
|
+
setBiquadCutoff(val: number): void | undefined;
|
|
534
|
+
/**
|
|
535
|
+
* Set biquad sample rate value
|
|
536
|
+
* @param val The value to set
|
|
537
|
+
*/
|
|
538
|
+
setBiquadSampleRate(val: number): void | undefined;
|
|
539
|
+
/**
|
|
540
|
+
* Set biquad Q value
|
|
541
|
+
* @param val The value to set
|
|
542
|
+
*/
|
|
543
|
+
setBiquadQ(val: number): void | undefined;
|
|
544
|
+
/**
|
|
545
|
+
* Set equalizer bands
|
|
546
|
+
* @param bands Equalizer band multiplier array
|
|
547
|
+
*/
|
|
548
|
+
setEqualizer(bands?: EqualizerBand[]): boolean;
|
|
549
|
+
/**
|
|
550
|
+
* Set particular equalizer band multiplier
|
|
551
|
+
* @param band The band to update
|
|
552
|
+
* @param gain The gain
|
|
553
|
+
*/
|
|
554
|
+
setEqualizerBand(band: number, gain: number): true | null;
|
|
555
|
+
/**
|
|
556
|
+
* Returns gain value of specific equalizer band
|
|
557
|
+
* @param band The band to get value of
|
|
558
|
+
*/
|
|
559
|
+
getEqualizerBand(band: number): number | null;
|
|
560
|
+
/**
|
|
561
|
+
* Returns entire equalizer bands
|
|
562
|
+
*/
|
|
563
|
+
getEqualizer(): EqualizerBand[];
|
|
564
|
+
/**
|
|
565
|
+
* Check if equalizer is enabled
|
|
566
|
+
*/
|
|
567
|
+
isEqualizerEnabled(): boolean;
|
|
568
|
+
/**
|
|
569
|
+
* Check if the equalizer is turned off
|
|
570
|
+
*/
|
|
571
|
+
isEqualizerOff(): boolean;
|
|
572
|
+
/**
|
|
573
|
+
* Toggles equalizer on/off
|
|
574
|
+
*/
|
|
575
|
+
toggleEqualizer(): boolean;
|
|
576
|
+
/**
|
|
577
|
+
* Enables equalizer
|
|
578
|
+
*/
|
|
579
|
+
enableEqualizer(): boolean;
|
|
580
|
+
/**
|
|
581
|
+
* Disables equalizer
|
|
582
|
+
*/
|
|
583
|
+
disableEqualizer(): boolean;
|
|
378
584
|
/**
|
|
379
585
|
* Forces next play
|
|
380
586
|
* @returns {Promise<void>}
|
|
@@ -384,7 +590,7 @@ declare class Queue<T = unknown> {
|
|
|
384
590
|
* Returns current track
|
|
385
591
|
* @type {Track}
|
|
386
592
|
*/
|
|
387
|
-
get current(): Track;
|
|
593
|
+
get current(): Track | undefined;
|
|
388
594
|
/**
|
|
389
595
|
* If this queue is destroyed
|
|
390
596
|
* @type {boolean}
|
|
@@ -394,13 +600,13 @@ declare class Queue<T = unknown> {
|
|
|
394
600
|
* Returns current track
|
|
395
601
|
* @returns {Track}
|
|
396
602
|
*/
|
|
397
|
-
nowPlaying(): Track;
|
|
603
|
+
nowPlaying(): Track | undefined;
|
|
398
604
|
/**
|
|
399
605
|
* Connects to a voice channel
|
|
400
606
|
* @param {GuildChannelResolvable} channel The voice/stage channel
|
|
401
607
|
* @returns {Promise<Queue>}
|
|
402
608
|
*/
|
|
403
|
-
connect(channel: GuildChannelResolvable): Promise<this>;
|
|
609
|
+
connect(channel: GuildChannelResolvable): Promise<this | undefined>;
|
|
404
610
|
private emitEnd;
|
|
405
611
|
private refreshEndCooldown;
|
|
406
612
|
/**
|
|
@@ -408,12 +614,12 @@ declare class Queue<T = unknown> {
|
|
|
408
614
|
* @param {boolean} [disconnect=this.options.leaveOnStop] If it should leave on destroy
|
|
409
615
|
* @returns {void}
|
|
410
616
|
*/
|
|
411
|
-
destroy(disconnect?: boolean): void;
|
|
617
|
+
destroy(disconnect?: boolean | undefined): void;
|
|
412
618
|
/**
|
|
413
619
|
* Skips current track
|
|
414
620
|
* @returns {boolean}
|
|
415
621
|
*/
|
|
416
|
-
skip(): boolean;
|
|
622
|
+
skip(): boolean | undefined;
|
|
417
623
|
/**
|
|
418
624
|
* Adds single track to the queue
|
|
419
625
|
* @param {Track} track The track to add
|
|
@@ -431,24 +637,37 @@ declare class Queue<T = unknown> {
|
|
|
431
637
|
* @returns {boolean}
|
|
432
638
|
*/
|
|
433
639
|
setPaused(paused?: boolean): boolean;
|
|
640
|
+
/**
|
|
641
|
+
* If the player is currently paused
|
|
642
|
+
*/
|
|
643
|
+
get paused(): boolean;
|
|
644
|
+
set paused(val: boolean);
|
|
645
|
+
/**
|
|
646
|
+
* Pause the playback
|
|
647
|
+
*/
|
|
648
|
+
pause(): boolean;
|
|
649
|
+
/**
|
|
650
|
+
* Resume the playback
|
|
651
|
+
*/
|
|
652
|
+
resume(): boolean;
|
|
434
653
|
/**
|
|
435
654
|
* Sets bitrate
|
|
436
655
|
* @param {number|auto} bitrate bitrate to set
|
|
437
656
|
* @returns {void}
|
|
438
657
|
*/
|
|
439
|
-
setBitrate(bitrate: number |
|
|
658
|
+
setBitrate(bitrate: number | 'auto'): void;
|
|
440
659
|
/**
|
|
441
660
|
* Sets volume
|
|
442
661
|
* @param {number} amount The volume amount
|
|
443
662
|
* @returns {boolean}
|
|
444
663
|
*/
|
|
445
|
-
setVolume(amount: number): boolean;
|
|
664
|
+
setVolume(amount: number): boolean | undefined;
|
|
446
665
|
/**
|
|
447
666
|
* Sets repeat mode
|
|
448
667
|
* @param {QueueRepeatMode} mode The repeat mode
|
|
449
668
|
* @returns {boolean}
|
|
450
669
|
*/
|
|
451
|
-
setRepeatMode(mode: QueueRepeatMode): boolean;
|
|
670
|
+
setRepeatMode(mode: QueueRepeatMode): boolean | undefined;
|
|
452
671
|
/**
|
|
453
672
|
* The current volume amount
|
|
454
673
|
* @type {number}
|
|
@@ -465,12 +684,12 @@ declare class Queue<T = unknown> {
|
|
|
465
684
|
* Returns enabled filters
|
|
466
685
|
* @returns {AudioFilters}
|
|
467
686
|
*/
|
|
468
|
-
getFiltersEnabled(): (keyof QueueFilters)[];
|
|
687
|
+
getFiltersEnabled(): (keyof QueueFilters)[] | undefined;
|
|
469
688
|
/**
|
|
470
689
|
* Returns disabled filters
|
|
471
690
|
* @returns {AudioFilters}
|
|
472
691
|
*/
|
|
473
|
-
getFiltersDisabled(): (keyof QueueFilters)[];
|
|
692
|
+
getFiltersDisabled(): (keyof QueueFilters)[] | undefined;
|
|
474
693
|
/**
|
|
475
694
|
* Sets filters
|
|
476
695
|
* @param {QueueFilters} filters Queue filters
|
|
@@ -482,7 +701,7 @@ declare class Queue<T = unknown> {
|
|
|
482
701
|
* @param {number} position The position
|
|
483
702
|
* @returns {boolean}
|
|
484
703
|
*/
|
|
485
|
-
seek(position: number): Promise<boolean>;
|
|
704
|
+
seek(position: number): Promise<boolean | undefined>;
|
|
486
705
|
/**
|
|
487
706
|
* Plays previous track
|
|
488
707
|
* @returns {Promise<void>}
|
|
@@ -501,19 +720,19 @@ declare class Queue<T = unknown> {
|
|
|
501
720
|
* Shuffles this queue
|
|
502
721
|
* @returns {boolean}
|
|
503
722
|
*/
|
|
504
|
-
shuffle(): boolean;
|
|
723
|
+
shuffle(): boolean | undefined;
|
|
505
724
|
/**
|
|
506
725
|
* Removes a track from the queue
|
|
507
726
|
* @param {Track|string|number} track The track to remove
|
|
508
727
|
* @returns {Track}
|
|
509
728
|
*/
|
|
510
|
-
remove(track: Track | string | number): Track;
|
|
729
|
+
remove(track: Track | string | number): Track | undefined;
|
|
511
730
|
/**
|
|
512
731
|
* Returns the index of the specified track. If found, returns the track index else returns -1.
|
|
513
732
|
* @param {number|Track|string} track The track
|
|
514
733
|
* @returns {number}
|
|
515
734
|
*/
|
|
516
|
-
getTrackPosition(track: number | Track | string): number;
|
|
735
|
+
getTrackPosition(track: number | Track | string): number | undefined;
|
|
517
736
|
/**
|
|
518
737
|
* Jumps to particular track
|
|
519
738
|
* @param {Track|number} track The track
|
|
@@ -546,13 +765,13 @@ declare class Queue<T = unknown> {
|
|
|
546
765
|
current: string;
|
|
547
766
|
end: string;
|
|
548
767
|
progress: number;
|
|
549
|
-
};
|
|
768
|
+
} | undefined;
|
|
550
769
|
/**
|
|
551
770
|
* Creates progress bar string
|
|
552
771
|
* @param {PlayerProgressbarOptions} options The progress bar options
|
|
553
772
|
* @returns {string}
|
|
554
773
|
*/
|
|
555
|
-
createProgressBar(options?: PlayerProgressbarOptions): string;
|
|
774
|
+
createProgressBar(options?: PlayerProgressbarOptions): string | undefined;
|
|
556
775
|
/**
|
|
557
776
|
* Total duration
|
|
558
777
|
* @type {Number}
|
|
@@ -574,8 +793,8 @@ declare class Queue<T = unknown> {
|
|
|
574
793
|
isShard: boolean;
|
|
575
794
|
latency: {
|
|
576
795
|
client: number;
|
|
577
|
-
udp: number;
|
|
578
|
-
ws: number;
|
|
796
|
+
udp: number | undefined;
|
|
797
|
+
ws: number | undefined;
|
|
579
798
|
eventLoop: number;
|
|
580
799
|
};
|
|
581
800
|
subscribers: number;
|
|
@@ -586,7 +805,7 @@ declare class Queue<T = unknown> {
|
|
|
586
805
|
* Voice connection latency in ms
|
|
587
806
|
* @type {number}
|
|
588
807
|
*/
|
|
589
|
-
get ping(): number;
|
|
808
|
+
get ping(): number | undefined;
|
|
590
809
|
/**
|
|
591
810
|
* Play stream in a voice/stage channel
|
|
592
811
|
* @param {Track} [src] The track to play (if empty, uses first track from the queue)
|
|
@@ -612,15 +831,15 @@ declare class Queue<T = unknown> {
|
|
|
612
831
|
voiceChannel: string;
|
|
613
832
|
options: PlayerOptions;
|
|
614
833
|
tracks: TrackJSON[];
|
|
615
|
-
};
|
|
834
|
+
} | undefined;
|
|
616
835
|
/**
|
|
617
836
|
* String representation of this queue
|
|
618
837
|
* @returns {string}
|
|
619
838
|
*/
|
|
620
|
-
toString(): string;
|
|
839
|
+
toString(): string | undefined;
|
|
621
840
|
}
|
|
622
841
|
|
|
623
|
-
|
|
842
|
+
type FiltersName = keyof QueueFilters;
|
|
624
843
|
interface PlayerSearchResult {
|
|
625
844
|
playlist: Playlist | null;
|
|
626
845
|
tracks: Track[];
|
|
@@ -632,7 +851,7 @@ interface QueueFilters {
|
|
|
632
851
|
bassboost_low?: boolean;
|
|
633
852
|
bassboost?: boolean;
|
|
634
853
|
bassboost_high?: boolean;
|
|
635
|
-
|
|
854
|
+
'8D'?: boolean;
|
|
636
855
|
vaporwave?: boolean;
|
|
637
856
|
nightcore?: boolean;
|
|
638
857
|
phaser?: boolean;
|
|
@@ -668,10 +887,11 @@ interface QueueFilters {
|
|
|
668
887
|
* - soundcloud
|
|
669
888
|
* - youtube
|
|
670
889
|
* - spotify
|
|
890
|
+
* - apple_music
|
|
671
891
|
* - arbitrary
|
|
672
892
|
* @typedef {string} TrackSource
|
|
673
893
|
*/
|
|
674
|
-
|
|
894
|
+
type TrackSource = 'soundcloud' | 'youtube' | 'spotify' | 'apple_music' | 'arbitrary';
|
|
675
895
|
/**
|
|
676
896
|
* @typedef {object} RawTrackData
|
|
677
897
|
* @property {string} title The title
|
|
@@ -696,12 +916,13 @@ interface RawTrackData {
|
|
|
696
916
|
thumbnail: string;
|
|
697
917
|
duration: string;
|
|
698
918
|
views: number;
|
|
699
|
-
requestedBy
|
|
919
|
+
requestedBy?: User | null;
|
|
700
920
|
playlist?: Playlist;
|
|
701
921
|
source?: TrackSource;
|
|
702
922
|
engine?: any;
|
|
703
923
|
live?: boolean;
|
|
704
924
|
raw?: any;
|
|
925
|
+
queryType?: SearchQueryType;
|
|
705
926
|
}
|
|
706
927
|
/**
|
|
707
928
|
* @typedef {object} TimeData
|
|
@@ -744,8 +965,14 @@ interface PlayerProgressbarOptions {
|
|
|
744
965
|
* @property {number} [bufferingTimeout=3000] Buffering timeout for the stream
|
|
745
966
|
* @property {boolean} [spotifyBridge=true] If player should bridge spotify source to youtube
|
|
746
967
|
* @property {boolean} [disableVolume=false] If player should disable inline volume
|
|
968
|
+
* @property {boolean} [disableEqualizer=false] If player should disable equalizer
|
|
969
|
+
* @property {boolean} [disableBiquad=false] If player should disable biquad
|
|
747
970
|
* @property {number} [volumeSmoothness=0] The volume transition smoothness between volume changes (lower the value to get better result)
|
|
748
971
|
* Setting this or leaving this empty will disable this effect. Example: `volumeSmoothness: 0.1`
|
|
972
|
+
* @property {EqualizerBand[]} [equalizerBands] The equalizer bands array for 15 band equalizer.
|
|
973
|
+
* @property {BiquadFilters} [biquadFilter] The biquad filter initializer value
|
|
974
|
+
* @property {boolean} [disableFilters] Disable/enable PCM filter
|
|
975
|
+
* @property {PCMFilters[]} [defaultFilters] The PCM filters initializer
|
|
749
976
|
* @property {Function} [onBeforeCreateStream] Runs before creating stream
|
|
750
977
|
*/
|
|
751
978
|
interface PlayerOptions {
|
|
@@ -760,8 +987,14 @@ interface PlayerOptions {
|
|
|
760
987
|
bufferingTimeout?: number;
|
|
761
988
|
spotifyBridge?: boolean;
|
|
762
989
|
disableVolume?: boolean;
|
|
990
|
+
disableEqualizer?: boolean;
|
|
991
|
+
disableBiquad?: boolean;
|
|
763
992
|
volumeSmoothness?: number;
|
|
764
|
-
|
|
993
|
+
equalizerBands?: EqualizerBand[];
|
|
994
|
+
biquadFilter?: BiquadFilters;
|
|
995
|
+
disableFilters?: boolean;
|
|
996
|
+
defaultFilters?: PCMFilters[];
|
|
997
|
+
onBeforeCreateStream?: (track: Track, source: SearchQueryType, queue: Queue) => Promise<Readable>;
|
|
765
998
|
}
|
|
766
999
|
/**
|
|
767
1000
|
* @typedef {object} ExtractorModelData
|
|
@@ -797,7 +1030,7 @@ interface ExtractorModelData {
|
|
|
797
1030
|
title: string;
|
|
798
1031
|
description: string;
|
|
799
1032
|
thumbnail: string;
|
|
800
|
-
type:
|
|
1033
|
+
type: 'album' | 'playlist';
|
|
801
1034
|
source: TrackSource;
|
|
802
1035
|
author: {
|
|
803
1036
|
name: string;
|
|
@@ -839,26 +1072,35 @@ interface ExtractorModelData {
|
|
|
839
1072
|
* - YOUTUBE_SEARCH
|
|
840
1073
|
* - YOUTUBE_VIDEO
|
|
841
1074
|
* - SOUNDCLOUD_SEARCH
|
|
1075
|
+
* - APPLE_MUSIC_SONG
|
|
1076
|
+
* - APPLE_MUSIC_ALBUM
|
|
1077
|
+
* - APPLE_MUSIC_PLAYLIST
|
|
1078
|
+
* - FILE
|
|
842
1079
|
* @typedef {number} QueryType
|
|
843
1080
|
*/
|
|
844
|
-
declare
|
|
845
|
-
AUTO
|
|
846
|
-
YOUTUBE
|
|
847
|
-
YOUTUBE_PLAYLIST
|
|
848
|
-
SOUNDCLOUD_TRACK
|
|
849
|
-
SOUNDCLOUD_PLAYLIST
|
|
850
|
-
SOUNDCLOUD
|
|
851
|
-
SPOTIFY_SONG
|
|
852
|
-
SPOTIFY_ALBUM
|
|
853
|
-
SPOTIFY_PLAYLIST
|
|
854
|
-
FACEBOOK
|
|
855
|
-
VIMEO
|
|
856
|
-
ARBITRARY
|
|
857
|
-
REVERBNATION
|
|
858
|
-
YOUTUBE_SEARCH
|
|
859
|
-
YOUTUBE_VIDEO
|
|
860
|
-
SOUNDCLOUD_SEARCH
|
|
861
|
-
|
|
1081
|
+
declare const QueryType: {
|
|
1082
|
+
readonly AUTO: "auto";
|
|
1083
|
+
readonly YOUTUBE: "youtube";
|
|
1084
|
+
readonly YOUTUBE_PLAYLIST: "youtubePlaylist";
|
|
1085
|
+
readonly SOUNDCLOUD_TRACK: "soundcloudTrack";
|
|
1086
|
+
readonly SOUNDCLOUD_PLAYLIST: "soundcloudPlaylist";
|
|
1087
|
+
readonly SOUNDCLOUD: "soundcloud";
|
|
1088
|
+
readonly SPOTIFY_SONG: "spotifySong";
|
|
1089
|
+
readonly SPOTIFY_ALBUM: "spotifyAlbum";
|
|
1090
|
+
readonly SPOTIFY_PLAYLIST: "spotifyPlaylist";
|
|
1091
|
+
readonly FACEBOOK: "facebook";
|
|
1092
|
+
readonly VIMEO: "vimeo";
|
|
1093
|
+
readonly ARBITRARY: "arbitrary";
|
|
1094
|
+
readonly REVERBNATION: "reverbnation";
|
|
1095
|
+
readonly YOUTUBE_SEARCH: "youtubeSearch";
|
|
1096
|
+
readonly YOUTUBE_VIDEO: "youtubeVideo";
|
|
1097
|
+
readonly SOUNDCLOUD_SEARCH: "soundcloudSearch";
|
|
1098
|
+
readonly APPLE_MUSIC_SONG: "appleMusicSong";
|
|
1099
|
+
readonly APPLE_MUSIC_ALBUM: "appleMusicAlbum";
|
|
1100
|
+
readonly APPLE_MUSIC_PLAYLIST: "appleMusicPlaylist";
|
|
1101
|
+
readonly FILE: "file";
|
|
1102
|
+
};
|
|
1103
|
+
type SearchQueryType = keyof typeof QueryType | (typeof QueryType)[keyof typeof QueryType];
|
|
862
1104
|
/**
|
|
863
1105
|
* Emitted when bot gets disconnected from a voice channel
|
|
864
1106
|
* @event Player#botDisconnect
|
|
@@ -923,6 +1165,13 @@ declare enum QueryType {
|
|
|
923
1165
|
* @param {Queue} queue The queue
|
|
924
1166
|
* @param {Track} track The track
|
|
925
1167
|
*/
|
|
1168
|
+
/**
|
|
1169
|
+
* Emitted when a track ends
|
|
1170
|
+
* @event Player#voiceStateUpdate
|
|
1171
|
+
* @param {Queue} queue The queue that this update belongs to
|
|
1172
|
+
* @param {VoiceState} oldState The old voice state
|
|
1173
|
+
* @param {VoiceState} newState The new voice state
|
|
1174
|
+
*/
|
|
926
1175
|
interface PlayerEvents {
|
|
927
1176
|
botDisconnect: (queue: Queue) => any;
|
|
928
1177
|
channelEmpty: (queue: Queue) => any;
|
|
@@ -935,6 +1184,7 @@ interface PlayerEvents {
|
|
|
935
1184
|
tracksAdd: (queue: Queue, track: Track[]) => any;
|
|
936
1185
|
trackStart: (queue: Queue, track: Track) => any;
|
|
937
1186
|
trackEnd: (queue: Queue, track: Track) => any;
|
|
1187
|
+
voiceStateUpdate: (queue: Queue, oldState: VoiceState, newState: VoiceState) => any;
|
|
938
1188
|
}
|
|
939
1189
|
/**
|
|
940
1190
|
* @typedef {object} PlayOptions
|
|
@@ -949,15 +1199,16 @@ interface PlayOptions {
|
|
|
949
1199
|
seek?: number;
|
|
950
1200
|
immediate?: boolean;
|
|
951
1201
|
}
|
|
1202
|
+
type QueryExtractorSearch = `ext:${string}`;
|
|
952
1203
|
/**
|
|
953
1204
|
* @typedef {object} SearchOptions
|
|
954
1205
|
* @property {UserResolvable} requestedBy The user who requested this search
|
|
955
|
-
* @property {QueryType|string} [searchEngine=QueryType.AUTO] The query search engine, can be extractor name to target specific one (custom)
|
|
1206
|
+
* @property {typeof QueryType|string} [searchEngine=QueryType.AUTO] The query search engine, can be extractor name to target specific one (custom)
|
|
956
1207
|
* @property {boolean} [blockExtractor=false] If it should block custom extractors
|
|
957
1208
|
*/
|
|
958
1209
|
interface SearchOptions {
|
|
959
|
-
requestedBy
|
|
960
|
-
searchEngine?:
|
|
1210
|
+
requestedBy?: UserResolvable;
|
|
1211
|
+
searchEngine?: SearchQueryType | QueryExtractorSearch;
|
|
961
1212
|
blockExtractor?: boolean;
|
|
962
1213
|
}
|
|
963
1214
|
/**
|
|
@@ -994,7 +1245,7 @@ interface PlaylistInitData {
|
|
|
994
1245
|
title: string;
|
|
995
1246
|
description: string;
|
|
996
1247
|
thumbnail: string;
|
|
997
|
-
type:
|
|
1248
|
+
type: 'album' | 'playlist';
|
|
998
1249
|
source: TrackSource;
|
|
999
1250
|
author: {
|
|
1000
1251
|
name: string;
|
|
@@ -1050,7 +1301,7 @@ interface PlaylistJSON {
|
|
|
1050
1301
|
title: string;
|
|
1051
1302
|
description: string;
|
|
1052
1303
|
thumbnail: string;
|
|
1053
|
-
type:
|
|
1304
|
+
type: 'album' | 'playlist';
|
|
1054
1305
|
source: TrackSource;
|
|
1055
1306
|
author: {
|
|
1056
1307
|
name: string;
|
|
@@ -1132,12 +1383,12 @@ declare class PlayerError extends Error {
|
|
|
1132
1383
|
get createdTimestamp(): number;
|
|
1133
1384
|
valueOf(): ErrorStatusCode;
|
|
1134
1385
|
toJSON(): {
|
|
1135
|
-
stack: string;
|
|
1386
|
+
stack: string | undefined;
|
|
1136
1387
|
code: ErrorStatusCode;
|
|
1137
1388
|
message: string;
|
|
1138
1389
|
created: number;
|
|
1139
1390
|
};
|
|
1140
|
-
toString(): string;
|
|
1391
|
+
toString(): string | undefined;
|
|
1141
1392
|
}
|
|
1142
1393
|
|
|
1143
1394
|
declare class QueryResolver {
|
|
@@ -1145,22 +1396,35 @@ declare class QueryResolver {
|
|
|
1145
1396
|
* Query resolver
|
|
1146
1397
|
*/
|
|
1147
1398
|
private constructor();
|
|
1399
|
+
static get regex(): {
|
|
1400
|
+
spotifyAlbumRegex: RegExp;
|
|
1401
|
+
spotifyPlaylistRegex: RegExp;
|
|
1402
|
+
spotifySongRegex: RegExp;
|
|
1403
|
+
vimeoRegex: RegExp;
|
|
1404
|
+
reverbnationRegex: RegExp;
|
|
1405
|
+
attachmentRegex: RegExp;
|
|
1406
|
+
appleMusicAlbumRegex: RegExp;
|
|
1407
|
+
appleMusicPlaylistRegex: RegExp;
|
|
1408
|
+
appleMusicSongRegex: RegExp;
|
|
1409
|
+
};
|
|
1148
1410
|
/**
|
|
1149
1411
|
* Resolves the given search query
|
|
1150
1412
|
* @param {string} query The query
|
|
1151
1413
|
* @returns {QueryType}
|
|
1152
1414
|
*/
|
|
1153
|
-
static resolve(query: string): QueryType;
|
|
1415
|
+
static resolve(query: string): (typeof QueryType)[keyof typeof QueryType];
|
|
1154
1416
|
/**
|
|
1155
1417
|
* Parses vimeo id from url
|
|
1156
1418
|
* @param {string} query The query
|
|
1157
1419
|
* @returns {string}
|
|
1158
1420
|
*/
|
|
1159
|
-
static getVimeoID(query: string): string;
|
|
1421
|
+
static getVimeoID(query: string): string | null | undefined;
|
|
1422
|
+
static validateId(q: string): boolean;
|
|
1423
|
+
static validateURL(q: string): boolean;
|
|
1160
1424
|
}
|
|
1161
1425
|
|
|
1162
1426
|
interface VolumeTransformerOptions extends TransformOptions {
|
|
1163
|
-
type?:
|
|
1427
|
+
type?: 's16le' | 's16be' | 's32le' | 's32be';
|
|
1164
1428
|
smoothness?: number;
|
|
1165
1429
|
volume?: number;
|
|
1166
1430
|
}
|
|
@@ -1172,13 +1436,13 @@ declare class VolumeTransformer extends Transform {
|
|
|
1172
1436
|
private _chunk;
|
|
1173
1437
|
volume: number;
|
|
1174
1438
|
private _targetVolume;
|
|
1175
|
-
type:
|
|
1439
|
+
type: 's16le' | 's32le' | 's16be' | 's32be';
|
|
1176
1440
|
constructor(options?: VolumeTransformerOptions);
|
|
1177
1441
|
_readInt(buffer: Buffer, index: number): number;
|
|
1178
1442
|
_writeInt(buffer: Buffer, int: number, index: number): number;
|
|
1179
1443
|
_applySmoothness(): void;
|
|
1180
1444
|
_transform(chunk: Buffer, encoding: BufferEncoding, done: () => unknown): unknown;
|
|
1181
|
-
_destroy(err: Error, cb: (error: Error) => void): void;
|
|
1445
|
+
_destroy(err: Error, cb: (error: Error | null) => void): void;
|
|
1182
1446
|
setVolume(volume: number): void;
|
|
1183
1447
|
setVolumeDecibels(db: number): void;
|
|
1184
1448
|
setVolumeLogarithmic(value: number): void;
|
|
@@ -1237,7 +1501,7 @@ declare class Util {
|
|
|
1237
1501
|
* @param {number} time The time in ms to wait
|
|
1238
1502
|
* @returns {Promise<unknown>}
|
|
1239
1503
|
*/
|
|
1240
|
-
static wait(time: number): Promise<
|
|
1504
|
+
static wait(time: number): Promise<undefined>;
|
|
1241
1505
|
static noop(): void;
|
|
1242
1506
|
static getFetch(): Promise<any>;
|
|
1243
1507
|
}
|
|
@@ -1255,8 +1519,8 @@ declare function FFMPEG_ARGS_PIPED(fmt?: string): string[];
|
|
|
1255
1519
|
* @param stream The source stream
|
|
1256
1520
|
* @param options FFmpeg stream options
|
|
1257
1521
|
*/
|
|
1258
|
-
declare function createFFmpegStream(stream: Readable | Duplex | string, options?: FFmpegStreamOptions): Readable
|
|
1522
|
+
declare function createFFmpegStream(stream: Readable | Duplex | string, options?: FFmpegStreamOptions): Readable;
|
|
1259
1523
|
|
|
1260
1524
|
declare const version: string;
|
|
1261
1525
|
|
|
1262
|
-
export { AudioFilters, ErrorStatusCode,
|
|
1526
|
+
export { AudioFilters, BaseExtractor, ErrorStatusCode, ExtractorExecutionContext, ExtractorExecutionFN, ExtractorExecutionResult, ExtractorInfo, ExtractorModelData, ExtractorSearchContext, FFMPEG_ARGS_PIPED, FFMPEG_ARGS_STRING, FFmpegStreamOptions, FiltersName, NextFunction, PlayOptions, Player, PlayerError, PlayerEvents, PlayerInitOptions, PlayerOptions, PlayerProgressbarOptions, PlayerSearchResult, Playlist, PlaylistInitData, PlaylistJSON, QueryExtractorSearch, QueryResolver, QueryType, Queue, QueueFilters, QueueRepeatMode, RawTrackData, SearchOptions, SearchQueryType, StreamDispatcher, TimeData, Track, TrackJSON, TrackSource, Util, VoiceEvents, VoiceUtils, VolumeTransformer, VolumeTransformerOptions, createFFmpegStream, version };
|