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/main/java/com/bbn/hadder/Hadder.java b/src/main/java/com/bbn/hadder/Hadder.java
index 157d555..fad99a7 100644
--- a/src/main/java/com/bbn/hadder/Hadder.java
+++ b/src/main/java/com/bbn/hadder/Hadder.java
@@ -38,7 +38,8 @@ public class Hadder {
e.printStackTrace();
}
- Rethink.connect();
+ Rethink.connect();
+
DefaultShardManagerBuilder builder = new DefaultShardManagerBuilder();
@@ -55,7 +56,7 @@ public class Hadder {
new CommandListener(),
new GuildJoinListener(),
new GuildLeaveListener(),
- new BotListListener(),
+ new GuildListener(),
new ReadyListener());
try {
diff --git a/src/main/java/com/bbn/hadder/Rethink.java b/src/main/java/com/bbn/hadder/Rethink.java
index 7853082..68fa912 100644
--- a/src/main/java/com/bbn/hadder/Rethink.java
+++ b/src/main/java/com/bbn/hadder/Rethink.java
@@ -72,6 +72,18 @@ public class Rethink {
return out;
}
+ public static String insertUser(String id) {
+ String out = "";
+ try {
+ Cursor cursor = r.table("user")
+ .insert(r.hashMap("id", id)
+ .with("prefix", "h.")
+ ).run(conn);
+ out = cursor.next().toString();
+ } catch (ClassCastException ignored) {}
+ return out;
+ }
+
public static void setup() {
try {
r.dbCreate("Hadder").run(conn);
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/BotListListener.java b/src/main/java/com/bbn/hadder/listener/BotListListener.java
deleted file mode 100644
index 2d57cbc..0000000
--- a/src/main/java/com/bbn/hadder/listener/BotListListener.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package com.bbn.hadder.listener;
-
-/*
- * @author Skidder / GregTCLTK
- */
-
-import net.dv8tion.jda.api.events.guild.GuildJoinEvent;
-import net.dv8tion.jda.api.events.guild.GuildLeaveEvent;
-import net.dv8tion.jda.api.hooks.ListenerAdapter;
-
-public class BotListListener extends ListenerAdapter {
-
- public void onGuildJoin(GuildJoinEvent event) {
-
-
- }
-
- public void onGuildLeave(GuildLeaveEvent event) {
-
-
-
- }
-}
diff --git a/src/main/java/com/bbn/hadder/listener/GuildJoinListener.java b/src/main/java/com/bbn/hadder/listener/GuildJoinListener.java
deleted file mode 100644
index cdea693..0000000
--- a/src/main/java/com/bbn/hadder/listener/GuildJoinListener.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.bbn.hadder.listener;
-
-/*
- * @author Skidder / GregTCLTK
- */
-
-import com.bbn.hadder.Rethink;
-import net.dv8tion.jda.api.events.guild.GuildJoinEvent;
-import net.dv8tion.jda.api.hooks.ListenerAdapter;
-import org.jetbrains.annotations.NotNull;
-
-public class GuildJoinListener extends ListenerAdapter {
- public void onGuildJoin(@NotNull GuildJoinEvent event) {
- Rethink.insertServer(event.getGuild().getId());
- }
-}
diff --git a/src/main/java/com/bbn/hadder/listener/GuildLeaveListener.java b/src/main/java/com/bbn/hadder/listener/GuildLeaveListener.java
deleted file mode 100644
index fc65d2e..0000000
--- a/src/main/java/com/bbn/hadder/listener/GuildLeaveListener.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.bbn.hadder.listener;
-
-/*
- * @author Skidder / GregTCLTK
- */
-
-import net.dv8tion.jda.api.events.guild.GuildLeaveEvent;
-import net.dv8tion.jda.api.hooks.ListenerAdapter;
-import org.jetbrains.annotations.NotNull;
-
-public class GuildLeaveListener extends ListenerAdapter {
- public void onGuildLeave(@NotNull GuildLeaveEvent event) {
-
-
- }
-}
diff --git a/src/main/java/com/bbn/hadder/listener/GuildListener.java b/src/main/java/com/bbn/hadder/listener/GuildListener.java
new file mode 100644
index 0000000..7da1d4f
--- /dev/null
+++ b/src/main/java/com/bbn/hadder/listener/GuildListener.java
@@ -0,0 +1,28 @@
+package com.bbn.hadder.listener;
+
+/*
+ * @author Skidder / GregTCLTK
+ */
+
+import com.bbn.hadder.Rethink;
+import net.dv8tion.jda.api.events.guild.GuildJoinEvent;
+import net.dv8tion.jda.api.events.guild.GuildLeaveEvent;
+import net.dv8tion.jda.api.events.guild.member.GuildMemberJoinEvent;
+import net.dv8tion.jda.api.hooks.ListenerAdapter;
+
+public class GuildListener extends ListenerAdapter {
+
+ public void onGuildJoin(GuildJoinEvent event) {
+ Rethink.insertServer(event.getGuild().getId());
+ }
+
+ public void onGuildLeave(GuildLeaveEvent event) {
+
+ }
+
+ public void onGuildMemberJoin(GuildMemberJoinEvent event) {
+ if (!event.getUser().getId().equals(event.getJDA().getSelfUser().getId())) {
+ Rethink.insertUser(event.getUser().getId());
+ }
+ }
+}
diff --git a/src/main/java/com/bbn/hadder/listener/ReadyListener.java b/src/main/java/com/bbn/hadder/listener/ReadyListener.java
index 3072f77..4d24a2b 100644
--- a/src/main/java/com/bbn/hadder/listener/ReadyListener.java
+++ b/src/main/java/com/bbn/hadder/listener/ReadyListener.java
@@ -2,6 +2,7 @@ package com.bbn.hadder.listener;
import com.bbn.hadder.Rethink;
import net.dv8tion.jda.api.entities.Guild;
+import net.dv8tion.jda.api.entities.User;
import net.dv8tion.jda.api.events.ReadyEvent;
import net.dv8tion.jda.api.hooks.ListenerAdapter;
@@ -12,6 +13,11 @@ public class ReadyListener extends ListenerAdapter {
@Override
public void onReady(@Nonnull ReadyEvent event) {
Rethink.setup();
+ for (User user : event.getJDA().getUsers()) {
+ if (!user.getId().equals(event.getJDA().getSelfUser().getId())) {
+ Rethink.insertUser(user.getId());
+ }
+ }
for (Guild g : event.getJDA().getGuilds()) {
Rethink.insertServer(g.getId());
}