From b6384d5439ec2f16fc1b76ccb7ff5bd87d1e8cba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Paul=20Gla=C3=9F?= Date: Fri, 2 Apr 2021 09:30:41 +0200 Subject: [PATCH] Prechange --- .gitignore | 2 +- .../yoshibot/audio/AudioSendHandlerImpl.java | 15 +++--- .../command/commands/PlayCommand.java | 49 ++++++++++--------- .../yoshibot/main/YoshiBot.java | 2 + .../yoshibot/utils/Resources.java | 5 +- rsc/Config.properties | 8 +++ 6 files changed, 46 insertions(+), 35 deletions(-) create mode 100644 rsc/Config.properties diff --git a/.gitignore b/.gitignore index 1d270c5..3b9016d 100644 --- a/.gitignore +++ b/.gitignore @@ -194,4 +194,4 @@ gradle-app.setting # Resources rsc/audio -rsc/Config.properties \ No newline at end of file +rsc/PrivateJdaBuilderString.txt \ No newline at end of file diff --git a/app/src/main/java/de/yannicpunktdee/yoshibot/audio/AudioSendHandlerImpl.java b/app/src/main/java/de/yannicpunktdee/yoshibot/audio/AudioSendHandlerImpl.java index ac9c105..8a4f616 100644 --- a/app/src/main/java/de/yannicpunktdee/yoshibot/audio/AudioSendHandlerImpl.java +++ b/app/src/main/java/de/yannicpunktdee/yoshibot/audio/AudioSendHandlerImpl.java @@ -1,13 +1,11 @@ package de.yannicpunktdee.yoshibot.audio; -import java.nio.ByteBuffer; - import com.sedmelluq.discord.lavaplayer.player.AudioPlayer; import com.sedmelluq.discord.lavaplayer.track.playback.AudioFrame; - -import de.yannicpunktdee.yoshibot.main.YoshiBot; import net.dv8tion.jda.api.audio.AudioSendHandler; +import java.nio.ByteBuffer; + public class AudioSendHandlerImpl implements AudioSendHandler { private AudioPlayer audioPlayer; @@ -23,15 +21,18 @@ public class AudioSendHandlerImpl implements AudioSendHandler { lastFrame = audioPlayer.provide(); return lastFrame != null; } - + @Override public ByteBuffer provide20MsAudio() { return ByteBuffer.wrap(lastFrame.getData()); } + /** + * {@inheritDoc} + */ @Override public boolean isOpus() { - return true; + return false; } - + } diff --git a/app/src/main/java/de/yannicpunktdee/yoshibot/command/commands/PlayCommand.java b/app/src/main/java/de/yannicpunktdee/yoshibot/command/commands/PlayCommand.java index c4dbd43..1b2a410 100644 --- a/app/src/main/java/de/yannicpunktdee/yoshibot/command/commands/PlayCommand.java +++ b/app/src/main/java/de/yannicpunktdee/yoshibot/command/commands/PlayCommand.java @@ -11,42 +11,43 @@ import de.yannicpunktdee.yoshibot.command.YoshiCommand; import de.yannicpunktdee.yoshibot.command.YoshiCommandContext; import de.yannicpunktdee.yoshibot.utils.Resources; import de.yannicpunktdee.yoshibot.main.YoshiBot; +import lombok.NonNull; import net.dv8tion.jda.api.entities.Message; import net.dv8tion.jda.api.entities.VoiceChannel; public class PlayCommand extends YoshiCommand { - protected final String[] requiredArguments = new String[] {"name"}; + protected final String[] requiredArguments = new String[]{"name"}; + - public PlayCommand(YoshiCommandContext context) { super(context); } - - public static boolean play(String fileName, VoiceChannel vc){ + + public static boolean play(String fileName, VoiceChannel vc) { YoshiBot yoshiBot = YoshiBot.getInstance(); - + vc.getGuild().getAudioManager().openAudioConnection(vc); yoshiBot.audioPlayerManager.loadItem(fileName, new AudioLoadResultHandlerImpl()); - + return true; } - + @Override public boolean execute() { - if(!super.execute()) return false; + if (!super.execute()) return false; YoshiBot yoshiBot = YoshiBot.getInstance(); - - if(context.containsArguments(new String[]{"add"})){ + + if (context.containsArguments(new String[]{"add"})) { List attachments = context.getEvent().getMessage().getAttachments(); - if(attachments.isEmpty() || attachments.size() > 1){ + if (attachments.size() != 1) { sendMessage("Falsche Anzahl an Anhängen"); return false; } - + String path = Resources.buildAudioFilePath(context.getArgument("name")); - if((new File(path)).exists()){ + if ((new File(path)).exists()) { sendMessage("Ein Soundeffekt mit diesem Namen existiert bereits."); return false; } @@ -62,33 +63,35 @@ public class PlayCommand extends YoshiCommand { sendMessage("Die Sounddatei konnte nicht ordnungsgemäß erstellt werden."); return false; } - }else{ + } else { VoiceChannel vc; - if(context.getEvent().getMember() == null || !context.getEvent().getMember().getVoiceState().inVoiceChannel()){ - if(!context.containsArguments(new String[]{"channel"})){ + if (context.getEvent().getMember() == null || + !context.getEvent().getMember().getVoiceState().inVoiceChannel()) { + if (!context.containsArguments(new String[]{"channel"})) { context.getEvent().getTextChannel().sendMessage("Es wurde kein channel spezfiziert.").queue(); return false; } List channels = yoshiBot.jda.getVoiceChannelsByName(context.getArgument("channel"), true); - if(!(channels.size() > 0)) { - context.getEvent().getTextChannel().sendMessage("Der Kanalname konnte nicht gefunden werden.").queue(); + if (!(channels.size() > 0)) { + context.getEvent().getTextChannel().sendMessage("Der Kanalname konnte nicht gefunden werden.") + .queue(); return false; } vc = channels.get(0); - }else{ + } else { vc = context.getEvent().getMember().getVoiceState().getChannel(); } - + String fileName = Resources.getAudioFilePath(context.getArgument("name")); - if(fileName == null) { + if (fileName == null) { context.getEvent().getTextChannel().sendMessage("Audio konnte nicht gefunden werden.").queue(); return false; } - + play(fileName, vc); } return true; } - + } diff --git a/app/src/main/java/de/yannicpunktdee/yoshibot/main/YoshiBot.java b/app/src/main/java/de/yannicpunktdee/yoshibot/main/YoshiBot.java index 7a4e338..2e78692 100644 --- a/app/src/main/java/de/yannicpunktdee/yoshibot/main/YoshiBot.java +++ b/app/src/main/java/de/yannicpunktdee/yoshibot/main/YoshiBot.java @@ -75,6 +75,7 @@ public class YoshiBot { * * @throws LoginException Falls das Token ungültig ist. */ + @SneakyThrows public void start() throws LoginException { System.out.println("Starte YoshiBot."); @@ -95,6 +96,7 @@ public class YoshiBot { return; } + jda.awaitReady(); guild = jda.getGuildById(Resources.getGuild_id()); audioPlayer = YoshiBot.getInstance().audioPlayerManager.createPlayer(); diff --git a/app/src/main/java/de/yannicpunktdee/yoshibot/utils/Resources.java b/app/src/main/java/de/yannicpunktdee/yoshibot/utils/Resources.java index c7c9215..a7bd9d6 100644 --- a/app/src/main/java/de/yannicpunktdee/yoshibot/utils/Resources.java +++ b/app/src/main/java/de/yannicpunktdee/yoshibot/utils/Resources.java @@ -95,10 +95,7 @@ public final class Resources { } private static boolean initJdaBuilderString() { - if (!propertiesFile.containsKey("jda_builder_string")) { - Logger.log("Die Config.properties benötigt das Attribut jda_builder_string.", Type.ERROR); - return false; - } + List strings = Files.readAllLines(new File(propertiesFilePath)) jda_builder_string = propertiesFile.getProperty("jda_builder_string"); return true; } diff --git a/rsc/Config.properties b/rsc/Config.properties new file mode 100644 index 0000000..df9dee2 --- /dev/null +++ b/rsc/Config.properties @@ -0,0 +1,8 @@ +guild_id=801554100814741524 +# audio_source_directory=C:/Users/linky/workspace/Yoshi_Bot_Audio/ +restrict_commands_to_channel=bot-muell schrein-auf-den-bot +path_to_tts=/root/yoshibot/rsc/tts.py +path_to_sauce_config=/root/yoshibot/rsc/sauceConfig.json +path_to_activities=/root/yoshibot/rsc/activities.txt +greetings_and_byebyes_on=true +path_to_secret=/home/gits/ \ No newline at end of file