Class MusicService

java.lang.Object
dev.despical.musicbot.audio.MusicService
All Implemented Interfaces:
PlaybackEventListener

public final class MusicService extends Object implements PlaybackEventListener
  • Field Details

  • Constructor Details

  • Method Details

    • registerNotificationChannel

      public void registerNotificationChannel(String guildId, net.dv8tion.jda.api.entities.channel.middleman.MessageChannel messageChannel)
    • play

      public CompletableFuture<MusicService.QueueResult> play(net.dv8tion.jda.api.entities.Member member, String query, int repeatCount, boolean loopForever)
    • playSearchResult

      public CompletableFuture<MusicService.QueueResult> playSearchResult(net.dv8tion.jda.api.entities.Member member, MusicService.SearchResult searchResult, int repeatCount, boolean loopForever)
    • search

      public CompletableFuture<List<MusicService.SearchResult>> search(String query, int limit)
    • shouldPromptForSearchSelection

      public boolean shouldPromptForSearchSelection(String query)
    • playInChannel

      public CompletableFuture<MusicService.QueueResult> playInChannel(net.dv8tion.jda.api.entities.Guild guild, net.dv8tion.jda.api.entities.channel.concrete.VoiceChannel targetChannel, String requestedBy, String requestedByAvatarUrl, String query, int repeatCount, boolean loopForever, boolean forceMove)
    • playSearchResultInChannel

      public CompletableFuture<MusicService.QueueResult> playSearchResultInChannel(net.dv8tion.jda.api.entities.Guild guild, net.dv8tion.jda.api.entities.channel.concrete.VoiceChannel targetChannel, String requestedBy, String requestedByAvatarUrl, MusicService.SearchResult searchResult, int repeatCount, boolean loopForever, boolean forceMove)
    • pause

      public void pause(net.dv8tion.jda.api.entities.Guild guild)
    • resume

      public void resume(net.dv8tion.jda.api.entities.Guild guild)
    • isConnectedToVoice

      public boolean isConnectedToVoice(net.dv8tion.jda.api.entities.Guild guild)
    • isPaused

      public boolean isPaused(net.dv8tion.jda.api.entities.Guild guild)
    • stop

      public void stop(net.dv8tion.jda.api.entities.Guild guild)
    • skip

      public MusicService.SkipResult skip(net.dv8tion.jda.api.entities.Guild guild, int count)
    • getQueue

      public MusicService.QueueSnapshot getQueue(net.dv8tion.jda.api.entities.Guild guild, int page)
    • getNowPlaying

      public MusicService.NowPlayingSnapshot getNowPlaying(net.dv8tion.jda.api.entities.Guild guild)
    • setVolume

      public int setVolume(net.dv8tion.jda.api.entities.Guild guild, int volume)
    • onTrackStarted

      public void onTrackStarted(String guildId, PlaybackMetadata metadata, com.sedmelluq.discord.lavaplayer.track.AudioTrack track)
      Specified by:
      onTrackStarted in interface PlaybackEventListener
    • onTrackEnded

      public void onTrackEnded(String guildId, PlaybackMetadata metadata, com.sedmelluq.discord.lavaplayer.track.AudioTrack track, com.sedmelluq.discord.lavaplayer.track.AudioTrackEndReason endReason)
      Specified by:
      onTrackEnded in interface PlaybackEventListener
    • leave

      public void leave(net.dv8tion.jda.api.entities.Guild guild)
    • sendTextNotification

      public void sendTextNotification(String guildId, String message)
    • suppressNextStartNotification

      public void suppressNextStartNotification(String guildId)
    • cancelSuppressedStartNotification

      public void cancelSuppressedStartNotification(String guildId)
    • suppressNextQueuedNotification

      public void suppressNextQueuedNotification(String guildId)
    • cancelSuppressedQueuedNotification

      public void cancelSuppressedQueuedNotification(String guildId)
    • buildHistoryReplayEmbed

      public net.dv8tion.jda.api.entities.MessageEmbed buildHistoryReplayEmbed(String guildId, GuildStateStore.TrackHistoryEntry entry, net.dv8tion.jda.api.entities.Member requester, boolean queued, boolean replayLast)
    • setActiveControlMessage

      public void setActiveControlMessage(String guildId, net.dv8tion.jda.api.entities.channel.middleman.MessageChannel channel, long messageId)
    • getHistory

      public List<GuildStateStore.TrackHistoryEntry> getHistory(String guildId)
    • replayHistory

      public CompletableFuture<MusicService.QueueResult> replayHistory(net.dv8tion.jda.api.entities.Member member, int index)
    • canControl

      public boolean canControl(net.dv8tion.jda.api.entities.Member member, net.dv8tion.jda.api.entities.channel.concrete.VoiceChannel memberChannel)
    • hasActivePlayback

      public boolean hasActivePlayback(net.dv8tion.jda.api.entities.Guild guild)
    • isPlaying

      public boolean isPlaying(net.dv8tion.jda.api.entities.Guild guild)
    • buildPlaybackControlRows

      public List<net.dv8tion.jda.api.components.actionrow.ActionRow> buildPlaybackControlRows(net.dv8tion.jda.api.entities.Guild guild)