Greg dev #140
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>
|
||||
<groupId>net.dv8tion</groupId>
|
||||
<artifactId>JDA</artifactId>
|
||||
<version>4.0.0_64</version>
|
||||
<version>4.0.0_67</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.json</groupId>
|
||||
|
|
@ -60,7 +60,7 @@
|
|||
<dependency>
|
||||
<groupId>org.kohsuke</groupId>
|
||||
<artifactId>github-api</artifactId>
|
||||
<version>1.99</version>
|
||||
<version>1.101</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.sedmelluq</groupId>
|
||||
|
|
|
|||
|
|
@ -76,6 +76,7 @@ public class Hadder {
|
|||
new JoinCommand(),
|
||||
new LeaveCommand(),
|
||||
new GuildLeaveCommand(),
|
||||
new MemeCommand(),
|
||||
new LinkCommand()), config, helpCommand);
|
||||
|
||||
builder.addEventListeners(
|
||||
|
|
|
|||
|
|
@ -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());
|
||||
|
|
|
|||
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();
|
||||
if(!audioManager.isAttemptingToConnect()) {
|
||||
VoiceChannel vc = event.getMember().getVoiceState().getChannel();
|
||||
if (vc.getMemberPermissionOverrides().contains(Permission.VOICE_CONNECT)) {
|
||||
event.getGuild().getAudioManager().openAudioConnection(vc);
|
||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
|
||||
.setTitle("Successfully connected"))
|
||||
.setDescription("I successfully connected to " + vc.getName() + ".")
|
||||
.build()).queue();
|
||||
} else {
|
||||
EmbedBuilder builder = new EmbedBuilder();
|
||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION, builder).build()).queue();
|
||||
}
|
||||
} else {
|
||||
EmbedBuilder builder = new EmbedBuilder();
|
||||
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)
|
||||
.setAuthor("GIF not showing? Click here", url.replace("\"}", ""))
|
||||
.setImage(url.replace("\"}", ""))
|
||||
.setTimestamp(Instant.now())
|
||||
.setFooter("Anal")
|
||||
.build()).queue();
|
||||
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue