From 8849e2f373a09e5d505979376a41935a722ca347 Mon Sep 17 00:00:00 2001 From: Matt Kohls Date: Sat, 7 Apr 2018 19:48:59 -0400 Subject: Bot Following Sound Chan now follows a specific user, and when they change voice channels, she follows --- src/main/java/soundchan/Main.java | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) (limited to 'src/main') diff --git a/src/main/java/soundchan/Main.java b/src/main/java/soundchan/Main.java index 326285f..210f9d0 100644 --- a/src/main/java/soundchan/Main.java +++ b/src/main/java/soundchan/Main.java @@ -14,8 +14,11 @@ import net.dv8tion.jda.core.entities.Guild; import net.dv8tion.jda.core.entities.MessageChannel; import net.dv8tion.jda.core.entities.TextChannel; import net.dv8tion.jda.core.entities.VoiceChannel; +import net.dv8tion.jda.core.events.channel.voice.update.GenericVoiceChannelUpdateEvent; +import net.dv8tion.jda.core.events.guild.voice.GuildVoiceMoveEvent; import net.dv8tion.jda.core.events.message.MessageReceivedEvent; import net.dv8tion.jda.client.events.call.voice.CallVoiceJoinEvent; +import net.dv8tion.jda.core.events.user.GenericUserPresenceEvent; import net.dv8tion.jda.core.hooks.ListenerAdapter; import net.dv8tion.jda.core.managers.AudioManager; @@ -34,6 +37,7 @@ public class Main extends ListenerAdapter { .buildBlocking(); jda.addEventListener(new Main()); + followingUser = properties.getProperty("followingUser"); } private static Properties LoadProperties(){ @@ -57,6 +61,7 @@ public class Main extends ListenerAdapter { private long monitoredGuildId = -1; private Guild monitoredGuild; + private static String followingUser; private final AudioPlayerManager playerManager; private final Map musicManagers; @@ -101,6 +106,18 @@ public class Main extends ListenerAdapter { } + + @Override + public void onGuildVoiceMove(GuildVoiceMoveEvent event) { + if(event.getMember().getEffectiveName().compareTo(followingUser) == 0) { + AudioManager audioManager = monitoredGuild.getAudioManager(); + if(!audioManager.isAttemptingToConnect()) { + audioManager.openAudioConnection(event.getChannelJoined()); + } + } + super.onGuildVoiceMove(event); + } + @Override public void onMessageReceived(MessageReceivedEvent event) { String[] command = event.getMessage().getContentRaw().split(" ", 2); @@ -213,8 +230,12 @@ public class Main extends ListenerAdapter { private static void connectToFirstVoiceChannel(AudioManager audioManager) { if (!audioManager.isConnected() && !audioManager.isAttemptingToConnect()) { for (VoiceChannel voiceChannel : audioManager.getGuild().getVoiceChannels()) { - audioManager.openAudioConnection(voiceChannel); - break; + for(int i = 0; i < voiceChannel.getMembers().size(); i++) { + if(voiceChannel.getMembers().get(i).getEffectiveName().compareTo(followingUser) == 0) { + audioManager.openAudioConnection(voiceChannel); + break; + } + } } } } -- cgit v1.2.3 From 34f2676644bf6d76b2024e873a0a7ea35fffe37d Mon Sep 17 00:00:00 2001 From: Matt Kohls Date: Sat, 7 Apr 2018 19:54:28 -0400 Subject: Cleaning stuff up Cleaning up imports --- src/main/java/soundchan/Main.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'src/main') diff --git a/src/main/java/soundchan/Main.java b/src/main/java/soundchan/Main.java index 210f9d0..514d7be 100644 --- a/src/main/java/soundchan/Main.java +++ b/src/main/java/soundchan/Main.java @@ -12,13 +12,10 @@ import net.dv8tion.jda.core.JDA; import net.dv8tion.jda.core.JDABuilder; import net.dv8tion.jda.core.entities.Guild; import net.dv8tion.jda.core.entities.MessageChannel; -import net.dv8tion.jda.core.entities.TextChannel; import net.dv8tion.jda.core.entities.VoiceChannel; -import net.dv8tion.jda.core.events.channel.voice.update.GenericVoiceChannelUpdateEvent; import net.dv8tion.jda.core.events.guild.voice.GuildVoiceMoveEvent; import net.dv8tion.jda.core.events.message.MessageReceivedEvent; import net.dv8tion.jda.client.events.call.voice.CallVoiceJoinEvent; -import net.dv8tion.jda.core.events.user.GenericUserPresenceEvent; import net.dv8tion.jda.core.hooks.ListenerAdapter; import net.dv8tion.jda.core.managers.AudioManager; @@ -148,7 +145,8 @@ public class Main extends ListenerAdapter { pauseTrack(channel); } else if ("~unpause".equals(command[0])) { unpauseTrack(channel); - }} + } + } super.onMessageReceived(event); } -- cgit v1.2.3