diff --git a/pom.xml b/pom.xml index 569e8aa..470de55 100644 --- a/pom.xml +++ b/pom.xml @@ -27,7 +27,7 @@ net.dv8tion JDA - 4.1.0_97 + 4.1.0_99 org.json diff --git a/src/main/java/com/bbn/hadder/Hadder.java b/src/main/java/com/bbn/hadder/Hadder.java index b4a6cbb..2dd1812 100644 --- a/src/main/java/com/bbn/hadder/Hadder.java +++ b/src/main/java/com/bbn/hadder/Hadder.java @@ -103,7 +103,8 @@ public class Hadder { new StopCommand(), new BlacklistCommand(), new PauseCommand(), - new LoopCommand()), config, helpCommand); + new LoopCommand(), + new BassCommand()), config, helpCommand); builder.addEventListeners( new MentionListener(rethink), @@ -118,7 +119,7 @@ public class Hadder { try { shardManager = builder.build(); - } catch (LoginException e) { + } catch (Exception e) { e.printStackTrace(); } } diff --git a/src/main/java/com/bbn/hadder/audio/AudioManager.java b/src/main/java/com/bbn/hadder/audio/AudioManager.java index 6dd6f18..4e7b730 100644 --- a/src/main/java/com/bbn/hadder/audio/AudioManager.java +++ b/src/main/java/com/bbn/hadder/audio/AudioManager.java @@ -30,6 +30,7 @@ public class AudioManager { public AudioManager() { AudioSourceManagers.registerRemoteSources(myManager); + myManager.getConfiguration().setFilterHotSwapEnabled(true); } public boolean hasPlayer(Guild guild) { diff --git a/src/main/java/com/bbn/hadder/audio/TrackManager.java b/src/main/java/com/bbn/hadder/audio/TrackManager.java index 91fa146..5154b80 100644 --- a/src/main/java/com/bbn/hadder/audio/TrackManager.java +++ b/src/main/java/com/bbn/hadder/audio/TrackManager.java @@ -48,10 +48,10 @@ public class TrackManager extends AudioEventAdapter { @Override public void onTrackEnd(AudioPlayer player, AudioTrack track, AudioTrackEndReason endReason) { - Guild g = queue.element().getAuthor().getGuild(); if (loop) { player.playTrack(track.makeClone()); } else if (queue.isEmpty()) { + Guild g = queue.poll().getAuthor().getGuild(); g.getAudioManager().closeAudioConnection(); } else { player.playTrack(queue.element().getTrack().makeClone()); diff --git a/src/main/java/com/bbn/hadder/commands/misc/GitHubCommand.java b/src/main/java/com/bbn/hadder/commands/misc/GitHubCommand.java index 906798e..8c1ffd6 100644 --- a/src/main/java/com/bbn/hadder/commands/misc/GitHubCommand.java +++ b/src/main/java/com/bbn/hadder/commands/misc/GitHubCommand.java @@ -79,6 +79,9 @@ public class GitHubCommand implements Command { } } } else { + event.getHelpCommand().sendHelp(this, event); + /* + TODO: THIS event.getTextChannel().sendMessage( event.getMessageEditor().getMessage( MessageEditor.MessageType.INFO, @@ -86,7 +89,7 @@ public class GitHubCommand implements Command { "", "commands.misc.github.connect.description", "(https://github.com/login/oauth/authorize?client_id=25321f690bb1b6952942)") - .build()).queue(); + .build()).queue(); */ } } diff --git a/src/main/java/com/bbn/hadder/commands/music/BassCommand.java b/src/main/java/com/bbn/hadder/commands/music/BassCommand.java new file mode 100644 index 0000000..c227118 --- /dev/null +++ b/src/main/java/com/bbn/hadder/commands/music/BassCommand.java @@ -0,0 +1,61 @@ +/* + @author Hax / Hax6775 / Schlauer_Hax + */ + +package com.bbn.hadder.commands.music; + +import com.bbn.hadder.commands.Command; +import com.bbn.hadder.commands.CommandEvent; +import com.bbn.hadder.utils.MessageEditor; +import com.sedmelluq.discord.lavaplayer.filter.equalizer.EqualizerFactory; + +public class BassCommand implements Command { + private static final float[] BASS_BOOST = { 0.2f, 0.15f, 0.1f, 0.05f, 0.0f, -0.05f, -0.1f, -0.1f, -0.1f, -0.1f, -0.1f, + -0.1f, -0.1f, -0.1f, -0.1f }; + + @Override + public void executed(String[] args, CommandEvent event) { + if (args.length > 0) { + if (event.getAudioManager().hasPlayer(event.getGuild()) && event.getAudioManager().getPlayer(event.getGuild()).getPlayingTrack() != null) { + if (event.getMember().getVoiceState().inVoiceChannel() && event.getGuild().getSelfMember().getVoiceState().inVoiceChannel() && event.getGuild().getSelfMember().getVoiceState().getChannel().equals(event.getMember().getVoiceState().getChannel())) { + float value = Float.parseFloat(args[0]); + EqualizerFactory equalizer = new EqualizerFactory(); + for (int i = 0; i < BASS_BOOST.length; i++) { + equalizer.setGain(i, BASS_BOOST[i] + value); + } + event.getAudioManager().getPlayer(event.getGuild()).setFrameBufferDuration(500); + event.getAudioManager().getPlayer(event.getGuild()).setFilterFactory(equalizer); + } else { + event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR, + "commands.music.bass.error.connected.title", + "commands.music.bass.error.connected.description") + .build()).queue(); + } + } else { + event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR, + "commands.music.info.error.title", + "commands.music.info.error.description").build()).queue(); + } + } else event.getHelpCommand().sendHelp(this, event); + } + + @Override + public String[] labels() { + return new String[]{"bass"}; + } + + @Override + public String description() { + return "commands.music.bass.help.description"; + } + + @Override + public String usage() { + return "[Bass-Level]"; + } + + @Override + public String example() { + return "1000"; + } +} diff --git a/src/main/java/com/bbn/hadder/commands/music/VolumeCommand.java b/src/main/java/com/bbn/hadder/commands/music/VolumeCommand.java index a7d3546..b39fbf2 100644 --- a/src/main/java/com/bbn/hadder/commands/music/VolumeCommand.java +++ b/src/main/java/com/bbn/hadder/commands/music/VolumeCommand.java @@ -35,7 +35,7 @@ public class VolumeCommand implements Command { } else { event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR, "commands.music.volume.error.connected.title", - "commands.volume.stop.error.connected.description") + "commands.music.volume.error.connected.description") .build()).queue(); } } else { diff --git a/src/main/java/com/bbn/hadder/listener/MentionListener.java b/src/main/java/com/bbn/hadder/listener/MentionListener.java index 238b2d8..cd14129 100644 --- a/src/main/java/com/bbn/hadder/listener/MentionListener.java +++ b/src/main/java/com/bbn/hadder/listener/MentionListener.java @@ -13,7 +13,6 @@ public class MentionListener extends ListenerAdapter { private Rethink rethink; - public MentionListener(Rethink rethink) { this.rethink = rethink; } diff --git a/src/main/resources/Translations/Translations_en.properties b/src/main/resources/Translations/Translations_en.properties index 9167e2d..5ca0715 100644 --- a/src/main/resources/Translations/Translations_en.properties +++ b/src/main/resources/Translations/Translations_en.properties @@ -174,6 +174,9 @@ commands.moderation.editrules.success.title = Successfully changed commands.moderation.editrules.success.description = I successfully changed the rules commands.moderation.editrules.help.description = Edits the rules message. +commands.music.bass.error.connected.title = No channel +commands.music.bass.error.connected.description = You have to be in the same voice channel as the bot to change the bass level. +commands.music.bass.help.description = Change the bass for the song which is played at the moment. commands.music.join.success.title = Successfully connected commands.music.join.success.description = I successfully connected to %extra%. commands.music.join.error.connecting.already.title = Already connected