Renommage du paquet et petits changements

This commit is contained in:
Mysaa 2021-05-27 22:47:05 +02:00
parent d5ebc5ec27
commit f16ca7efb0

View File

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