From c0477a4d17e66316b4cfe2888acadb4b61a199e0 Mon Sep 17 00:00:00 2001 From: Andrew Lalis Date: Sun, 18 Jun 2017 10:29:17 +0200 Subject: [PATCH] First Commit, working play feature. --- pom.xml | 48 ++++++ src/main/java/handiebot/HandieBot.java | 149 ++++++++++++++++++ .../handiebot/command/CommandHandler.java | 88 +++++++++++ .../lavaplayer/AudioLoadResultHandler.java | 40 +++++ .../handiebot/lavaplayer/AudioProvider.java | 52 ++++++ .../lavaplayer/GuildMusicManager.java | 26 +++ .../handiebot/lavaplayer/TrackScheduler.java | 65 ++++++++ src/main/resources/icon.png | Bin 0 -> 80153 bytes src/main/resources/icon.svg | 121 ++++++++++++++ 9 files changed, 589 insertions(+) create mode 100644 pom.xml create mode 100644 src/main/java/handiebot/HandieBot.java create mode 100644 src/main/java/handiebot/command/CommandHandler.java create mode 100644 src/main/java/handiebot/lavaplayer/AudioLoadResultHandler.java create mode 100644 src/main/java/handiebot/lavaplayer/AudioProvider.java create mode 100644 src/main/java/handiebot/lavaplayer/GuildMusicManager.java create mode 100644 src/main/java/handiebot/lavaplayer/TrackScheduler.java create mode 100644 src/main/resources/icon.png create mode 100644 src/main/resources/icon.svg diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..9beb865 --- /dev/null +++ b/pom.xml @@ -0,0 +1,48 @@ + + + 4.0.0 + + net.agspace.handiebot + handiebot + 1.0-SNAPSHOT + + + + org.apache.maven.plugins + maven-compiler-plugin + + 1.7 + 1.7 + + + + + jar + + + + jcenter + http://jcenter.bintray.com + + + jitpack.io + https://jitpack.io + + + + + + com.github.austinv11 + Discord4J + 2.8.2 + + + com.sedmelluq + lavaplayer + 1.2.39 + + + + \ No newline at end of file diff --git a/src/main/java/handiebot/HandieBot.java b/src/main/java/handiebot/HandieBot.java new file mode 100644 index 0000000..274ccce --- /dev/null +++ b/src/main/java/handiebot/HandieBot.java @@ -0,0 +1,149 @@ +package handiebot; + +import com.sedmelluq.discord.lavaplayer.player.AudioLoadResultHandler; +import com.sedmelluq.discord.lavaplayer.player.AudioPlayerManager; +import com.sedmelluq.discord.lavaplayer.player.DefaultAudioPlayerManager; +import com.sedmelluq.discord.lavaplayer.source.AudioSourceManagers; +import com.sedmelluq.discord.lavaplayer.tools.FriendlyException; +import com.sedmelluq.discord.lavaplayer.track.AudioPlaylist; +import com.sedmelluq.discord.lavaplayer.track.AudioTrack; +import handiebot.command.CommandHandler; +import handiebot.lavaplayer.GuildMusicManager; +import sx.blah.discord.api.ClientBuilder; +import sx.blah.discord.api.IDiscordClient; +import sx.blah.discord.api.events.EventSubscriber; +import sx.blah.discord.handle.audio.IAudioManager; +import sx.blah.discord.handle.impl.events.guild.channel.message.MessageReceivedEvent; +import sx.blah.discord.handle.obj.IChannel; +import sx.blah.discord.handle.obj.IGuild; +import sx.blah.discord.handle.obj.IVoiceChannel; +import sx.blah.discord.util.DiscordException; +import sx.blah.discord.util.MissingPermissionsException; +import sx.blah.discord.util.RateLimitException; + +import java.util.HashMap; +import java.util.Map; + +/** + * @author Andrew Lalis + * Main Class for the discord bot. Contains client loading information and general event processing. + */ +public class HandieBot { + + private static final String TOKEN = "MjgzNjUyOTg5MjEyNjg4Mzg0.C45A_Q.506b0G6my1FEFa7_YY39lxLBHUY"; + + private static IDiscordClient client; + + private CommandHandler commandHandler; + + public static void main(String[] args) throws DiscordException, RateLimitException { + System.out.println("Logging bot in..."); + client = new ClientBuilder().withToken(TOKEN).build(); + client.getDispatcher().registerListener(new HandieBot()); + client.login(); + } + + private final AudioPlayerManager playerManager; + private final Map musicManagers; + + private HandieBot() { + this.musicManagers = new HashMap<>(); + this.playerManager = new DefaultAudioPlayerManager(); + AudioSourceManagers.registerRemoteSources(playerManager); + AudioSourceManagers.registerLocalSource(playerManager); + + this.commandHandler = new CommandHandler(this); + } + + private synchronized GuildMusicManager getGuildAudioPlayer(IGuild guild) { + long guildId = Long.parseLong(guild.getID()); + GuildMusicManager musicManager = musicManagers.get(guildId); + + if (musicManager == null) { + musicManager = new GuildMusicManager(playerManager); + musicManagers.put(guildId, musicManager); + } + + guild.getAudioManager().setAudioProvider(musicManager.getAudioProvider()); + + return musicManager; + } + + @EventSubscriber + public void onMessageReceived(MessageReceivedEvent event) { + this.commandHandler.handleCommand(event); + } + + public void loadAndPlay(final IChannel channel, final String trackUrl) { + GuildMusicManager musicManager = getGuildAudioPlayer(channel.getGuild()); + + playerManager.loadItemOrdered(musicManager, trackUrl, new AudioLoadResultHandler() { + @Override + public void trackLoaded(AudioTrack track) { + sendMessageToChannel(channel, "Adding to queue " + track.getInfo().title); + + play(channel.getGuild(), musicManager, track); + } + + @Override + public void playlistLoaded(AudioPlaylist playlist) { + AudioTrack firstTrack = playlist.getSelectedTrack(); + + if (firstTrack == null) { + firstTrack = playlist.getTracks().get(0); + } + + sendMessageToChannel(channel, "Adding to queue " + firstTrack.getInfo().title + " (first track of playlist " + playlist.getName() + ")"); + + play(channel.getGuild(), musicManager, firstTrack); + } + + @Override + public void noMatches() { + sendMessageToChannel(channel, "Nothing found by " + trackUrl); + } + + @Override + public void loadFailed(FriendlyException exception) { + sendMessageToChannel(channel, "Could not play: " + exception.getMessage()); + } + }); + } + + private void play(IGuild guild, GuildMusicManager musicManager, AudioTrack track) { + connectToFirstVoiceChannel(guild.getAudioManager()); + + musicManager.scheduler.queue(track); + } + + public void skipTrack(IChannel channel) { + GuildMusicManager musicManager = getGuildAudioPlayer(channel.getGuild()); + musicManager.scheduler.nextTrack(); + + sendMessageToChannel(channel, "Skipped to next track."); + } + + private void sendMessageToChannel(IChannel channel, String message) { + try { + channel.sendMessage(message); + } catch (Exception e) { + e.printStackTrace(); + } + } + + private static void connectToFirstVoiceChannel(IAudioManager audioManager) { + for (IVoiceChannel voiceChannel : audioManager.getGuild().getVoiceChannels()) { + if (voiceChannel.isConnected()) { + return; + } + } + + for (IVoiceChannel voiceChannel : audioManager.getGuild().getVoiceChannels()) { + try { + voiceChannel.join(); + } catch (MissingPermissionsException e) { + e.printStackTrace(); + } + } + } +} diff --git a/src/main/java/handiebot/command/CommandHandler.java b/src/main/java/handiebot/command/CommandHandler.java new file mode 100644 index 0000000..2567e3f --- /dev/null +++ b/src/main/java/handiebot/command/CommandHandler.java @@ -0,0 +1,88 @@ +package handiebot.command; + +import com.sun.istack.internal.NotNull; +import handiebot.HandieBot; +import sx.blah.discord.handle.impl.events.guild.channel.message.MessageReceivedEvent; +import sx.blah.discord.handle.obj.*; +import sx.blah.discord.util.EmbedBuilder; + +/** + * @author Andrew Lalis + * Class to process commands. + */ +public class CommandHandler { + + private static String PREFIX = "!"; + + private final HandieBot bot; + + public CommandHandler(HandieBot bot){ + this.bot = bot; + } + + /** + * Main method to handle user messages. + * @param event The event generated by the message. + */ + public void handleCommand(MessageReceivedEvent event){ + IMessage message = event.getMessage(); + IUser user = event.getAuthor(); + IChannel channel = event.getChannel(); + IGuild guild = event.getGuild(); + String command = extractCommand(message); + String[] args = extractArgs(message); + if (guild != null && command != null){ + if (command.equals("play") && args.length == 1){ + this.bot.loadAndPlay(channel, args[0]); + } else if (command.equals("help")){ + + } + } + } + + /** + * Returns a command word, if one exists, from a given message. + * @param message The message to get a command from. + * @return The command word, minus the prefix, or null. + */ + private String extractCommand(IMessage message){ + String[] words = message.getContent().split(" "); + if (words[0].startsWith(PREFIX)){ + return words[0].replaceFirst(PREFIX, "").toLowerCase(); + } + return null; + } + + /** + * Extracts a list of arguments from a message, assuming a command exists. + * @param message The message to parse. + * @return A list of strings representing args. + */ + @NotNull + private String[] extractArgs(IMessage message){ + String[] words = message.getContent().split(" "); + if (words[0].startsWith(PREFIX)){ + String[] args = new String[words.length-1]; + for (int i = 0; i < words.length-1; i++){ + args[i] = words[i+1]; + } + return args; + } + return new String[0]; + } + + private void sendHelpInfo(IUser user){ + IPrivateChannel pm = user.getOrCreatePMChannel(); + EmbedBuilder builder = new EmbedBuilder(); + + } + + /** + * Sets the prefix used to identify commands. + * @param prefix The prefix appended to the beginning of commands. + */ + public void setPrefix(String prefix){ + PREFIX = prefix; + } + +} diff --git a/src/main/java/handiebot/lavaplayer/AudioLoadResultHandler.java b/src/main/java/handiebot/lavaplayer/AudioLoadResultHandler.java new file mode 100644 index 0000000..a07d21d --- /dev/null +++ b/src/main/java/handiebot/lavaplayer/AudioLoadResultHandler.java @@ -0,0 +1,40 @@ +package handiebot.lavaplayer; + +import com.sedmelluq.discord.lavaplayer.tools.FriendlyException; +import com.sedmelluq.discord.lavaplayer.track.AudioPlaylist; +import com.sedmelluq.discord.lavaplayer.track.AudioTrack; + +/** + * @author Andrew Lalis + */ +public class AudioLoadResultHandler implements com.sedmelluq.discord.lavaplayer.player.AudioLoadResultHandler { + + private TrackScheduler scheduler; + + public AudioLoadResultHandler(TrackScheduler scheduler){ + this.scheduler = scheduler; + } + + @Override + public void trackLoaded(AudioTrack audioTrack) { + System.out.println("Adding to queue "+ audioTrack.getInfo().title); + scheduler.queue(audioTrack); + } + + @Override + public void playlistLoaded(AudioPlaylist audioPlaylist) { + System.out.println("Adding playlist to queue."); + audioPlaylist.getTracks().forEach(track -> this.scheduler.queue(track)); + } + + @Override + public void noMatches() { + System.out.println("No matches!"); + } + + @Override + public void loadFailed(FriendlyException e) { + System.out.println("Load failed."); + e.printStackTrace(); + } +} diff --git a/src/main/java/handiebot/lavaplayer/AudioProvider.java b/src/main/java/handiebot/lavaplayer/AudioProvider.java new file mode 100644 index 0000000..0155f4e --- /dev/null +++ b/src/main/java/handiebot/lavaplayer/AudioProvider.java @@ -0,0 +1,52 @@ +package handiebot.lavaplayer; + +import com.sedmelluq.discord.lavaplayer.player.AudioPlayer; +import com.sedmelluq.discord.lavaplayer.track.playback.AudioFrame; +import sx.blah.discord.handle.audio.AudioEncodingType; +import sx.blah.discord.handle.audio.IAudioProvider; + +/** + * Created by Andrew's Computer on 18-Jun-17. + */ +public class AudioProvider implements IAudioProvider { + private final AudioPlayer audioPlayer; + private AudioFrame lastFrame; + + /** + * @param audioPlayer Audio player to wrap. + */ + public AudioProvider(AudioPlayer audioPlayer) { + this.audioPlayer = audioPlayer; + } + + @Override + public boolean isReady() { + if (lastFrame == null) { + lastFrame = audioPlayer.provide(); + } + + return lastFrame != null; + } + + @Override + public byte[] provide() { + if (lastFrame == null) { + lastFrame = audioPlayer.provide(); + } + + byte[] data = lastFrame != null ? lastFrame.data : null; + lastFrame = null; + + return data; + } + + @Override + public int getChannels() { + return 2; + } + + @Override + public AudioEncodingType getAudioEncodingType() { + return AudioEncodingType.OPUS; + } +} diff --git a/src/main/java/handiebot/lavaplayer/GuildMusicManager.java b/src/main/java/handiebot/lavaplayer/GuildMusicManager.java new file mode 100644 index 0000000..06af150 --- /dev/null +++ b/src/main/java/handiebot/lavaplayer/GuildMusicManager.java @@ -0,0 +1,26 @@ +package handiebot.lavaplayer; + +import com.sedmelluq.discord.lavaplayer.player.AudioPlayer; +import com.sedmelluq.discord.lavaplayer.player.AudioPlayerManager; + +/** + * @author Andrew Lalis + * Holds the player and track scheduler for a guild. + */ +public class GuildMusicManager { + + public final AudioPlayer player; + + public final TrackScheduler scheduler; + + public GuildMusicManager(AudioPlayerManager manager){ + this.player = manager.createPlayer(); + this.scheduler = new TrackScheduler(this.player); + this.player.addListener(this.scheduler); + } + + public AudioProvider getAudioProvider(){ + return new AudioProvider(this.player); + } + +} diff --git a/src/main/java/handiebot/lavaplayer/TrackScheduler.java b/src/main/java/handiebot/lavaplayer/TrackScheduler.java new file mode 100644 index 0000000..555a6f4 --- /dev/null +++ b/src/main/java/handiebot/lavaplayer/TrackScheduler.java @@ -0,0 +1,65 @@ +package handiebot.lavaplayer; + +import com.sedmelluq.discord.lavaplayer.player.AudioPlayer; +import com.sedmelluq.discord.lavaplayer.player.event.AudioEventAdapter; +import com.sedmelluq.discord.lavaplayer.tools.FriendlyException; +import com.sedmelluq.discord.lavaplayer.track.AudioTrack; +import com.sedmelluq.discord.lavaplayer.track.AudioTrackEndReason; + +import java.util.concurrent.BlockingQueue; +import java.util.concurrent.LinkedBlockingQueue; + +/** + * @author Andrew Lalis + */ +public class TrackScheduler extends AudioEventAdapter { + + private final AudioPlayer player; + private final BlockingQueue queue; + + /** + * Constructs a new track scheduler with the given player. + * @param player The audio player this scheduler uses. + */ + public TrackScheduler(AudioPlayer player){ + this.player = player; + this.queue = new LinkedBlockingQueue<>(); + } + + /** + * Add the next track to the queue or play right away if nothing is in the queue. + * @param track The track to play or add to the queue. + */ + public void queue(AudioTrack track){ + if (!player.startTrack(track, true)){ + System.out.println("Unable to start track immediately, adding to queue."); + queue.offer(track); + } + } + + /** + * Starts the next track, stopping the current one if it's playing. + */ + public void nextTrack(){ + player.startTrack(queue.poll(), false); + } + + @Override + public void onTrackEnd(AudioPlayer player, AudioTrack track, AudioTrackEndReason endReason) { + if (endReason.mayStartNext){ + nextTrack(); + } else { + System.out.println(endReason.toString()); + } + } + + @Override + public void onTrackException(AudioPlayer player, AudioTrack track, FriendlyException exception){ + exception.printStackTrace(); + } + + @Override + public void onTrackStuck(AudioPlayer player, AudioTrack track, long thresholdMs) { + super.onTrackStuck(player, track, thresholdMs); + } +} diff --git a/src/main/resources/icon.png b/src/main/resources/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..f11fbb914531dbef93bc0a99b956bff785179dd7 GIT binary patch literal 80153 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%0DS0keP)?gJe)Bw?N7>X&)5HyTo{8n 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

#A}#cD%IAIDZ4q*Ju8D3mc8x@P}Cr;7*sJ z6wzD(%D%Cr*NYB4`E%sg=!ty(i{C7eTy6$`r)YY0`X1`%U8wEcaWz_fkIS@x4pm5# zvP{7H@1Yzap}m{Gf_=#k(f*hq)Z+)Z=R|@m)J^!^6?l@Wm?(RHB=(b*P&_xsMSr7{ zGSUg9>9L!R?_wQ8jgk?*N#H;Bp$|uA4Q5BZz|_4BHf@m)oR@jTuUs^wl}O(HqPh;T zWOWh;{n&W}XFs$YYI)_Ad1Wjq@>%SWk64Tm7#{P2imh39 zc-?$}7YoCqPzA#yKN3iCJ?G^Fyyp)GCHQgbLGj_9Fr7_ju(MNNlyKEzLC;mUjM2t$ zL>oAlihrS!q4WHpc)3OA#_iO4F0EvGN>t=Vn~^{E;KX6#$K*#xBd4h`T@PlY00Mo~ z&HQRBzPt#TH#u4oP(wpU;W@)R84pvJ=(x=m1y=KFd%%l zhlVd&^*=uqbKc%a5wY}!S5jZ80-^rPbMPO12|GBH%!u>gUjI#Byv$g{Ax?qZgM=CC z@#@z*srvlB>b=S35{qinsdI+pfEb3+#^WUSx&5-kO<9HLdBiF1eVhJ5s$Z7JQsY(mdnDDdt}2VWaKF-` zWh@Z6kPWGQHZv;~JvD0o8~?ZEJ@ykOA1izIWFz~g1fTR-(!aX<+#315T}!=sZ`z%$ z)g@u?BPSmmAUN3+uts@ z$#mGqy&QM|Q1-c3wPz!@E>{J$5>D;a-I@PiBm4uSK?*SDA81HeFETH_&6gH;``{Vr zU`^I%+vLu?xfmrpYH@k?ZsW`= z4}Ih+Ere%P86~FpyIq}L&35qMy8yKRl3dBd*a!-i8t?sR^Gp6suax^ z_V14Qf-uGfcYq;e&|-S^d-|Uf_k1L7PW~onJM+So$sd)gF5S8@{o1j8J+c>PgQ&b0 z-r3Gi%h&SON*XUR2Q~m&`3>K^S?mAa!S|b7-id$reu1VKfRs$dgXgyG(pvjpul#@2 zY5(JbWUF1$n^*5v1opFApRqSA1oqk(RKF((UH}etO>5g1zgK + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + +