From e8812e2272f40eccb4eda4b133d44e2e45b62f32 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Paul=20Gla=C3=9F?= Date: Sun, 4 Apr 2021 17:56:41 +0200 Subject: [PATCH] Fix some stuff --- .../command/commands/JokeCommand.java | 46 ++++--------------- .../yoshibot/command/commands/SayCommand.java | 3 +- .../listeners/DiscordEventListener.java | 36 +++++++++------ .../yoshibot/main/YoshiBot.java | 2 +- .../yoshibot/utils/RestHelper.java | 2 +- .../yoshibot/utils/SauceProvider.java | 5 +- 6 files changed, 33 insertions(+), 61 deletions(-) diff --git a/app/src/main/java/de/yannicpunktdee/yoshibot/command/commands/JokeCommand.java b/app/src/main/java/de/yannicpunktdee/yoshibot/command/commands/JokeCommand.java index b51bb21..f1c898a 100644 --- a/app/src/main/java/de/yannicpunktdee/yoshibot/command/commands/JokeCommand.java +++ b/app/src/main/java/de/yannicpunktdee/yoshibot/command/commands/JokeCommand.java @@ -1,27 +1,22 @@ package de.yannicpunktdee.yoshibot.command.commands; -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStreamReader; -import java.net.HttpURLConnection; -import java.net.URL; -import java.util.List; -import java.util.Random; - -import org.apache.commons.lang3.StringEscapeUtils; -import org.json.JSONException; -import org.json.JSONObject; - import de.yannicpunktdee.yoshibot.command.YoshiCommand; import de.yannicpunktdee.yoshibot.command.YoshiCommandContext; import de.yannicpunktdee.yoshibot.main.YoshiBot; import net.dv8tion.jda.api.entities.TextChannel; +import org.json.JSONException; +import org.json.JSONObject; + +import java.io.IOException; +import java.util.List; +import java.util.Random; + +import static de.yannicpunktdee.yoshibot.utils.RestHelper.getFromURL; /** * Schickt einen zufälligen Jokus aus einer zufällig ausgewählten Quelle in den Textchannel. * @author Yannic Link */ -@SuppressWarnings("deprecation") public class JokeCommand extends YoshiCommand { /** @@ -64,31 +59,6 @@ public class JokeCommand extends YoshiCommand { return true; } - private String getFromURL(String url) throws IOException { - StringBuilder response = new StringBuilder(""); - - HttpURLConnection con = null; - - try{ - con = (HttpURLConnection)(new URL(url)).openConnection(); - con.setRequestMethod("GET"); - BufferedReader br = new BufferedReader(new InputStreamReader(con.getInputStream())); - - String line; - while((line = br.readLine()) != null) { - response.append(StringEscapeUtils.unescapeHtml4(line)); - } - - br.close(); - }catch(IOException e) { - return null; - }finally { - if(con != null) con.disconnect(); - } - - return response.toString(); - } - private String chuckNorris() { String url = "http://api.icndb.com/jokes/random"; diff --git a/app/src/main/java/de/yannicpunktdee/yoshibot/command/commands/SayCommand.java b/app/src/main/java/de/yannicpunktdee/yoshibot/command/commands/SayCommand.java index 0c65ab0..a891ce2 100644 --- a/app/src/main/java/de/yannicpunktdee/yoshibot/command/commands/SayCommand.java +++ b/app/src/main/java/de/yannicpunktdee/yoshibot/command/commands/SayCommand.java @@ -3,13 +3,12 @@ package de.yannicpunktdee.yoshibot.command.commands; import de.yannicpunktdee.yoshibot.audio.AudioLoadResultHandlerImpl; 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 de.yannicpunktdee.yoshibot.utils.Logger; +import de.yannicpunktdee.yoshibot.utils.Resources; import net.dv8tion.jda.api.entities.VoiceChannel; import java.io.BufferedReader; -import java.io.File; import java.io.IOException; import java.io.InputStreamReader; import java.util.List; diff --git a/app/src/main/java/de/yannicpunktdee/yoshibot/listeners/DiscordEventListener.java b/app/src/main/java/de/yannicpunktdee/yoshibot/listeners/DiscordEventListener.java index f3fb099..b9b79e3 100644 --- a/app/src/main/java/de/yannicpunktdee/yoshibot/listeners/DiscordEventListener.java +++ b/app/src/main/java/de/yannicpunktdee/yoshibot/listeners/DiscordEventListener.java @@ -44,31 +44,37 @@ public class DiscordEventListener extends ListenerAdapter { YoshiCommandContext context = new YoshiCommandContext(raw, event); if (!context.getState().equals(YoshiCommandContext.State.NO_COMMAND)) YoshiBot.executeCommand(context); } - + @Override public void onGuildVoiceJoin(@NotNull GuildVoiceJoinEvent event) { super.onGuildVoiceJoin(event); - - if(!Resources.isGreetings_and_byebyes_on()) return; - - if(event.getMember().getUser().isBot()) return; - + + if (!Resources.isGreetings_and_byebyes_on()) return; + + if (event.getMember().getUser().isBot()) return; + + String nameToPlay = event.getMember().getNickname(); + nameToPlay = nameToPlay == null ? event.getMember().getUser().getName() : nameToPlay; + PlayCommand.play( - SayCommand.buildTTSAudio(Resources.getRandomGreeting(event.getMember().getNickname())), + SayCommand.buildTTSAudio(Resources.getRandomGreeting(nameToPlay)), event.getMember().getVoiceState().getChannel()); } - + @Override public void onGuildVoiceLeave(@NotNull GuildVoiceLeaveEvent event) { super.onGuildVoiceLeave(event); - - if(!Resources.isGreetings_and_byebyes_on()) return; - - if(event.getMember().getUser().isBot()) return; - + + if (!Resources.isGreetings_and_byebyes_on()) return; + + if (event.getMember().getUser().isBot()) return; + + String nameToPlay = event.getMember().getNickname(); + nameToPlay = nameToPlay == null ? event.getMember().getUser().getName() : nameToPlay; + PlayCommand.play( - SayCommand.buildTTSAudio(Resources.getRandomByebye(event.getMember().getNickname())), + SayCommand.buildTTSAudio(Resources.getRandomByebye(nameToPlay)), event.getChannelLeft()); } - + } 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 4ed70a3..10002dd 100644 --- a/app/src/main/java/de/yannicpunktdee/yoshibot/main/YoshiBot.java +++ b/app/src/main/java/de/yannicpunktdee/yoshibot/main/YoshiBot.java @@ -110,7 +110,7 @@ public final class YoshiBot { commandLineThread = new CommandLine(); commandLineThread.start(); - SauceProvider provider = new SauceProvider(300); + new SauceProvider(300); Executors.newScheduledThreadPool(1).scheduleAtFixedRate(YoshiBot::setRandomActivity, 0, 10, TimeUnit.HOURS); } diff --git a/app/src/main/java/de/yannicpunktdee/yoshibot/utils/RestHelper.java b/app/src/main/java/de/yannicpunktdee/yoshibot/utils/RestHelper.java index 366cd12..bfa2b85 100644 --- a/app/src/main/java/de/yannicpunktdee/yoshibot/utils/RestHelper.java +++ b/app/src/main/java/de/yannicpunktdee/yoshibot/utils/RestHelper.java @@ -27,7 +27,7 @@ public final class RestHelper { br.close(); } catch (IOException e) { - return null; + return ""; } finally { if (con != null) con.disconnect(); } diff --git a/app/src/main/java/de/yannicpunktdee/yoshibot/utils/SauceProvider.java b/app/src/main/java/de/yannicpunktdee/yoshibot/utils/SauceProvider.java index 7408745..e76affd 100644 --- a/app/src/main/java/de/yannicpunktdee/yoshibot/utils/SauceProvider.java +++ b/app/src/main/java/de/yannicpunktdee/yoshibot/utils/SauceProvider.java @@ -132,7 +132,6 @@ public class SauceProvider { private int getNewestIndex() { JSONObject result = getParsedSauceData("https://r34-json.herokuapp.com/posts?limit=1&q=index"); - assert result != null; return result.getJSONArray("posts").getJSONObject(0).getInt("id"); } @@ -140,12 +139,10 @@ public class SauceProvider { String raw = null; try { raw = RestHelper.getFromURL(url); - assert raw != null; - return new JSONObject(raw); } catch (IOException e) { e.printStackTrace(); } - return null; + return new JSONObject(Objects.requireNonNull(raw)); } private static String tagsForRest(String tags) {