diff options
Diffstat (limited to 'src/main')
| -rw-r--r-- | src/main/java/soundchan/BotListener/BotListener.java | 6 | ||||
| -rw-r--r-- | src/main/java/soundchan/BotListener/BotListenerHelpers.java | 26 | ||||
| -rw-r--r-- | src/main/java/soundchan/TrackScheduler.java | 16 | 
3 files changed, 39 insertions, 9 deletions
| diff --git a/src/main/java/soundchan/BotListener/BotListener.java b/src/main/java/soundchan/BotListener/BotListener.java index fe148ce..b09fffc 100644 --- a/src/main/java/soundchan/BotListener/BotListener.java +++ b/src/main/java/soundchan/BotListener/BotListener.java @@ -31,6 +31,7 @@ public class BotListener extends ListenerAdapter{      private static LocalAudioManager localManager;      private final AudioPlayerManager playerManager;      private final Map<Long, GuildMusicManager> musicManagers; +    private BotListenerHelpers helper = new BotListenerHelpers();      public BotListener(Properties properties) {          this.musicManagers = new HashMap<>(); @@ -78,7 +79,6 @@ public class BotListener extends ListenerAdapter{      @Override      public void onMessageReceived(MessageReceivedEvent event) {          String[] command = event.getMessage().getContentRaw().split(" ", 2); -        BotListenerHelpers helper = new BotListenerHelpers();          Guild guild = event.getGuild();          MessageChannel channel = helper.GetReplyChannel(event); @@ -202,8 +202,10 @@ public class BotListener extends ListenerAdapter{                      //track.setPosition(long position)                  } -                if(!preempt) +                if(!preempt) { +                    helper.urlToTimeStamp(trackUrl);                      channel.sendMessage("Adding to queue " + track.getInfo().title).queue(); +                }                  play(monitoredGuild, musicManager, track, preempt);              } diff --git a/src/main/java/soundchan/BotListener/BotListenerHelpers.java b/src/main/java/soundchan/BotListener/BotListenerHelpers.java index 6689255..98ad31a 100644 --- a/src/main/java/soundchan/BotListener/BotListenerHelpers.java +++ b/src/main/java/soundchan/BotListener/BotListenerHelpers.java @@ -4,6 +4,7 @@ import net.dv8tion.jda.core.entities.Guild;  import net.dv8tion.jda.core.entities.MessageChannel;  import net.dv8tion.jda.core.events.message.MessageReceivedEvent; +  public class BotListenerHelpers {      /** @@ -16,5 +17,30 @@ public class BotListenerHelpers {          return (guild == null) ? event.getPrivateChannel() : event.getTextChannel();      } +    public long urlToTimeStamp(String url){ + +        int[] timeConversions = {1, 60, 3600}; +        int position = url.indexOf("?t="); +        int seekTime = 0; + +        if(position != -1){ +            String linkTimestamp = url.substring(position + 3); +            String[] times = linkTimestamp.split("[hms]"); +            for(int i = 0; i < times.length / 2; i++) +            { +                String temp = times[i]; +                times[i] = times[times.length - i - 1]; +                times[times.length - i - 1] = temp; +            } + +            for (int i = 0; i < times.length; i++) { +                seekTime = seekTime + timeConversions[i]*Integer.parseInt(times[i]); +            } +            System.out.println(seekTime); + +        } +        return seekTime; +    } +  } diff --git a/src/main/java/soundchan/TrackScheduler.java b/src/main/java/soundchan/TrackScheduler.java index cc68335..cf7b1f8 100644 --- a/src/main/java/soundchan/TrackScheduler.java +++ b/src/main/java/soundchan/TrackScheduler.java @@ -46,14 +46,16 @@ public class TrackScheduler extends AudioEventAdapter {    public void playNow(AudioTrack track) {      AudioTrack currenlyPlaying = player.getPlayingTrack(); -    AudioTrack cloned = currenlyPlaying.makeClone(); -    cloned.setPosition(currenlyPlaying.getPosition()); - -    // Don't re-enqueue if its just a soundclip -    if(!(currenlyPlaying.getInfo().uri.contains(".mp3") || currenlyPlaying.getInfo().uri.contains(".wav"))) -      // Re-enqueue the track -      queue.addFirst(cloned); +    // If something is currently playing, pause it and put it back in the queue +    if(currenlyPlaying != null) { +      AudioTrack cloned = currenlyPlaying.makeClone(); +      cloned.setPosition(currenlyPlaying.getPosition()); +      // Don't re-enqueue if its just a soundclip +      if (!(currenlyPlaying.getInfo().uri.contains(".mp3") || currenlyPlaying.getInfo().uri.contains(".wav"))) +        // Re-enqueue the track +        queue.addFirst(cloned); +    }      player.startTrack(track, false);    } | 
