diff --git a/build.gradle b/build.gradle index 63a79b3..74a8281 100644 --- a/build.gradle +++ b/build.gradle @@ -30,18 +30,16 @@ repositories { } dependencies { - // This dependency is used by the application.// - implementation 'com.google.guava:guava:31.0.1-jre' - //implementation 'org.slf4j:slf4j-log4j12:2.0.0-alpha0' + implementation 'com.google.guava:guava:31.1-jre' + implementation 'com.github.oshi:oshi-core:6.1.6' + implementation 'com.github.oshi:oshi-json:3.13.6' implementation 'org.slf4j:slf4j-simple:2.0.0-alpha0' - - implementation 'net.lingala.zip4j:zip4j:2.9.1' + implementation 'net.lingala.zip4j:zip4j:2.10.0' implementation 'club.minnced:opus-java:1.1.1' - - implementation 'ws.schild:jave-all-deps:3.1.1' + implementation 'ws.schild:jave-all-deps:3.3.1' implementation 'org.apache.commons:commons-lang3:3.12.0' implementation 'com.sedmelluq:lavaplayer:1.3.78' - implementation 'com.github.DV8FromTheWorld:JDA:4.4.0' + implementation 'com.github.DV8FromTheWorld:JDA:5.0.0-alpha.12' } application { diff --git a/src/main/java/fr/Skydust/JdrBot/JdrBot.java b/src/main/java/fr/Skydust/JdrBot/JdrBot.java index b6e660b..d60437d 100755 --- a/src/main/java/fr/Skydust/JdrBot/JdrBot.java +++ b/src/main/java/fr/Skydust/JdrBot/JdrBot.java @@ -2,7 +2,6 @@ package fr.Skydust.JdrBot; import java.time.LocalDateTime; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import java.util.Timer; import javax.security.auth.login.LoginException; @@ -20,14 +19,16 @@ import net.dv8tion.jda.api.entities.Activity; import net.dv8tion.jda.api.utils.cache.CacheFlag; public class JdrBot { - public static String Version = "3.0"; + public static String Version = "3.1"; public static JDA jda; public static LocalDateTime basedate; public static List commandList; public static String startcmdchar = "!|:"; - + + public static boolean debugMode = false; + public static void main(String args[]) { for (int i=0;i recordStates = new HashMap<>(); @@ -22,7 +21,7 @@ public class Record extends Command { } @Override - public void call(GuildMessageReceivedEvent e) + public void call(MessageReceivedEvent e) { if(e.getMember().hasPermission(Permission.ADMINISTRATOR)) { RecordState currentRS = getGuildRecordState(e.getGuild()); diff --git a/src/main/java/fr/Skydust/JdrBot/cmds/record/StopRecord.java b/src/main/java/fr/Skydust/JdrBot/cmds/record/StopRecord.java index 7b78418..255e629 100755 --- a/src/main/java/fr/Skydust/JdrBot/cmds/record/StopRecord.java +++ b/src/main/java/fr/Skydust/JdrBot/cmds/record/StopRecord.java @@ -5,7 +5,7 @@ import fr.Skydust.JdrBot.stock.Command; import fr.Skydust.JdrBot.stock.RecordState; import fr.Skydust.JdrBot.utils.MessageType; import fr.Skydust.JdrBot.utils.Utils; -import net.dv8tion.jda.api.events.message.guild.GuildMessageReceivedEvent; +import net.dv8tion.jda.api.events.message.MessageReceivedEvent; public class StopRecord extends Command { public StopRecord() { @@ -14,7 +14,7 @@ public class StopRecord extends Command { } @Override - public void call(GuildMessageReceivedEvent e) { + public void call(MessageReceivedEvent e) { RecordState rs = Record.getGuildRecordState(e.getGuild()); if(rs.isRecording) { if(PlayMusic.getGuildsJukebox(e.getGuild()) == null) { diff --git a/src/main/java/fr/Skydust/JdrBot/jukebox/JukeboxSystem.java b/src/main/java/fr/Skydust/JdrBot/jukebox/JukeboxSystem.java index a2134be..3a7988a 100644 --- a/src/main/java/fr/Skydust/JdrBot/jukebox/JukeboxSystem.java +++ b/src/main/java/fr/Skydust/JdrBot/jukebox/JukeboxSystem.java @@ -107,7 +107,7 @@ public class JukeboxSystem { String songPath = currentFolder + "/" + getFileNameFromItem(str) + ".mp3"; - PlayMusic.loadAndPlay(msg.getTextChannel(), songPath, true, true); + PlayMusic.loadAndPlay(msg.getGuild(), msg.getTextChannel(), songPath, true, true); // Format: Songs/Folder/SubFolder/2 songPlayedPath = currentFolder + "/" + itemId; diff --git a/src/main/java/fr/Skydust/JdrBot/menu/Menu.java b/src/main/java/fr/Skydust/JdrBot/menu/Menu.java index 2f66eb9..38a8649 100644 --- a/src/main/java/fr/Skydust/JdrBot/menu/Menu.java +++ b/src/main/java/fr/Skydust/JdrBot/menu/Menu.java @@ -36,7 +36,7 @@ public class Menu { return new MessageBuilder() .append(name) - .setEmbed( + .setEmbeds( new EmbedBuilder() .setThumbnail(thumbnail) .setTitle(title,null) diff --git a/src/main/java/fr/Skydust/JdrBot/stock/Command.java b/src/main/java/fr/Skydust/JdrBot/stock/Command.java index 8730605..340963b 100755 --- a/src/main/java/fr/Skydust/JdrBot/stock/Command.java +++ b/src/main/java/fr/Skydust/JdrBot/stock/Command.java @@ -1,6 +1,6 @@ package fr.Skydust.JdrBot.stock; -import net.dv8tion.jda.api.events.message.guild.GuildMessageReceivedEvent; +import net.dv8tion.jda.api.events.message.MessageReceivedEvent; public abstract class Command { public String cmdName; @@ -8,7 +8,7 @@ public abstract class Command { public String cmdUsage = ""; public boolean hidden = false; - public abstract void call(GuildMessageReceivedEvent e); + public abstract void call(MessageReceivedEvent e); public void Hide() { hidden = true; diff --git a/src/main/java/fr/Skydust/JdrBot/stock/RecordState.java b/src/main/java/fr/Skydust/JdrBot/stock/RecordState.java index 1969a7a..b13d507 100755 --- a/src/main/java/fr/Skydust/JdrBot/stock/RecordState.java +++ b/src/main/java/fr/Skydust/JdrBot/stock/RecordState.java @@ -8,6 +8,7 @@ import java.util.List; import fr.Skydust.JdrBot.utils.MessageType; import fr.Skydust.JdrBot.utils.Utils; import net.dv8tion.jda.api.entities.Guild; +import net.dv8tion.jda.api.entities.MessageChannel; import net.dv8tion.jda.api.entities.TextChannel; import net.lingala.zip4j.ZipFile; import net.lingala.zip4j.model.ZipParameters; @@ -60,7 +61,7 @@ public class RecordState { } } - public void endRecord(Guild g, TextChannel tc) { + public void endRecord(Guild g, MessageChannel tc) { isRecording = false; isProcessing = true; @@ -85,7 +86,7 @@ public class RecordState { }).start(); } - public void processRecording(TextChannel tc) throws IOException, IllegalArgumentException, EncoderException, ws.schild.jave.EncoderException { + public void processRecording(MessageChannel tc) throws IOException, IllegalArgumentException, EncoderException, ws.schild.jave.EncoderException { //BigEndian, 16 bit signed, 44100hz String OriginalName = new Date().toString().replaceAll(":", "-"); diff --git a/src/main/java/fr/Skydust/JdrBot/utils/HeartbeatTask.java b/src/main/java/fr/Skydust/JdrBot/utils/HeartbeatTask.java index 8fd9bfe..0932029 100644 --- a/src/main/java/fr/Skydust/JdrBot/utils/HeartbeatTask.java +++ b/src/main/java/fr/Skydust/JdrBot/utils/HeartbeatTask.java @@ -3,6 +3,9 @@ package fr.Skydust.JdrBot.utils; import fr.Skydust.JdrBot.JdrBot; import net.dv8tion.jda.api.events.GatewayPingEvent; +import java.io.IOException; +import java.io.InputStream; +import java.util.Scanner; import java.util.TimerTask; public class HeartbeatTask extends TimerTask { @@ -19,7 +22,14 @@ public class HeartbeatTask extends TimerTask { long ping = JdrBot.jda.getGatewayPing(); try { - Runtime.getRuntime().exec(command.replaceAll("\\{ping\\}", String.valueOf(ping))); + Process p = Runtime.getRuntime().exec(command.replaceAll("\\{ping\\}", String.valueOf(ping))); + if(JdrBot.debugMode) { + try (InputStream inputStream = p.getInputStream(); Scanner s = new Scanner(inputStream).useDelimiter("\\A")) { + System.out.println(s.hasNext() ? s.next() : ""); + } catch (IOException e) { + e.printStackTrace(); + } + } } catch (Exception e) { System.out.println("Error: "+e.getMessage()); } diff --git a/src/main/java/fr/Skydust/JdrBot/utils/Utils.java b/src/main/java/fr/Skydust/JdrBot/utils/Utils.java index d0b9cfb..c3b974e 100755 --- a/src/main/java/fr/Skydust/JdrBot/utils/Utils.java +++ b/src/main/java/fr/Skydust/JdrBot/utils/Utils.java @@ -3,6 +3,7 @@ package fr.Skydust.JdrBot.utils; import fr.Skydust.JdrBot.JdrBot; import net.dv8tion.jda.api.EmbedBuilder; import net.dv8tion.jda.api.MessageBuilder; +import net.dv8tion.jda.api.entities.MessageChannel; import net.dv8tion.jda.api.entities.TextChannel; import java.awt.*; @@ -53,7 +54,7 @@ public class Utils { return String.format("%d heures", (absSeconds /3600)); } - public static void sendMessage(TextChannel channel, MessageType msgType, String message) { + public static void sendMessage(MessageChannel channel, MessageType msgType, String message) { Color c = Color.GREEN; String title = "Message"; @@ -62,7 +63,7 @@ public class Utils { title = "Erreur"; } - channel.sendMessage(new MessageBuilder().setEmbed(new EmbedBuilder(). + channel.sendMessage(new MessageBuilder().setEmbeds(new EmbedBuilder(). setDescription(message) .setTitle(title, null) .setFooter("", JdrBot.jda.getSelfUser().getAvatarUrl())