diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/main/java/soundchan/BotListener/BotListener.java | 15 | ||||
| -rw-r--r-- | src/main/java/soundchan/LocalAudioManager.java | 39 | 
2 files changed, 41 insertions, 13 deletions
| diff --git a/src/main/java/soundchan/BotListener/BotListener.java b/src/main/java/soundchan/BotListener/BotListener.java index b54edbe..9bcccfe 100644 --- a/src/main/java/soundchan/BotListener/BotListener.java +++ b/src/main/java/soundchan/BotListener/BotListener.java @@ -7,6 +7,7 @@ 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 com.sun.istack.internal.NotNull;  import net.dv8tion.jda.client.events.call.voice.CallVoiceJoinEvent;  import net.dv8tion.jda.core.entities.Guild;  import net.dv8tion.jda.core.entities.MessageChannel; @@ -51,12 +52,18 @@ public class BotListener extends ListenerAdapter{       * Loads various properties from config file       * @param properties Object holding the contents of the property file       */ -    private void loadProperties(Properties properties) { +    private void loadProperties(@NotNull Properties properties) {          localFilePath = properties.getProperty("localFilePath");          followingUser = properties.getProperty("followingUser");          audioOnUserJoin = settingEnableCheck(properties.getProperty("audioOnUserJoin"));          if(audioOnUserJoin) { -            localManager = new LocalAudioManager(localFilePath, properties.getProperty("userAudioFilePath")); +            String userAudioPath = properties.getProperty("userAudioFilePath"); +            if(userAudioPath == null || userAudioPath.contentEquals("")) { +                localManager = new LocalAudioManager(localFilePath, "usersound.properties"); +            } +            else { +                localManager = new LocalAudioManager(localFilePath, userAudioPath); +            }          }          else              localManager = new LocalAudioManager(localFilePath); @@ -189,6 +196,9 @@ public class BotListener extends ListenerAdapter{                          else if(command[1].equals("sounds")){                              localManager.ListSounds(channel);                          } +                        else if(command[1].equals("users")) { +                            localManager.ListUserAudio(channel); +                        }                      }                  }else if(enumCommand == Commands.pause){ @@ -323,6 +333,7 @@ public class BotListener extends ListenerAdapter{                  "~skip        - skips to the next song in queue\n" +                  "~list queue  - prints out the names of the songs in the queue\n" +                  "~list sounds - prints out the names of the sounds available\n" + +                "~list users  - prints out users with audio that will play when they join the voice channel\n" +                  "~playingnow  - prints out the name of the currently playing song\n" +                  "~summon      - brings SoundChan to the voice channel of the summoner\n" +                  "~help        - prints out this help message ```"; diff --git a/src/main/java/soundchan/LocalAudioManager.java b/src/main/java/soundchan/LocalAudioManager.java index e645fe7..4b16850 100644 --- a/src/main/java/soundchan/LocalAudioManager.java +++ b/src/main/java/soundchan/LocalAudioManager.java @@ -72,6 +72,21 @@ public class LocalAudioManager {          channel.sendMessage(toPrint).queue();      } +    /** +     * Lists users with sounds that will play when they join the voice channel +     * @param channel Text channel messaged on +     */ +    public void ListUserAudio(MessageChannel channel) { +        Set<String> userSounds = usernameDict.keySet(); +        String toPrint = "The following users have sounds that will play when they join the voice channel:\n```"; +        for (String user : userSounds) { +            String sound = usernameDict.get(user); +            toPrint =  toPrint + " * " + user + "\t" + sound.substring(0, sound.indexOf('.')) + "\n"; +        } +        toPrint = toPrint + "```"; +        channel.sendMessage(toPrint).queue(); +    } +      private void PopulateFiles(){          File folder = new File(filepath);          File[] listOfFiles = folder.listFiles(); @@ -107,21 +122,23 @@ public class LocalAudioManager {      private static Properties LoadProperties(String filename){          Properties properties = new Properties();          InputStream input = null; -        try{ -            input = new FileInputStream(filename); -            properties.load(input); - -        }catch (IOException ex){ -            ex.printStackTrace(); -        } finally { +        File file = new File(filename); +        if(file.exists() && !file.isDirectory()) {              try { -                input.close(); +                input = new FileInputStream(filename); +                properties.load(input);              } catch (IOException ex) {                  ex.printStackTrace(); +            } finally { +                try { +                    input.close(); +                } catch (IOException ex) { +                    ex.printStackTrace(); +                }              } +            return properties; +        } else { +            return properties;          } -        return properties;      } - -  } | 
