@jadestudios/discord-music-player
Version:
Complete framework to facilitate music commands using discord.js v13
100 lines (99 loc) • 3.07 kB
TypeScript
import { Playlist, PlaylistOptions, PlayOptions, Queue, Song } from "..";
import { GuildChannel } from "discord.js";
export declare enum ProviderList {
YOUTUBE = 0,
SPOTIFY = 1,
APPLE = 2,
NONE = 3
}
export declare class Utils {
static regexList: {
YouTubeVideo: RegExp;
YouTubeVideoTime: RegExp;
YouTubeVideoID: RegExp;
YouTubePlaylist: RegExp;
YouTubePlaylistID: RegExp;
Spotify: RegExp;
SpotifyPlaylist: RegExp;
Apple: RegExp;
ApplePlaylist: RegExp;
};
/**
* Checks if url is valid and gets which provider it is
* @param url
* @returns {boolean, ProviderList}
*/
static isSongLink(url: string): [boolean, ProviderList];
static isListLink(url: string): [boolean, ProviderList];
/**
* Get ID from YouTube link
* @param {string} url
* @returns {?string}
*/
static parseVideo(url: string): string | null;
/**
* Get timecode from YouTube link
* @param {string} url
* @returns {?string}
*/
static parseVideoTimecode(url: string): string | null;
/**
* Get ID from Playlist link
* @param {string} url
* @returns {?string}
*/
static parsePlaylist(url: string): string | null;
/**
* Search for Songs
* @param {string} Search
* @param {PlayOptions} [SOptions=DefaultPlayOptions]
* @param {Queue} Queue
* @param {number} [Limit=1]
* @return {Promise<Song[]>}
*/
static search(Search: string, SOptions: PlayOptions | undefined, Queue: Queue, Limit?: number): Promise<Song[]>;
/**
* Search for Song via link
* @param {string} Search
* @param {PlayOptions} SOptions
* @param {Queue} Queue
* @return {Promise<Song>}
*/
static link(Search: string, SOptions: PlayOptions | undefined, Queue: Queue): Promise<Song | null | undefined>;
/**
* Gets the best result of a Search
* @param {Song|string} Search
* @param {PlayOptions} SOptions
* @param {Queue} Queue
* @return {Promise<Song>}
*/
static best(Search: Song | string, SOptions: PlayOptions | undefined, Queue: Queue): Promise<Song>;
/**
* Search for Playlist
* @param {string} Search
* @param {PlaylistOptions} SOptions
* @param {Queue} Queue
* @return {Promise<Playlist>}
*/
static playlist(Search: Playlist | string, SOptions: (PlaylistOptions & {
data?: any;
}) | undefined, Queue: Queue): Promise<Playlist>;
/**
* Shuffles an array
* @param {any[]} array
* @returns {any[]}
*/
static shuffle(array: any[]): any[];
/**
* Converts milliseconds to duration (HH:MM:SS)
* @returns {string}
*/
static msToTime(duration: number): string;
/**
* Converts duration (HH:MM:SS) to milliseconds
* @returns {number}
*/
static timeToMs(duration: string): number;
static isVoiceChannel(Channel: GuildChannel): boolean;
static isStageVoiceChannel(Channel: GuildChannel): boolean;
}