diff --git a/pom.xml b/pom.xml index 7371623..365a5b9 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ Hadder Hadder - 0.2-ALPHA + 1.0-SNAPSHOT Hadder diff --git a/src/META-INF/MANIFEST.MF b/src/META-INF/MANIFEST.MF new file mode 100644 index 0000000..222bc42 --- /dev/null +++ b/src/META-INF/MANIFEST.MF @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +Main-Class: com.bbn.hadder.Hadder + diff --git a/src/main/java/com/bbn/hadder/Rethink.java b/src/main/java/com/bbn/hadder/Rethink.java index eab7240..7853082 100644 --- a/src/main/java/com/bbn/hadder/Rethink.java +++ b/src/main/java/com/bbn/hadder/Rethink.java @@ -1,6 +1,7 @@ package com.bbn.hadder; import com.rethinkdb.RethinkDB; +import com.rethinkdb.gen.exc.ReqlOpFailedError; import com.rethinkdb.net.Connection; import com.rethinkdb.net.Cursor; import com.google.gson.JsonParser; @@ -70,4 +71,23 @@ public class Rethink { } catch (ClassCastException ignored) {} return out; } + + public static void setup() { + try { + r.dbCreate("Hadder").run(conn); + } catch (ReqlOpFailedError e) { + System.out.println(e.getMessage()); + } + try { + r.tableCreate("server").run(conn); + } catch (ReqlOpFailedError e) { + System.out.println(e.getMessage()); + } + try { + r.tableCreate("user").run(conn); + } catch (ReqlOpFailedError e) { + System.out.println(e.getMessage()); + } + + } } diff --git a/src/main/java/com/bbn/hadder/commands/fun/GifCommand.java b/src/main/java/com/bbn/hadder/commands/fun/GifCommand.java index caf1b42..e9ae1a6 100644 --- a/src/main/java/com/bbn/hadder/commands/fun/GifCommand.java +++ b/src/main/java/com/bbn/hadder/commands/fun/GifCommand.java @@ -5,8 +5,6 @@ package com.bbn.hadder.commands.fun; */ import com.bbn.hadder.commands.Command; -import com.bbn.hadder.utils.MessageEditor; -import net.dv8tion.jda.api.EmbedBuilder; import net.dv8tion.jda.api.events.message.MessageReceivedEvent; import okhttp3.OkHttpClient; import okhttp3.Request; @@ -21,43 +19,36 @@ import java.nio.file.Paths; import java.util.Random; public class GifCommand implements Command { - @Override public void executed(String[] args, MessageReceivedEvent event) { - if (args.length > 0) { - String url; - JSONArray array; - StringBuilder query = new StringBuilder(); - for (String arg : args) { - query.append(arg.toLowerCase()).append("+"); - query = new StringBuilder(query.substring(0, query.length() - 1)); - } + String url; + JSONArray array; + String query = ""; + for(String arg : args) { + query += arg.toLowerCase() + "+"; + query = query.substring(0, query.length()-1); + } - File configfile = new File("./config.json"); + File configfile = new File("./config.json"); - JSONObject config = null; - try { - config = new JSONObject(new String(Files.readAllBytes(Paths.get(configfile.toURI())))); - } catch (IOException e) { - e.printStackTrace(); - } - OkHttpClient caller = new OkHttpClient(); - Request request = new Request.Builder().url("http://api.giphy.com/v1/gifs/search?q=" + query + "&api_key=" + config.getString("Giphy")).build(); - try { - Random rand = new Random(); - Response response = caller.newCall(request).execute(); - JSONObject json = new JSONObject(response.body().string()); - array = json.getJSONArray("data"); - int gifIndex = rand.nextInt(array.length()); - url = (String) array.getJSONObject(gifIndex).get("url"); - event.getTextChannel().sendMessage(url).queue(); - } catch (Exception e) { - EmbedBuilder builder = new EmbedBuilder(); - event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.ERROR, builder).setTitle("Error").setDescription("Please try again with another term.").build()).queue(); - } - } else { - EmbedBuilder builder = new EmbedBuilder(); - event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.WARNING, builder).setDescription("You have to write at least one search term!").build()).queue(); + JSONObject config = null; + try { + config = new JSONObject(new String(Files.readAllBytes(Paths.get(configfile.toURI())))); + } catch (IOException e) { + e.printStackTrace(); + } + OkHttpClient caller = new OkHttpClient(); + Request request = new Request.Builder().url("http://api.giphy.com/v1/gifs/search?q=" + query + "&api_key=" + config.getString("Giphy")).build(); + try { + Random rand = new Random(); + Response response = caller.newCall(request).execute(); + JSONObject json = new JSONObject(response.body().string()); + array = json.getJSONArray("data"); + int gifIndex = rand.nextInt(array.length()); + url = (String) array.getJSONObject(gifIndex).get("url"); + event.getTextChannel().sendMessage(url).queue(); + } catch (Exception e) { + event.getTextChannel().sendMessage("Meddl Bruder. Ich hab heut leider kein gif für dich").queue(); } } diff --git a/src/main/java/com/bbn/hadder/commands/owner/ShutdownCommand.java b/src/main/java/com/bbn/hadder/commands/owner/ShutdownCommand.java index 926ad15..6c40c8c 100644 --- a/src/main/java/com/bbn/hadder/commands/owner/ShutdownCommand.java +++ b/src/main/java/com/bbn/hadder/commands/owner/ShutdownCommand.java @@ -4,11 +4,25 @@ package com.bbn.hadder.commands.owner; * @author Skidder / GregTCLTK */ +import com.bbn.hadder.Hadder; +import com.bbn.hadder.Rethink; import com.bbn.hadder.commands.Command; import com.bbn.hadder.utils.MessageEditor; import net.dv8tion.jda.api.EmbedBuilder; - +import net.dv8tion.jda.api.JDA; +import net.dv8tion.jda.api.JDABuilder; +import net.dv8tion.jda.api.OnlineStatus; +import net.dv8tion.jda.api.entities.Activity; import net.dv8tion.jda.api.events.message.MessageReceivedEvent; +import net.dv8tion.jda.api.hooks.ListenerAdapter; +import org.json.JSONObject; + +import javax.annotation.Nonnull; +import javax.security.auth.login.LoginException; +import java.io.File; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Paths; public class ShutdownCommand implements Command { @Override diff --git a/src/main/java/com/bbn/hadder/listener/ReadyListener.java b/src/main/java/com/bbn/hadder/listener/ReadyListener.java index 3c39a44..3072f77 100644 --- a/src/main/java/com/bbn/hadder/listener/ReadyListener.java +++ b/src/main/java/com/bbn/hadder/listener/ReadyListener.java @@ -11,6 +11,7 @@ public class ReadyListener extends ListenerAdapter { @Override public void onReady(@Nonnull ReadyEvent event) { + Rethink.setup(); for (Guild g : event.getJDA().getGuilds()) { Rethink.insertServer(g.getId()); }