diff --git a/src/main/java/com/bbn/hadder/Hadder.java b/src/main/java/com/bbn/hadder/Hadder.java index dc6640b..b525a64 100644 --- a/src/main/java/com/bbn/hadder/Hadder.java +++ b/src/main/java/com/bbn/hadder/Hadder.java @@ -76,6 +76,7 @@ public class Hadder { new JoinCommand(), new LeaveCommand(), new GuildLeaveCommand(), + new MemeCommand(), new LinkCommand()), config, helpCommand); builder.addEventListeners( 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 8e52917..f051bb0 100644 --- a/src/main/java/com/bbn/hadder/commands/fun/GifCommand.java +++ b/src/main/java/com/bbn/hadder/commands/fun/GifCommand.java @@ -27,11 +27,11 @@ public class GifCommand implements Command { query = new StringBuilder(query.substring(0, query.length() - 1)); } - OkHttpClient caller = new OkHttpClient(); + OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder().url("http://api.giphy.com/v1/gifs/search?q=" + query + "&api_key=" + event.getConfig().getGiphyToken()).build(); try { Random rand = new Random(); - Response response = caller.newCall(request).execute(); + Response response = client.newCall(request).execute(); JSONObject json = new JSONObject(response.body().string()); JSONArray array = json.getJSONArray("data"); int gifIndex = rand.nextInt(array.length()); diff --git a/src/main/java/com/bbn/hadder/commands/fun/MemeCommand.java b/src/main/java/com/bbn/hadder/commands/fun/MemeCommand.java new file mode 100644 index 0000000..ca311c4 --- /dev/null +++ b/src/main/java/com/bbn/hadder/commands/fun/MemeCommand.java @@ -0,0 +1,60 @@ +package com.bbn.hadder.commands.fun; + +/* + * @author Skidder / GregTCLTK + */ + +import com.bbn.hadder.commands.Command; +import com.bbn.hadder.commands.CommandEvent; +import com.bbn.hadder.utils.MessageEditor; +import net.dv8tion.jda.api.EmbedBuilder; +import okhttp3.OkHttpClient; +import okhttp3.Request; +import okhttp3.Response; +import org.json.JSONObject; + +import java.awt.*; +import java.io.IOException; +import java.time.Instant; + +public class MemeCommand implements Command { + + @Override + public void executed(String[] args, CommandEvent event) { + + OkHttpClient client = new OkHttpClient(); + Request request = new Request.Builder().url("https://some-random-api.ml/meme").build(); + + try { + Response response = client.newCall(request).execute(); + JSONObject json = new JSONObject(response.body().string()); + String url = json.get("image").toString(); + event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()) + .setTitle("Your random meme") + .setImage(url) + .build()).queue(); + } catch (IOException e) { + e.printStackTrace(); + event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.ERROR, new EmbedBuilder()) + .setTitle("Error!") + .setDescription("The request to the meme API could not be processed. Please try it again later.") + .setColor(Color.RED) + .build()).queue(); + } + } + + @Override + public String[] labels() { + return new String[]{"meme"}; + } + + @Override + public String description() { + return "Sends you a random meme."; + } + + @Override + public String usage() { + return ""; + } +} diff --git a/src/main/java/com/bbn/hadder/commands/nsfw/AnalCommand.java b/src/main/java/com/bbn/hadder/commands/nsfw/AnalCommand.java index c73850e..10faa26 100644 --- a/src/main/java/com/bbn/hadder/commands/nsfw/AnalCommand.java +++ b/src/main/java/com/bbn/hadder/commands/nsfw/AnalCommand.java @@ -33,7 +33,6 @@ public class AnalCommand implements Command { event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder) .setAuthor("GIF not showing? Click here", url.replace("\"}", "")) .setImage(url.replace("\"}", "")) - .setTimestamp(Instant.now()) .setFooter("Anal") .build()).queue(); diff --git a/src/main/java/com/bbn/hadder/commands/nsfw/BlowjobCommand.java b/src/main/java/com/bbn/hadder/commands/nsfw/BlowjobCommand.java index 79f3219..55fc58c 100644 --- a/src/main/java/com/bbn/hadder/commands/nsfw/BlowjobCommand.java +++ b/src/main/java/com/bbn/hadder/commands/nsfw/BlowjobCommand.java @@ -33,7 +33,6 @@ public class BlowjobCommand implements Command { event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder) .setAuthor("Image not showing? Click here", url.replace("\"}", "")) .setImage(url.replace("\"}", "")) - .setTimestamp(Instant.now()) .setFooter("Blowjob") .build()).queue(); diff --git a/src/main/java/com/bbn/hadder/commands/nsfw/BoobsCommand.java b/src/main/java/com/bbn/hadder/commands/nsfw/BoobsCommand.java index 76ae669..46e9f66 100644 --- a/src/main/java/com/bbn/hadder/commands/nsfw/BoobsCommand.java +++ b/src/main/java/com/bbn/hadder/commands/nsfw/BoobsCommand.java @@ -33,7 +33,6 @@ public class BoobsCommand implements Command { event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder) .setAuthor("GIF not showing? Click here", url.replace("\"}", "")) .setImage(url.replace("\"}", "")) - .setTimestamp(Instant.now()) .setFooter("Boobs") .build()).queue(); diff --git a/src/main/java/com/bbn/hadder/commands/nsfw/CumCommand.java b/src/main/java/com/bbn/hadder/commands/nsfw/CumCommand.java index 6999fe2..2cf9b14 100644 --- a/src/main/java/com/bbn/hadder/commands/nsfw/CumCommand.java +++ b/src/main/java/com/bbn/hadder/commands/nsfw/CumCommand.java @@ -33,7 +33,6 @@ public class CumCommand implements Command { event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder) .setAuthor("GIF not showing? Click here", url.replace("\"}", "")) .setImage(url.replace("\"}", "")) - .setTimestamp(Instant.now()) .setFooter("Cum") .build()).queue(); diff --git a/src/main/java/com/bbn/hadder/commands/nsfw/EroticCommand.java b/src/main/java/com/bbn/hadder/commands/nsfw/EroticCommand.java index fb92f53..3500272 100644 --- a/src/main/java/com/bbn/hadder/commands/nsfw/EroticCommand.java +++ b/src/main/java/com/bbn/hadder/commands/nsfw/EroticCommand.java @@ -33,7 +33,6 @@ public class EroticCommand implements Command { event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder) .setAuthor("Image not showing? Click here", url.replace("\"}", "")) .setImage(url.replace("\"}", "")) - .setTimestamp(Instant.now()) .setFooter("Erotic") .build()).queue(); diff --git a/src/main/java/com/bbn/hadder/commands/nsfw/FeetCommand.java b/src/main/java/com/bbn/hadder/commands/nsfw/FeetCommand.java index 27cf07e..197abda 100644 --- a/src/main/java/com/bbn/hadder/commands/nsfw/FeetCommand.java +++ b/src/main/java/com/bbn/hadder/commands/nsfw/FeetCommand.java @@ -33,7 +33,6 @@ public class FeetCommand implements Command { event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder) .setAuthor("Image not showing? Click here", url.replace("\"}", "")) .setImage(url.replace("\"}", "")) - .setTimestamp(Instant.now()) .setFooter("Feet") .build()).queue(); diff --git a/src/main/java/com/bbn/hadder/commands/nsfw/PornCommand.java b/src/main/java/com/bbn/hadder/commands/nsfw/PornCommand.java index 98e21ae..7708da1 100644 --- a/src/main/java/com/bbn/hadder/commands/nsfw/PornCommand.java +++ b/src/main/java/com/bbn/hadder/commands/nsfw/PornCommand.java @@ -33,7 +33,6 @@ public class PornCommand implements Command { event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder) .setAuthor("GIF not showing? Click here", url.replace("\"}", "")) .setImage(url.replace("\"}", "")) - .setTimestamp(Instant.now()) .setFooter("Porn") .build()).queue(); diff --git a/src/main/java/com/bbn/hadder/commands/nsfw/PussyCommand.java b/src/main/java/com/bbn/hadder/commands/nsfw/PussyCommand.java index fd67018..c595ab3 100644 --- a/src/main/java/com/bbn/hadder/commands/nsfw/PussyCommand.java +++ b/src/main/java/com/bbn/hadder/commands/nsfw/PussyCommand.java @@ -33,7 +33,6 @@ public class PussyCommand implements Command { event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder) .setAuthor("GIF not showing? Click here", url.replace("\"}", "")) .setImage(url.replace("\"}", "")) - .setTimestamp(Instant.now()) .setFooter("Pussy") .build()).queue(); diff --git a/src/main/java/com/bbn/hadder/commands/nsfw/TransCommand.java b/src/main/java/com/bbn/hadder/commands/nsfw/TransCommand.java index 2cd6a59..f0f4bed 100644 --- a/src/main/java/com/bbn/hadder/commands/nsfw/TransCommand.java +++ b/src/main/java/com/bbn/hadder/commands/nsfw/TransCommand.java @@ -33,7 +33,6 @@ public class TransCommand implements Command { event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder) .setAuthor("Image not showing? Click here", url.replace("\"}", "")) .setImage(url.replace("\"}", "")) - .setTimestamp(Instant.now()) .setFooter("Trans") .build()).queue(); diff --git a/src/main/java/com/bbn/hadder/utils/MessageEditor.java b/src/main/java/com/bbn/hadder/utils/MessageEditor.java index 4ab9ee7..3a2e33c 100644 --- a/src/main/java/com/bbn/hadder/utils/MessageEditor.java +++ b/src/main/java/com/bbn/hadder/utils/MessageEditor.java @@ -3,29 +3,30 @@ package com.bbn.hadder.utils; import net.dv8tion.jda.api.EmbedBuilder; import java.awt.*; +import java.time.Instant; public class MessageEditor { public EmbedBuilder setDefaultSettings(MessageType type, EmbedBuilder embedBuilder) { switch (type) { case INFO: - embedBuilder.setColor(new Color(47,94,105)); + embedBuilder.setColor(new Color(47,94,105)).setTimestamp(Instant.now()); break; case ERROR: - embedBuilder.setColor(Color.RED); + embedBuilder.setColor(Color.RED).setTimestamp(Instant.now()); break; case WARNING: - embedBuilder.setColor(Color.ORANGE); + embedBuilder.setColor(Color.ORANGE).setTimestamp(Instant.now()); break; case NO_PERMISSION: - embedBuilder.setTitle("⛔ No Permission ⛔").setDescription("You are not authorized to execute this command!").setColor(Color.RED); + embedBuilder.setTitle("⛔ No Permission ⛔").setDescription("You are not authorized to execute this command!").setColor(Color.RED).setTimestamp(Instant.now()); break; case NO_SELF_PERMISSION: - embedBuilder.setTitle("⛔ No Permission ⛔").setDescription("Unfortunately, I do not have the required rights to perform this action").setColor(Color.RED); + embedBuilder.setTitle("⛔ No Permission ⛔").setDescription("Unfortunately, I do not have the required rights to perform this action").setColor(Color.RED).setTimestamp(Instant.now()); break; } return embedBuilder;