diff --git a/pom.xml b/pom.xml index 6dfa5c2..eef9f63 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.jagrosh JMusicBot - 0.1.1 + 0.1.2 jar @@ -23,17 +23,17 @@ net.dv8tion JDA - 3.3.1_316 + 3.5.0_335 com.sedmelluq lavaplayer - 1.2.45 + 1.2.47 com.jagrosh JDA-Utilities - 1.9 + 2.0 ch.qos.logback diff --git a/src/main/java/com/jagrosh/jmusicbot/Bot.java b/src/main/java/com/jagrosh/jmusicbot/Bot.java index fb0d0fa..16abfa1 100644 --- a/src/main/java/com/jagrosh/jmusicbot/Bot.java +++ b/src/main/java/com/jagrosh/jmusicbot/Bot.java @@ -27,9 +27,9 @@ import java.util.HashMap; import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; -import com.jagrosh.jdautilities.commandclient.Command.Category; -import com.jagrosh.jdautilities.commandclient.CommandEvent; -import com.jagrosh.jdautilities.waiter.EventWaiter; +import com.jagrosh.jdautilities.command.Command.Category; +import com.jagrosh.jdautilities.command.CommandEvent; +import com.jagrosh.jdautilities.commons.waiter.EventWaiter; import com.jagrosh.jmusicbot.audio.AudioHandler; import com.jagrosh.jmusicbot.gui.GUI; import com.jagrosh.jmusicbot.utils.FormatUtil; diff --git a/src/main/java/com/jagrosh/jmusicbot/Config.java b/src/main/java/com/jagrosh/jmusicbot/Config.java index 20c7fe6..ebb5c98 100644 --- a/src/main/java/com/jagrosh/jmusicbot/Config.java +++ b/src/main/java/com/jagrosh/jmusicbot/Config.java @@ -32,20 +32,9 @@ import net.dv8tion.jda.core.entities.Game; */ public class Config { private boolean nogui; - private String prefix; - private String altprefix; - private String token; - private String owner; - private String success; - private String warning; - private String error; - private String game; - private String help; - private boolean stay; - private boolean dbots; - private boolean songingame; - private boolean useEval; - private boolean npimages; + private String prefix, altprefix, token, owner, success, warning, error, game, + help, loadingEmoji, searchingEmoji; + private boolean stay, dbots, songingame, useEval, npimages; private long maxSeconds; private OnlineStatus status = OnlineStatus.UNKNOWN; @@ -84,6 +73,12 @@ public class Config { case "error": error = value; break; + case "loading": + loadingEmoji = value; + break; + case "searching": + searchingEmoji = value; + break; case "game": game = value; break; @@ -203,6 +198,16 @@ public class Config { return error==null ? "\uD83D\uDEAB" : error; } + public String getLoading() + { + return loadingEmoji==null ? "\u231A" : loadingEmoji; + } + + public String getSearching() + { + return searchingEmoji==null ? "\uD83D\uDD0E" : searchingEmoji; + } + public Game getGame() { if(game==null || game.isEmpty()) diff --git a/src/main/java/com/jagrosh/jmusicbot/JMusicBot.java b/src/main/java/com/jagrosh/jmusicbot/JMusicBot.java index 406bdb6..0a4a313 100644 --- a/src/main/java/com/jagrosh/jmusicbot/JMusicBot.java +++ b/src/main/java/com/jagrosh/jmusicbot/JMusicBot.java @@ -17,10 +17,10 @@ package com.jagrosh.jmusicbot; import java.awt.Color; import javax.security.auth.login.LoginException; -import com.jagrosh.jdautilities.commandclient.CommandClient; -import com.jagrosh.jdautilities.commandclient.CommandClientBuilder; -import com.jagrosh.jdautilities.commandclient.examples.*; -import com.jagrosh.jdautilities.waiter.EventWaiter; +import com.jagrosh.jdautilities.command.CommandClient; +import com.jagrosh.jdautilities.command.CommandClientBuilder; +import com.jagrosh.jdautilities.commons.waiter.EventWaiter; +import com.jagrosh.jdautilities.examples.command.*; import com.jagrosh.jmusicbot.audio.AudioHandler; import com.jagrosh.jmusicbot.commands.*; import com.jagrosh.jmusicbot.gui.GUI; @@ -29,7 +29,6 @@ import net.dv8tion.jda.core.JDABuilder; import net.dv8tion.jda.core.OnlineStatus; import net.dv8tion.jda.core.Permission; import net.dv8tion.jda.core.entities.Game; -import net.dv8tion.jda.core.exceptions.RateLimitedException; import org.slf4j.LoggerFactory; /** @@ -59,7 +58,7 @@ public class JMusicBot { Bot bot = new Bot(waiter, config); AboutCommand ab = new AboutCommand(Color.BLUE.brighter(), - "a music bot that is [easy to host yourself!](https://github.com/jagrosh/MusicBot) (v0.1.1)", + "a music bot that is [easy to host yourself!](https://github.com/jagrosh/MusicBot) (v0.1.2)", new String[]{"High-quality music playback", "FairQueueâ„¢ Technology", "Easy to host yourself"}, RECOMMENDED_PERMS); ab.setIsAuthor(false); @@ -82,12 +81,12 @@ public class JMusicBot { new SettingsCmd(bot), new NowplayingCmd(bot), - new PlayCmd(bot), + new PlayCmd(bot, config.getLoading()), new PlaylistsCmd(bot), new QueueCmd(bot), new RemoveCmd(bot), - new SearchCmd(bot), - new SCSearchCmd(bot), + new SearchCmd(bot, config.getSearching()), + new SCSearchCmd(bot, config.getSearching()), new ShuffleCmd(bot), new SkipCmd(bot), @@ -145,7 +144,7 @@ public class JMusicBot { new JDABuilder(AccountType.BOT) .setToken(config.getToken()) .setAudioEnabled(true) - .setGame(nogame ? null : Game.of("loading...")) + .setGame(nogame ? null : Game.playing("loading...")) .setStatus(config.getStatus()==OnlineStatus.INVISIBLE||config.getStatus()==OnlineStatus.OFFLINE ? OnlineStatus.INVISIBLE : OnlineStatus.DO_NOT_DISTURB) .addEventListener(client) .addEventListener(waiter) @@ -157,7 +156,7 @@ public class JMusicBot { + "editing the correct config.txt file, and that you have used the " + "correct token (not the 'secret'!)"); } - catch(IllegalArgumentException | RateLimitedException ex) + catch(IllegalArgumentException ex) { LoggerFactory.getLogger("Startup").error(""+ex); } diff --git a/src/main/java/com/jagrosh/jmusicbot/commands/AutoplaylistCmd.java b/src/main/java/com/jagrosh/jmusicbot/commands/AutoplaylistCmd.java index c107f4a..ea76c51 100644 --- a/src/main/java/com/jagrosh/jmusicbot/commands/AutoplaylistCmd.java +++ b/src/main/java/com/jagrosh/jmusicbot/commands/AutoplaylistCmd.java @@ -15,13 +15,8 @@ */ package com.jagrosh.jmusicbot.commands; -import java.io.File; -import java.io.IOException; -import java.nio.file.Files; -import java.nio.file.Paths; -import java.util.List; -import com.jagrosh.jdautilities.commandclient.Command; -import com.jagrosh.jdautilities.commandclient.CommandEvent; +import com.jagrosh.jdautilities.command.Command; +import com.jagrosh.jdautilities.command.CommandEvent; import com.jagrosh.jmusicbot.Bot; import com.jagrosh.jmusicbot.playlist.Playlist; diff --git a/src/main/java/com/jagrosh/jmusicbot/commands/EvalCmd.java b/src/main/java/com/jagrosh/jmusicbot/commands/EvalCmd.java index bbfaedd..7982687 100644 --- a/src/main/java/com/jagrosh/jmusicbot/commands/EvalCmd.java +++ b/src/main/java/com/jagrosh/jmusicbot/commands/EvalCmd.java @@ -17,8 +17,8 @@ package com.jagrosh.jmusicbot.commands; import javax.script.ScriptEngine; import javax.script.ScriptEngineManager; -import com.jagrosh.jdautilities.commandclient.Command; -import com.jagrosh.jdautilities.commandclient.CommandEvent; +import com.jagrosh.jdautilities.command.Command; +import com.jagrosh.jdautilities.command.CommandEvent; import com.jagrosh.jmusicbot.Bot; /** diff --git a/src/main/java/com/jagrosh/jmusicbot/commands/ForceskipCmd.java b/src/main/java/com/jagrosh/jmusicbot/commands/ForceskipCmd.java index 6bbab59..6c46819 100644 --- a/src/main/java/com/jagrosh/jmusicbot/commands/ForceskipCmd.java +++ b/src/main/java/com/jagrosh/jmusicbot/commands/ForceskipCmd.java @@ -15,7 +15,7 @@ */ package com.jagrosh.jmusicbot.commands; -import com.jagrosh.jdautilities.commandclient.CommandEvent; +import com.jagrosh.jdautilities.command.CommandEvent; import com.jagrosh.jmusicbot.Bot; import com.jagrosh.jmusicbot.audio.AudioHandler; import net.dv8tion.jda.core.entities.User; diff --git a/src/main/java/com/jagrosh/jmusicbot/commands/MusicCommand.java b/src/main/java/com/jagrosh/jmusicbot/commands/MusicCommand.java index 27df9be..653348d 100644 --- a/src/main/java/com/jagrosh/jmusicbot/commands/MusicCommand.java +++ b/src/main/java/com/jagrosh/jmusicbot/commands/MusicCommand.java @@ -15,8 +15,8 @@ */ package com.jagrosh.jmusicbot.commands; -import com.jagrosh.jdautilities.commandclient.Command; -import com.jagrosh.jdautilities.commandclient.CommandEvent; +import com.jagrosh.jdautilities.command.Command; +import com.jagrosh.jdautilities.command.CommandEvent; import com.jagrosh.jmusicbot.Bot; import com.jagrosh.jmusicbot.Settings; import com.jagrosh.jmusicbot.audio.AudioHandler; @@ -51,7 +51,7 @@ public abstract class MusicCommand extends Command { try { event.getMessage().delete().queue(); } catch(PermissionException e){} - event.replyInDM(event.getClient().getError()+" You can only use that command in <#"+settings.getTextId()+">!"); + event.replyInDm(event.getClient().getError()+" You can only use that command in <#"+settings.getTextId()+">!"); return; } if(bePlaying diff --git a/src/main/java/com/jagrosh/jmusicbot/commands/NowplayingCmd.java b/src/main/java/com/jagrosh/jmusicbot/commands/NowplayingCmd.java index 47ad0ad..f9d62a7 100644 --- a/src/main/java/com/jagrosh/jmusicbot/commands/NowplayingCmd.java +++ b/src/main/java/com/jagrosh/jmusicbot/commands/NowplayingCmd.java @@ -15,7 +15,7 @@ */ package com.jagrosh.jmusicbot.commands; -import com.jagrosh.jdautilities.commandclient.CommandEvent; +import com.jagrosh.jdautilities.command.CommandEvent; import com.jagrosh.jmusicbot.Bot; import com.jagrosh.jmusicbot.utils.FormatUtil; import net.dv8tion.jda.core.Permission; diff --git a/src/main/java/com/jagrosh/jmusicbot/commands/PauseCmd.java b/src/main/java/com/jagrosh/jmusicbot/commands/PauseCmd.java index e780655..fb06357 100644 --- a/src/main/java/com/jagrosh/jmusicbot/commands/PauseCmd.java +++ b/src/main/java/com/jagrosh/jmusicbot/commands/PauseCmd.java @@ -15,7 +15,7 @@ */ package com.jagrosh.jmusicbot.commands; -import com.jagrosh.jdautilities.commandclient.CommandEvent; +import com.jagrosh.jdautilities.command.CommandEvent; import com.jagrosh.jmusicbot.Bot; import com.jagrosh.jmusicbot.audio.AudioHandler; import net.dv8tion.jda.core.entities.User; diff --git a/src/main/java/com/jagrosh/jmusicbot/commands/PlayCmd.java b/src/main/java/com/jagrosh/jmusicbot/commands/PlayCmd.java index 175d9ca..e45002e 100644 --- a/src/main/java/com/jagrosh/jmusicbot/commands/PlayCmd.java +++ b/src/main/java/com/jagrosh/jmusicbot/commands/PlayCmd.java @@ -20,18 +20,16 @@ import com.sedmelluq.discord.lavaplayer.tools.FriendlyException; import com.sedmelluq.discord.lavaplayer.tools.FriendlyException.Severity; import com.sedmelluq.discord.lavaplayer.track.AudioPlaylist; import com.sedmelluq.discord.lavaplayer.track.AudioTrack; -import com.jagrosh.jdautilities.commandclient.Command; -import com.jagrosh.jdautilities.commandclient.CommandEvent; -import com.jagrosh.jdautilities.waiter.EventWaiter; +import com.jagrosh.jdautilities.command.Command; +import com.jagrosh.jdautilities.command.CommandEvent; +import com.jagrosh.jdautilities.menu.ButtonMenu; import com.jagrosh.jmusicbot.Bot; import com.jagrosh.jmusicbot.audio.AudioHandler; import com.jagrosh.jmusicbot.playlist.Playlist; import com.jagrosh.jmusicbot.utils.FormatUtil; import java.util.concurrent.TimeUnit; import net.dv8tion.jda.core.Permission; -import net.dv8tion.jda.core.entities.Emote; import net.dv8tion.jda.core.entities.Message; -import net.dv8tion.jda.core.events.message.react.MessageReactionAddEvent; import net.dv8tion.jda.core.exceptions.PermissionException; /** @@ -40,9 +38,14 @@ import net.dv8tion.jda.core.exceptions.PermissionException; */ public class PlayCmd extends MusicCommand { - public PlayCmd(Bot bot) + public final static String LOAD = "\uD83D\uDCE5"; + public final static String CANCEL = "\uD83D\uDEAB"; + private final String loadingEmoji; + + public PlayCmd(Bot bot, String loadingEmoji) { super(bot); + this.loadingEmoji = loadingEmoji; this.name = "play"; this.arguments = ""; this.help = "plays the provided song"; @@ -60,7 +63,7 @@ public class PlayCmd extends MusicCommand { boolean isDJ = event.getMember().hasPermission(Permission.MANAGE_SERVER); if(!isDJ) - isDJ = event.isOwner() || event.isCoOwner(); + isDJ = event.isOwner(); if(!isDJ) isDJ = event.getMember().getRoles().contains(event.getGuild().getRoleById(bot.getSettings(event.getGuild()).getRoleId())); if(!isDJ) @@ -83,7 +86,7 @@ public class PlayCmd extends MusicCommand String args = event.getArgs().startsWith("<") && event.getArgs().endsWith(">") ? event.getArgs().substring(1,event.getArgs().length()-1) : event.getArgs(); - event.reply("\u231A Loading... `["+args+"]`", m -> bot.getAudioManager().loadItemOrdered(event.getGuild(), args, new ResultHandler(m,event,false))); + event.reply(loadingEmoji+" Loading... `["+args+"]`", m -> bot.getAudioManager().loadItemOrdered(event.getGuild(), args, new ResultHandler(m,event,false))); } private class ResultHandler implements AudioLoadResultHandler @@ -114,19 +117,21 @@ public class PlayCmd extends MusicCommand m.editMessage(addMsg).queue(); else { - m.editMessage(addMsg+"\n"+event.getClient().getWarning()+" This track has a playlist of **"+playlist.getTracks().size()+"** tracks attached. Load playlist?") - .queue(m -> + new ButtonMenu.Builder() + .setText(addMsg+"\n"+event.getClient().getWarning()+" This track has a playlist of **"+playlist.getTracks().size()+"** tracks attached. Select "+LOAD+" to load playlist.") + .setChoices(LOAD, CANCEL) + .setEventWaiter(bot.getWaiter()) + .setTimeout(30, TimeUnit.SECONDS) + .setAction(re -> { - m.addReaction("\u2705").queue(); - bot.getWaiter().waitForEvent(MessageReactionAddEvent.class, - e -> e.getMessageIdLong()==m.getIdLong() && e.getUser().getIdLong()==event.getAuthor().getIdLong(), - e -> - { - m.editMessage(addMsg+"\n"+event.getClient().getSuccess()+" Loaded **"+loadPlaylist(playlist, track)+"** additional tracks!").queue(); - try{m.clearReactions().queue();}catch(PermissionException ex){} - }, - 2, TimeUnit.MINUTES, () -> {try{m.clearReactions().queue();}catch(PermissionException e){}}); - }); + if(re.getName().equals(LOAD)) + m.editMessage(addMsg+"\n"+event.getClient().getSuccess()+" Loaded **"+loadPlaylist(playlist, track)+"** additional tracks!").queue(); + else + m.editMessage(addMsg).queue(); + }).setFinalAction(m -> + { + try{m.clearReactions().queue();}catch(PermissionException ex){} + }).build().display(m); } } @@ -226,7 +231,7 @@ public class PlayCmd extends MusicCommand event.reply(event.getClient().getError()+" I could not find `"+event.getArgs()+".txt` in the Playlists folder."); return; } - event.getChannel().sendMessage("\u231A Loading playlist **"+event.getArgs()+"**... ("+playlist.getItems().size()+" items)").queue(m -> { + event.getChannel().sendMessage(loadingEmoji+" Loading playlist **"+event.getArgs()+"**... ("+playlist.getItems().size()+" items)").queue(m -> { playlist.loadTracks(bot.getAudioManager(), (at)->bot.queueTrack(event, at), () -> { StringBuilder builder = new StringBuilder(playlist.getTracks().isEmpty() ? event.getClient().getWarning()+" No tracks were loaded!" diff --git a/src/main/java/com/jagrosh/jmusicbot/commands/PlaylistCmd.java b/src/main/java/com/jagrosh/jmusicbot/commands/PlaylistCmd.java index 33722da..09a5d09 100644 --- a/src/main/java/com/jagrosh/jmusicbot/commands/PlaylistCmd.java +++ b/src/main/java/com/jagrosh/jmusicbot/commands/PlaylistCmd.java @@ -20,8 +20,8 @@ import java.io.IOException; import java.nio.file.Files; import java.nio.file.Paths; import java.util.List; -import com.jagrosh.jdautilities.commandclient.Command; -import com.jagrosh.jdautilities.commandclient.CommandEvent; +import com.jagrosh.jdautilities.command.Command; +import com.jagrosh.jdautilities.command.CommandEvent; import com.jagrosh.jmusicbot.Bot; import com.jagrosh.jmusicbot.playlist.Playlist; diff --git a/src/main/java/com/jagrosh/jmusicbot/commands/PlaylistsCmd.java b/src/main/java/com/jagrosh/jmusicbot/commands/PlaylistsCmd.java index 7da9aa0..4845776 100644 --- a/src/main/java/com/jagrosh/jmusicbot/commands/PlaylistsCmd.java +++ b/src/main/java/com/jagrosh/jmusicbot/commands/PlaylistsCmd.java @@ -16,7 +16,7 @@ package com.jagrosh.jmusicbot.commands; import java.util.List; -import com.jagrosh.jdautilities.commandclient.CommandEvent; +import com.jagrosh.jdautilities.command.CommandEvent; import com.jagrosh.jmusicbot.Bot; import com.jagrosh.jmusicbot.playlist.Playlist; diff --git a/src/main/java/com/jagrosh/jmusicbot/commands/QueueCmd.java b/src/main/java/com/jagrosh/jmusicbot/commands/QueueCmd.java index 6d16e31..e32b085 100644 --- a/src/main/java/com/jagrosh/jmusicbot/commands/QueueCmd.java +++ b/src/main/java/com/jagrosh/jmusicbot/commands/QueueCmd.java @@ -17,8 +17,8 @@ package com.jagrosh.jmusicbot.commands; import java.util.List; import java.util.concurrent.TimeUnit; -import com.jagrosh.jdautilities.commandclient.CommandEvent; -import com.jagrosh.jdautilities.menu.pagination.PaginatorBuilder; +import com.jagrosh.jdautilities.command.CommandEvent; +import com.jagrosh.jdautilities.menu.Paginator; import com.jagrosh.jmusicbot.Bot; import com.jagrosh.jmusicbot.audio.AudioHandler; import com.jagrosh.jmusicbot.audio.QueuedTrack; @@ -32,7 +32,7 @@ import net.dv8tion.jda.core.exceptions.PermissionException; */ public class QueueCmd extends MusicCommand { - private final PaginatorBuilder builder; + private final Paginator.Builder builder; public QueueCmd(Bot bot) { super(bot); @@ -42,7 +42,7 @@ public class QueueCmd extends MusicCommand { this.aliases = new String[]{"list"}; this.bePlaying = true; this.botPermissions = new Permission[]{Permission.MESSAGE_ADD_REACTION,Permission.MESSAGE_EMBED_LINKS}; - builder = new PaginatorBuilder() + builder = new Paginator.Builder() .setColumns(1) .setFinalAction(m -> {try{m.clearReactions().queue();}catch(PermissionException e){}}) .setItemsPerPage(10) @@ -76,7 +76,7 @@ public class QueueCmd extends MusicCommand { songs[i] = list.get(i).toString(); } long fintotal = total; - builder.setText((i1,i2) -> getQueueTitle(ah, event.getClient().getSuccess(), songs.length, fintotal, bot.getSettings(event.getGuild()).getRepeatMode())) + builder.setText((i1,i2) -> event.getClient().getSuccess()+" "+getQueueTitle(ah, event.getClient().getSuccess(), songs.length, fintotal, bot.getSettings(event.getGuild()).getRepeatMode())) .setItems(songs) .setUsers(event.getAuthor()) .setColor(event.getSelfMember().getColor()) diff --git a/src/main/java/com/jagrosh/jmusicbot/commands/RemoveCmd.java b/src/main/java/com/jagrosh/jmusicbot/commands/RemoveCmd.java index 177adc0..672ff44 100644 --- a/src/main/java/com/jagrosh/jmusicbot/commands/RemoveCmd.java +++ b/src/main/java/com/jagrosh/jmusicbot/commands/RemoveCmd.java @@ -15,7 +15,7 @@ */ package com.jagrosh.jmusicbot.commands; -import com.jagrosh.jdautilities.commandclient.CommandEvent; +import com.jagrosh.jdautilities.command.CommandEvent; import com.jagrosh.jmusicbot.Bot; import com.jagrosh.jmusicbot.audio.AudioHandler; import com.jagrosh.jmusicbot.audio.QueuedTrack; diff --git a/src/main/java/com/jagrosh/jmusicbot/commands/RepeatCmd.java b/src/main/java/com/jagrosh/jmusicbot/commands/RepeatCmd.java index 3431eb7..27bfbd7 100644 --- a/src/main/java/com/jagrosh/jmusicbot/commands/RepeatCmd.java +++ b/src/main/java/com/jagrosh/jmusicbot/commands/RepeatCmd.java @@ -15,8 +15,8 @@ */ package com.jagrosh.jmusicbot.commands; -import com.jagrosh.jdautilities.commandclient.Command; -import com.jagrosh.jdautilities.commandclient.CommandEvent; +import com.jagrosh.jdautilities.command.Command; +import com.jagrosh.jdautilities.command.CommandEvent; import com.jagrosh.jmusicbot.Bot; /** diff --git a/src/main/java/com/jagrosh/jmusicbot/commands/SCSearchCmd.java b/src/main/java/com/jagrosh/jmusicbot/commands/SCSearchCmd.java index 7f5b414..1235cd2 100644 --- a/src/main/java/com/jagrosh/jmusicbot/commands/SCSearchCmd.java +++ b/src/main/java/com/jagrosh/jmusicbot/commands/SCSearchCmd.java @@ -21,8 +21,8 @@ import com.sedmelluq.discord.lavaplayer.tools.FriendlyException.Severity; import com.sedmelluq.discord.lavaplayer.track.AudioPlaylist; import com.sedmelluq.discord.lavaplayer.track.AudioTrack; import java.util.concurrent.TimeUnit; -import com.jagrosh.jdautilities.commandclient.CommandEvent; -import com.jagrosh.jdautilities.menu.orderedmenu.OrderedMenuBuilder; +import com.jagrosh.jdautilities.command.CommandEvent; +import com.jagrosh.jdautilities.menu.OrderedMenu; import com.jagrosh.jmusicbot.Bot; import com.jagrosh.jmusicbot.audio.AudioHandler; import com.jagrosh.jmusicbot.utils.FormatUtil; @@ -35,17 +35,19 @@ import net.dv8tion.jda.core.entities.Message; */ public class SCSearchCmd extends MusicCommand { - private final OrderedMenuBuilder builder; - public SCSearchCmd(Bot bot) + private final OrderedMenu.Builder builder; + private final String searchingEmoji; + public SCSearchCmd(Bot bot, String searchingEmoji) { super(bot); + this.searchingEmoji = searchingEmoji; this.name = "scsearch"; this.arguments = ""; this.help = "searches Soundcloud for a provided query"; this.beListening = true; this.bePlaying = false; this.botPermissions = new Permission[]{Permission.MESSAGE_EMBED_LINKS}; - builder = new OrderedMenuBuilder() + builder = new OrderedMenu.Builder() .allowTextInput(true) .useNumbers() .useCancelButton(true) @@ -60,7 +62,7 @@ public class SCSearchCmd extends MusicCommand { event.reply(event.getClient().getError()+" Please include a query."); return; } - event.reply("\uD83D\uDD0E Searching... `["+event.getArgs()+"]`",m -> bot.getAudioManager().loadItemOrdered(event.getGuild(), "scsearch:"+event.getArgs(), new ResultHandler(m,event))); + event.reply(searchingEmoji+" Searching... `["+event.getArgs()+"]`",m -> bot.getAudioManager().loadItemOrdered(event.getGuild(), "scsearch:"+event.getArgs(), new ResultHandler(m,event))); } private class ResultHandler implements AudioLoadResultHandler { @@ -91,7 +93,7 @@ public class SCSearchCmd extends MusicCommand { builder.setColor(event.getSelfMember().getColor()) .setText(FormatUtil.filter(event.getClient().getSuccess()+" Search results for `"+event.getArgs()+"`:")) .setChoices(new String[0]) - .setAction(i -> { + .setSelection((msg, i) -> { AudioTrack track = playlist.getTracks().get(i-1); if(AudioHandler.isTooLong(track)) { @@ -104,7 +106,7 @@ public class SCSearchCmd extends MusicCommand { +"** (`"+FormatUtil.formatTime(track.getDuration())+"`) "+(pos==0 ? "to begin playing" : " to the queue at position "+pos)); }) - .setCancel(() -> {}) + .setCancel((msg) -> {}) .setUsers(event.getAuthor()) ; for(int i=0; i<4&&ibot.getAudioManager().loadItemOrdered(event.getGuild(), "ytsearch:"+event.getArgs(), new ResultHandler(m,event))); + event.reply(searchingEmoji+" Searching... `["+event.getArgs()+"]`",m ->bot.getAudioManager().loadItemOrdered(event.getGuild(), "ytsearch:"+event.getArgs(), new ResultHandler(m,event))); } private class ResultHandler implements AudioLoadResultHandler { @@ -88,11 +90,12 @@ public class SearchCmd extends MusicCommand { } @Override - public void playlistLoaded(AudioPlaylist playlist) { + public void playlistLoaded(AudioPlaylist playlist) + { builder.setColor(event.getSelfMember().getColor()) .setText(FormatUtil.filter(event.getClient().getSuccess()+" Search results for `"+event.getArgs()+"`:")) .setChoices(new String[0]) - .setAction(i -> { + .setSelection((msg,i) -> { AudioTrack track = playlist.getTracks().get(i-1); if(AudioHandler.isTooLong(track)) { @@ -105,7 +108,7 @@ public class SearchCmd extends MusicCommand { +"** (`"+FormatUtil.formatTime(track.getDuration())+"`) "+(pos==0 ? "to begin playing" : " to the queue at position "+pos)); }) - .setCancel(() -> {}) + .setCancel((msg) -> {}) .setUsers(event.getAuthor()) ; for(int i=0; i<4&&i