diff --git a/src/com/bernard/discord/commands/JulSoundBox.java b/src/com/bernard/julsoundbox/JulSoundBox.java similarity index 84% rename from src/com/bernard/discord/commands/JulSoundBox.java rename to src/com/bernard/julsoundbox/JulSoundBox.java index 15bc037..53d740f 100644 --- a/src/com/bernard/discord/commands/JulSoundBox.java +++ b/src/com/bernard/julsoundbox/JulSoundBox.java @@ -3,6 +3,7 @@ package com.bernard.julsoundbox; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; +import java.nio.ByteBuffer; import java.util.Iterator; import java.util.LinkedList; import java.util.List; @@ -11,7 +12,7 @@ import java.util.Random; import java.util.Scanner; import com.bernard.juliabot.api.Command; -import com.bernard.juliabot.api.DiscordCCommande; +import com.bernard.juliabot.api.JuLIAddon; import com.sedmelluq.discord.lavaplayer.player.AudioLoadResultHandler; import com.sedmelluq.discord.lavaplayer.player.AudioPlayer; import com.sedmelluq.discord.lavaplayer.player.AudioPlayerManager; @@ -25,17 +26,18 @@ import com.sedmelluq.discord.lavaplayer.track.AudioPlaylist; import com.sedmelluq.discord.lavaplayer.track.AudioTrack; import com.sedmelluq.discord.lavaplayer.track.playback.AudioFrame; -import net.dv8tion.jda.core.EmbedBuilder; -import net.dv8tion.jda.core.MessageBuilder; -import net.dv8tion.jda.core.audio.AudioSendHandler; -import net.dv8tion.jda.core.entities.Guild; -import net.dv8tion.jda.core.entities.GuildVoiceState; -import net.dv8tion.jda.core.entities.Message; -import net.dv8tion.jda.core.entities.MessageChannel; -import net.dv8tion.jda.core.entities.User; -import net.dv8tion.jda.core.entities.VoiceChannel; -import net.dv8tion.jda.core.managers.AudioManager; +import net.dv8tion.jda.api.EmbedBuilder; +import net.dv8tion.jda.api.MessageBuilder; +import net.dv8tion.jda.api.audio.AudioSendHandler; +import net.dv8tion.jda.api.entities.Guild; +import net.dv8tion.jda.api.entities.GuildVoiceState; +import net.dv8tion.jda.api.entities.Message; +import net.dv8tion.jda.api.entities.MessageChannel; +import net.dv8tion.jda.api.entities.User; +import net.dv8tion.jda.api.entities.VoiceChannel; +import net.dv8tion.jda.api.managers.AudioManager; +@JuLIAddon(name = "julsoundbox",devs = "Mysaa", version = "20w33a") public class JulSoundBox { private static final String soundFolder = "/var/julia/julsoundbox/sounds/"; @@ -49,9 +51,8 @@ public class JulSoundBox { Random randomizator; static boolean play; - @Command(name = "playing",aliases = "kestujoues", admin = false, description = "Demande à JuL'IA quel son elle est en train de jouer") - public void playing(DiscordCCommande ccommande) { - Message message = ccommande.getMessage(); + @Command(name = "playing", admin = false, description = "Demande à JuL'IA quel son elle est en train de jouer") + public void playing(Guild guild, Message message) { if(soundHandler.currentTrack == null && playlist.isEmpty()) { notifyUser("Ben je suis en fait en train de jouer .... rien du tout", message.getAuthor(), message.getChannel()); return; @@ -107,11 +108,8 @@ public class JulSoundBox { } - @Command(name = "come", admin = true, description = "Ammène julia dans le salon vocal auquel l'utilisateur est connecté") - public void come(DiscordCCommande ccommande) { - Message message = ccommande.getMessage(); - User user = message.getAuthor(); - Guild guild = ccommande.getMessage().getGuild(); + @Command(name = "come", admin = true, description = "Ammène julia dans le salon vocal auquel l'utilisateur est connécté") + public void come(Guild guild, Message message, User user) { final GuildVoiceState memberVoiceState = guild.getMember(user).getVoiceState(); System.out.println("Coming into channel of voice state "+memberVoiceState); if(!memberVoiceState.inVoiceChannel()) @@ -123,11 +121,7 @@ public class JulSoundBox { } @Command(name = "go", admin = true, description = "Ammène julia dans le salon spécifié") - public void go(DiscordCCommande ccommande) { - Message message = ccommande.getMessage(); - User user = message.getAuthor(); - Guild guild = ccommande.getMessage().getGuild(); - + public void go(Guild guild, Message message, User user) { String channelName = message.getContentRaw().substring(message.getContentRaw().indexOf("go")+3); System.out.println("Going to channel : "+channelName); switch(channelName) { @@ -151,10 +145,7 @@ public class JulSoundBox { } @Command(name = "play", admin = true, description = "Reprends ou lance la lecture d'un son") - public void play(DiscordCCommande ccommande) { - Message message = ccommande.getMessage(); - User user = message.getAuthor(); - + public void play(Guild guild, Message message, User user) { String soundName = null; if(message.getContentRaw().endsWith("play")) { if(soundHandler.currentTrack != null || !playlist.isEmpty()) { @@ -199,10 +190,7 @@ public class JulSoundBox { } @Command(name = "play2", admin = true, description = "Reprends ou lance la lecture d'un son2") - public void play2(DiscordCCommande ccommande) { - Message message = ccommande.getMessage(); - User user = message.getAuthor(); - + public void play2(Guild guild, Message message, User user) { String soundName = message.getContentRaw().substring(message.getContentRaw().indexOf("play2")+6); System.out.println("Trying to play : "+soundName); playerManager.loadItem("/var/julia/julsoundbox/sounds/" + soundName + soundExtension, new AudioLoadResultHandler() { @@ -229,11 +217,8 @@ public class JulSoundBox { }); } - @Command(name = "queue",admin = true, description = "Ajoute un son à la liste de lecture") - public void queue(DiscordCCommande ccommande) { - Message message = ccommande.getMessage(); - User user = message.getAuthor(); - + @Command(name = "queue", admin = true, description = "Ajoute un son à la liste de lecture") + public void queue(Guild guild, Message message, User user) { String soundName = null; if(message.getContentRaw().indexOf("queue")+5 == message.getContentRaw().length()) { File[] songsFiles = new File("/var/julia/julsoundbox/sounds/").listFiles(); @@ -270,10 +255,7 @@ public class JulSoundBox { } @Command(name = "unqueue", admin = true, description = "Enlève un son de la liste de lecture")//TODO test - public void unqueue(DiscordCCommande ccommande) { - Message message = ccommande.getMessage(); - User user = message.getAuthor(); - + public void unqueue(Guild guild, Message message, User user) { String soundId = message.getContentRaw().substring(message.getContentRaw().indexOf("unqueue")+8); if(soundId.matches("^[0-9]+$")) { Iterator it = playlist.iterator(); @@ -298,21 +280,21 @@ public class JulSoundBox { } @Command(name = "pause", admin = true, description = "Met le son joué en pause (wow)") - public void pause(DiscordCCommande ccommande) { + public void pause(Guild guild, Message message, User user) { soundHandler.update(false); } @Command(name = "chut", admin = true, description = "Arette le son que JuL'IA joue (un !!play reprendra le morceau suivant ") - public void chut(DiscordCCommande ccommande) { + public void chut(Guild guild, Message message, User user) { play = false; soundHandler.next(); } @Command(name = "soundInit", admin = true, description = "Evite que tout le programme ne crashe .... a ne pas oublier (en attendant que tout 'fonctionne' ...)") - public void soundInit(DiscordCCommande ccommande) { + public void soundInit(Guild guild) { playerManager = new DefaultAudioPlayerManager(); soundHandler = new BernardSoundHandler(); - manager = ccommande.getMessage().getGuild().getAudioManager(); + manager = guild.getAudioManager(); AudioSourceManagers.registerLocalSource(playerManager); manager.setSendingHandler(soundHandler); currentChannel = null; @@ -387,8 +369,8 @@ public class JulSoundBox { } @Override - public byte[] provide20MsAudio() { - return lastFrame.getData(); + public ByteBuffer provide20MsAudio() { + return ByteBuffer.wrap(lastFrame.data); } @Override