Merge remote-tracking branch 'origin/master' into hax-dev
This commit is contained in:
commit
dce4aaf713
5 changed files with 100 additions and 49 deletions
2
pom.xml
2
pom.xml
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
<groupId>Hadder</groupId>
|
||||
<artifactId>Hadder</artifactId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
<version>0.3-ALPHA</version>
|
||||
|
||||
<name>Hadder</name>
|
||||
|
||||
|
|
|
|||
|
|
@ -3,8 +3,7 @@ package com.bbn.hadder;
|
|||
import com.bbn.hadder.commands.TestCommand;
|
||||
import com.bbn.hadder.commands.fun.GifCommand;
|
||||
import com.bbn.hadder.commands.general.PingCommand;
|
||||
import com.bbn.hadder.commands.moderation.BanCommand;
|
||||
import com.bbn.hadder.commands.moderation.KickCommand;
|
||||
import com.bbn.hadder.commands.moderation.*;
|
||||
import com.bbn.hadder.commands.owner.ShutdownCommand;
|
||||
import com.bbn.hadder.commands.settings.PrefixCommand;
|
||||
import com.bbn.hadder.core.CommandHandler;
|
||||
|
|
@ -38,8 +37,7 @@ public class Hadder {
|
|||
e.printStackTrace();
|
||||
}
|
||||
|
||||
Rethink.connect();
|
||||
|
||||
Rethink.connect();
|
||||
|
||||
DefaultShardManagerBuilder builder = new DefaultShardManagerBuilder();
|
||||
|
||||
|
|
@ -48,14 +46,12 @@ public class Hadder {
|
|||
builder.setToken(config.getString("Token"));
|
||||
|
||||
|
||||
CommandHandler.cmdlist.addAll(List.of(new TestCommand(), new BanCommand(), new PrefixCommand(), new ShutdownCommand(), new KickCommand(), new PingCommand(), new GifCommand()));
|
||||
CommandHandler.cmdlist.addAll(List.of(new TestCommand(), new BanCommand(), new PrefixCommand(), new ShutdownCommand(), new KickCommand(), new PingCommand(), new GifCommand(), new ClearCommand()));
|
||||
|
||||
builder.addEventListeners(
|
||||
new MentionListener(),
|
||||
new PrivateMessageListener(),
|
||||
new CommandListener(),
|
||||
new GuildJoinListener(),
|
||||
new GuildLeaveListener(),
|
||||
new GuildListener(),
|
||||
new ReadyListener());
|
||||
|
||||
|
|
|
|||
|
|
@ -5,6 +5,8 @@ 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;
|
||||
|
|
@ -19,36 +21,41 @@ 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) {
|
||||
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) {
|
||||
event.getTextChannel().sendMessage("Meddl Bruder. Ich hab heut leider kein gif für dich").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());
|
||||
JSONArray array = json.getJSONArray("data");
|
||||
int gifIndex = rand.nextInt(array.length());
|
||||
String url = array.getJSONObject(gifIndex).get("url").toString();
|
||||
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();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,62 @@
|
|||
package com.bbn.hadder.commands.moderation;
|
||||
|
||||
/*
|
||||
* @author Skidder / GregTCLTK
|
||||
*/
|
||||
|
||||
import com.bbn.hadder.commands.Command;
|
||||
import com.bbn.hadder.utils.MessageEditor;
|
||||
import net.dv8tion.jda.api.EmbedBuilder;
|
||||
import net.dv8tion.jda.api.Permission;
|
||||
import net.dv8tion.jda.api.entities.Message;
|
||||
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import static java.time.temporal.ChronoUnit.DAYS;
|
||||
|
||||
public class ClearCommand implements Command {
|
||||
|
||||
@Override
|
||||
public void executed(String[] args, MessageReceivedEvent event) {
|
||||
if (args.length > 0) {
|
||||
if (event.getGuild().getMemberById(event.getAuthor().getId()).hasPermission(Permission.MESSAGE_MANAGE) || event.getGuild().getOwnerId().equals(event.getAuthor().getId())) {
|
||||
if (event.getGuild().getMemberById(event.getJDA().getSelfUser().getId()).hasPermission(Permission.MESSAGE_MANAGE)) {
|
||||
try {
|
||||
int nbToDelete = Integer.parseInt(args[0]);
|
||||
if(nbToDelete < 1 || nbToDelete > 200) {
|
||||
EmbedBuilder builder = new EmbedBuilder();
|
||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.WARNING, builder).setDescription("You have to choose a number between 1 and 200!").build()).queue();
|
||||
return;
|
||||
}
|
||||
List<Message> history = event.getTextChannel().getHistory().retrievePast(nbToDelete +1).complete();
|
||||
List<Message> msgToDelete = new ArrayList<>();
|
||||
msgToDelete.addAll(history);
|
||||
event.getTextChannel().deleteMessages(msgToDelete).queue();
|
||||
EmbedBuilder builder = new EmbedBuilder();
|
||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.INFO, builder).setDescription("Successfully deleted " + nbToDelete + " messages.").build()).queue();
|
||||
} catch (NumberFormatException e) {
|
||||
EmbedBuilder builder = new EmbedBuilder();
|
||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.WARNING, builder).setDescription("You have to specify a number!").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.NO_PERMISSION, builder).build()).queue();
|
||||
}
|
||||
} else {
|
||||
EmbedBuilder builder = new EmbedBuilder();
|
||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.WARNING, builder).setDescription("You have to specify a number!").build()).queue();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String[] labels() {
|
||||
return new String[]{"clear"};
|
||||
}
|
||||
}
|
||||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue