Browse Source

Fix some stuff

pull/2/head
Paul Glaß 4 years ago
parent
commit
e8812e2272
6 changed files with 33 additions and 61 deletions
  1. +8
    -38
      app/src/main/java/de/yannicpunktdee/yoshibot/command/commands/JokeCommand.java
  2. +1
    -2
      app/src/main/java/de/yannicpunktdee/yoshibot/command/commands/SayCommand.java
  3. +21
    -15
      app/src/main/java/de/yannicpunktdee/yoshibot/listeners/DiscordEventListener.java
  4. +1
    -1
      app/src/main/java/de/yannicpunktdee/yoshibot/main/YoshiBot.java
  5. +1
    -1
      app/src/main/java/de/yannicpunktdee/yoshibot/utils/RestHelper.java
  6. +1
    -4
      app/src/main/java/de/yannicpunktdee/yoshibot/utils/SauceProvider.java

+ 8
- 38
app/src/main/java/de/yannicpunktdee/yoshibot/command/commands/JokeCommand.java View File

@ -1,27 +1,22 @@
package de.yannicpunktdee.yoshibot.command.commands; 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.YoshiCommand;
import de.yannicpunktdee.yoshibot.command.YoshiCommandContext; import de.yannicpunktdee.yoshibot.command.YoshiCommandContext;
import de.yannicpunktdee.yoshibot.main.YoshiBot; import de.yannicpunktdee.yoshibot.main.YoshiBot;
import net.dv8tion.jda.api.entities.TextChannel; 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. * Schickt einen zufälligen Jokus aus einer zufällig ausgewählten Quelle in den Textchannel.
* @author Yannic Link * @author Yannic Link
*/ */
@SuppressWarnings("deprecation")
public class JokeCommand extends YoshiCommand { public class JokeCommand extends YoshiCommand {
/** /**
@ -64,31 +59,6 @@ public class JokeCommand extends YoshiCommand {
return true; 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() { private String chuckNorris() {
String url = "http://api.icndb.com/jokes/random"; String url = "http://api.icndb.com/jokes/random";


+ 1
- 2
app/src/main/java/de/yannicpunktdee/yoshibot/command/commands/SayCommand.java View File

@ -3,13 +3,12 @@ package de.yannicpunktdee.yoshibot.command.commands;
import de.yannicpunktdee.yoshibot.audio.AudioLoadResultHandlerImpl; import de.yannicpunktdee.yoshibot.audio.AudioLoadResultHandlerImpl;
import de.yannicpunktdee.yoshibot.command.YoshiCommand; import de.yannicpunktdee.yoshibot.command.YoshiCommand;
import de.yannicpunktdee.yoshibot.command.YoshiCommandContext; import de.yannicpunktdee.yoshibot.command.YoshiCommandContext;
import de.yannicpunktdee.yoshibot.utils.Resources;
import de.yannicpunktdee.yoshibot.main.YoshiBot; import de.yannicpunktdee.yoshibot.main.YoshiBot;
import de.yannicpunktdee.yoshibot.utils.Logger; import de.yannicpunktdee.yoshibot.utils.Logger;
import de.yannicpunktdee.yoshibot.utils.Resources;
import net.dv8tion.jda.api.entities.VoiceChannel; import net.dv8tion.jda.api.entities.VoiceChannel;
import java.io.BufferedReader; import java.io.BufferedReader;
import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.io.InputStreamReader; import java.io.InputStreamReader;
import java.util.List; import java.util.List;


+ 21
- 15
app/src/main/java/de/yannicpunktdee/yoshibot/listeners/DiscordEventListener.java View File

@ -44,31 +44,37 @@ public class DiscordEventListener extends ListenerAdapter {
YoshiCommandContext context = new YoshiCommandContext(raw, event); YoshiCommandContext context = new YoshiCommandContext(raw, event);
if (!context.getState().equals(YoshiCommandContext.State.NO_COMMAND)) YoshiBot.executeCommand(context); if (!context.getState().equals(YoshiCommandContext.State.NO_COMMAND)) YoshiBot.executeCommand(context);
} }
@Override @Override
public void onGuildVoiceJoin(@NotNull GuildVoiceJoinEvent event) { public void onGuildVoiceJoin(@NotNull GuildVoiceJoinEvent event) {
super.onGuildVoiceJoin(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( PlayCommand.play(
SayCommand.buildTTSAudio(Resources.getRandomGreeting(event.getMember().getNickname())),
SayCommand.buildTTSAudio(Resources.getRandomGreeting(nameToPlay)),
event.getMember().getVoiceState().getChannel()); event.getMember().getVoiceState().getChannel());
} }
@Override @Override
public void onGuildVoiceLeave(@NotNull GuildVoiceLeaveEvent event) { public void onGuildVoiceLeave(@NotNull GuildVoiceLeaveEvent event) {
super.onGuildVoiceLeave(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( PlayCommand.play(
SayCommand.buildTTSAudio(Resources.getRandomByebye(event.getMember().getNickname())),
SayCommand.buildTTSAudio(Resources.getRandomByebye(nameToPlay)),
event.getChannelLeft()); event.getChannelLeft());
} }
} }

+ 1
- 1
app/src/main/java/de/yannicpunktdee/yoshibot/main/YoshiBot.java View File

@ -110,7 +110,7 @@ public final class YoshiBot {
commandLineThread = new CommandLine(); commandLineThread = new CommandLine();
commandLineThread.start(); commandLineThread.start();
SauceProvider provider = new SauceProvider(300);
new SauceProvider(300);
Executors.newScheduledThreadPool(1).scheduleAtFixedRate(YoshiBot::setRandomActivity, 0, 10, TimeUnit.HOURS); Executors.newScheduledThreadPool(1).scheduleAtFixedRate(YoshiBot::setRandomActivity, 0, 10, TimeUnit.HOURS);
} }


+ 1
- 1
app/src/main/java/de/yannicpunktdee/yoshibot/utils/RestHelper.java View File

@ -27,7 +27,7 @@ public final class RestHelper {
br.close(); br.close();
} catch (IOException e) { } catch (IOException e) {
return null;
return "";
} finally { } finally {
if (con != null) con.disconnect(); if (con != null) con.disconnect();
} }


+ 1
- 4
app/src/main/java/de/yannicpunktdee/yoshibot/utils/SauceProvider.java View File

@ -132,7 +132,6 @@ public class SauceProvider {
private int getNewestIndex() { private int getNewestIndex() {
JSONObject result = getParsedSauceData("https://r34-json.herokuapp.com/posts?limit=1&q=index"); JSONObject result = getParsedSauceData("https://r34-json.herokuapp.com/posts?limit=1&q=index");
assert result != null;
return result.getJSONArray("posts").getJSONObject(0).getInt("id"); return result.getJSONArray("posts").getJSONObject(0).getInt("id");
} }
@ -140,12 +139,10 @@ public class SauceProvider {
String raw = null; String raw = null;
try { try {
raw = RestHelper.getFromURL(url); raw = RestHelper.getFromURL(url);
assert raw != null;
return new JSONObject(raw);
} catch (IOException e) { } catch (IOException e) {
e.printStackTrace(); e.printStackTrace();
} }
return null;
return new JSONObject(Objects.requireNonNull(raw));
} }
private static String tagsForRest(String tags) { private static String tagsForRest(String tags) {


Loading…
Cancel
Save