UNPKG

discord-dynamic-music-bot-addon

Version:
127 lines 4.9 kB
/// <reference types="node" /> import { VideoInfo } from './interfaces'; import { opus } from 'prism-media'; import { GuildMember, TextChannel, Message, Guild, MessageReaction } from 'discord.js'; import ytdl = require('ytdl-core'); import { Language } from './language'; import { YoutubePlayer } from './YoutubePlayer'; export interface PlaylistItem { videoData?: VideoInfo; videoInfo: ytdl.videoInfo; stream: opus.Encoder | opus.WebmDemuxer; submitter: GuildMember; submitted: Date; message?: Message; index?: number; } export declare enum VoteInfo { NO_PERMISSION = 0, ALREADY_VOTE = 1, VOTE_SUCCESSFUL = 2, VOTE_EXECUTED = 3 } export declare type VoteType = 'voteNext' | 'votePrevious' | 'voteReplay' | 'votePauseResume' | 'voteLoop'; export declare class GuildPlayer { private guild; private youtubePlayer; private playerUpdateRate; private suggestReplay; private reactionButtons; private leaveVoiceChannelAfter; private waitTimeBetweenTracks; language: Language; private votePercentage; private defaultChannel; suspended: boolean; loop: boolean; timeOutPlayerLeave?: NodeJS.Timeout; timeOutPlayerLeaveAllMemberLeft?: NodeJS.Timeout; private suggestReplayFun?; private songTimer?; readonly previous: PlaylistItem[]; readonly playlist: PlaylistItem[]; private recreateReactionTries; private voteNext; private votePrevious; private voteReplay; private votePauseResume; private voteLoop; private currentlyPlaying?; private textChannel?; private interval?; private trackStartTime?; private paused?; private goingToReplay; private shuffled; private message?; private counter; private rgb; constructor(guild: Guild, youtubePlayer: YoutubePlayer, playerUpdateRate: number, suggestReplay: number, reactionButtons: boolean, leaveVoiceChannelAfter: number, waitTimeBetweenTracks: number, language: Language, votePercentage: number, defaultChannel: TextChannel); isAlreadyOnPlaylistByUrl(url: string): string | false; isAlreadyOnPlaylistById(id: string): string | false; replaySong(): boolean; addVote(guildMember: GuildMember, type: VoteType): VoteInfo; setVote(guildMembers: GuildMember[], type: VoteType): boolean; removeVote(guildMember: GuildMember, type: VoteType): VoteInfo; getVoiceChannelUsersSize(): number; howManySongsDoesMemberHaveInPlaylist(guildMember: GuildMember): number; setStartTime(): void; resetTime(): void; setTextChannel(textChannel: TextChannel): void; getTextChannel(): TextChannel | undefined; suspend(): void; clearTimeout(): void; getSongProgressionTime(): Date | null; destroy(): void; fullDestroy(): Promise<void>; pause(): void; unpause(): void; shuffle(): boolean; sort(): boolean; push(item: PlaylistItem): boolean; switchToNextTrack(): PlaylistItem | undefined; switchToPreviousTrack(): PlaylistItem | undefined; clearVotes(): void; addRemoveUser(voteGroup: GuildMember[], guildMember: GuildMember): boolean; nextTrack(): Promise<void>; pauseTrack(): void; resumeTrack(): void; replayAsNextTrack(): boolean; replayTrack(): Promise<void>; setSong(playlistItem: PlaylistItem): void; previousTrack(): Promise<void>; removeFromPlayListByMessage(message: Message, deleted?: boolean): Promise<boolean>; canExecute(guildMembers: GuildMember[] | GuildMember): boolean; getGuildMembersFromReactions(messageReaction: MessageReaction): GuildMember[]; getFromVoiceAndMessageReactions(messageReaction: MessageReaction): GuildMember[]; removeItemFromPlaylist(playlistItem: PlaylistItem, deleted?: boolean): false | undefined; updatePlayer(): Promise<void>; resetPlayerLoop(): void; playerLoop(): void; recreateOrRecreatePlayerButtons(start?: boolean): Promise<void>; removeAllReactions(): Promise<void>; deletePlayerMessage(shouldReassign?: boolean): void; private reactIfExist; private onVoteSuccessful; private pauseResume; private getNewStream; set playerMessage(message: Message | undefined); get playerMessage(): Message | undefined; set playerChannel(channel: TextChannel); get playerChannel(): TextChannel; get currentPlayListItem(): PlaylistItem | undefined; get length(): number; get startTime(): Date | undefined; get isPaused(): boolean; get isLooping(): boolean; get isGoingToReplay(): boolean; get voteNextStatus(): string | null; get votePreviousStatus(): string | null; get voteReplayStatus(): string | null; get votePauseResumeStatus(): string | null; get voteLoopStatus(): string | null; addFunctionWhenSongEnds(time: number): void; clearSongTimer(): void; private colorFader; } //# sourceMappingURL=GuildPlayer.d.ts.map