Greg dev #74
23 changed files with 384 additions and 142 deletions
55
.github/workflows/maven.yml
vendored
Normal file
55
.github/workflows/maven.yml
vendored
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
name: Hadder
|
||||
|
||||
on: [push]
|
||||
|
||||
jobs:
|
||||
test:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- name: Set up JDK 1.13
|
||||
uses: actions/setup-java@v1
|
||||
with:
|
||||
java-version: 1.13
|
||||
- name: Build with Maven
|
||||
run: mvn -B package --file pom.xml
|
||||
|
||||
deploy:
|
||||
runs-on: ubuntu-latest
|
||||
needs: test
|
||||
if: github.ref == 'refs/heads/master'
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- name: Set up JDK 1.13
|
||||
uses: actions/setup-java@v1
|
||||
with:
|
||||
java-version: 1.13
|
||||
- name: Build Final Jar
|
||||
run: mvn clean compile assembly:single
|
||||
- name: Copy folder content recursively to remote
|
||||
uses: garygrossgarten/github-action-scp@release
|
||||
with:
|
||||
local: ./target/Hadder-Build.jar
|
||||
remote: /home/Bots/Hadder-Build.jar
|
||||
host: ${{ secrets.HOST }}
|
||||
username: ${{ secrets.USERNAME }}
|
||||
password: ${{ secrets.PASSWORD }}
|
||||
- name: executing remote ssh commands using password
|
||||
uses: appleboy/ssh-action@master
|
||||
with:
|
||||
host: ${{ secrets.HOST }}
|
||||
username: ${{ secrets.USERNAME }}
|
||||
password: ${{ secrets.PASSWORD }}
|
||||
port: ${{ secrets.PORT }}
|
||||
script: /home/Bots/deploy.sh
|
||||
- name: Send Webhook Notification
|
||||
if: always()
|
||||
env:
|
||||
JOB_STATUS: ${{ job.status }}
|
||||
WEBHOOK_URL: ${{ secrets.WEBHOOK_URL }}
|
||||
HOOK_OS_NAME: ${{ runner.os }}
|
||||
WORKFLOW_NAME: ${{ github.workflow }}
|
||||
run: |
|
||||
git clone https://github.com/DiscordHooks/github-actions-discord-webhook.git webhook
|
||||
bash webhook/send.sh $JOB_STATUS $WEBHOOK_URL
|
||||
shell: bash
|
||||
24
.travis.yml
24
.travis.yml
|
|
@ -1,24 +0,0 @@
|
|||
language: java
|
||||
jdk:
|
||||
- openjdk12
|
||||
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- sshpass
|
||||
|
||||
after_success:
|
||||
- wget https://raw.githubusercontent.com/DiscordHooks/travis-ci-discord-webhook/master/send.sh
|
||||
- chmod +x send.sh
|
||||
- ./send.sh success $WEBHOOK_URL
|
||||
- mvn clean compile assembly:single
|
||||
- cd target
|
||||
- sshpass -p $SFTP_PASSWORD scp -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -r Hadder-Build.jar $SFTP_USER@$SFTP_IP:/home/Bots/Hadder-Build.jar
|
||||
- echo $?
|
||||
- sshpass -p $SFTP_PASSWORD ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null $SFTP_IP /home/Bots/deploy.sh
|
||||
- echo $?
|
||||
|
||||
after_failure:
|
||||
- wget https://raw.githubusercontent.com/DiscordHooks/travis-ci-discord-webhook/master/send.sh
|
||||
- chmod +x send.sh
|
||||
- ./send.sh failure $WEBHOOK_URL
|
||||
|
|
@ -1,3 +1,8 @@
|
|||
# Hadder
|
||||
|
||||
[](https://travis-ci.com/BigBotNetwork/Hadder)
|
||||
The Hadder Discord bot is a multi-purpose Discord Bot.
|
||||
|
||||
<a href="https://discord.gg/58My2dM"><img src="https://discordapp.com/api/guilds/448554629282922527/embed.png"/></a>
|
||||
[](https://github.com/BigBotNetwork/Hadder)
|
||||
|
||||
<a href="https://discordextremelist.xyz/bots/Hadder"><img src="https://discordextremelist.xyz/api/bot/637002314162372639/widget"/></a>
|
||||
|
|
|
|||
4
pom.xml
4
pom.xml
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
<groupId>Hadder</groupId>
|
||||
<artifactId>Hadder</artifactId>
|
||||
<version>0.7-ALPHA</version>
|
||||
<version>0.7.1-ALPHA</version>
|
||||
|
||||
<name>Hadder</name>
|
||||
|
||||
|
|
@ -25,7 +25,7 @@
|
|||
<dependency>
|
||||
<groupId>net.dv8tion</groupId>
|
||||
<artifactId>JDA</artifactId>
|
||||
<version>4.0.0_56</version>
|
||||
<version>4.0.0_61</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.json</groupId>
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ public class Hadder {
|
|||
startBot();
|
||||
}
|
||||
|
||||
public static void startBot() {
|
||||
private static void startBot() {
|
||||
Config config = new Config("./config.json");
|
||||
if (!config.fileExists()) config.create();
|
||||
config.load();
|
||||
|
|
@ -47,12 +47,14 @@ public class Hadder {
|
|||
new ShutdownCommand(),
|
||||
new KickCommand(),
|
||||
new PingCommand(),
|
||||
new GifCommand(config),
|
||||
new GifCommand(),
|
||||
new ClearCommand(),
|
||||
new GitHubCommand(),
|
||||
new ScreenshareCommand(),
|
||||
new RebootCommand(),
|
||||
new EqualsCommand(),
|
||||
new InviteCommand(),
|
||||
new NickCommand(),
|
||||
new GuildPrefixCommand()), config);
|
||||
|
||||
builder.addEventListeners(
|
||||
|
|
|
|||
|
|
@ -18,11 +18,11 @@ public class Rethink {
|
|||
private Connection conn;
|
||||
private Config config;
|
||||
|
||||
public Rethink(Config config) {
|
||||
Rethink(Config config) {
|
||||
this.config = config;
|
||||
}
|
||||
|
||||
public boolean connect() {
|
||||
public void connect() {
|
||||
try {
|
||||
conn = r.connection()
|
||||
.hostname(config.getDatabaseIP())
|
||||
|
|
@ -35,7 +35,6 @@ public class Rethink {
|
|||
System.out.println(e.toString());
|
||||
System.out.println("DB CONNECTION FAILED");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public void disconnect() {
|
||||
|
|
@ -46,8 +45,7 @@ public class Rethink {
|
|||
private JSONArray getAsArray(String table, String where, String value) {
|
||||
try {
|
||||
String string = r.table(table).filter(row -> row.g(where.toLowerCase()).eq(value)).coerceTo("array").toJson().run(conn);
|
||||
JSONArray jsonArray = new JSONArray(string);
|
||||
return jsonArray;
|
||||
return new JSONArray(string);
|
||||
} catch (NoSuchElementException e) {
|
||||
return null;
|
||||
} catch (Exception e) {
|
||||
|
|
@ -105,15 +103,15 @@ public class Rethink {
|
|||
return this.get("user", "id", id, "prefix");
|
||||
}
|
||||
|
||||
public String setServerPrefix(String prefix, String guildid) {
|
||||
public String setGuildPrefix(String prefix, String guildid) {
|
||||
return this.update("server", guildid, "prefix", prefix);
|
||||
}
|
||||
|
||||
public String getServerPrefix(String id) {
|
||||
public String getGuildPrefix(String id) {
|
||||
return this.get("server", "id", id, "prefix");
|
||||
}
|
||||
|
||||
public String insertServer(String id) {
|
||||
public String insertGuild(String id) {
|
||||
return this.insert("server", r.hashMap("id", id).with("prefix", "h."));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -19,12 +19,6 @@ import java.util.Random;
|
|||
|
||||
public class GifCommand implements Command {
|
||||
|
||||
private Config config;
|
||||
|
||||
public GifCommand(Config config) {
|
||||
this.config = config;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void executed(String[] args, CommandEvent event) {
|
||||
if (args.length > 0) {
|
||||
|
|
@ -35,7 +29,7 @@ public class GifCommand implements Command {
|
|||
}
|
||||
|
||||
OkHttpClient caller = new OkHttpClient();
|
||||
Request request = new Request.Builder().url("http://api.giphy.com/v1/gifs/search?q=" + query + "&api_key=" + config.getGiphyToken()).build();
|
||||
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();
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ 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 net.dv8tion.jda.api.Permission;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
|
|
@ -13,47 +14,51 @@ public class HelpCommand implements Command {
|
|||
|
||||
@Override
|
||||
public void executed(String[] args, CommandEvent event) {
|
||||
if (args.length == 0) {
|
||||
HashMap<String, ArrayList<Command>> hashMap = new HashMap<>();
|
||||
for (Command cmd : event.getCommandHandler().getCommandList()) {
|
||||
if (!hashMap.containsKey(cmd.getClass().getPackageName())) {
|
||||
ArrayList<Command> cmdlist = new ArrayList<>();
|
||||
cmdlist.add(cmd);
|
||||
hashMap.put(cmd.getClass().getPackageName(), cmdlist);
|
||||
} else {
|
||||
hashMap.get(cmd.getClass().getPackageName()).add(cmd);
|
||||
}
|
||||
}
|
||||
EmbedBuilder eb = new EmbedBuilder();
|
||||
for (Map.Entry<String, ArrayList<Command>> entry : hashMap.entrySet()) {
|
||||
if (!entry.getKey().endsWith("owner") || (entry.getKey().endsWith("owner") && (event.getAuthor().getId().equals("477141528981012511") || event.getAuthor().getId().equals("261083609148948488")))) {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
for (int i = 0; i < entry.getValue().size(); i++) {
|
||||
Command cmd = entry.getValue().get(i);
|
||||
sb.append("`" + cmd.labels()[0] + "`");
|
||||
if (i < entry.getValue().size() - 1) sb.append(", ");
|
||||
if (event.getGuild().getSelfMember().hasPermission(Permission.MESSAGE_EMBED_LINKS)) {
|
||||
if (args.length == 0) {
|
||||
HashMap<String, ArrayList<Command>> hashMap = new HashMap<>();
|
||||
for (Command cmd : event.getCommandHandler().getCommandList()) {
|
||||
if (!hashMap.containsKey(cmd.getClass().getPackageName())) {
|
||||
ArrayList<Command> cmdlist = new ArrayList<>();
|
||||
cmdlist.add(cmd);
|
||||
hashMap.put(cmd.getClass().getPackageName(), cmdlist);
|
||||
} else {
|
||||
hashMap.get(cmd.getClass().getPackageName()).add(cmd);
|
||||
}
|
||||
String[] packagesplit = entry.getKey().split("\\.");
|
||||
eb.addField(packagesplit[packagesplit.length - 1], sb.toString(), false);
|
||||
}
|
||||
}
|
||||
new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.INFO, eb);
|
||||
event.getChannel().sendMessage(eb.build()).queue();
|
||||
} else {
|
||||
for (Command cmd : event.getCommandHandler().getCommandList()) {
|
||||
for (String label : cmd.labels()) {
|
||||
if (label.toLowerCase().equals(args[0])) {
|
||||
if (!cmd.getClass().getPackageName().endsWith("owner") || (cmd.getClass().getPackageName().endsWith("owner") && (event.getAuthor().getId().equals("477141528981012511") || event.getAuthor().getId().equals("261083609148948488")))) {
|
||||
EmbedBuilder eb = new EmbedBuilder();
|
||||
String name = cmd.labels()[0];
|
||||
eb.setDescription(cmd.description()).setTitle(name.replaceFirst(String.valueOf(name.charAt(0)), String.valueOf(name.charAt(0)).toUpperCase()));
|
||||
eb.addField("Usage", event.getRethink().getUserPrefix(event.getAuthor().getId()) + cmd.labels()[0] + " " + cmd.usage(), false);
|
||||
new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.INFO, eb);
|
||||
event.getChannel().sendMessage(eb.build()).queue();
|
||||
EmbedBuilder eb = new EmbedBuilder();
|
||||
for (Map.Entry<String, ArrayList<Command>> entry : hashMap.entrySet()) {
|
||||
if (!entry.getKey().endsWith("owner") || (entry.getKey().endsWith("owner") && (event.getAuthor().getId().equals("477141528981012511") || event.getAuthor().getId().equals("261083609148948488")))) {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
for (int i = 0; i < entry.getValue().size(); i++) {
|
||||
Command cmd = entry.getValue().get(i);
|
||||
sb.append("`").append(cmd.labels()[0]).append("`");
|
||||
if (i < entry.getValue().size() - 1) sb.append(", ");
|
||||
}
|
||||
String[] packagesplit = entry.getKey().split("\\.");
|
||||
eb.addField(packagesplit[packagesplit.length - 1], sb.toString(), false);
|
||||
}
|
||||
}
|
||||
new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.INFO, eb);
|
||||
event.getChannel().sendMessage(eb.build()).queue();
|
||||
} else {
|
||||
for (Command cmd : event.getCommandHandler().getCommandList()) {
|
||||
for (String label : cmd.labels()) {
|
||||
if (label.toLowerCase().equals(args[0])) {
|
||||
if (!cmd.getClass().getPackageName().endsWith("owner") || (cmd.getClass().getPackageName().endsWith("owner") && (event.getAuthor().getId().equals("477141528981012511") || event.getAuthor().getId().equals("261083609148948488")))) {
|
||||
EmbedBuilder eb = new EmbedBuilder();
|
||||
String name = cmd.labels()[0];
|
||||
eb.setDescription(cmd.description()).setTitle(name.replaceFirst(String.valueOf(name.charAt(0)), String.valueOf(name.charAt(0)).toUpperCase()));
|
||||
eb.addField("Usage", event.getRethink().getUserPrefix(event.getAuthor().getId()) + cmd.labels()[0] + " " + cmd.usage(), false);
|
||||
new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.INFO, eb);
|
||||
event.getChannel().sendMessage(eb.build()).queue();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
event.getTextChannel().sendMessage("I need the Embed Links Permission to send the Help Menu!").queue();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -21,52 +21,54 @@ public class GitHubCommand implements Command {
|
|||
@Override
|
||||
public void executed(String[] args, CommandEvent event) {
|
||||
if (args.length > 0) {
|
||||
Request request = new Request.Builder().url("https://api.github.com/users/" + args[0]).build();
|
||||
try {
|
||||
|
||||
Response response = new OkHttpClient().newCall(request).execute();
|
||||
JSONObject json = new JSONObject(response.body().string());
|
||||
|
||||
String nickname = json.getString("name");
|
||||
String bio = "None";
|
||||
String location = "Unknown";
|
||||
String website = "None";
|
||||
if (args[0].equals("link")) {
|
||||
EmbedBuilder builder = new EmbedBuilder();
|
||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.INFO, builder).setTitle("Link your GitHub Account").setDescription("https://github.com/login/oauth/authorize?client_id=25321f690bb1b6952942").build()).queue();
|
||||
} else {
|
||||
Request request = new Request.Builder().url("https://api.github.com/users/" + args[0]).build();
|
||||
try {
|
||||
bio = json.getString("bio");
|
||||
|
||||
Response response = new OkHttpClient().newCall(request).execute();
|
||||
JSONObject json = new JSONObject(response.body().string());
|
||||
|
||||
String nickname = json.getString("name");
|
||||
String bio = "None";
|
||||
String location = "Unknown";
|
||||
String website = "None";
|
||||
try {
|
||||
bio = json.getString("bio");
|
||||
} catch (JSONException ignored) {
|
||||
}
|
||||
try {
|
||||
location = json.getString("location");
|
||||
} catch (JSONException ignored) {
|
||||
}
|
||||
|
||||
if (!json.getString("blog").equals("")) website = json.getString("blog");
|
||||
|
||||
EmbedBuilder builder = new EmbedBuilder();
|
||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.INFO, builder)
|
||||
.setAuthor("Information about " + nickname + " (" + args[0] + ")", "https://github.com/" + args[0] + "", "https://github.githubassets.com/images/modules/logos_page/GitHub-Mark.png")
|
||||
.setThumbnail(json.getString("avatar_url"))
|
||||
.addField("User bio", bio, false)
|
||||
.addField("Location", location, true)
|
||||
.addField("Website", website, true)
|
||||
.addField("Public repositories", String.valueOf(json.getInt("public_repos")), true)
|
||||
.addField("Public gists", String.valueOf(json.getInt("public_gists")), true)
|
||||
.addField("Followers", String.valueOf(json.getInt("followers")), true)
|
||||
.addField("Following", String.valueOf(json.getInt("following")), true)
|
||||
.build()).queue();
|
||||
|
||||
} catch (IOException | NullPointerException e) {
|
||||
EmbedBuilder builder = new EmbedBuilder();
|
||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.ERROR, builder).setDescription("The GitHub API might be down at the moment!").build()).queue();
|
||||
} catch (JSONException e) {
|
||||
|
||||
EmbedBuilder builder = new EmbedBuilder();
|
||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.WARNING, builder).setDescription("This user does not exist!").build()).queue();
|
||||
}
|
||||
try {
|
||||
location = json.getString("location");
|
||||
} catch (JSONException e) {
|
||||
|
||||
}
|
||||
|
||||
if(!json.getString("blog").equals("")) website = json.getString("blog");
|
||||
|
||||
EmbedBuilder builder = new EmbedBuilder();
|
||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.INFO, builder)
|
||||
.setAuthor("Information about " + nickname + " (" + args[0] + ")", "https://github.com/" + args[0] + "", "https://github.githubassets.com/images/modules/logos_page/GitHub-Mark.png")
|
||||
.setThumbnail(json.getString("avatar_url"))
|
||||
.addField("User bio", bio, false)
|
||||
.addField("Location", location, true)
|
||||
.addField("Website", website, true)
|
||||
.addField("Public repositories", String.valueOf(json.getInt("public_repos")), true)
|
||||
.addField("Public gists", String.valueOf(json.getInt("public_gists")), true)
|
||||
.addField("Followers", String.valueOf(json.getInt("followers")), true)
|
||||
.addField("Following", String.valueOf(json.getInt("following")), true)
|
||||
.build()).queue();
|
||||
|
||||
} catch (IOException | NullPointerException e) {
|
||||
EmbedBuilder builder = new EmbedBuilder();
|
||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.ERROR, builder).setDescription("The GitHub API might be down at the moment!").build()).queue();
|
||||
} catch (JSONException e) {
|
||||
EmbedBuilder builder = new EmbedBuilder();
|
||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.WARNING, builder).setDescription("This user does not exist!").build()).queue();
|
||||
}
|
||||
} else {
|
||||
EmbedBuilder builder = new EmbedBuilder();
|
||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.WARNING, builder).setDescription("You have to specify a user!").build()).queue();
|
||||
event.getTextChannel().sendMessage("SOON").queue();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,35 @@
|
|||
package com.bbn.hadder.commands.misc;
|
||||
|
||||
/*
|
||||
* @author Skidder / GregTCLTK
|
||||
*/
|
||||
|
||||
import com.bbn.hadder.Hadder;
|
||||
import com.bbn.hadder.commands.Command;
|
||||
import com.bbn.hadder.commands.CommandEvent;
|
||||
import com.bbn.hadder.utils.MessageEditor;
|
||||
import net.dv8tion.jda.api.EmbedBuilder;
|
||||
|
||||
public class InviteCommand implements Command {
|
||||
|
||||
@Override
|
||||
public void executed(String[] args, CommandEvent event) {
|
||||
EmbedBuilder builder = new EmbedBuilder();
|
||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.INFO, builder).setTitle("Invite me!").setDescription("[Invite me here!](discordapp.com/oauth2/authorize?client_id=" + Hadder.shardManager.getGuilds().get(0).getSelfMember().getId() + "&scope=bot&permissions=470133879)").build()).queue();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String[] labels() {
|
||||
return new String[]{"invite"};
|
||||
}
|
||||
|
||||
@Override
|
||||
public String description() {
|
||||
return "Hadder Bot Invite";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String usage() {
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
|
@ -33,7 +33,7 @@ public class ScreenshareCommand implements Command {
|
|||
List<VoiceChannel> vcs = event.getGuild().getVoiceChannelsByName(String.join(" ", args), true);
|
||||
if (vcs.size() > 1) {
|
||||
EmbedBuilder eb = new EmbedBuilder()
|
||||
.setTitle("Please Choose a Voicechannel")
|
||||
.setTitle("Please Choose a Voice Channel")
|
||||
.setDescription("There is more than one channel with this name");
|
||||
for (int i = 0; i < vcs.size(); i++) {
|
||||
VoiceChannel voiceChannel = vcs.get(i);
|
||||
|
|
@ -54,14 +54,14 @@ public class ScreenshareCommand implements Command {
|
|||
}
|
||||
} catch (NumberFormatException e) {
|
||||
event.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.ERROR, new EmbedBuilder()
|
||||
.setTitle("Wait, thats illegal")
|
||||
.setTitle("Wait, that's illegal")
|
||||
.setDescription("This isn't a Number.")).build()).queue();
|
||||
}
|
||||
}, event.getJDA(), event.getAuthor());
|
||||
} else if (vcs.size()==0) {
|
||||
event.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.ERROR, new EmbedBuilder()
|
||||
.setTitle("Hol' up")
|
||||
.setDescription("There is no Voicechannel named like this. \n\nNote: Make sure the Voicechannel is on this Guild.")).build()).queue();
|
||||
.setDescription("There is no Voice Channel named like this. \n\nNote: Make sure the Voice Channel is on this Guild.")).build()).queue();
|
||||
} else {
|
||||
event.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.INFO, new EmbedBuilder()
|
||||
.setTitle("Here's your Url to share your Screen")
|
||||
|
|
|
|||
|
|
@ -38,10 +38,29 @@ public class BanCommand implements Command {
|
|||
}
|
||||
} else if (event.getMessage().getMentionedMembers().size() == 0) {
|
||||
EmbedBuilder builder = new EmbedBuilder();
|
||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.WARNING, builder).setDescription("You have to mention a user!").build()).queue();
|
||||
} else {
|
||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.WARNING, builder).setDescription("You have to mention at least one user!").build()).queue();
|
||||
} else if (event.getMessage().getMentionedMembers().size() > 1) {
|
||||
for (int i = 0; i < event.getMessage().getMentionedMembers().size(); i++) {
|
||||
Member member = event.getMessage().getMentionedMembers().get(i);
|
||||
if (!event.getAuthor().getId().equals(member.getId())) {
|
||||
if (!event.getJDA().getSelfUser().getId().equals(member.getId())) {
|
||||
if (event.getGuild().getSelfMember().canInteract(member)) {
|
||||
event.getGuild().ban(member, 0).reason("Mass Ban by " + event.getAuthor().getAsTag()).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).setDescription("I can not ban myself!").build()).queue();
|
||||
}
|
||||
} else {
|
||||
EmbedBuilder builder = new EmbedBuilder();
|
||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.WARNING, builder).setDescription("You can't ban yourself.").build()).queue();
|
||||
}
|
||||
}
|
||||
EmbedBuilder builder = new EmbedBuilder();
|
||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.WARNING, builder).setDescription("We will be adding multiple banning within a command in the future.").build()).queue();
|
||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.INFO, builder).setTitle("✅ Successfully banned ✅").setDescription("I successfully banned " + event.getMessage().getMentionedMembers().size() + " Members!").build()).queue();
|
||||
}
|
||||
} else {
|
||||
EmbedBuilder builder = new EmbedBuilder();
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ public class GuildPrefixCommand implements Command {
|
|||
if (args.length == 1) {
|
||||
if (!args[0].contains("\"")) {
|
||||
|
||||
event.getRethink().setServerPrefix(args[0], event.getGuild().getId());
|
||||
event.getRethink().setGuildPrefix(args[0], event.getGuild().getId());
|
||||
|
||||
EmbedBuilder builder = new EmbedBuilder();
|
||||
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ import net.dv8tion.jda.api.EmbedBuilder;
|
|||
import net.dv8tion.jda.api.Permission;
|
||||
import net.dv8tion.jda.api.entities.Member;
|
||||
|
||||
|
||||
public class KickCommand implements Command {
|
||||
|
||||
@Override
|
||||
|
|
@ -30,18 +31,37 @@ public class KickCommand implements Command {
|
|||
}
|
||||
} else {
|
||||
EmbedBuilder builder = new EmbedBuilder();
|
||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.WARNING, builder).setDescription("I can not kick myself").build()).queue();
|
||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.WARNING, builder).setDescription("I can not kick myself!").build()).queue();
|
||||
}
|
||||
} else {
|
||||
EmbedBuilder builder = new EmbedBuilder();
|
||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.WARNING, builder).setDescription("You can't kick yourself.").build()).queue();
|
||||
}
|
||||
} else if (event.getMessage().getMentionedMembers().size() == 0) {
|
||||
EmbedBuilder builder = new EmbedBuilder();
|
||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.WARNING, builder).setDescription("You have to mention a user!").build()).queue();
|
||||
} else {
|
||||
EmbedBuilder builder = new EmbedBuilder();
|
||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.WARNING, builder).setDescription("We will be adding multiple kicking within a command in the future.").build()).queue();
|
||||
EmbedBuilder builder = new EmbedBuilder();
|
||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.WARNING, builder).setDescription("You have to mention at least one user!").build()).queue();
|
||||
} else if (event.getMessage().getMentionedMembers().size() > 1) {
|
||||
for (int i = 0; i < event.getMessage().getMentionedMembers().size(); i++) {
|
||||
Member member = event.getMessage().getMentionedMembers().get(i);
|
||||
if (!event.getAuthor().getId().equals(member.getId())) {
|
||||
if (!event.getJDA().getSelfUser().getId().equals(member.getId())) {
|
||||
if (event.getGuild().getSelfMember().canInteract(member)) {
|
||||
event.getGuild().kick(member).reason("Mass Kicked by " + event.getAuthor().getAsTag()).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).setDescription("I can not kick myself!").build()).queue();
|
||||
}
|
||||
} else {
|
||||
EmbedBuilder builder = new EmbedBuilder();
|
||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.WARNING, builder).setDescription("You can't kick yourself.").build()).queue();
|
||||
}
|
||||
}
|
||||
EmbedBuilder builder = new EmbedBuilder();
|
||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.INFO, builder).setTitle("✅ Successfully kicked ✅").setDescription("I successfully kicked " + event.getMessage().getMentionedMembers().size() + " Members!").build()).queue();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,91 @@
|
|||
package com.bbn.hadder.commands.moderation;
|
||||
|
||||
/*
|
||||
* @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 net.dv8tion.jda.api.Permission;
|
||||
import net.dv8tion.jda.api.entities.Member;
|
||||
|
||||
public class NickCommand implements Command {
|
||||
|
||||
@Override
|
||||
public void executed(String[] args, CommandEvent event) {
|
||||
if (event.getMember().hasPermission(Permission.NICKNAME_MANAGE) || event.getGuild().getOwnerId().equals(event.getMember().getId())) {
|
||||
if (event.getGuild().getSelfMember().hasPermission(Permission.NICKNAME_MANAGE)) {
|
||||
if (event.getMessage().getMentionedMembers().size() == 1) {
|
||||
if (!event.getMessage().getMentionedMembers().get(0).getId().equals(event.getGuild().getSelfMember().getId())) {
|
||||
if (event.getGuild().getSelfMember().canInteract(event.getMessage().getMentionedMembers().get(0))) {
|
||||
if (args.length > 1) {
|
||||
if (event.getMessage().getContentRaw().startsWith(event.getRethink().getUserPrefix(event.getMember().getId()))) {
|
||||
event.getGuild().modifyNickname(event.getMessage().getMentionedMembers().get(0), event.getMessage().getContentRaw().replaceFirst(event.getRethink().getUserPrefix(event.getMember().getId()) + "nick " + args[0], "")).reason("Nicked by " + event.getAuthor().getAsTag()).queue();
|
||||
EmbedBuilder builder = new EmbedBuilder();
|
||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.INFO, builder).setTitle("✅ Successfully nicked ✅").setDescription("I successfully nicked " + event.getMessage().getMentionedMembers().get(0).getUser().getAsTag() + ".").build()).queue();
|
||||
} else if (event.getMessage().getContentRaw().startsWith(event.getRethink().getGuildPrefix(event.getGuild().getId()))) {
|
||||
event.getGuild().modifyNickname(event.getMessage().getMentionedMembers().get(0), event.getMessage().getContentRaw().replaceFirst(event.getRethink().getGuildPrefix(event.getGuild().getId()) + "nick " + args[0], "")).reason("Nicked by " + event.getAuthor().getAsTag()).queue();
|
||||
EmbedBuilder builder = new EmbedBuilder();
|
||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.INFO, builder).setTitle("✅ Successfully nicked ✅").setDescription("I successfully nicked " + event.getMessage().getMentionedMembers().get(0).getUser().getAsTag() + ".").build()).queue();
|
||||
}
|
||||
} else {
|
||||
EmbedBuilder builder = new EmbedBuilder();
|
||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.WARNING, builder).setTitle("Missing arguments").setDescription("You have to specify a new nickname for the user(s).").build()).queue();
|
||||
}
|
||||
} else {
|
||||
EmbedBuilder builder = new EmbedBuilder();
|
||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.NO_SELF_PERMISSION, builder).build()).queue();
|
||||
}
|
||||
} else {
|
||||
if (event.getMessage().getContentRaw().startsWith(event.getRethink().getUserPrefix(event.getMember().getId()))) {
|
||||
event.getGuild().getSelfMember().modifyNickname(event.getMessage().getContentRaw().replaceFirst(event.getRethink().getUserPrefix(event.getMember().getId()) + "nick " + args[0], "")).reason("Nicked by " + event.getAuthor().getAsTag()).queue();
|
||||
EmbedBuilder builder = new EmbedBuilder();
|
||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.INFO, builder).setTitle("✅ Successfully nicked ✅").setDescription("I successfully changed my nickname.").build()).queue();
|
||||
} else if (event.getMessage().getContentRaw().startsWith(event.getRethink().getGuildPrefix(event.getGuild().getId()))) {
|
||||
event.getGuild().getSelfMember().modifyNickname(event.getMessage().getContentRaw().replaceFirst(event.getRethink().getGuildPrefix(event.getGuild().getId()) + "nick " + args[0], "")).reason("Nicked by " + event.getAuthor().getAsTag()).queue();
|
||||
EmbedBuilder builder = new EmbedBuilder();
|
||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.INFO, builder).setTitle("✅ Successfully nicked ✅").setDescription("I successfully changed my nickname.").build()).queue();
|
||||
}
|
||||
}
|
||||
} else if (event.getMessage().getMentionedMembers().size() == 0) {
|
||||
EmbedBuilder builder = new EmbedBuilder();
|
||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.WARNING, builder).setDescription("You have to mention at least one user!").build()).queue();
|
||||
} else {
|
||||
for (int i = 0; i < event.getMessage().getMentionedMembers().size(); i++) {
|
||||
Member member = event.getMessage().getMentionedMembers().get(i);
|
||||
if (!event.getJDA().getSelfUser().getId().equals(member.getId())) {
|
||||
event.getGuild().modifyNickname(member, args[args.length - 1]).reason("Mass Nicked by " + event.getAuthor().getAsTag()).queue();
|
||||
} else {
|
||||
event.getGuild().getSelfMember().modifyNickname(args[args.length - 1]).reason("Mass Nicked by " + event.getAuthor().getAsTag()).queue();
|
||||
}
|
||||
}
|
||||
EmbedBuilder builder = new EmbedBuilder();
|
||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.INFO, builder).setTitle("✅ Successfully nicked ✅").setDescription("I successfully nicked " + event.getMessage().getMentionedMembers().size() + " Members!").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();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String[] labels() {
|
||||
return new String[]{"nick"};
|
||||
}
|
||||
|
||||
@Override
|
||||
public String description() {
|
||||
return "Rename a user";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String usage() {
|
||||
return "<@user> <New Nickname>";
|
||||
}
|
||||
}
|
||||
|
|
@ -12,10 +12,11 @@ import net.dv8tion.jda.api.EmbedBuilder;
|
|||
|
||||
public class RebootCommand implements Command {
|
||||
|
||||
|
||||
@Override
|
||||
public void executed(String[] args, CommandEvent event) {
|
||||
if (event.getAuthor().getId().equals("477141528981012511") || event.getAuthor().getId().equals("261083609148948488")) {
|
||||
|
||||
|
||||
} else {
|
||||
EmbedBuilder builder = new EmbedBuilder();
|
||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.NO_PERMISSION, builder).build()).queue();
|
||||
|
|
|
|||
|
|
@ -9,8 +9,8 @@ import java.util.List;
|
|||
|
||||
public class CommandHandler {
|
||||
|
||||
List<Command> commandList;
|
||||
Config config;
|
||||
private List<Command> commandList;
|
||||
private Config config;
|
||||
|
||||
public CommandHandler(List<Command> commandList, Config config) {
|
||||
this.commandList = commandList;
|
||||
|
|
@ -18,7 +18,6 @@ public class CommandHandler {
|
|||
}
|
||||
|
||||
public void handle(MessageReceivedEvent event, Rethink rethink, String prefix) {
|
||||
StringBuilder regexBuilder = new StringBuilder().append("\\").append(prefix);
|
||||
String invoke = event.getMessage().getContentRaw().replaceFirst(prefix, "").split(" ")[0];
|
||||
for (Command cmd : commandList) {
|
||||
for (String label : cmd.labels()) {
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ public class Config {
|
|||
public void create() {
|
||||
try {
|
||||
if (Files.notExists(file)) {
|
||||
file = Files.createFile(file);
|
||||
Files.createFile(file);
|
||||
}
|
||||
Files.write(file, defaultConfigContent().getBytes());
|
||||
} catch (IOException e) {
|
||||
|
|
@ -113,4 +113,12 @@ public class Config {
|
|||
public String getDiscordBoatsToken() {
|
||||
return config.getJSONObject("Tokens").getString("DiscordBoats");
|
||||
}
|
||||
|
||||
public String getYetAnotherBotListToken() {
|
||||
return config.getJSONObject("Tokens").getString("YetAnotherBotList");
|
||||
}
|
||||
|
||||
public String getDiscordExtremeListToken() {
|
||||
return config.getJSONObject("Tokens").getString("DiscordExtremeList");
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ public class CommandListener extends ListenerAdapter {
|
|||
public void onMessageReceived(MessageReceivedEvent event) {
|
||||
if (event.isFromType(ChannelType.TEXT)) {
|
||||
if (!event.getAuthor().isBot()) {
|
||||
String[] prefixes = {rethink.getUserPrefix(event.getAuthor().getId()), rethink.getServerPrefix(event.getGuild().getId()), event.getGuild().getSelfMember().getAsMention()+" ", event.getGuild().getSelfMember().getAsMention()};
|
||||
String[] prefixes = {rethink.getUserPrefix(event.getAuthor().getId()), rethink.getGuildPrefix(event.getGuild().getId()), event.getGuild().getSelfMember().getAsMention()+" ", event.getGuild().getSelfMember().getAsMention()};
|
||||
for (String prefix : prefixes) {
|
||||
if (event.getMessage().getContentRaw().startsWith(prefix)) {
|
||||
handler.handle(event, rethink, prefix);
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ public class GuildListener extends ListenerAdapter {
|
|||
}
|
||||
}
|
||||
|
||||
rethink.insertServer(event.getGuild().getId());
|
||||
rethink.insertGuild(event.getGuild().getId());
|
||||
EmbedBuilder builder = new EmbedBuilder();
|
||||
event.getJDA().getTextChannelById("475722540140986369").sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.INFO, builder)
|
||||
.setTitle("Joined Server")
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ public class MentionListener extends ListenerAdapter {
|
|||
.addField("Users", String.valueOf(event.getJDA().getUsers().size()), false)
|
||||
.addField("Guilds", String.valueOf(event.getJDA().getGuilds().size()), false)
|
||||
.addField("Prefix (User)", rethink.getUserPrefix(event.getAuthor().getId()), false)
|
||||
.addField("Prefix (Guild)", rethink.getServerPrefix(event.getGuild().getId()), false);
|
||||
.addField("Prefix (Guild)", rethink.getGuildPrefix(event.getGuild().getId()), false);
|
||||
event.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.INFO, builder).build()).queue();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ public class ReadyListener extends ListenerAdapter {
|
|||
}
|
||||
}
|
||||
for (Guild g : event.getJDA().getGuilds()) {
|
||||
rethink.insertServer(g.getId());
|
||||
rethink.insertGuild(g.getId());
|
||||
}
|
||||
|
||||
new BotList(config).post();
|
||||
|
|
|
|||
|
|
@ -23,6 +23,8 @@ public class BotList {
|
|||
private static String DiscordBotList = "https://discordbotlist.com/api/bots/637002314162372639/stats";
|
||||
private static String DiscordBestBots = "https://discordsbestbots.xyz/api/bots/637002314162372639/stats";
|
||||
private static String DiscordBoats = "https://discord.boats/api/bot/637002314162372639";
|
||||
private static String YetAnotherBotList = "https://yabl.xyz/api/bot/637002314162372639/stats";
|
||||
private static String DiscordExtremeList = "https://discordextremelist.xyz/api/bot/637002314162372639";
|
||||
|
||||
private Config config;
|
||||
|
||||
|
|
@ -34,6 +36,7 @@ public class BotList {
|
|||
if (Files.notExists(Paths.get("./DEBUG"))) {
|
||||
JSONObject json = new JSONObject();
|
||||
json.put("server_count", Hadder.shardManager.getGuilds().size());
|
||||
json.put("guildCount", Hadder.shardManager.getGuilds().size());
|
||||
json.put("guilds", Hadder.shardManager.getGuilds().size());
|
||||
json.put("users", Hadder.shardManager.getUsers().size());
|
||||
|
||||
|
|
@ -113,6 +116,35 @@ public class BotList {
|
|||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
// Yet Another Bot List
|
||||
|
||||
Request yetanotherbotlist = new Request.Builder()
|
||||
.url(YetAnotherBotList)
|
||||
.post(body)
|
||||
.addHeader("Authorization", config.getYetAnotherBotListToken())
|
||||
.build();
|
||||
|
||||
try {
|
||||
new OkHttpClient().newCall(yetanotherbotlist).execute().close();
|
||||
System.out.println("Successfully posted count to Yet Another Bot List!");
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
// Discord Extreme List
|
||||
|
||||
Request discordextremelist = new Request.Builder()
|
||||
.url(DiscordExtremeList)
|
||||
.post(body)
|
||||
.addHeader("Authorizaion", config.getDiscordExtremeListToken())
|
||||
.build();
|
||||
|
||||
try {
|
||||
new OkHttpClient().newCall(discordextremelist).execute().close();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue