AddRoleCommand #73
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
|
# 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>
|
<groupId>Hadder</groupId>
|
||||||
<artifactId>Hadder</artifactId>
|
<artifactId>Hadder</artifactId>
|
||||||
<version>0.7-ALPHA</version>
|
<version>0.7.1-ALPHA</version>
|
||||||
|
|
||||||
<name>Hadder</name>
|
<name>Hadder</name>
|
||||||
|
|
||||||
|
|
@ -25,7 +25,7 @@
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>net.dv8tion</groupId>
|
<groupId>net.dv8tion</groupId>
|
||||||
<artifactId>JDA</artifactId>
|
<artifactId>JDA</artifactId>
|
||||||
<version>4.0.0_56</version>
|
<version>4.0.0_61</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.json</groupId>
|
<groupId>org.json</groupId>
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@ public class Hadder {
|
||||||
startBot();
|
startBot();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void startBot() {
|
private static void startBot() {
|
||||||
Config config = new Config("./config.json");
|
Config config = new Config("./config.json");
|
||||||
if (!config.fileExists()) config.create();
|
if (!config.fileExists()) config.create();
|
||||||
config.load();
|
config.load();
|
||||||
|
|
@ -47,12 +47,14 @@ public class Hadder {
|
||||||
new ShutdownCommand(),
|
new ShutdownCommand(),
|
||||||
new KickCommand(),
|
new KickCommand(),
|
||||||
new PingCommand(),
|
new PingCommand(),
|
||||||
new GifCommand(config),
|
new GifCommand(),
|
||||||
new ClearCommand(),
|
new ClearCommand(),
|
||||||
new GitHubCommand(),
|
new GitHubCommand(),
|
||||||
new ScreenshareCommand(),
|
new ScreenshareCommand(),
|
||||||
new RebootCommand(),
|
new RebootCommand(),
|
||||||
new EqualsCommand(),
|
new EqualsCommand(),
|
||||||
|
new InviteCommand(),
|
||||||
|
new NickCommand(),
|
||||||
new GuildPrefixCommand()), config);
|
new GuildPrefixCommand()), config);
|
||||||
|
|
||||||
builder.addEventListeners(
|
builder.addEventListeners(
|
||||||
|
|
|
||||||
|
|
@ -18,11 +18,11 @@ public class Rethink {
|
||||||
private Connection conn;
|
private Connection conn;
|
||||||
private Config config;
|
private Config config;
|
||||||
|
|
||||||
public Rethink(Config config) {
|
Rethink(Config config) {
|
||||||
this.config = config;
|
this.config = config;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean connect() {
|
public void connect() {
|
||||||
try {
|
try {
|
||||||
conn = r.connection()
|
conn = r.connection()
|
||||||
.hostname(config.getDatabaseIP())
|
.hostname(config.getDatabaseIP())
|
||||||
|
|
@ -35,7 +35,6 @@ public class Rethink {
|
||||||
System.out.println(e.toString());
|
System.out.println(e.toString());
|
||||||
System.out.println("DB CONNECTION FAILED");
|
System.out.println("DB CONNECTION FAILED");
|
||||||
}
|
}
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void disconnect() {
|
public void disconnect() {
|
||||||
|
|
@ -46,8 +45,7 @@ public class Rethink {
|
||||||
private JSONArray getAsArray(String table, String where, String value) {
|
private JSONArray getAsArray(String table, String where, String value) {
|
||||||
try {
|
try {
|
||||||
String string = r.table(table).filter(row -> row.g(where.toLowerCase()).eq(value)).coerceTo("array").toJson().run(conn);
|
String string = r.table(table).filter(row -> row.g(where.toLowerCase()).eq(value)).coerceTo("array").toJson().run(conn);
|
||||||
JSONArray jsonArray = new JSONArray(string);
|
return new JSONArray(string);
|
||||||
return jsonArray;
|
|
||||||
} catch (NoSuchElementException e) {
|
} catch (NoSuchElementException e) {
|
||||||
return null;
|
return null;
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
|
@ -105,15 +103,15 @@ public class Rethink {
|
||||||
return this.get("user", "id", id, "prefix");
|
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);
|
return this.update("server", guildid, "prefix", prefix);
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getServerPrefix(String id) {
|
public String getGuildPrefix(String id) {
|
||||||
return this.get("server", "id", id, "prefix");
|
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."));
|
return this.insert("server", r.hashMap("id", id).with("prefix", "h."));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -19,12 +19,6 @@ import java.util.Random;
|
||||||
|
|
||||||
public class GifCommand implements Command {
|
public class GifCommand implements Command {
|
||||||
|
|
||||||
private Config config;
|
|
||||||
|
|
||||||
public GifCommand(Config config) {
|
|
||||||
this.config = config;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void executed(String[] args, CommandEvent event) {
|
public void executed(String[] args, CommandEvent event) {
|
||||||
if (args.length > 0) {
|
if (args.length > 0) {
|
||||||
|
|
@ -35,7 +29,7 @@ public class GifCommand implements Command {
|
||||||
}
|
}
|
||||||
|
|
||||||
OkHttpClient caller = new OkHttpClient();
|
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 {
|
try {
|
||||||
Random rand = new Random();
|
Random rand = new Random();
|
||||||
Response response = caller.newCall(request).execute();
|
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.commands.CommandEvent;
|
||||||
import com.bbn.hadder.utils.MessageEditor;
|
import com.bbn.hadder.utils.MessageEditor;
|
||||||
import net.dv8tion.jda.api.EmbedBuilder;
|
import net.dv8tion.jda.api.EmbedBuilder;
|
||||||
|
import net.dv8tion.jda.api.Permission;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
|
@ -13,47 +14,51 @@ public class HelpCommand implements Command {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void executed(String[] args, CommandEvent event) {
|
public void executed(String[] args, CommandEvent event) {
|
||||||
if (args.length == 0) {
|
if (event.getGuild().getSelfMember().hasPermission(Permission.MESSAGE_EMBED_LINKS)) {
|
||||||
HashMap<String, ArrayList<Command>> hashMap = new HashMap<>();
|
if (args.length == 0) {
|
||||||
for (Command cmd : event.getCommandHandler().getCommandList()) {
|
HashMap<String, ArrayList<Command>> hashMap = new HashMap<>();
|
||||||
if (!hashMap.containsKey(cmd.getClass().getPackageName())) {
|
for (Command cmd : event.getCommandHandler().getCommandList()) {
|
||||||
ArrayList<Command> cmdlist = new ArrayList<>();
|
if (!hashMap.containsKey(cmd.getClass().getPackageName())) {
|
||||||
cmdlist.add(cmd);
|
ArrayList<Command> cmdlist = new ArrayList<>();
|
||||||
hashMap.put(cmd.getClass().getPackageName(), cmdlist);
|
cmdlist.add(cmd);
|
||||||
} else {
|
hashMap.put(cmd.getClass().getPackageName(), cmdlist);
|
||||||
hashMap.get(cmd.getClass().getPackageName()).add(cmd);
|
} 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(", ");
|
|
||||||
}
|
}
|
||||||
String[] packagesplit = entry.getKey().split("\\.");
|
|
||||||
eb.addField(packagesplit[packagesplit.length - 1], sb.toString(), false);
|
|
||||||
}
|
}
|
||||||
}
|
EmbedBuilder eb = new EmbedBuilder();
|
||||||
new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.INFO, eb);
|
for (Map.Entry<String, ArrayList<Command>> entry : hashMap.entrySet()) {
|
||||||
event.getChannel().sendMessage(eb.build()).queue();
|
if (!entry.getKey().endsWith("owner") || (entry.getKey().endsWith("owner") && (event.getAuthor().getId().equals("477141528981012511") || event.getAuthor().getId().equals("261083609148948488")))) {
|
||||||
} else {
|
StringBuilder sb = new StringBuilder();
|
||||||
for (Command cmd : event.getCommandHandler().getCommandList()) {
|
for (int i = 0; i < entry.getValue().size(); i++) {
|
||||||
for (String label : cmd.labels()) {
|
Command cmd = entry.getValue().get(i);
|
||||||
if (label.toLowerCase().equals(args[0])) {
|
sb.append("`").append(cmd.labels()[0]).append("`");
|
||||||
if (!cmd.getClass().getPackageName().endsWith("owner") || (cmd.getClass().getPackageName().endsWith("owner") && (event.getAuthor().getId().equals("477141528981012511") || event.getAuthor().getId().equals("261083609148948488")))) {
|
if (i < entry.getValue().size() - 1) sb.append(", ");
|
||||||
EmbedBuilder eb = new EmbedBuilder();
|
}
|
||||||
String name = cmd.labels()[0];
|
String[] packagesplit = entry.getKey().split("\\.");
|
||||||
eb.setDescription(cmd.description()).setTitle(name.replaceFirst(String.valueOf(name.charAt(0)), String.valueOf(name.charAt(0)).toUpperCase()));
|
eb.addField(packagesplit[packagesplit.length - 1], sb.toString(), false);
|
||||||
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();
|
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
|
@Override
|
||||||
public void executed(String[] args, CommandEvent event) {
|
public void executed(String[] args, CommandEvent event) {
|
||||||
if (args.length > 0) {
|
if (args.length > 0) {
|
||||||
Request request = new Request.Builder().url("https://api.github.com/users/" + args[0]).build();
|
if (args[0].equals("link")) {
|
||||||
try {
|
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();
|
||||||
Response response = new OkHttpClient().newCall(request).execute();
|
} else {
|
||||||
JSONObject json = new JSONObject(response.body().string());
|
Request request = new Request.Builder().url("https://api.github.com/users/" + args[0]).build();
|
||||||
|
|
||||||
String nickname = json.getString("name");
|
|
||||||
String bio = "None";
|
|
||||||
String location = "Unknown";
|
|
||||||
String website = "None";
|
|
||||||
try {
|
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) {
|
} 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 {
|
} else {
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
event.getTextChannel().sendMessage("SOON").queue();
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.WARNING, builder).setDescription("You have to specify a user!").build()).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);
|
List<VoiceChannel> vcs = event.getGuild().getVoiceChannelsByName(String.join(" ", args), true);
|
||||||
if (vcs.size() > 1) {
|
if (vcs.size() > 1) {
|
||||||
EmbedBuilder eb = new EmbedBuilder()
|
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");
|
.setDescription("There is more than one channel with this name");
|
||||||
for (int i = 0; i < vcs.size(); i++) {
|
for (int i = 0; i < vcs.size(); i++) {
|
||||||
VoiceChannel voiceChannel = vcs.get(i);
|
VoiceChannel voiceChannel = vcs.get(i);
|
||||||
|
|
@ -54,14 +54,14 @@ public class ScreenshareCommand implements Command {
|
||||||
}
|
}
|
||||||
} catch (NumberFormatException e) {
|
} catch (NumberFormatException e) {
|
||||||
event.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.ERROR, new EmbedBuilder()
|
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();
|
.setDescription("This isn't a Number.")).build()).queue();
|
||||||
}
|
}
|
||||||
}, event.getJDA(), event.getAuthor());
|
}, event.getJDA(), event.getAuthor());
|
||||||
} else if (vcs.size()==0) {
|
} else if (vcs.size()==0) {
|
||||||
event.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.ERROR, new EmbedBuilder()
|
event.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.ERROR, new EmbedBuilder()
|
||||||
.setTitle("Hol' up")
|
.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 {
|
} else {
|
||||||
event.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.INFO, new EmbedBuilder()
|
event.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.INFO, new EmbedBuilder()
|
||||||
.setTitle("Here's your Url to share your Screen")
|
.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) {
|
} else if (event.getMessage().getMentionedMembers().size() == 0) {
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
EmbedBuilder builder = new EmbedBuilder();
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.WARNING, builder).setDescription("You have to mention a user!").build()).queue();
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.WARNING, builder).setDescription("You have to mention at least one user!").build()).queue();
|
||||||
} else {
|
} 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();
|
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 {
|
} else {
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
EmbedBuilder builder = new EmbedBuilder();
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@ public class GuildPrefixCommand implements Command {
|
||||||
if (args.length == 1) {
|
if (args.length == 1) {
|
||||||
if (!args[0].contains("\"")) {
|
if (!args[0].contains("\"")) {
|
||||||
|
|
||||||
event.getRethink().setServerPrefix(args[0], event.getGuild().getId());
|
event.getRethink().setGuildPrefix(args[0], event.getGuild().getId());
|
||||||
|
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
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.Permission;
|
||||||
import net.dv8tion.jda.api.entities.Member;
|
import net.dv8tion.jda.api.entities.Member;
|
||||||
|
|
||||||
|
|
||||||
public class KickCommand implements Command {
|
public class KickCommand implements Command {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
@ -30,18 +31,37 @@ public class KickCommand implements Command {
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
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 {
|
} else {
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
EmbedBuilder builder = new EmbedBuilder();
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.WARNING, builder).setDescription("You can't kick yourself.").build()).queue();
|
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) {
|
} else if (event.getMessage().getMentionedMembers().size() == 0) {
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
EmbedBuilder builder = new EmbedBuilder();
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.WARNING, builder).setDescription("You have to mention a user!").build()).queue();
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.WARNING, builder).setDescription("You have to mention at least one user!").build()).queue();
|
||||||
} else {
|
} else if (event.getMessage().getMentionedMembers().size() > 1) {
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
for (int i = 0; i < event.getMessage().getMentionedMembers().size(); i++) {
|
||||||
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();
|
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,6 +12,7 @@ import net.dv8tion.jda.api.EmbedBuilder;
|
||||||
|
|
||||||
public class RebootCommand implements Command {
|
public class RebootCommand implements Command {
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void executed(String[] args, CommandEvent event) {
|
public void executed(String[] args, CommandEvent event) {
|
||||||
if (event.getAuthor().getId().equals("477141528981012511") || event.getAuthor().getId().equals("261083609148948488")) {
|
if (event.getAuthor().getId().equals("477141528981012511") || event.getAuthor().getId().equals("261083609148948488")) {
|
||||||
|
|
|
||||||
|
|
@ -9,8 +9,8 @@ import java.util.List;
|
||||||
|
|
||||||
public class CommandHandler {
|
public class CommandHandler {
|
||||||
|
|
||||||
List<Command> commandList;
|
private List<Command> commandList;
|
||||||
Config config;
|
private Config config;
|
||||||
|
|
||||||
public CommandHandler(List<Command> commandList, Config config) {
|
public CommandHandler(List<Command> commandList, Config config) {
|
||||||
this.commandList = commandList;
|
this.commandList = commandList;
|
||||||
|
|
@ -18,7 +18,6 @@ public class CommandHandler {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void handle(MessageReceivedEvent event, Rethink rethink, String prefix) {
|
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];
|
String invoke = event.getMessage().getContentRaw().replaceFirst(prefix, "").split(" ")[0];
|
||||||
for (Command cmd : commandList) {
|
for (Command cmd : commandList) {
|
||||||
for (String label : cmd.labels()) {
|
for (String label : cmd.labels()) {
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,7 @@ public class Config {
|
||||||
public void create() {
|
public void create() {
|
||||||
try {
|
try {
|
||||||
if (Files.notExists(file)) {
|
if (Files.notExists(file)) {
|
||||||
file = Files.createFile(file);
|
Files.createFile(file);
|
||||||
}
|
}
|
||||||
Files.write(file, defaultConfigContent().getBytes());
|
Files.write(file, defaultConfigContent().getBytes());
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
|
|
@ -113,4 +113,12 @@ public class Config {
|
||||||
public String getDiscordBoatsToken() {
|
public String getDiscordBoatsToken() {
|
||||||
return config.getJSONObject("Tokens").getString("DiscordBoats");
|
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) {
|
public void onMessageReceived(MessageReceivedEvent event) {
|
||||||
if (event.isFromType(ChannelType.TEXT)) {
|
if (event.isFromType(ChannelType.TEXT)) {
|
||||||
if (!event.getAuthor().isBot()) {
|
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) {
|
for (String prefix : prefixes) {
|
||||||
if (event.getMessage().getContentRaw().startsWith(prefix)) {
|
if (event.getMessage().getContentRaw().startsWith(prefix)) {
|
||||||
handler.handle(event, rethink, 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();
|
EmbedBuilder builder = new EmbedBuilder();
|
||||||
event.getJDA().getTextChannelById("475722540140986369").sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.INFO, builder)
|
event.getJDA().getTextChannelById("475722540140986369").sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.Messagetype.INFO, builder)
|
||||||
.setTitle("Joined Server")
|
.setTitle("Joined Server")
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@ public class MentionListener extends ListenerAdapter {
|
||||||
.addField("Users", String.valueOf(event.getJDA().getUsers().size()), false)
|
.addField("Users", String.valueOf(event.getJDA().getUsers().size()), false)
|
||||||
.addField("Guilds", String.valueOf(event.getJDA().getGuilds().size()), false)
|
.addField("Guilds", String.valueOf(event.getJDA().getGuilds().size()), false)
|
||||||
.addField("Prefix (User)", rethink.getUserPrefix(event.getAuthor().getId()), 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();
|
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()) {
|
for (Guild g : event.getJDA().getGuilds()) {
|
||||||
rethink.insertServer(g.getId());
|
rethink.insertGuild(g.getId());
|
||||||
}
|
}
|
||||||
|
|
||||||
new BotList(config).post();
|
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 DiscordBotList = "https://discordbotlist.com/api/bots/637002314162372639/stats";
|
||||||
private static String DiscordBestBots = "https://discordsbestbots.xyz/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 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;
|
private Config config;
|
||||||
|
|
||||||
|
|
@ -34,6 +36,7 @@ public class BotList {
|
||||||
if (Files.notExists(Paths.get("./DEBUG"))) {
|
if (Files.notExists(Paths.get("./DEBUG"))) {
|
||||||
JSONObject json = new JSONObject();
|
JSONObject json = new JSONObject();
|
||||||
json.put("server_count", Hadder.shardManager.getGuilds().size());
|
json.put("server_count", Hadder.shardManager.getGuilds().size());
|
||||||
|
json.put("guildCount", Hadder.shardManager.getGuilds().size());
|
||||||
json.put("guilds", Hadder.shardManager.getGuilds().size());
|
json.put("guilds", Hadder.shardManager.getGuilds().size());
|
||||||
json.put("users", Hadder.shardManager.getUsers().size());
|
json.put("users", Hadder.shardManager.getUsers().size());
|
||||||
|
|
||||||
|
|
@ -113,6 +116,35 @@ public class BotList {
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
e.printStackTrace();
|
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