commit
f6e3869862
17 changed files with 122 additions and 23 deletions
28
.gitattributes
vendored
Normal file
28
.gitattributes
vendored
Normal file
|
|
@ -0,0 +1,28 @@
|
||||||
|
# Java sources
|
||||||
|
*.java text diff=java
|
||||||
|
*.gradle text diff=java
|
||||||
|
*.gradle.kts text diff=java
|
||||||
|
|
||||||
|
# These files are text and should be normalized (Convert crlf => lf)
|
||||||
|
*.css text diff=css
|
||||||
|
*.df text
|
||||||
|
*.htm text diff=html
|
||||||
|
*.html text diff=html
|
||||||
|
*.js text
|
||||||
|
*.jsp text
|
||||||
|
*.jspf text
|
||||||
|
*.jspx text
|
||||||
|
*.properties text
|
||||||
|
*.tld text
|
||||||
|
*.tag text
|
||||||
|
*.tagx text
|
||||||
|
*.xml text
|
||||||
|
|
||||||
|
# These files are binary and should be left untouched
|
||||||
|
# (binary is a macro for -text -diff)
|
||||||
|
*.class binary
|
||||||
|
*.dll binary
|
||||||
|
*.ear binary
|
||||||
|
*.jar binary
|
||||||
|
*.so binary
|
||||||
|
*.war binary
|
||||||
23
example-config.json
Normal file
23
example-config.json
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
{
|
||||||
|
"Owners":
|
||||||
|
[],
|
||||||
|
"Database":{"IP":"",
|
||||||
|
"Port":6775,
|
||||||
|
"DBName":"",
|
||||||
|
"Username":"",
|
||||||
|
"Password":""},
|
||||||
|
"Tokens":{
|
||||||
|
"BotToken":"",
|
||||||
|
"Giphy":"",
|
||||||
|
"GitHub": "",
|
||||||
|
"MythicalBotList":"",
|
||||||
|
"BotsForDiscord":"",
|
||||||
|
"DiscordBotList":"",
|
||||||
|
"DiscordBestBots":"",
|
||||||
|
"DiscordBoats": "",
|
||||||
|
"YetAnotherBotList": "",
|
||||||
|
"DiscordExtremeList": "",
|
||||||
|
"DiscordBotReviews": "",
|
||||||
|
"DiscordBots": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
4
pom.xml
4
pom.xml
|
|
@ -25,7 +25,7 @@
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>net.dv8tion</groupId>
|
<groupId>net.dv8tion</groupId>
|
||||||
<artifactId>JDA</artifactId>
|
<artifactId>JDA</artifactId>
|
||||||
<version>4.0.0_64</version>
|
<version>4.0.0_67</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.json</groupId>
|
<groupId>org.json</groupId>
|
||||||
|
|
@ -60,7 +60,7 @@
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.kohsuke</groupId>
|
<groupId>org.kohsuke</groupId>
|
||||||
<artifactId>github-api</artifactId>
|
<artifactId>github-api</artifactId>
|
||||||
<version>1.99</version>
|
<version>1.101</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.sedmelluq</groupId>
|
<groupId>com.sedmelluq</groupId>
|
||||||
|
|
|
||||||
|
|
@ -76,6 +76,7 @@ public class Hadder {
|
||||||
new JoinCommand(),
|
new JoinCommand(),
|
||||||
new LeaveCommand(),
|
new LeaveCommand(),
|
||||||
new GuildLeaveCommand(),
|
new GuildLeaveCommand(),
|
||||||
|
new MemeCommand(),
|
||||||
new LinkCommand()), config, helpCommand);
|
new LinkCommand()), config, helpCommand);
|
||||||
|
|
||||||
builder.addEventListeners(
|
builder.addEventListeners(
|
||||||
|
|
|
||||||
|
|
@ -27,11 +27,11 @@ public class GifCommand implements Command {
|
||||||
query = new StringBuilder(query.substring(0, query.length() - 1));
|
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();
|
Request request = new Request.Builder().url("http://api.giphy.com/v1/gifs/search?q=" + query + "&api_key=" + event.getConfig().getGiphyToken()).build();
|
||||||
try {
|
try {
|
||||||
Random rand = new Random();
|
Random rand = new Random();
|
||||||
Response response = caller.newCall(request).execute();
|
Response response = client.newCall(request).execute();
|
||||||
JSONObject json = new JSONObject(response.body().string());
|
JSONObject json = new JSONObject(response.body().string());
|
||||||
JSONArray array = json.getJSONArray("data");
|
JSONArray array = json.getJSONArray("data");
|
||||||
int gifIndex = rand.nextInt(array.length());
|
int gifIndex = rand.nextInt(array.length());
|
||||||
|
|
|
||||||
60
src/main/java/com/bbn/hadder/commands/fun/MemeCommand.java
Normal file
60
src/main/java/com/bbn/hadder/commands/fun/MemeCommand.java
Normal file
|
|
@ -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 "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -21,16 +21,11 @@ public class JoinCommand implements Command {
|
||||||
AudioManager audioManager = event.getGuild().getAudioManager();
|
AudioManager audioManager = event.getGuild().getAudioManager();
|
||||||
if(!audioManager.isAttemptingToConnect()) {
|
if(!audioManager.isAttemptingToConnect()) {
|
||||||
VoiceChannel vc = event.getMember().getVoiceState().getChannel();
|
VoiceChannel vc = event.getMember().getVoiceState().getChannel();
|
||||||
if (vc.getMemberPermissionOverrides().contains(Permission.VOICE_CONNECT)) {
|
|
||||||
event.getGuild().getAudioManager().openAudioConnection(vc);
|
event.getGuild().getAudioManager().openAudioConnection(vc);
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
|
||||||
.setTitle("Successfully connected"))
|
.setTitle("Successfully connected"))
|
||||||
.setDescription("I successfully connected to " + vc.getName() + ".")
|
.setDescription("I successfully connected to " + vc.getName() + ".")
|
||||||
.build()).queue();
|
.build()).queue();
|
||||||
} else {
|
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION, builder).build()).queue();
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
EmbedBuilder builder = new EmbedBuilder();
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING, builder)
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING, builder)
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,6 @@ public class AnalCommand implements Command {
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder)
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder)
|
||||||
.setAuthor("GIF not showing? Click here", url.replace("\"}", ""))
|
.setAuthor("GIF not showing? Click here", url.replace("\"}", ""))
|
||||||
.setImage(url.replace("\"}", ""))
|
.setImage(url.replace("\"}", ""))
|
||||||
.setTimestamp(Instant.now())
|
|
||||||
.setFooter("Anal")
|
.setFooter("Anal")
|
||||||
.build()).queue();
|
.build()).queue();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,6 @@ public class BlowjobCommand implements Command {
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder)
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder)
|
||||||
.setAuthor("Image not showing? Click here", url.replace("\"}", ""))
|
.setAuthor("Image not showing? Click here", url.replace("\"}", ""))
|
||||||
.setImage(url.replace("\"}", ""))
|
.setImage(url.replace("\"}", ""))
|
||||||
.setTimestamp(Instant.now())
|
|
||||||
.setFooter("Blowjob")
|
.setFooter("Blowjob")
|
||||||
.build()).queue();
|
.build()).queue();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,6 @@ public class BoobsCommand implements Command {
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder)
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder)
|
||||||
.setAuthor("GIF not showing? Click here", url.replace("\"}", ""))
|
.setAuthor("GIF not showing? Click here", url.replace("\"}", ""))
|
||||||
.setImage(url.replace("\"}", ""))
|
.setImage(url.replace("\"}", ""))
|
||||||
.setTimestamp(Instant.now())
|
|
||||||
.setFooter("Boobs")
|
.setFooter("Boobs")
|
||||||
.build()).queue();
|
.build()).queue();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,6 @@ public class CumCommand implements Command {
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder)
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder)
|
||||||
.setAuthor("GIF not showing? Click here", url.replace("\"}", ""))
|
.setAuthor("GIF not showing? Click here", url.replace("\"}", ""))
|
||||||
.setImage(url.replace("\"}", ""))
|
.setImage(url.replace("\"}", ""))
|
||||||
.setTimestamp(Instant.now())
|
|
||||||
.setFooter("Cum")
|
.setFooter("Cum")
|
||||||
.build()).queue();
|
.build()).queue();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,6 @@ public class EroticCommand implements Command {
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder)
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder)
|
||||||
.setAuthor("Image not showing? Click here", url.replace("\"}", ""))
|
.setAuthor("Image not showing? Click here", url.replace("\"}", ""))
|
||||||
.setImage(url.replace("\"}", ""))
|
.setImage(url.replace("\"}", ""))
|
||||||
.setTimestamp(Instant.now())
|
|
||||||
.setFooter("Erotic")
|
.setFooter("Erotic")
|
||||||
.build()).queue();
|
.build()).queue();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,6 @@ public class FeetCommand implements Command {
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder)
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder)
|
||||||
.setAuthor("Image not showing? Click here", url.replace("\"}", ""))
|
.setAuthor("Image not showing? Click here", url.replace("\"}", ""))
|
||||||
.setImage(url.replace("\"}", ""))
|
.setImage(url.replace("\"}", ""))
|
||||||
.setTimestamp(Instant.now())
|
|
||||||
.setFooter("Feet")
|
.setFooter("Feet")
|
||||||
.build()).queue();
|
.build()).queue();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,6 @@ public class PornCommand implements Command {
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder)
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder)
|
||||||
.setAuthor("GIF not showing? Click here", url.replace("\"}", ""))
|
.setAuthor("GIF not showing? Click here", url.replace("\"}", ""))
|
||||||
.setImage(url.replace("\"}", ""))
|
.setImage(url.replace("\"}", ""))
|
||||||
.setTimestamp(Instant.now())
|
|
||||||
.setFooter("Porn")
|
.setFooter("Porn")
|
||||||
.build()).queue();
|
.build()).queue();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,6 @@ public class PussyCommand implements Command {
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder)
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder)
|
||||||
.setAuthor("GIF not showing? Click here", url.replace("\"}", ""))
|
.setAuthor("GIF not showing? Click here", url.replace("\"}", ""))
|
||||||
.setImage(url.replace("\"}", ""))
|
.setImage(url.replace("\"}", ""))
|
||||||
.setTimestamp(Instant.now())
|
|
||||||
.setFooter("Pussy")
|
.setFooter("Pussy")
|
||||||
.build()).queue();
|
.build()).queue();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,6 @@ public class TransCommand implements Command {
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder)
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder)
|
||||||
.setAuthor("Image not showing? Click here", url.replace("\"}", ""))
|
.setAuthor("Image not showing? Click here", url.replace("\"}", ""))
|
||||||
.setImage(url.replace("\"}", ""))
|
.setImage(url.replace("\"}", ""))
|
||||||
.setTimestamp(Instant.now())
|
|
||||||
.setFooter("Trans")
|
.setFooter("Trans")
|
||||||
.build()).queue();
|
.build()).queue();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,29 +3,30 @@ package com.bbn.hadder.utils;
|
||||||
import net.dv8tion.jda.api.EmbedBuilder;
|
import net.dv8tion.jda.api.EmbedBuilder;
|
||||||
|
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
|
import java.time.Instant;
|
||||||
|
|
||||||
public class MessageEditor {
|
public class MessageEditor {
|
||||||
|
|
||||||
public EmbedBuilder setDefaultSettings(MessageType type, EmbedBuilder embedBuilder) {
|
public EmbedBuilder setDefaultSettings(MessageType type, EmbedBuilder embedBuilder) {
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case INFO:
|
case INFO:
|
||||||
embedBuilder.setColor(new Color(47,94,105));
|
embedBuilder.setColor(new Color(47,94,105)).setTimestamp(Instant.now());
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ERROR:
|
case ERROR:
|
||||||
embedBuilder.setColor(Color.RED);
|
embedBuilder.setColor(Color.RED).setTimestamp(Instant.now());
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case WARNING:
|
case WARNING:
|
||||||
embedBuilder.setColor(Color.ORANGE);
|
embedBuilder.setColor(Color.ORANGE).setTimestamp(Instant.now());
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case NO_PERMISSION:
|
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;
|
break;
|
||||||
|
|
||||||
case NO_SELF_PERMISSION:
|
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;
|
break;
|
||||||
}
|
}
|
||||||
return embedBuilder;
|
return embedBuilder;
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue