diff --git a/pom.xml b/pom.xml
index 365a5b9..7371623 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
Hadder
Hadder
- 1.0-SNAPSHOT
+ 0.2-ALPHA
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 d393613..caf1b42 100644
--- a/src/main/java/com/bbn/hadder/commands/fun/GifCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/fun/GifCommand.java
@@ -21,37 +21,43 @@ import java.nio.file.Paths;
import java.util.Random;
public class GifCommand implements Command {
+
@Override
public void executed(String[] args, MessageReceivedEvent event) {
- String url;
- JSONArray array;
- String query = "";
- for(String arg : args) {
- query += arg.toLowerCase() + "+";
- query = query.substring(0, query.length()-1);
- }
+ 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));
+ }
- 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) {
+ 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.ERROR, builder).setTitle("Error").setDescription("Please try again with another term.").build()).queue();
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.WARNING, builder).setDescription("You have to write at least one search term!").build()).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 6c40c8c..926ad15 100644
--- a/src/main/java/com/bbn/hadder/commands/owner/ShutdownCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/owner/ShutdownCommand.java
@@ -4,25 +4,11 @@ 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;
+import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
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());
}