UNPKG

@persian-caesar/discord-player

Version:

Type definitions and helpers for a Discord music player (MusicPlayer) without external dependencies

86 lines (85 loc) 2.23 kB
export declare enum MusicPlayerEvent { Start = "start", QueueAdd = "queueAdd", Pause = "pause", Resume = "resume", Stop = "stop", Skip = "skip", Previous = "previous", Shuffle = "shuffle", LoopQueue = "loopQueue", LoopTrack = "loopTrack", VolumeChange = "volumeChange", Finish = "finish", Disconnect = "disconnect", Error = "error" } export interface StartPayload { metadata: TrackMetadata; queue: TrackMetadata[]; } export interface QueueAddPayload { metadata: TrackMetadata; queue: TrackMetadata[]; } export interface VolumeChangePayload { volume: number; } export interface SkipPayload { queue: TrackMetadata[]; history: string[]; } export interface PreviousPayload { metadata: TrackMetadata; queue: TrackMetadata[]; history: string[]; } export interface ShufflePayload { queue: TrackMetadata[]; } export interface LoopTogglePayload { enabled: boolean; } export interface FinishPayload { queue: TrackMetadata[]; history: string[]; } export type TypedEmitter = { "start": [StartPayload]; "queueAdd": [QueueAddPayload]; "pause": [void]; "resume": [void]; "stop": [void]; "skip": [SkipPayload]; "previous": [PreviousPayload]; "shuffle": [ShufflePayload]; "loopQueue": [LoopTogglePayload]; "loopTrack": [LoopTogglePayload]; "volumeChange": [VolumeChangePayload]; "finish": [FinishPayload]; "disconnect": [void]; "error": [Error]; }; export interface VoiceChannel { id: string; guild: { id: string; voiceAdapterCreator: any; }; } export interface TrackMetadata { title: string | undefined; author: string | undefined; duration: number | undefined; thumbnail: string | undefined; source: "youtube" | "soundcloud" | "spotify" | "deezer" | "unknown"; url: string; } /** * @copyright * Code by Sobhan-SRZA (mr.sinre) | https://github.com/Sobhan-SRZA * Developed for Persian Caesar | https://github.com/Persian-Caesar | https://dsc.gg/persian-caesar * * If you encounter any issues or need assistance with this code, * please make sure to credit "Persian Caesar" in your documentation or communications. */