commit
8fa008baaa
55 changed files with 1185 additions and 451 deletions
28
.gitattributes
vendored
Normal file
28
.gitattributes
vendored
Normal file
|
|
@ -0,0 +1,28 @@
|
||||||
|
# Java sources
|
||||||
|
*.java text diff=java
|
||||||
|
*.gradle text diff=java
|
||||||
|
*.gradle.kts text diff=java
|
||||||
|
|
||||||
|
# These files are text and should be normalized (Convert crlf => lf)
|
||||||
|
*.css text diff=css
|
||||||
|
*.df text
|
||||||
|
*.htm text diff=html
|
||||||
|
*.html text diff=html
|
||||||
|
*.js text
|
||||||
|
*.jsp text
|
||||||
|
*.jspf text
|
||||||
|
*.jspx text
|
||||||
|
*.properties text
|
||||||
|
*.tld text
|
||||||
|
*.tag text
|
||||||
|
*.tagx text
|
||||||
|
*.xml text
|
||||||
|
|
||||||
|
# These files are binary and should be left untouched
|
||||||
|
# (binary is a macro for -text -diff)
|
||||||
|
*.class binary
|
||||||
|
*.dll binary
|
||||||
|
*.ear binary
|
||||||
|
*.jar binary
|
||||||
|
*.so binary
|
||||||
|
*.war binary
|
||||||
34
.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
34
.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
|
|
@ -0,0 +1,34 @@
|
||||||
|
---
|
||||||
|
name: Bug report
|
||||||
|
about: Create a report to help us improve
|
||||||
|
title: Bug report
|
||||||
|
labels: bug
|
||||||
|
assignees: ''
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Describe the bug**
|
||||||
|
A clear and concise description of what the bug is.
|
||||||
|
|
||||||
|
**To Reproduce**
|
||||||
|
Steps to reproduce the behavior:
|
||||||
|
1. Go to '...'
|
||||||
|
2. Click on '....'
|
||||||
|
3. Scroll down to '....'
|
||||||
|
4. See error
|
||||||
|
|
||||||
|
**Expected behavior**
|
||||||
|
A clear and concise description of what you expected to happen.
|
||||||
|
|
||||||
|
**Screenshots**
|
||||||
|
If applicable, add screenshots to help explain your problem.
|
||||||
|
|
||||||
|
**Desktop (please complete the following information):**
|
||||||
|
- Discord version: [e.g. Discord PTB]
|
||||||
|
|
||||||
|
**Smartphone (please complete the following information):**
|
||||||
|
- Device: [e.g. iPhone6]
|
||||||
|
- OS: [e.g. iOS8.1]
|
||||||
|
|
||||||
|
**Additional context**
|
||||||
|
Add any other context about the problem here.
|
||||||
6
.github/workflows/maven.yml
vendored
6
.github/workflows/maven.yml
vendored
|
|
@ -3,7 +3,7 @@ name: Hadder
|
||||||
on: [push]
|
on: [push]
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
test:
|
build:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v1
|
- uses: actions/checkout@v1
|
||||||
|
|
@ -16,7 +16,7 @@ jobs:
|
||||||
|
|
||||||
deploy:
|
deploy:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: test
|
needs: build
|
||||||
if: github.ref == 'refs/heads/master'
|
if: github.ref == 'refs/heads/master'
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v1
|
- uses: actions/checkout@v1
|
||||||
|
|
@ -41,7 +41,7 @@ jobs:
|
||||||
username: ${{ secrets.USERNAME }}
|
username: ${{ secrets.USERNAME }}
|
||||||
password: ${{ secrets.PASSWORD }}
|
password: ${{ secrets.PASSWORD }}
|
||||||
port: ${{ secrets.PORT }}
|
port: ${{ secrets.PORT }}
|
||||||
script: /home/Bots/deploy.sh
|
script: /home/Bots/deploy.sh
|
||||||
- name: Send Webhook Notification
|
- name: Send Webhook Notification
|
||||||
if: always()
|
if: always()
|
||||||
env:
|
env:
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,11 @@
|
||||||
# Hadder
|
# Hadder
|
||||||
|
|
||||||
The Hadder Discord bot is a multi-purpose Discord Bot.
|
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>
|
<a href="https://discord.gg/58My2dM"><img src="https://discordapp.com/api/guilds/448554629282922527/embed.png"/></a>
|
||||||
[](https://github.com/BigBotNetwork/Hadder)
|
[](https://github.com/BigBotNetwork/Hadder)
|
||||||
|
[](https://www.codacy.com/gh/BigBotNetwork/Hadder?utm_source=github.com&utm_medium=referral&utm_content=BigBotNetwork/Hadder&utm_campaign=Badge_Grade)
|
||||||
|
|
||||||
<a href="https://discordextremelist.xyz/bots/Hadder"><img src="https://discordextremelist.xyz/api/bot/637002314162372639/widget"/></a>
|
<a href="https://discordextremelist.xyz/bots/Hadder"><img src="https://discordextremelist.xyz/api/bot/637002314162372639/widget"/></a>
|
||||||
|
[](https://top.gg/bot/637002314162372639)
|
||||||
|
[](https://botlist.space/bot/637002314162372639?utm_source=bls&utm_medium=widget&utm_campaign=637002314162372639)
|
||||||
|
|
|
||||||
24
example-config.json
Normal file
24
example-config.json
Normal file
|
|
@ -0,0 +1,24 @@
|
||||||
|
{
|
||||||
|
"Owners":
|
||||||
|
[],
|
||||||
|
"Database":{"IP":"",
|
||||||
|
"Port": 6775,
|
||||||
|
"DBName": "",
|
||||||
|
"Username": "",
|
||||||
|
"Password": ""},
|
||||||
|
"Tokens": {
|
||||||
|
"BotToken": "",
|
||||||
|
"Giphy": "",
|
||||||
|
"GitHub": "",
|
||||||
|
"MythicalBotList": "",
|
||||||
|
"BotsForDiscord": "",
|
||||||
|
"DiscordBotList": "",
|
||||||
|
"DiscordBestBots": "",
|
||||||
|
"DiscordBoats": "",
|
||||||
|
"YetAnotherBotList": "",
|
||||||
|
"DiscordExtremeList": "",
|
||||||
|
"DiscordBotReviews": "",
|
||||||
|
"DiscordBots": "",
|
||||||
|
"BotListSpace": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
19
pom.xml
19
pom.xml
|
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
<groupId>Hadder</groupId>
|
<groupId>Hadder</groupId>
|
||||||
<artifactId>Hadder</artifactId>
|
<artifactId>Hadder</artifactId>
|
||||||
<version>0.7.1-ALPHA</version>
|
<version>0.8-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_62</version>
|
<version>4.0.0_69</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.json</groupId>
|
<groupId>org.json</groupId>
|
||||||
|
|
@ -60,7 +60,12 @@
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.kohsuke</groupId>
|
<groupId>org.kohsuke</groupId>
|
||||||
<artifactId>github-api</artifactId>
|
<artifactId>github-api</artifactId>
|
||||||
<version>1.99</version>
|
<version>1.101</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.sedmelluq</groupId>
|
||||||
|
<artifactId>lavaplayer</artifactId>
|
||||||
|
<version>1.3.32</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
@ -131,14 +136,6 @@
|
||||||
<target>13</target>
|
<target>13</target>
|
||||||
</configuration>
|
</configuration>
|
||||||
</plugin>
|
</plugin>
|
||||||
<plugin>
|
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
|
||||||
<artifactId>maven-compiler-plugin</artifactId>
|
|
||||||
<configuration>
|
|
||||||
<source>12</source>
|
|
||||||
<target>12</target>
|
|
||||||
</configuration>
|
|
||||||
</plugin>
|
|
||||||
<plugin>
|
<plugin>
|
||||||
<artifactId>maven-assembly-plugin</artifactId>
|
<artifactId>maven-assembly-plugin</artifactId>
|
||||||
<configuration>
|
<configuration>
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ import com.bbn.hadder.commands.nsfw.*;
|
||||||
import com.bbn.hadder.commands.owner.*;
|
import com.bbn.hadder.commands.owner.*;
|
||||||
import com.bbn.hadder.commands.fun.*;
|
import com.bbn.hadder.commands.fun.*;
|
||||||
import com.bbn.hadder.commands.settings.*;
|
import com.bbn.hadder.commands.settings.*;
|
||||||
|
import com.bbn.hadder.commands.music.*;
|
||||||
import com.bbn.hadder.core.*;
|
import com.bbn.hadder.core.*;
|
||||||
import com.bbn.hadder.listener.*;
|
import com.bbn.hadder.listener.*;
|
||||||
import net.dv8tion.jda.api.entities.Activity;
|
import net.dv8tion.jda.api.entities.Activity;
|
||||||
|
|
@ -18,7 +19,7 @@ import java.util.List;
|
||||||
|
|
||||||
public class Hadder {
|
public class Hadder {
|
||||||
|
|
||||||
public static ShardManager shardManager;
|
public static ShardManager shardManager;
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
startBot();
|
startBot();
|
||||||
|
|
@ -34,6 +35,7 @@ public class Hadder {
|
||||||
|
|
||||||
DefaultShardManagerBuilder builder = new DefaultShardManagerBuilder();
|
DefaultShardManagerBuilder builder = new DefaultShardManagerBuilder();
|
||||||
|
|
||||||
|
builder.setAutoReconnect(true);
|
||||||
builder.setShardsTotal(1);
|
builder.setShardsTotal(1);
|
||||||
builder.setActivity(Activity.streaming("on the BigBotNetwork", "https://twitch.tv/BigBotNetwork"));
|
builder.setActivity(Activity.streaming("on the BigBotNetwork", "https://twitch.tv/BigBotNetwork"));
|
||||||
builder.setToken(config.getBotToken());
|
builder.setToken(config.getBotToken());
|
||||||
|
|
@ -52,7 +54,7 @@ public class Hadder {
|
||||||
new GifCommand(),
|
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 InviteCommand(),
|
||||||
|
|
@ -70,6 +72,13 @@ public class Hadder {
|
||||||
new RoleCommand(),
|
new RoleCommand(),
|
||||||
new RulesCommand(),
|
new RulesCommand(),
|
||||||
new FeedbackCommand(),
|
new FeedbackCommand(),
|
||||||
|
new AvatarCommand(),
|
||||||
|
new EvalCommand(),
|
||||||
|
new JoinCommand(),
|
||||||
|
new LeaveCommand(),
|
||||||
|
new GuildLeaveCommand(),
|
||||||
|
new MemeCommand(),
|
||||||
|
new InviteDetectCommand(),
|
||||||
new LinkCommand()), config, helpCommand);
|
new LinkCommand()), config, helpCommand);
|
||||||
|
|
||||||
builder.addEventListeners(
|
builder.addEventListeners(
|
||||||
|
|
@ -78,9 +87,9 @@ public class Hadder {
|
||||||
new CommandListener(rethink, commandHandler),
|
new CommandListener(rethink, commandHandler),
|
||||||
new GuildListener(rethink, config),
|
new GuildListener(rethink, config),
|
||||||
new ReadyListener(rethink, config),
|
new ReadyListener(rethink, config),
|
||||||
new LinkListener(rethink),
|
//new LinkListener(rethink),
|
||||||
|
new InviteLinkListener(rethink),
|
||||||
new RulesListener(rethink));
|
new RulesListener(rethink));
|
||||||
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
shardManager = builder.build();
|
shardManager = builder.build();
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,7 @@ public class Rethink {
|
||||||
.connect();
|
.connect();
|
||||||
System.out.println("DB CONNECTED");
|
System.out.println("DB CONNECTED");
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
System.out.println(e.toString());
|
e.printStackTrace();
|
||||||
System.out.println("DB CONNECTION FAILED");
|
System.out.println("DB CONNECTION FAILED");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -59,7 +59,7 @@ public class Rethink {
|
||||||
}
|
}
|
||||||
|
|
||||||
private String update(String table, String wherevalue, String what, String whatvalue) {
|
private String update(String table, String wherevalue, String what, String whatvalue) {
|
||||||
String out="";
|
String out = "";
|
||||||
try {
|
try {
|
||||||
Cursor cursor = r.table(table).get(wherevalue).update(r.hashMap(what, whatvalue)).run(conn);
|
Cursor cursor = r.table(table).get(wherevalue).update(r.hashMap(what, whatvalue)).run(conn);
|
||||||
out=cursor.toString();
|
out=cursor.toString();
|
||||||
|
|
@ -95,16 +95,16 @@ public class Rethink {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public String setUserPrefix(String prefix, String userid) {
|
public void setUserPrefix(String prefix, String userid) {
|
||||||
return this.update("user", userid, "prefix", prefix);
|
this.update("user", userid, "prefix", prefix);
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getUserPrefix(String id) {
|
public String getUserPrefix(String id) {
|
||||||
return (String) this.get("user", "id", id, "prefix");
|
return (String) this.get("user", "id", id, "prefix");
|
||||||
}
|
}
|
||||||
|
|
||||||
public String setGuildPrefix(String prefix, String guildid) {
|
public void setGuildPrefix(String prefix, String guildid) {
|
||||||
return this.update("server", guildid, "prefix", prefix);
|
this.update("server", guildid, "prefix", prefix);
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getGuildPrefix(String id) {
|
public String getGuildPrefix(String id) {
|
||||||
|
|
@ -115,12 +115,12 @@ public class Rethink {
|
||||||
return new JSONArray((String) this.get("server", "id", id, "links"));
|
return new JSONArray((String) this.get("server", "id", id, "links"));
|
||||||
}
|
}
|
||||||
|
|
||||||
public String addLinkedGuild(String guildid, String linkid) {
|
public void addLinkedGuild(String guildid, String linkid) {
|
||||||
JSONArray links = getLinks(guildid);
|
JSONArray links = getLinks(guildid);
|
||||||
for (int i = 0; links.length()>i; i++) {
|
for (int i = 0; links.length()>i; i++) {
|
||||||
if (links.getString(i).equals(linkid)) return null;
|
if (links.getString(i).equals(linkid)) return;
|
||||||
}
|
}
|
||||||
return this.update("server", guildid, "links", this.getLinks(guildid).put(linkid).toString());
|
this.update("server", guildid, "links", this.getLinks(guildid).put(linkid).toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
public String removeLinkedGuild(String guildid, String linkid) {
|
public String removeLinkedGuild(String guildid, String linkid) {
|
||||||
|
|
@ -134,26 +134,27 @@ public class Rethink {
|
||||||
return this.update("server", guildid, "links", linkedguildslist.toString());
|
return this.update("server", guildid, "links", linkedguildslist.toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
public String setLinkChannel(String guildid, String channelid) {
|
public void setLinkChannel(String guildid, String channelid) {
|
||||||
return this.update("server", guildid, "linkchannel", channelid);
|
this.update("server", guildid, "linkchannel", channelid);
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getLinkChannel(String guildid) {
|
public String getLinkChannel(String guildid) {
|
||||||
return (String) this.get("server", "id", guildid, "linkchannel");
|
return (String) this.get("server", "id", guildid, "linkchannel");
|
||||||
}
|
}
|
||||||
|
|
||||||
public String insertGuild(String id) {
|
public void insertGuild(String id) {
|
||||||
return this.insert("server", r.hashMap("id", id).with("prefix", "h.").with("links", "[]").with("linkchannel", "").with("message_id", "").with("role_id", ""));
|
this.insert("server", r.hashMap("id", id).with("prefix", "h.").with("links", "[]").with("linkchannel", "").with("message_id", "").with("role_id", "").with("invite_detect", false));
|
||||||
}
|
}
|
||||||
|
|
||||||
public String insertUser(String id) {
|
public void insertUser(String id) {
|
||||||
return this.insert("user", r.hashMap("id", id).with("prefix", "h."));
|
this.insert("user", r.hashMap("id", id).with("prefix", "h."));
|
||||||
}
|
}
|
||||||
|
|
||||||
public String updateRules(String guild_id, String message_id, String role_id) {
|
public void updateRules(String guild_id, String message_id, String role_id, String accept_emote, String decline_emote) {
|
||||||
this.update("server", guild_id, "message_id", message_id);
|
this.update("server", guild_id, "message_id", message_id);
|
||||||
this.update("server", guild_id, "role_id", role_id);
|
this.update("server", guild_id, "role_id", role_id);
|
||||||
return null;
|
this.update("server", guild_id, "accept_emote", accept_emote);
|
||||||
|
this.update("server", guild_id, "decline_emote", decline_emote);
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getRulesMID(String guild_id) {
|
public String getRulesMID(String guild_id) {
|
||||||
|
|
@ -164,4 +165,24 @@ public class Rethink {
|
||||||
return (String) this.get("server", "id", guild_id, "role_id");
|
return (String) this.get("server", "id", guild_id, "role_id");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getRulesAEmote(String guild_id) {
|
||||||
|
return (String) this.get("server", "id", guild_id, "accept_emote");
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getRulesDEmote(String guild_id) {
|
||||||
|
return (String) this.get("server", "id", guild_id, "decline_emote");
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setInviteDetection(String guild_id, boolean b) {
|
||||||
|
try {
|
||||||
|
r.table("server").get(guild_id).update(r.hashMap("invite_detect", b)).run(conn);
|
||||||
|
} catch (ClassCastException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public Boolean getInviteDetection(String guild_id) {
|
||||||
|
return (Boolean) this.get("server", "id", guild_id, "invite_detect");
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
56
src/main/java/com/bbn/hadder/commands/fun/AvatarCommand.java
Normal file
56
src/main/java/com/bbn/hadder/commands/fun/AvatarCommand.java
Normal file
|
|
@ -0,0 +1,56 @@
|
||||||
|
package com.bbn.hadder.commands.fun;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @author Skidder / GregTCLTK
|
||||||
|
*/
|
||||||
|
|
||||||
|
import com.bbn.hadder.commands.Command;
|
||||||
|
import com.bbn.hadder.commands.CommandEvent;
|
||||||
|
import com.bbn.hadder.utils.MessageEditor;
|
||||||
|
import net.dv8tion.jda.api.entities.Member;
|
||||||
|
|
||||||
|
public class AvatarCommand implements Command {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void executed(String[] args, CommandEvent event) {
|
||||||
|
if (args.length == 0) {
|
||||||
|
Member member = event.getMember();
|
||||||
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
|
||||||
|
.setTitle("Avatar of " + member.getUser().getAsTag())
|
||||||
|
.setImage(member.getUser().getAvatarUrl())
|
||||||
|
.setFooter(member.getUser().getAsTag())
|
||||||
|
.build()).queue();
|
||||||
|
} else if (event.getMessage().getMentionedMembers().size() == 1) {
|
||||||
|
Member member = event.getMessage().getMentionedMembers().get(0);
|
||||||
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
|
||||||
|
.setTitle("Avatar of " + member.getUser().getAsTag())
|
||||||
|
.setImage(member.getUser().getAvatarUrl())
|
||||||
|
.setFooter(member.getUser().getAsTag())
|
||||||
|
.build()).queue();
|
||||||
|
} else if (args[0].length() == 18){
|
||||||
|
Member member = event.getGuild().getMemberById(args[0]);
|
||||||
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
|
||||||
|
.setTitle("Avatar of " + member.getUser().getAsTag())
|
||||||
|
.setImage(member.getUser().getAvatarUrl())
|
||||||
|
.setFooter(member.getUser().getAsTag())
|
||||||
|
.build()).queue();
|
||||||
|
} else {
|
||||||
|
event.getHelpCommand().sendHelp(this , event.getRethink(), event.getAuthor(), event.getTextChannel());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String[] labels() {
|
||||||
|
return new String[]{"avatar"};
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String description() {
|
||||||
|
return "Sends the avatar of the specified member.";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String usage() {
|
||||||
|
return "<@User>/<ID>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -6,9 +6,7 @@ package com.bbn.hadder.commands.fun;
|
||||||
|
|
||||||
import com.bbn.hadder.commands.Command;
|
import com.bbn.hadder.commands.Command;
|
||||||
import com.bbn.hadder.commands.CommandEvent;
|
import com.bbn.hadder.commands.CommandEvent;
|
||||||
import com.bbn.hadder.core.Config;
|
|
||||||
import com.bbn.hadder.utils.MessageEditor;
|
import com.bbn.hadder.utils.MessageEditor;
|
||||||
import net.dv8tion.jda.api.EmbedBuilder;
|
|
||||||
import okhttp3.OkHttpClient;
|
import okhttp3.OkHttpClient;
|
||||||
import okhttp3.Request;
|
import okhttp3.Request;
|
||||||
import okhttp3.Response;
|
import okhttp3.Response;
|
||||||
|
|
@ -28,19 +26,18 @@ public class GifCommand implements Command {
|
||||||
query = new StringBuilder(query.substring(0, query.length() - 1));
|
query = new StringBuilder(query.substring(0, query.length() - 1));
|
||||||
}
|
}
|
||||||
|
|
||||||
OkHttpClient caller = new OkHttpClient();
|
OkHttpClient client = new OkHttpClient();
|
||||||
Request request = new Request.Builder().url("http://api.giphy.com/v1/gifs/search?q=" + query + "&api_key=" + event.getConfig().getGiphyToken()).build();
|
Request request = new Request.Builder().url("http://api.giphy.com/v1/gifs/search?q=" + query + "&api_key=" + event.getConfig().getGiphyToken()).build();
|
||||||
try {
|
try {
|
||||||
Random rand = new Random();
|
Random rand = new Random();
|
||||||
Response response = caller.newCall(request).execute();
|
Response response = client.newCall(request).execute();
|
||||||
JSONObject json = new JSONObject(response.body().string());
|
JSONObject json = new JSONObject(response.body().string());
|
||||||
JSONArray array = json.getJSONArray("data");
|
JSONArray array = json.getJSONArray("data");
|
||||||
int gifIndex = rand.nextInt(array.length());
|
int gifIndex = rand.nextInt(array.length());
|
||||||
String url = array.getJSONObject(gifIndex).get("url").toString();
|
String url = array.getJSONObject(gifIndex).get("url").toString();
|
||||||
event.getTextChannel().sendMessage(url).queue();
|
event.getTextChannel().sendMessage(url).queue();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.ERROR).setTitle("Error").setDescription("Please try again with another term.").build()).queue();
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.ERROR, builder).setTitle("Error").setDescription("Please try again with another term.").build()).queue();
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel());
|
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel());
|
||||||
|
|
|
||||||
58
src/main/java/com/bbn/hadder/commands/fun/MemeCommand.java
Normal file
58
src/main/java/com/bbn/hadder/commands/fun/MemeCommand.java
Normal file
|
|
@ -0,0 +1,58 @@
|
||||||
|
package com.bbn.hadder.commands.fun;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @author Skidder / GregTCLTK
|
||||||
|
*/
|
||||||
|
|
||||||
|
import com.bbn.hadder.commands.Command;
|
||||||
|
import com.bbn.hadder.commands.CommandEvent;
|
||||||
|
import com.bbn.hadder.utils.MessageEditor;
|
||||||
|
import okhttp3.OkHttpClient;
|
||||||
|
import okhttp3.Request;
|
||||||
|
import okhttp3.Response;
|
||||||
|
import org.json.JSONObject;
|
||||||
|
|
||||||
|
import java.awt.*;
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
|
public class MemeCommand implements Command {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void executed(String[] args, CommandEvent event) {
|
||||||
|
|
||||||
|
OkHttpClient client = new OkHttpClient();
|
||||||
|
Request request = new Request.Builder().url("https://some-random-api.ml/meme").build();
|
||||||
|
|
||||||
|
try {
|
||||||
|
Response response = client.newCall(request).execute();
|
||||||
|
JSONObject json = new JSONObject(response.body().string());
|
||||||
|
String url = json.get("image").toString();
|
||||||
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
|
||||||
|
.setTitle("Your random meme")
|
||||||
|
.setImage(url)
|
||||||
|
.build()).queue();
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.ERROR)
|
||||||
|
.setTitle("Error!")
|
||||||
|
.setDescription("The request to the meme API could not be processed. Please try it again later.")
|
||||||
|
.setColor(Color.RED)
|
||||||
|
.build()).queue();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String[] labels() {
|
||||||
|
return new String[]{"meme"};
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String description() {
|
||||||
|
return "Sends you a random meme.";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String usage() {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,10 +1,13 @@
|
||||||
package com.bbn.hadder.commands.misc;
|
package com.bbn.hadder.commands.general;
|
||||||
|
|
||||||
import com.bbn.hadder.commands.Command;
|
import com.bbn.hadder.commands.Command;
|
||||||
import com.bbn.hadder.commands.CommandEvent;
|
import com.bbn.hadder.commands.CommandEvent;
|
||||||
import com.bbn.hadder.utils.EventWaiter;
|
import com.bbn.hadder.utils.EventWaiter;
|
||||||
import com.bbn.hadder.utils.MessageEditor;
|
import com.bbn.hadder.utils.MessageEditor;
|
||||||
import net.dv8tion.jda.api.EmbedBuilder;
|
|
||||||
|
/*
|
||||||
|
* @author Skidder / GregTCLTK
|
||||||
|
*/
|
||||||
|
|
||||||
public class EqualsCommand implements Command {
|
public class EqualsCommand implements Command {
|
||||||
|
|
||||||
|
|
@ -12,32 +15,24 @@ public class EqualsCommand implements Command {
|
||||||
public void executed(String[] args, CommandEvent event) {
|
public void executed(String[] args, CommandEvent event) {
|
||||||
event.getChannel().sendMessage(
|
event.getChannel().sendMessage(
|
||||||
new MessageEditor()
|
new MessageEditor()
|
||||||
.setDefaultSettings(
|
.setDefaultSettings(MessageEditor.MessageType.INFO)
|
||||||
MessageEditor.MessageType.INFO,
|
.setTitle("Please send me the first String")
|
||||||
new EmbedBuilder()
|
.build()).queue();
|
||||||
.setTitle("Please send me the first String")
|
|
||||||
).build()
|
|
||||||
).queue();
|
|
||||||
new EventWaiter().newOnMessageEventWaiter(msgevent -> {
|
new EventWaiter().newOnMessageEventWaiter(msgevent -> {
|
||||||
String firstString = msgevent.getMessage().getContentRaw();
|
String firstString = msgevent.getMessage().getContentRaw();
|
||||||
event.getChannel().sendMessage(
|
event.getChannel().sendMessage(
|
||||||
new MessageEditor()
|
new MessageEditor()
|
||||||
.setDefaultSettings(
|
.setDefaultSettings(
|
||||||
MessageEditor.MessageType.INFO,
|
MessageEditor.MessageType.INFO).setTitle("Please send me the second String").build()).queue();
|
||||||
new EmbedBuilder()
|
|
||||||
.setTitle("Please send me the second String")
|
|
||||||
).build()
|
|
||||||
).queue();
|
|
||||||
new EventWaiter().newOnMessageEventWaiter(msgevent2 -> {
|
new EventWaiter().newOnMessageEventWaiter(msgevent2 -> {
|
||||||
String secondString = msgevent2.getMessage().getContentRaw();
|
String secondString = msgevent2.getMessage().getContentRaw();
|
||||||
event.getChannel().sendMessage(
|
event.getChannel().sendMessage(
|
||||||
new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
|
new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
|
||||||
.setTitle((firstString.equals(secondString)) ? "Yes! The first string equals the second string!" : "Well yes, but actually No. This isn't the same.")
|
.setTitle((firstString.equals(secondString)) ? "Yes! The first string equals the second string!" : "Well yes, but actually No. This isn't the same.")
|
||||||
.addField("First String", firstString, false)
|
.addField("First String", firstString, false)
|
||||||
.addField("Second String", secondString, false)
|
.addField("Second String", secondString, false)
|
||||||
.addField("Result", String.valueOf(firstString.equals(secondString)), false)
|
.addField("Result", String.valueOf(firstString.equals(secondString)), false)
|
||||||
).build()
|
.build()).queue();
|
||||||
).queue();
|
|
||||||
}, event.getJDA(), event.getAuthor());
|
}, event.getJDA(), event.getAuthor());
|
||||||
}, event.getJDA(), event.getAuthor());
|
}, event.getJDA(), event.getAuthor());
|
||||||
}
|
}
|
||||||
|
|
@ -42,12 +42,12 @@ public class HelpCommand implements Command {
|
||||||
eb.addField(ps[ps.length - 1], sb.toString(), false);
|
eb.addField(ps[ps.length - 1], sb.toString(), false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, eb);
|
new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO);
|
||||||
event.getChannel().sendMessage(eb.build()).queue();
|
event.getChannel().sendMessage(eb.build()).queue();
|
||||||
} else {
|
} else {
|
||||||
for (Command cmd : event.getCommandHandler().getCommandList()) {
|
for (Command cmd : event.getCommandHandler().getCommandList()) {
|
||||||
for (String label : cmd.labels()) {
|
for (String label : cmd.labels()) {
|
||||||
if (label.toLowerCase().equals(args[0])) {
|
if (label.equalsIgnoreCase(args[0])) {
|
||||||
sendHelp(cmd, event.getRethink(), event.getAuthor(), event.getTextChannel());
|
sendHelp(cmd, event.getRethink(), event.getAuthor(), event.getTextChannel());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -65,7 +65,7 @@ public class HelpCommand implements Command {
|
||||||
String name = cmd.labels()[0];
|
String name = cmd.labels()[0];
|
||||||
eb.setDescription(cmd.description()).setTitle(name.replaceFirst(String.valueOf(name.charAt(0)), String.valueOf(name.charAt(0)).toUpperCase()));
|
eb.setDescription(cmd.description()).setTitle(name.replaceFirst(String.valueOf(name.charAt(0)), String.valueOf(name.charAt(0)).toUpperCase()));
|
||||||
eb.addField("Usage", rethink.getUserPrefix(author.getId()) + cmd.labels()[0] + " " + cmd.usage(), false);
|
eb.addField("Usage", rethink.getUserPrefix(author.getId()) + cmd.labels()[0] + " " + cmd.usage(), false);
|
||||||
new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, eb);
|
new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO);
|
||||||
channel.sendMessage(eb.build()).queue();
|
channel.sendMessage(eb.build()).queue();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package com.bbn.hadder.commands.misc;
|
package com.bbn.hadder.commands.general;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* @author Skidder / GregTCLTK
|
* @author Skidder / GregTCLTK
|
||||||
|
|
@ -8,14 +8,19 @@ import com.bbn.hadder.Hadder;
|
||||||
import com.bbn.hadder.commands.Command;
|
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;
|
|
||||||
|
/*
|
||||||
|
* @author Skidder / GregTCLTK
|
||||||
|
*/
|
||||||
|
|
||||||
public class InviteCommand implements Command {
|
public class InviteCommand implements Command {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void executed(String[] args, CommandEvent event) {
|
public void executed(String[] args, CommandEvent event) {
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder).setTitle("Invite me!").setDescription("[Invite me here!](https://discordapp.com/oauth2/authorize?client_id=" + Hadder.shardManager.getGuilds().get(0).getSelfMember().getId() + "&scope=bot&permissions=470133879)").build()).queue();
|
.setTitle("Invite me!")
|
||||||
|
.setDescription("[Invite me here!](https://discordapp.com/oauth2/authorize?client_id=" + Hadder.shardManager.getGuilds().get(0).getSelfMember().getId() + "&scope=bot&permissions=470133879)")
|
||||||
|
.build()).queue();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
@ -7,14 +7,12 @@ package com.bbn.hadder.commands.general;
|
||||||
import com.bbn.hadder.commands.Command;
|
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;
|
|
||||||
|
|
||||||
public class PingCommand implements Command {
|
public class PingCommand implements Command {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void executed(String[] args, CommandEvent event) {
|
public void executed(String[] args, CommandEvent event) {
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
event.getJDA().getRestPing().queue(ping -> event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO).setTitle("Ping").setDescription(String.valueOf(ping)).build()).queue());
|
||||||
event.getJDA().getRestPing().queue(ping -> event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder).setTitle("Ping").setDescription(String.valueOf(ping)).build()).queue());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,6 @@ import com.bbn.hadder.commands.Command;
|
||||||
import com.bbn.hadder.commands.CommandEvent;
|
import com.bbn.hadder.commands.CommandEvent;
|
||||||
import com.bbn.hadder.utils.EventWaiter;
|
import com.bbn.hadder.utils.EventWaiter;
|
||||||
import com.bbn.hadder.utils.MessageEditor;
|
import com.bbn.hadder.utils.MessageEditor;
|
||||||
import net.dv8tion.jda.api.EmbedBuilder;
|
|
||||||
import org.kohsuke.github.GHIssue;
|
import org.kohsuke.github.GHIssue;
|
||||||
import org.kohsuke.github.GHRepository;
|
import org.kohsuke.github.GHRepository;
|
||||||
import org.kohsuke.github.GitHub;
|
import org.kohsuke.github.GitHub;
|
||||||
|
|
@ -19,15 +18,15 @@ public class FeedbackCommand implements Command {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void executed(String[] args, CommandEvent event) {
|
public void executed(String[] args, CommandEvent event) {
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
|
||||||
.setTitle("Feedback Topic")
|
.setTitle("Feedback Topic")
|
||||||
.setDescription("Please send me the feedback topic."))
|
.setDescription("Please send me the feedback topic.")
|
||||||
.build()).queue();
|
.build()).queue();
|
||||||
new EventWaiter().newOnMessageEventWaiter(event1 -> {
|
new EventWaiter().newOnMessageEventWaiter(event1 -> {
|
||||||
String title = event1.getMessage().getContentDisplay();
|
String title = event1.getMessage().getContentDisplay();
|
||||||
event1.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
|
event1.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
|
||||||
.setTitle("Feedback Description")
|
.setTitle("Feedback Description")
|
||||||
.setDescription("Please send me the feedback description now."))
|
.setDescription("Please send me the feedback description now.")
|
||||||
.build()).queue();
|
.build()).queue();
|
||||||
new EventWaiter().newOnMessageEventWaiter(event2 -> {
|
new EventWaiter().newOnMessageEventWaiter(event2 -> {
|
||||||
String description = event2.getMessage().getContentDisplay();
|
String description = event2.getMessage().getContentDisplay();
|
||||||
|
|
@ -35,8 +34,8 @@ public class FeedbackCommand implements Command {
|
||||||
GitHub connection = GitHub.connectUsingOAuth(event.getConfig().getGitHubToken());
|
GitHub connection = GitHub.connectUsingOAuth(event.getConfig().getGitHubToken());
|
||||||
GHRepository Hadder = connection.getOrganization("BigBotNetwork").getRepository("Hadder");
|
GHRepository Hadder = connection.getOrganization("BigBotNetwork").getRepository("Hadder");
|
||||||
GHIssue issue = Hadder.createIssue(title).body("<strong>Feedback by " + event.getAuthor().getAsTag() + "</strong><br>" + description).label("feedback").create();
|
GHIssue issue = Hadder.createIssue(title).body("<strong>Feedback by " + event.getAuthor().getAsTag() + "</strong><br>" + description).label("feedback").create();
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
|
||||||
.setTitle("Feedback successfully sent"))
|
.setTitle("Feedback successfully sent")
|
||||||
.setDescription(issue.getHtmlUrl().toString())
|
.setDescription(issue.getHtmlUrl().toString())
|
||||||
.build()).queue();
|
.build()).queue();
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,6 @@ package com.bbn.hadder.commands.misc;
|
||||||
import com.bbn.hadder.commands.Command;
|
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 okhttp3.OkHttpClient;
|
import okhttp3.OkHttpClient;
|
||||||
import okhttp3.Request;
|
import okhttp3.Request;
|
||||||
import okhttp3.Response;
|
import okhttp3.Response;
|
||||||
|
|
@ -22,8 +21,7 @@ public class GitHubCommand implements Command {
|
||||||
public void executed(String[] args, CommandEvent event) {
|
public void executed(String[] args, CommandEvent event) {
|
||||||
if (args.length > 0) {
|
if (args.length > 0) {
|
||||||
if (args[0].equals("link")) {
|
if (args[0].equals("link")) {
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO).setTitle("Link your GitHub Account").setDescription("https://github.com/login/oauth/authorize?client_id=25321f690bb1b6952942").build()).queue();
|
||||||
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 {
|
} else {
|
||||||
Request request = new Request.Builder().url("https://api.github.com/users/" + args[0]).build();
|
Request request = new Request.Builder().url("https://api.github.com/users/" + args[0]).build();
|
||||||
try {
|
try {
|
||||||
|
|
@ -46,8 +44,7 @@ public class GitHubCommand implements Command {
|
||||||
|
|
||||||
if (!json.getString("blog").equals("")) website = json.getString("blog");
|
if (!json.getString("blog").equals("")) website = json.getString("blog");
|
||||||
|
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
|
||||||
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")
|
.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"))
|
.setThumbnail(json.getString("avatar_url"))
|
||||||
.addField("User bio", bio, false)
|
.addField("User bio", bio, false)
|
||||||
|
|
@ -60,15 +57,16 @@ public class GitHubCommand implements Command {
|
||||||
.build()).queue();
|
.build()).queue();
|
||||||
|
|
||||||
} catch (IOException | NullPointerException e) {
|
} catch (IOException | NullPointerException e) {
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.ERROR).setDescription("The GitHub API might be down at the moment!").build()).queue();
|
||||||
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).setDescription("This user does not exist!").build()).queue();
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING, builder).setDescription("This user does not exist!").build()).queue();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
event.getTextChannel().sendMessage("SOON").queue();
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
|
||||||
|
.setTitle("Connect you GH account")
|
||||||
|
.setDescription("[Please connect your GitHub account here](https://github.com/login/oauth/authorize?client_id=25321f690bb1b6952942)")
|
||||||
|
.build()).queue();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,8 @@ import net.dv8tion.jda.api.entities.VoiceChannel;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class ScreenshareCommand implements Command {
|
public class ScreenShareCommand 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) {
|
||||||
|
|
@ -17,15 +18,15 @@ public class ScreenshareCommand implements Command {
|
||||||
for (VoiceChannel vc : event.getGuild().getVoiceChannels()) {
|
for (VoiceChannel vc : event.getGuild().getVoiceChannels()) {
|
||||||
try {
|
try {
|
||||||
if (vc.getIdLong() == Long.parseLong(args[0])) {
|
if (vc.getIdLong() == Long.parseLong(args[0])) {
|
||||||
event.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
|
event.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
|
||||||
.setTitle("Here's your Url to share your Screen")
|
.setTitle("Here's your Url to share your Screen")
|
||||||
.setDescription("http://discordapp.com/channels/" + event.getGuild().getId() + "/" + vc.getId() + "/")).build()).queue();
|
.setDescription("http://discordapp.com/channels/" + event.getGuild().getId() + "/" + vc.getId() + "/").build()).queue();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
} 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)
|
||||||
.setTitle("Wait, that's illegal")
|
.setTitle("Wait, that's illegal")
|
||||||
.setDescription("This ID is invalid. \nMaybe you entered a wrong ID? \n\nNote: Make sure the Voice Channel is on this Guild.")).build()).queue();
|
.setDescription("This ID is invalid. \nMaybe you entered a wrong ID? \n\nNote: Make sure the Voice Channel is on this Guild.").build()).queue();
|
||||||
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel());
|
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -40,38 +41,40 @@ public class ScreenshareCommand implements Command {
|
||||||
VoiceChannel voiceChannel = vcs.get(i);
|
VoiceChannel voiceChannel = vcs.get(i);
|
||||||
eb.addField(i + ": " + voiceChannel.getName(), voiceChannel.getId(), false);
|
eb.addField(i + ": " + voiceChannel.getName(), voiceChannel.getId(), false);
|
||||||
}
|
}
|
||||||
event.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING, eb).build()).queue();
|
event.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING).build()).queue();
|
||||||
new EventWaiter().newOnMessageEventWaiter(msgevent -> {
|
new EventWaiter().newOnMessageEventWaiter(msgevent -> {
|
||||||
try {
|
try {
|
||||||
int i = Integer.parseInt(msgevent.getMessage().getContentRaw());
|
int i = Integer.parseInt(msgevent.getMessage().getContentRaw());
|
||||||
if (vcs.size() > i) {
|
if (vcs.size() > i) {
|
||||||
event.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
|
event.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
|
||||||
.setTitle("Here's your Url to share your Screen")
|
.setTitle("Here's your Url to share your Screen")
|
||||||
.setDescription("http://discordapp.com/channels/" + event.getGuild().getId() + "/" + vcs.get(i).getId() + "/")).build()).queue();
|
.setDescription("http://discordapp.com/channels/" + event.getGuild().getId() + "/" + vcs.get(i).getId() + "/").build()).queue();
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
event.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.ERROR, new EmbedBuilder()
|
event.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.ERROR)
|
||||||
.setTitle("You specified a wrong number!")).build()).queue();
|
.setTitle("You specified a wrong number!").build()).queue();
|
||||||
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel());
|
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel());
|
||||||
}
|
}
|
||||||
} 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)
|
||||||
.setTitle("Wait, that's illegal")
|
.setTitle("Wait, that's illegal")
|
||||||
.setDescription("This isn't a Number.")).build()).queue();
|
.setDescription("This isn't a Number.").build()).queue();
|
||||||
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel());
|
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel());
|
||||||
}
|
}
|
||||||
}, 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)
|
||||||
.setTitle("Hol' up")
|
.setTitle("Hol' up")
|
||||||
.setDescription("There is no Voice Channel named like this. \n\nNote: Make sure the Voice Channel 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();
|
||||||
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel());
|
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel());
|
||||||
} else {
|
} else {
|
||||||
event.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
|
event.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
|
||||||
.setTitle("Here's your Url to share your Screen")
|
.setTitle("Here's your Url to share your Screen")
|
||||||
.setDescription("http://discordapp.com/channels/" + event.getGuild().getId() + "/" + vcs.get(0).getId() + "/")).build()).queue();
|
.setDescription("http://discordapp.com/channels/" + event.getGuild().getId() + "/" + vcs.get(0).getId() + "/").build()).queue();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -7,7 +7,6 @@ package com.bbn.hadder.commands.moderation;
|
||||||
import com.bbn.hadder.commands.Command;
|
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.Permission;
|
import net.dv8tion.jda.api.Permission;
|
||||||
import net.dv8tion.jda.api.entities.Member;
|
import net.dv8tion.jda.api.entities.Member;
|
||||||
|
|
||||||
|
|
@ -15,30 +14,24 @@ public class BanCommand implements Command {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void executed(String[] args, CommandEvent event) {
|
public void executed(String[] args, CommandEvent event) {
|
||||||
if (event.getGuild().getMemberById(event.getAuthor().getId()).hasPermission(Permission.BAN_MEMBERS) || event.getGuild().getOwner().getId().equals(event.getAuthor().getId())) {
|
if (event.getGuild().getMemberById(event.getAuthor().getId()).hasPermission(Permission.BAN_MEMBERS) || event.getConfig().getOwners().toString().contains(event.getAuthor().getId())) {
|
||||||
if (event.getMessage().getMentionedMembers().size() == 1) {
|
if (event.getMessage().getMentionedMembers().size() == 1) {
|
||||||
Member victim = event.getMessage().getMentionedMembers().get(0);
|
Member victim = event.getMessage().getMentionedMembers().get(0);
|
||||||
if (!event.getAuthor().getId().equals(victim.getId())) {
|
if (!event.getAuthor().getId().equals(victim.getId())) {
|
||||||
if (!event.getJDA().getSelfUser().getId().equals(victim.getId())) {
|
if (!event.getJDA().getSelfUser().getId().equals(victim.getId())) {
|
||||||
if (event.getGuild().getSelfMember().canInteract(victim)) {
|
if (event.getGuild().getSelfMember().canInteract(victim)) {
|
||||||
event.getGuild().ban(victim, 0, "Banned by " + event.getAuthor().getAsTag()).queue();
|
event.getGuild().ban(victim, 0, "Banned by " + event.getAuthor().getAsTag()).queue();
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO).setTitle("✅ Successfully banned ✅").setDescription("I successfully baned " + victim.getUser().getName() + ".").build()).queue();
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder).setTitle("✅ Successfully banned ✅").setDescription("I successfully baned " + victim.getUser().getName() + ".").build()).queue();
|
|
||||||
} else {
|
} else {
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION, builder).build()).queue();
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING).setDescription("I can not ban myself").build()).queue();
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING, builder).setDescription("I can not ban myself").build()).queue();
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING).setTitle("Not possible").setDescription("You can't ban yourself.").build()).queue();
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING, builder).setTitle("Not possible").setDescription("You can't ban yourself.").build()).queue();
|
|
||||||
}
|
}
|
||||||
} else if (event.getMessage().getMentionedMembers().size() == 0) {
|
} 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();
|
|
||||||
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel());
|
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel());
|
||||||
} else if (event.getMessage().getMentionedMembers().size() > 1) {
|
} else if (event.getMessage().getMentionedMembers().size() > 1) {
|
||||||
for (int i = 0; i < event.getMessage().getMentionedMembers().size(); i++) {
|
for (int i = 0; i < event.getMessage().getMentionedMembers().size(); i++) {
|
||||||
|
|
@ -48,24 +41,19 @@ public class BanCommand implements Command {
|
||||||
if (event.getGuild().getSelfMember().canInteract(member)) {
|
if (event.getGuild().getSelfMember().canInteract(member)) {
|
||||||
event.getGuild().ban(member, 0).reason("Mass Ban by " + event.getAuthor().getAsTag()).queue();
|
event.getGuild().ban(member, 0).reason("Mass Ban by " + event.getAuthor().getAsTag()).queue();
|
||||||
} else {
|
} else {
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION, builder).build()).queue();
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING).setDescription("I can not ban myself!").build()).queue();
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING, builder).setDescription("I can not ban myself!").build()).queue();
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING).setDescription("You can't ban yourself.").build()).queue();
|
||||||
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.INFO).setTitle("✅ Successfully banned ✅").setDescription("I successfully banned " + event.getMessage().getMentionedMembers().size() + " Members!").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();
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION).build()).queue();
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION, builder).build()).queue();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,6 @@ package com.bbn.hadder.commands.moderation;
|
||||||
import com.bbn.hadder.commands.Command;
|
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.Permission;
|
import net.dv8tion.jda.api.Permission;
|
||||||
import net.dv8tion.jda.api.entities.Message;
|
import net.dv8tion.jda.api.entities.Message;
|
||||||
|
|
||||||
|
|
@ -20,37 +19,29 @@ public class ClearCommand 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) {
|
||||||
if (event.getGuild().getMemberById(event.getAuthor().getId()).hasPermission(Permission.MESSAGE_MANAGE) || event.getGuild().getOwnerId().equals(event.getAuthor().getId())) {
|
if (event.getGuild().getMemberById(event.getAuthor().getId()).hasPermission(Permission.MESSAGE_MANAGE) || event.getConfig().getOwners().toString().contains(event.getAuthor().getId())) {
|
||||||
if (event.getGuild().getMemberById(event.getJDA().getSelfUser().getId()).hasPermission(Permission.MESSAGE_MANAGE)) {
|
if (event.getGuild().getMemberById(event.getJDA().getSelfUser().getId()).hasPermission(Permission.MESSAGE_MANAGE)) {
|
||||||
try {
|
try {
|
||||||
int nbToDelete = Integer.parseInt(args[0]);
|
int nbToDelete = Integer.parseInt(args[0]);
|
||||||
if(nbToDelete < 1 || nbToDelete > 200) {
|
if(nbToDelete < 1 || nbToDelete > 200) {
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING).setDescription("You have to choose a number between 1 and 200!").build()).queue();
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING, builder).setDescription("You have to choose a number between 1 and 200!").build()).queue();
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
List<Message> history = event.getTextChannel().getHistory().retrievePast(nbToDelete +1).complete();
|
List<Message> history = event.getTextChannel().getHistory().retrievePast(nbToDelete +1).complete();
|
||||||
List<Message> msgToDelete = new ArrayList<>();
|
List<Message> msgToDelete = new ArrayList<>();
|
||||||
msgToDelete.addAll(history);
|
msgToDelete.addAll(history);
|
||||||
event.getTextChannel().deleteMessages(msgToDelete).queue();
|
event.getTextChannel().deleteMessages(msgToDelete).queue();
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO).setDescription("Successfully deleted " + nbToDelete + " messages.").build()).queue();
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder).setDescription("Successfully deleted " + nbToDelete + " messages.").build()).queue();
|
|
||||||
} catch (NumberFormatException e) {
|
} 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();
|
|
||||||
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel());
|
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel());
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION, builder).build()).queue();
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION).build()).queue();
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION, builder).build()).queue();
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING, builder).setDescription("You have to specify a number!").build()).queue();
|
|
||||||
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel());
|
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,34 +3,26 @@ package com.bbn.hadder.commands.moderation;
|
||||||
import com.bbn.hadder.commands.Command;
|
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.Permission;
|
import net.dv8tion.jda.api.Permission;
|
||||||
|
|
||||||
public class GuildPrefixCommand implements Command {
|
public class GuildPrefixCommand implements Command {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void executed(String[] args, CommandEvent event) {
|
public void executed(String[] args, CommandEvent event) {
|
||||||
if (event.getGuild().getMemberById(event.getAuthor().getId()).hasPermission(Permission.MANAGE_SERVER) || event.getGuild().getOwnerId().equals(event.getAuthor().getId())) {
|
if (event.getGuild().getMemberById(event.getAuthor().getId()).hasPermission(Permission.MANAGE_SERVER) || event.getConfig().getOwners().toString().contains(event.getAuthor().getId())) {
|
||||||
if (args.length == 1) {
|
if (args.length == 1) {
|
||||||
if (!args[0].contains("\"")) {
|
if (!args[0].contains("\"")) {
|
||||||
|
|
||||||
event.getRethink().setGuildPrefix(args[0], event.getGuild().getId());
|
event.getRethink().setGuildPrefix(args[0], event.getGuild().getId());
|
||||||
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO).setTitle("✅ Successfully set ✅").setDescription("I successfully set the new prefix for the guild to " + args[0]).build()).queue();
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
|
||||||
|
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder).setTitle("✅ Successfully set ✅").setDescription("I successfully set the new prefix for you to " + args[0]).build()).queue();
|
|
||||||
} else {
|
} else {
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING).setDescription("The prefix must not contain **\"**").build()).queue();
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING, builder).setDescription("The prefix must not contain **\"**").build()).queue();
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING, builder).setDescription("You have to set a prefix.").build()).queue();
|
|
||||||
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel());
|
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel());
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION).build()).queue();
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION, builder).build()).queue();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,72 @@
|
||||||
|
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.Permission;
|
||||||
|
|
||||||
|
public class InviteDetectCommand implements Command {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void executed(String[] args, CommandEvent event) {
|
||||||
|
if (args.length == 1) {
|
||||||
|
if (event.getMember().hasPermission(Permission.MANAGE_SERVER) || event.getConfig().getOwners().toString().contains(event.getAuthor().getId())) {
|
||||||
|
String opinion = args[0].toLowerCase();
|
||||||
|
switch (opinion) {
|
||||||
|
case "on":
|
||||||
|
if (!event.getRethink().getInviteDetection(event.getGuild().getId())) {
|
||||||
|
event.getRethink().setInviteDetection(event.getGuild().getId(), true);
|
||||||
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
|
||||||
|
.setTitle("Successfully activated")
|
||||||
|
.setDescription("I successfully activated the invite link detection for this guild.")
|
||||||
|
.build()).queue();
|
||||||
|
} else {
|
||||||
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING)
|
||||||
|
.setTitle("Already activated")
|
||||||
|
.setDescription("The invite link detection is already activated on this guild.")
|
||||||
|
.build()).queue();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "off":
|
||||||
|
if (event.getRethink().getInviteDetection(event.getGuild().getId())) {
|
||||||
|
event.getRethink().setInviteDetection(event.getGuild().getId(), false);
|
||||||
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
|
||||||
|
.setTitle("Successfully deactivated")
|
||||||
|
.setDescription("I successfully deactivated the invite link detection for this guild.")
|
||||||
|
.build()).queue();
|
||||||
|
} else {
|
||||||
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING)
|
||||||
|
.setTitle("Already deactivated")
|
||||||
|
.setDescription("The invite link detection is already deactivated on this guild.")
|
||||||
|
.build()).queue();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION).build()).queue();
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String[] labels() {
|
||||||
|
return new String[]{"invitedetect", "detectinvite"};
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String description() {
|
||||||
|
return "Activate or deactivate the Discord invite link detection.";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String usage() {
|
||||||
|
return "<on/off>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -7,7 +7,6 @@ package com.bbn.hadder.commands.moderation;
|
||||||
import com.bbn.hadder.commands.Command;
|
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.Permission;
|
import net.dv8tion.jda.api.Permission;
|
||||||
import net.dv8tion.jda.api.entities.Member;
|
import net.dv8tion.jda.api.entities.Member;
|
||||||
|
|
||||||
|
|
@ -16,30 +15,24 @@ public class KickCommand implements Command {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void executed(String[] args, CommandEvent event) {
|
public void executed(String[] args, CommandEvent event) {
|
||||||
if (event.getGuild().getMemberById(event.getAuthor().getId()).hasPermission(Permission.KICK_MEMBERS) || event.getGuild().getOwnerId().equals(event.getAuthor().getId())) {
|
if (event.getGuild().getMemberById(event.getAuthor().getId()).hasPermission(Permission.KICK_MEMBERS) || event.getConfig().getOwners().toString().contains(event.getAuthor().getId())) {
|
||||||
if (event.getMessage().getMentionedMembers().size() == 1) {
|
if (event.getMessage().getMentionedMembers().size() == 1) {
|
||||||
Member victim = event.getMessage().getMentionedMembers().get(0);
|
Member victim = event.getMessage().getMentionedMembers().get(0);
|
||||||
if (!event.getAuthor().getId().equals(victim.getId())) {
|
if (!event.getAuthor().getId().equals(victim.getId())) {
|
||||||
if (!event.getJDA().getSelfUser().getId().equals(victim.getId())) {
|
if (!event.getJDA().getSelfUser().getId().equals(victim.getId())) {
|
||||||
if (event.getGuild().getSelfMember().canInteract(victim)) {
|
if (event.getGuild().getSelfMember().canInteract(victim)) {
|
||||||
event.getGuild().kick(victim, "Kicked by " + event.getAuthor().getAsTag()).queue();
|
event.getGuild().kick(victim, "Kicked by " + event.getAuthor().getAsTag()).queue();
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO).setTitle("✅ Successfully kicked ✅").setDescription("I successfully kicked " + victim.getUser().getName() + ".").build()).queue();
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder).setTitle("✅ Successfully kicked ✅").setDescription("I successfully kicked " + victim.getUser().getName() + ".").build()).queue();
|
|
||||||
} else {
|
} else {
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION, builder).build()).queue();
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING).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();
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING).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();
|
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING, builder).setDescription("You have to mention at least one user!").build()).queue();
|
|
||||||
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel());
|
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel());
|
||||||
} else if (event.getMessage().getMentionedMembers().size() > 1) {
|
} else if (event.getMessage().getMentionedMembers().size() > 1) {
|
||||||
for (int i = 0; i < event.getMessage().getMentionedMembers().size(); i++) {
|
for (int i = 0; i < event.getMessage().getMentionedMembers().size(); i++) {
|
||||||
|
|
@ -49,20 +42,16 @@ public class KickCommand implements Command {
|
||||||
if (event.getGuild().getSelfMember().canInteract(member)) {
|
if (event.getGuild().getSelfMember().canInteract(member)) {
|
||||||
event.getGuild().kick(member).reason("Mass Kicked by " + event.getAuthor().getAsTag()).queue();
|
event.getGuild().kick(member).reason("Mass Kicked by " + event.getAuthor().getAsTag()).queue();
|
||||||
} else {
|
} else {
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION, builder).build()).queue();
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING).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();
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING).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();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO).setTitle("✅ Successfully kicked ✅").setDescription("I successfully kicked " + event.getMessage().getMentionedMembers().size() + " Members!").build()).queue();
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder).setTitle("✅ Successfully kicked ✅").setDescription("I successfully kicked " + event.getMessage().getMentionedMembers().size() + " Members!").build()).queue();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -10,13 +10,12 @@ public class LinkCommand implements Command {
|
||||||
@Override
|
@Override
|
||||||
public void executed(String[] args, CommandEvent event) {
|
public void executed(String[] args, CommandEvent event) {
|
||||||
if (args.length == 0) event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel());
|
if (args.length == 0) event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel());
|
||||||
switch (args[0]) {
|
switch (args[0].toLowerCase()) {
|
||||||
|
|
||||||
case "add":
|
case "add":
|
||||||
if (args.length != 2) return;
|
if (args.length != 2) return;
|
||||||
String linkid = args[1];
|
String linkid = args[1];
|
||||||
|
|
||||||
// Check if guild is existing
|
// Check if guild exists
|
||||||
boolean found = false;
|
boolean found = false;
|
||||||
Guild linkguild = null;
|
Guild linkguild = null;
|
||||||
for (Guild g : event.getJDA().getGuilds()) {
|
for (Guild g : event.getJDA().getGuilds()) {
|
||||||
|
|
@ -27,17 +26,17 @@ public class LinkCommand implements Command {
|
||||||
}
|
}
|
||||||
if (!found) {
|
if (!found) {
|
||||||
event.getChannel().sendMessage(
|
event.getChannel().sendMessage(
|
||||||
new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO,
|
new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
|
||||||
new EmbedBuilder().setTitle("Success!").setDescription("If i'm on this guild i sent a message to accept the link.")
|
.setTitle("Success!").setDescription("If i'm on this guild i sent a message to accept the link.")
|
||||||
).build()).queue();
|
.build()).queue();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check if the guild is the same
|
// Check if the guild is the same
|
||||||
if (event.getGuild().getId().equals(args[1])) {
|
if (event.getGuild().getId().equals(args[1])) {
|
||||||
event.getChannel().sendMessage(
|
event.getChannel().sendMessage(
|
||||||
new MessageEditor().setDefaultSettings(MessageEditor.MessageType.ERROR,
|
new MessageEditor().setDefaultSettings(MessageEditor.MessageType.ERROR)
|
||||||
new EmbedBuilder().setTitle("Wait thats illegal.").setDescription("You specified the same guild as the guild on which you're reading this")).build()).queue();
|
.setTitle("Wait thats illegal.").setDescription("You specified the same guild as the guild on which you're reading this").build()).queue();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -49,9 +48,9 @@ public class LinkCommand implements Command {
|
||||||
}
|
}
|
||||||
// Send Request to link Guild
|
// Send Request to link Guild
|
||||||
event.getJDA().getTextChannelById(event.getRethink().getLinkChannel(linkid)).sendMessage(
|
event.getJDA().getTextChannelById(event.getRethink().getLinkChannel(linkid)).sendMessage(
|
||||||
new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO,
|
new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
|
||||||
new EmbedBuilder().setTitle(event.getGuild().getName() + " (" + event.getGuild().getId() + ") wants to link guilds!")
|
.setTitle(event.getGuild().getName() + " (" + event.getGuild().getId() + ") wants to link guilds!")
|
||||||
.setDescription("React with the reactions to accept or decline it")).build()
|
.setDescription("React with the reactions to accept or decline it").build()
|
||||||
).queue(
|
).queue(
|
||||||
msg -> {
|
msg -> {
|
||||||
msg.addReaction("✅").queue();
|
msg.addReaction("✅").queue();
|
||||||
|
|
@ -62,9 +61,9 @@ public class LinkCommand implements Command {
|
||||||
|
|
||||||
|
|
||||||
event.getChannel().sendMessage(
|
event.getChannel().sendMessage(
|
||||||
new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO,
|
new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
|
||||||
new EmbedBuilder().setTitle("Success!").setDescription("If i'm on this guild i sent a message to accept the link.")
|
.setTitle("Success!").setDescription("If i'm on this guild i sent a message to accept the link.")
|
||||||
).build()).queue();
|
.build()).queue();
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,6 @@ package com.bbn.hadder.commands.moderation;
|
||||||
import com.bbn.hadder.commands.Command;
|
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.Permission;
|
import net.dv8tion.jda.api.Permission;
|
||||||
import net.dv8tion.jda.api.entities.Member;
|
import net.dv8tion.jda.api.entities.Member;
|
||||||
|
|
||||||
|
|
@ -15,7 +14,7 @@ public class NickCommand implements Command {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void executed(String[] args, CommandEvent event) {
|
public void executed(String[] args, CommandEvent event) {
|
||||||
if (event.getMember().hasPermission(Permission.NICKNAME_MANAGE) || event.getGuild().getOwnerId().equals(event.getMember().getId())) {
|
if (event.getMember().hasPermission(Permission.NICKNAME_MANAGE) || event.getConfig().getOwners().toString().contains(event.getAuthor().getId())) {
|
||||||
if (event.getGuild().getSelfMember().hasPermission(Permission.NICKNAME_MANAGE)) {
|
if (event.getGuild().getSelfMember().hasPermission(Permission.NICKNAME_MANAGE)) {
|
||||||
if (event.getMessage().getMentionedMembers().size() == 1) {
|
if (event.getMessage().getMentionedMembers().size() == 1) {
|
||||||
if (!event.getMessage().getMentionedMembers().get(0).getId().equals(event.getGuild().getSelfMember().getId())) {
|
if (!event.getMessage().getMentionedMembers().get(0).getId().equals(event.getGuild().getSelfMember().getId())) {
|
||||||
|
|
@ -23,36 +22,27 @@ public class NickCommand implements Command {
|
||||||
if (args.length > 1) {
|
if (args.length > 1) {
|
||||||
if (event.getMessage().getContentRaw().startsWith(event.getRethink().getUserPrefix(event.getMember().getId()))) {
|
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();
|
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).setTitle("✅ Successfully nicked ✅").setDescription("I successfully nicked " + event.getMessage().getMentionedMembers().get(0).getUser().getAsTag() + ".").build()).queue();
|
||||||
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()))) {
|
} 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();
|
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).setTitle("✅ Successfully nicked ✅").setDescription("I successfully nicked " + event.getMessage().getMentionedMembers().get(0).getUser().getAsTag() + ".").build()).queue();
|
||||||
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 {
|
} 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();
|
|
||||||
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel());
|
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel());
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION, builder).build()).queue();
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (event.getMessage().getContentRaw().startsWith(event.getRethink().getUserPrefix(event.getMember().getId()))) {
|
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();
|
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).setTitle("✅ Successfully nicked ✅").setDescription("I successfully changed my nickname.").build()).queue();
|
||||||
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()))) {
|
} 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();
|
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).setTitle("✅ Successfully nicked ✅").setDescription("I successfully changed my nickname.").build()).queue();
|
||||||
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) {
|
} 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();
|
|
||||||
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel());
|
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel());
|
||||||
} else {
|
} else {
|
||||||
for (int i = 0; i < event.getMessage().getMentionedMembers().size(); i++) {
|
for (int i = 0; i < event.getMessage().getMentionedMembers().size(); i++) {
|
||||||
|
|
@ -63,16 +53,13 @@ public class NickCommand implements Command {
|
||||||
event.getGuild().getSelfMember().modifyNickname(args[args.length - 1]).reason("Mass Nicked by " + event.getAuthor().getAsTag()).queue();
|
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).setTitle("✅ Successfully nicked ✅").setDescription("I successfully nicked " + event.getMessage().getMentionedMembers().size() + " Members!").build()).queue();
|
||||||
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 {
|
} else {
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION, builder).build()).queue();
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION).build()).queue();
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION, builder).build()).queue();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,6 @@ package com.bbn.hadder.commands.moderation;
|
||||||
import com.bbn.hadder.commands.Command;
|
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.Permission;
|
import net.dv8tion.jda.api.Permission;
|
||||||
import net.dv8tion.jda.api.entities.Member;
|
import net.dv8tion.jda.api.entities.Member;
|
||||||
import net.dv8tion.jda.api.entities.Role;
|
import net.dv8tion.jda.api.entities.Role;
|
||||||
|
|
@ -14,8 +13,9 @@ public class RoleCommand implements Command {
|
||||||
public void executed(String[] args, CommandEvent event) {
|
public void executed(String[] args, CommandEvent event) {
|
||||||
if (args.length > 0) {
|
if (args.length > 0) {
|
||||||
if (event.getMember().hasPermission(Permission.MANAGE_ROLES)) {
|
if (event.getMember().hasPermission(Permission.MANAGE_ROLES)) {
|
||||||
if (event.getGuild().getSelfMember().hasPermission(Permission.MANAGE_ROLES)) {
|
if (event.getGuild().getSelfMember().hasPermission(Permission.MANAGE_ROLES) || event.getConfig().getOwners().toString().contains(event.getAuthor().getId())) {
|
||||||
switch (args[0].toLowerCase()) {
|
String action = args[0].toLowerCase();
|
||||||
|
switch (action) {
|
||||||
case "add":
|
case "add":
|
||||||
if (event.getMessage().getMentionedMembers().size() > 0 && event.getMessage().getMentionedRoles().size() > 0) {
|
if (event.getMessage().getMentionedMembers().size() > 0 && event.getMessage().getMentionedRoles().size() > 0) {
|
||||||
for (Member member : event.getMessage().getMentionedMembers()) {
|
for (Member member : event.getMessage().getMentionedMembers()) {
|
||||||
|
|
@ -24,17 +24,14 @@ public class RoleCommand implements Command {
|
||||||
if (event.getGuild().getSelfMember().canInteract(role)) {
|
if (event.getGuild().getSelfMember().canInteract(role)) {
|
||||||
event.getGuild().addRoleToMember(member, role).reason("Role added by " + event.getAuthor().getAsTag()).queue();
|
event.getGuild().addRoleToMember(member, role).reason("Role added by " + event.getAuthor().getAsTag()).queue();
|
||||||
} else {
|
} else {
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION, builder).build()).queue();
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION, builder).build()).queue();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
event.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
|
||||||
event.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder)
|
|
||||||
.setTitle("✅ Successfully added role(s) ✅")
|
.setTitle("✅ Successfully added role(s) ✅")
|
||||||
.setDescription("I successfully added " + event.getMessage().getMentionedRoles().size() + " roles to " + event.getMessage().getMentionedMembers().size() + " members.")
|
.setDescription("I successfully added " + event.getMessage().getMentionedRoles().size() + " roles to " + event.getMessage().getMentionedMembers().size() + " members.")
|
||||||
.build()).queue();
|
.build()).queue();
|
||||||
|
|
@ -42,19 +39,35 @@ public class RoleCommand implements Command {
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "remove":
|
case "remove":
|
||||||
event.getTextChannel().sendMessage("SOON").queue();
|
if (event.getMessage().getMentionedMembers().size() > 0 && event.getMessage().getMentionedRoles().size() > 0) {
|
||||||
|
for (Member member : event.getMessage().getMentionedMembers()) {
|
||||||
|
for (Role role : event.getMessage().getMentionedRoles()) {
|
||||||
|
if (event.getGuild().getSelfMember().canInteract(member)) {
|
||||||
|
if (event.getGuild().getSelfMember().canInteract(role)) {
|
||||||
|
event.getGuild().removeRoleFromMember(member, role).reason("Role removed by " + event.getAuthor().getAsTag()).queue();
|
||||||
|
} else {
|
||||||
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
event.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
|
||||||
|
.setTitle("✅ Successfully removed role(s) ✅")
|
||||||
|
.setDescription("I successfully removed " + event.getMessage().getMentionedRoles().size() + " roles from " + event.getMessage().getMentionedMembers().size() + " members.")
|
||||||
|
.build()).queue();
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION, builder).build()).queue();
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION).build()).queue();
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION, builder).build()).queue();
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
event.getTextChannel().sendMessage("Missing args").queue();
|
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -70,6 +83,6 @@ public class RoleCommand implements Command {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String usage() {
|
public String usage() {
|
||||||
return "<@role> <@user>";
|
return "add/remove <@role> <@user>";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -8,81 +8,176 @@ import com.bbn.hadder.commands.Command;
|
||||||
import com.bbn.hadder.commands.CommandEvent;
|
import com.bbn.hadder.commands.CommandEvent;
|
||||||
import com.bbn.hadder.utils.EventWaiter;
|
import com.bbn.hadder.utils.EventWaiter;
|
||||||
import com.bbn.hadder.utils.MessageEditor;
|
import com.bbn.hadder.utils.MessageEditor;
|
||||||
import net.dv8tion.jda.api.EmbedBuilder;
|
|
||||||
import net.dv8tion.jda.api.Permission;
|
import net.dv8tion.jda.api.Permission;
|
||||||
|
import net.dv8tion.jda.api.entities.Emote;
|
||||||
import net.dv8tion.jda.api.entities.Message;
|
import net.dv8tion.jda.api.entities.Message;
|
||||||
import net.dv8tion.jda.api.entities.Role;
|
import net.dv8tion.jda.api.entities.Role;
|
||||||
import net.dv8tion.jda.api.entities.TextChannel;
|
import net.dv8tion.jda.api.entities.TextChannel;
|
||||||
|
import net.dv8tion.jda.api.events.message.guild.GuildMessageReceivedEvent;
|
||||||
|
|
||||||
public class RulesCommand implements Command {
|
public class RulesCommand implements Command {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void executed(String[] args, CommandEvent event) {
|
public void executed(String[] args, CommandEvent event) {
|
||||||
if (event.getMember().hasPermission(Permission.MANAGE_SERVER)) {
|
if (event.getMember().hasPermission(Permission.MANAGE_SERVER) || event.getConfig().getOwners().toString().contains(event.getAuthor().getId())) {
|
||||||
if (event.getGuild().getSelfMember().hasPermission(Permission.MANAGE_ROLES)) {
|
if (event.getGuild().getSelfMember().hasPermission(Permission.MANAGE_ROLES)) {
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
|
||||||
.setTitle("Set up rules")
|
.setTitle("Set up rules")
|
||||||
.setDescription("Please specify the channel on which I should send the rules. Your message should look like: #rules."))
|
.setDescription("Welcome to the Hadder rules setup. Please mention the channel in which I should send the rules. Your message should look like: #rules or #verify.")
|
||||||
.build()).queue();
|
.build()).queue();
|
||||||
new EventWaiter().newOnMessageEventWaiter(event1 -> {
|
new EventWaiter().newOnMessageEventWaiter(event1 -> {
|
||||||
if (event1.getMessage().getMentionedChannels().size() > 0) {
|
if (event1.getMessage().getMentionedChannels().size() == 1) {
|
||||||
TextChannel channel = event1.getMessage().getMentionedChannels().get(0);
|
try {
|
||||||
if (channel.getGuild().getId().equals(event1.getGuild().getId())) {
|
TextChannel channel = event1.getMessage().getMentionedChannels().get(0);
|
||||||
event1.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
|
createRules(event, event1, channel);
|
||||||
.setTitle("Rules")
|
} catch (Exception e) {
|
||||||
.setDescription("The channel was successfully set to " + channel.getName() + ". Please send me the rules now."))
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.ERROR)
|
||||||
.build()).queue();
|
.setTitle("Channel not found")
|
||||||
new EventWaiter().newOnMessageEventWaiter(event2 -> {
|
.setDescription("I can't find the specified channel. Please start the setup again.")
|
||||||
String message = event2.getMessage().getContentDisplay();
|
|
||||||
event2.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
|
|
||||||
.setTitle("Role to assign"))
|
|
||||||
.setDescription("The rules were successfully set. Please send me the name of the role which the user receives after he accepted the rules.")
|
|
||||||
.build()).queue();
|
|
||||||
new EventWaiter().newOnMessageEventWaiter(event3 -> {
|
|
||||||
Role role = event3.getGuild().getRolesByName(event3.getMessage().getContentRaw(), true).get(0);
|
|
||||||
if (event3.getGuild().getSelfMember().canInteract(role)) {
|
|
||||||
event3.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
|
|
||||||
.setTitle("The role has been successfully set to " + role.getName() + "."))
|
|
||||||
.build()).queue();
|
|
||||||
Message rules = channel.sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, new EmbedBuilder()
|
|
||||||
.setTitle("Rules"))
|
|
||||||
.setDescription(message)
|
|
||||||
.build()).complete();
|
|
||||||
rules.addReaction("✅").queue();
|
|
||||||
rules.addReaction("❌").queue();
|
|
||||||
event.getRethink().updateRules(event.getGuild().getId(), rules.getId(), role.getId());
|
|
||||||
} else {
|
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION, builder).build()).queue();
|
|
||||||
}
|
|
||||||
}, event.getJDA(), event.getAuthor());
|
|
||||||
}, event.getJDA(), event.getAuthor());
|
|
||||||
} else {
|
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING, new EmbedBuilder()
|
|
||||||
.setTitle("Wrong Guild")
|
|
||||||
.setDescription("The mentioned channel must be on this guid!"))
|
|
||||||
.build()).queue();
|
.build()).queue();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING, new EmbedBuilder()
|
try {
|
||||||
.setTitle("No Channel mentioned"))
|
TextChannel channel = event1.getGuild().getTextChannelsByName(event1.getMessage().getContentRaw(), true).get(0);
|
||||||
.setDescription("Please mention a channel. This should look like #rules")
|
createRules(event, event1, channel);
|
||||||
.build()).queue();
|
} catch (Exception e) {
|
||||||
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.ERROR)
|
||||||
|
.setTitle("Channel not found")
|
||||||
|
.setDescription("I can't find the specified channel. Please start the setup again.")
|
||||||
|
.build()).queue();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}, event.getJDA(), event.getAuthor());
|
}, event.getJDA(), event.getAuthor());
|
||||||
} else {
|
} else {
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION, builder).build()).queue();
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION).build()).queue();
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION, builder).build()).queue();
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void createRules(CommandEvent event, GuildMessageReceivedEvent event1, TextChannel channel) {
|
||||||
|
if (channel.getGuild().getId().equals(event1.getGuild().getId())) {
|
||||||
|
if (event.getGuild().getSelfMember().hasPermission(channel, Permission.MESSAGE_WRITE)) {
|
||||||
|
event1.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
|
||||||
|
.setTitle("Rules")
|
||||||
|
.setDescription("The channel was successfully set to " + channel.getName() + ". Please send me the rules now.")
|
||||||
|
.build()).queue();
|
||||||
|
new EventWaiter().newOnMessageEventWaiter(event2 -> {
|
||||||
|
String message = event2.getMessage().getContentDisplay();
|
||||||
|
event2.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
|
||||||
|
.setTitle("Role to assign")
|
||||||
|
.setDescription("The rules were successfully set. Please send me the name of the role which the user receives after he accepted the rules.")
|
||||||
|
.build()).queue();
|
||||||
|
new EventWaiter().newOnMessageEventWaiter(event3 -> {
|
||||||
|
if (event.getMessage().getMentionedRoles().size() == 1) {
|
||||||
|
Role role = event.getMessage().getMentionedRoles().get(0);
|
||||||
|
setRole(event, channel, message, event3, role);
|
||||||
|
} else {
|
||||||
|
Role role = event3.getGuild().getRolesByName(event3.getMessage().getContentStripped(), true).get(0);
|
||||||
|
setRole(event, channel, message, event3, role);
|
||||||
|
}
|
||||||
|
}, event.getJDA(), event.getAuthor());
|
||||||
|
}, event.getJDA(), event.getAuthor());
|
||||||
|
} else {
|
||||||
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION)
|
||||||
|
.build()).queue();
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING)
|
||||||
|
.setTitle("Wrong Guild")
|
||||||
|
.setDescription("The mentioned channel must be on this guid!")
|
||||||
|
.build()).queue();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setRole(CommandEvent event, TextChannel channel, String message, GuildMessageReceivedEvent event3, Role role) {
|
||||||
|
if (event3.getGuild().getSelfMember().canInteract(role)) {
|
||||||
|
event3.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
|
||||||
|
.setTitle("Custom Accept Emote")
|
||||||
|
.setDescription("The role has been successfully set to " + role.getName() + ". Now send me the emote on which your user should react to to get verified.")
|
||||||
|
.build()).queue();
|
||||||
|
new EventWaiter().newOnMessageEventWaiter(event4 -> {
|
||||||
|
if (event4.getMessage().getEmotes().size() == 1) {
|
||||||
|
Emote aemote = event4.getMessage().getEmotes().get(0);
|
||||||
|
event4.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
|
||||||
|
.setTitle("Custom Decline Emote")
|
||||||
|
.setDescription("The first emote has been successfully set to " + aemote + ". Please send me now the decline emote.")
|
||||||
|
.build()).queue();
|
||||||
|
new EventWaiter().newOnMessageEventWaiter(event5 -> {
|
||||||
|
Emote demote = event5.getMessage().getEmotes().get(0);
|
||||||
|
if (!aemote.equals(demote)) {
|
||||||
|
Message rules = channel.sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
|
||||||
|
.setTitle("Rules")
|
||||||
|
.setDescription(message)
|
||||||
|
.build()).complete();
|
||||||
|
try {
|
||||||
|
rules.addReaction(aemote).queue();
|
||||||
|
rules.addReaction(demote).queue();
|
||||||
|
event5.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
|
||||||
|
.setTitle("Successfully set the rules")
|
||||||
|
.setDescription("I successfully send the rules in " + channel.getAsMention() + ".")
|
||||||
|
.build()).queue();
|
||||||
|
} catch (Exception e) {
|
||||||
|
event5.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.ERROR)
|
||||||
|
.setTitle("Error")
|
||||||
|
.setDescription("I can not access the custom emote(s),")
|
||||||
|
.build()).queue();
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
event.getRethink().updateRules(event.getGuild().getId(), rules.getId(), role.getId(), aemote.toString(), demote.toString());
|
||||||
|
} else {
|
||||||
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING)
|
||||||
|
.setTitle("Emotes are equal")
|
||||||
|
.setDescription("The 1st and 2nd emote equals each other.")
|
||||||
|
.build()).queue();
|
||||||
|
}
|
||||||
|
}, event.getJDA(), event.getAuthor());
|
||||||
|
} else {
|
||||||
|
String aemote = event4.getMessage().getContentRaw();
|
||||||
|
event4.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
|
||||||
|
.setTitle("Custom Decline Emote")
|
||||||
|
.setDescription("The first emote has been successfully set. Please send me now the decline emote.")
|
||||||
|
.build()).queue();
|
||||||
|
new EventWaiter().newOnMessageEventWaiter(event5 -> {
|
||||||
|
String demote = event5.getMessage().getContentRaw();
|
||||||
|
if (!aemote.equals(demote)) {
|
||||||
|
Message rules = channel.sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
|
||||||
|
.setTitle("Rules")
|
||||||
|
.setDescription(message)
|
||||||
|
.build()).complete();
|
||||||
|
try {
|
||||||
|
rules.addReaction(aemote).queue();
|
||||||
|
rules.addReaction(demote).queue();
|
||||||
|
event5.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
|
||||||
|
.setTitle("Successfully set the rules")
|
||||||
|
.setDescription("I successfully send the rules in " + channel.getAsMention() + ".")
|
||||||
|
.build()).queue();
|
||||||
|
} catch (Exception e) {
|
||||||
|
event5.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.ERROR)
|
||||||
|
.setTitle("Error")
|
||||||
|
.setDescription("The given emote can't be used.")
|
||||||
|
.build()).queue();
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
event.getRethink().updateRules(event.getGuild().getId(), rules.getId(), role.getId(), aemote, demote);
|
||||||
|
} else {
|
||||||
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING)
|
||||||
|
.setTitle("Emotes are equal")
|
||||||
|
.setDescription("The 1st and 2nd emote equals each other.")
|
||||||
|
.build()).queue();
|
||||||
|
}
|
||||||
|
}, event.getJDA(), event.getAuthor());
|
||||||
|
}
|
||||||
|
}, event.getJDA(), event.getAuthor());
|
||||||
|
} else {
|
||||||
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String[] labels() {
|
public String[] labels() {
|
||||||
return new String[]{"rules"};
|
return new String[]{"rules", "rule", "setup"};
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
||||||
55
src/main/java/com/bbn/hadder/commands/music/JoinCommand.java
Normal file
55
src/main/java/com/bbn/hadder/commands/music/JoinCommand.java
Normal file
|
|
@ -0,0 +1,55 @@
|
||||||
|
package com.bbn.hadder.commands.music;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @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.entities.VoiceChannel;
|
||||||
|
import net.dv8tion.jda.api.managers.AudioManager;
|
||||||
|
|
||||||
|
|
||||||
|
public class JoinCommand implements Command {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void executed(String[] args, CommandEvent event) {
|
||||||
|
if (event.getMember().getVoiceState().inVoiceChannel()) {
|
||||||
|
AudioManager audioManager = event.getGuild().getAudioManager();
|
||||||
|
if(!audioManager.isAttemptingToConnect()) {
|
||||||
|
VoiceChannel vc = event.getMember().getVoiceState().getChannel();
|
||||||
|
event.getGuild().getAudioManager().openAudioConnection(vc);
|
||||||
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
|
||||||
|
.setTitle("Successfully connected")
|
||||||
|
.setDescription("I successfully connected to " + vc.getName() + ".")
|
||||||
|
.build()).queue();
|
||||||
|
} else {
|
||||||
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING)
|
||||||
|
.setTitle("Already trying to connect")
|
||||||
|
.setDescription("Hadder is already trying to connect. Please wait a moment.")
|
||||||
|
.build()).queue();
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING)
|
||||||
|
.setTitle("No Voice Channel")
|
||||||
|
.setDescription("You aren't in a Voice Channel.")
|
||||||
|
.build()).queue();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String[] labels() {
|
||||||
|
return new String[]{"join"};
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String description() {
|
||||||
|
return "Joins your voice channel";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String usage() {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,43 @@
|
||||||
|
package com.bbn.hadder.commands.music;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @author Skidder / GregTCLTK
|
||||||
|
*/
|
||||||
|
|
||||||
|
import com.bbn.hadder.commands.Command;
|
||||||
|
import com.bbn.hadder.commands.CommandEvent;
|
||||||
|
import com.bbn.hadder.utils.MessageEditor;
|
||||||
|
|
||||||
|
public class LeaveCommand implements Command {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void executed(String[] args, CommandEvent event) {
|
||||||
|
if (event.getGuild().getSelfMember().getVoiceState().inVoiceChannel()) {
|
||||||
|
event.getGuild().getAudioManager().closeAudioConnection();
|
||||||
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
|
||||||
|
.setTitle("Successfully disconnected")
|
||||||
|
.setDescription("I successfully disconnected from the Voice Channel")
|
||||||
|
.build()).queue();
|
||||||
|
} else {
|
||||||
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING)
|
||||||
|
.setTitle("Not connected")
|
||||||
|
.setDescription("I'm currently in no Voice Channel on this Guild")
|
||||||
|
.build()).queue();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String[] labels() {
|
||||||
|
return new String[]{"leave"};
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String description() {
|
||||||
|
return "Leaves a voice channel";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String usage() {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -7,13 +7,11 @@ package com.bbn.hadder.commands.nsfw;
|
||||||
import com.bbn.hadder.commands.Command;
|
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 okhttp3.OkHttpClient;
|
import okhttp3.OkHttpClient;
|
||||||
import okhttp3.Request;
|
import okhttp3.Request;
|
||||||
import okhttp3.Response;
|
import okhttp3.Response;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.time.Instant;
|
|
||||||
|
|
||||||
public class AnalCommand implements Command {
|
public class AnalCommand implements Command {
|
||||||
|
|
||||||
|
|
@ -29,11 +27,9 @@ public class AnalCommand implements Command {
|
||||||
Response response = caller.newCall(request).execute();
|
Response response = caller.newCall(request).execute();
|
||||||
String url = response.body().string().replace("{\"url\":\"", "");
|
String url = response.body().string().replace("{\"url\":\"", "");
|
||||||
|
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder)
|
|
||||||
.setAuthor("GIF not showing? Click here", url.replace("\"}", ""))
|
.setAuthor("GIF not showing? Click here", url.replace("\"}", ""))
|
||||||
.setImage(url.replace("\"}", ""))
|
.setImage(url.replace("\"}", ""))
|
||||||
.setTimestamp(Instant.now())
|
|
||||||
.setFooter("Anal")
|
.setFooter("Anal")
|
||||||
.build()).queue();
|
.build()).queue();
|
||||||
|
|
||||||
|
|
@ -42,8 +38,7 @@ public class AnalCommand implements Command {
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING).setTitle("No NSFW").setDescription("You can only execute this command in NSFW channels!").build()).queue();
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING, builder).setTitle("No NSFW").setDescription("You can only execute this command in NSFW channels!").build()).queue();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -7,13 +7,11 @@ package com.bbn.hadder.commands.nsfw;
|
||||||
import com.bbn.hadder.commands.Command;
|
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 okhttp3.OkHttpClient;
|
import okhttp3.OkHttpClient;
|
||||||
import okhttp3.Request;
|
import okhttp3.Request;
|
||||||
import okhttp3.Response;
|
import okhttp3.Response;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.time.Instant;
|
|
||||||
|
|
||||||
public class BlowjobCommand implements Command {
|
public class BlowjobCommand implements Command {
|
||||||
|
|
||||||
|
|
@ -29,11 +27,9 @@ public class BlowjobCommand implements Command {
|
||||||
Response response = caller.newCall(request).execute();
|
Response response = caller.newCall(request).execute();
|
||||||
String url = response.body().string().replace("{\"url\":\"", "");
|
String url = response.body().string().replace("{\"url\":\"", "");
|
||||||
|
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder)
|
|
||||||
.setAuthor("Image not showing? Click here", url.replace("\"}", ""))
|
.setAuthor("Image not showing? Click here", url.replace("\"}", ""))
|
||||||
.setImage(url.replace("\"}", ""))
|
.setImage(url.replace("\"}", ""))
|
||||||
.setTimestamp(Instant.now())
|
|
||||||
.setFooter("Blowjob")
|
.setFooter("Blowjob")
|
||||||
.build()).queue();
|
.build()).queue();
|
||||||
|
|
||||||
|
|
@ -42,8 +38,7 @@ public class BlowjobCommand implements Command {
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING).setTitle("No NSFW").setDescription("You can only execute this command in NSFW channels!").build()).queue();
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING, builder).setTitle("No NSFW").setDescription("You can only execute this command in NSFW channels!").build()).queue();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -7,13 +7,11 @@ package com.bbn.hadder.commands.nsfw;
|
||||||
import com.bbn.hadder.commands.Command;
|
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 okhttp3.OkHttpClient;
|
import okhttp3.OkHttpClient;
|
||||||
import okhttp3.Request;
|
import okhttp3.Request;
|
||||||
import okhttp3.Response;
|
import okhttp3.Response;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.time.Instant;
|
|
||||||
|
|
||||||
public class BoobsCommand implements Command {
|
public class BoobsCommand implements Command {
|
||||||
|
|
||||||
|
|
@ -29,11 +27,9 @@ public class BoobsCommand implements Command {
|
||||||
Response response = caller.newCall(request).execute();
|
Response response = caller.newCall(request).execute();
|
||||||
String url = response.body().string().replace("{\"url\":\"", "");
|
String url = response.body().string().replace("{\"url\":\"", "");
|
||||||
|
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder)
|
|
||||||
.setAuthor("GIF not showing? Click here", url.replace("\"}", ""))
|
.setAuthor("GIF not showing? Click here", url.replace("\"}", ""))
|
||||||
.setImage(url.replace("\"}", ""))
|
.setImage(url.replace("\"}", ""))
|
||||||
.setTimestamp(Instant.now())
|
|
||||||
.setFooter("Boobs")
|
.setFooter("Boobs")
|
||||||
.build()).queue();
|
.build()).queue();
|
||||||
|
|
||||||
|
|
@ -42,8 +38,7 @@ public class BoobsCommand implements Command {
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING).setTitle("No NSFW").setDescription("You can only execute this command in NSFW channels!").build()).queue();
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING, builder).setTitle("No NSFW").setDescription("You can only execute this command in NSFW channels!").build()).queue();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -7,13 +7,11 @@ package com.bbn.hadder.commands.nsfw;
|
||||||
import com.bbn.hadder.commands.Command;
|
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 okhttp3.OkHttpClient;
|
import okhttp3.OkHttpClient;
|
||||||
import okhttp3.Request;
|
import okhttp3.Request;
|
||||||
import okhttp3.Response;
|
import okhttp3.Response;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.time.Instant;
|
|
||||||
|
|
||||||
public class CumCommand implements Command {
|
public class CumCommand implements Command {
|
||||||
|
|
||||||
|
|
@ -29,11 +27,9 @@ public class CumCommand implements Command {
|
||||||
Response response = caller.newCall(request).execute();
|
Response response = caller.newCall(request).execute();
|
||||||
String url = response.body().string().replace("{\"url\":\"", "");
|
String url = response.body().string().replace("{\"url\":\"", "");
|
||||||
|
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder)
|
|
||||||
.setAuthor("GIF not showing? Click here", url.replace("\"}", ""))
|
.setAuthor("GIF not showing? Click here", url.replace("\"}", ""))
|
||||||
.setImage(url.replace("\"}", ""))
|
.setImage(url.replace("\"}", ""))
|
||||||
.setTimestamp(Instant.now())
|
|
||||||
.setFooter("Cum")
|
.setFooter("Cum")
|
||||||
.build()).queue();
|
.build()).queue();
|
||||||
|
|
||||||
|
|
@ -42,8 +38,7 @@ public class CumCommand implements Command {
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING).setTitle("No NSFW").setDescription("You can only execute this command in NSFW channels!").build()).queue();
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING, builder).setTitle("No NSFW").setDescription("You can only execute this command in NSFW channels!").build()).queue();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -7,13 +7,11 @@ package com.bbn.hadder.commands.nsfw;
|
||||||
import com.bbn.hadder.commands.Command;
|
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 okhttp3.OkHttpClient;
|
import okhttp3.OkHttpClient;
|
||||||
import okhttp3.Request;
|
import okhttp3.Request;
|
||||||
import okhttp3.Response;
|
import okhttp3.Response;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.time.Instant;
|
|
||||||
|
|
||||||
public class EroticCommand implements Command {
|
public class EroticCommand implements Command {
|
||||||
|
|
||||||
|
|
@ -29,11 +27,9 @@ public class EroticCommand implements Command {
|
||||||
Response response = caller.newCall(request).execute();
|
Response response = caller.newCall(request).execute();
|
||||||
String url = response.body().string().replace("{\"url\":\"", "");
|
String url = response.body().string().replace("{\"url\":\"", "");
|
||||||
|
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder)
|
|
||||||
.setAuthor("Image not showing? Click here", url.replace("\"}", ""))
|
.setAuthor("Image not showing? Click here", url.replace("\"}", ""))
|
||||||
.setImage(url.replace("\"}", ""))
|
.setImage(url.replace("\"}", ""))
|
||||||
.setTimestamp(Instant.now())
|
|
||||||
.setFooter("Erotic")
|
.setFooter("Erotic")
|
||||||
.build()).queue();
|
.build()).queue();
|
||||||
|
|
||||||
|
|
@ -42,8 +38,7 @@ public class EroticCommand implements Command {
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING).setTitle("No NSFW").setDescription("You can only execute this command in NSFW channels!").build()).queue();
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING, builder).setTitle("No NSFW").setDescription("You can only execute this command in NSFW channels!").build()).queue();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -7,13 +7,11 @@ package com.bbn.hadder.commands.nsfw;
|
||||||
import com.bbn.hadder.commands.Command;
|
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 okhttp3.OkHttpClient;
|
import okhttp3.OkHttpClient;
|
||||||
import okhttp3.Request;
|
import okhttp3.Request;
|
||||||
import okhttp3.Response;
|
import okhttp3.Response;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.time.Instant;
|
|
||||||
|
|
||||||
public class FeetCommand implements Command {
|
public class FeetCommand implements Command {
|
||||||
|
|
||||||
|
|
@ -29,11 +27,9 @@ public class FeetCommand implements Command {
|
||||||
Response response = caller.newCall(request).execute();
|
Response response = caller.newCall(request).execute();
|
||||||
String url = response.body().string().replace("{\"url\":\"", "");
|
String url = response.body().string().replace("{\"url\":\"", "");
|
||||||
|
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder)
|
|
||||||
.setAuthor("Image not showing? Click here", url.replace("\"}", ""))
|
.setAuthor("Image not showing? Click here", url.replace("\"}", ""))
|
||||||
.setImage(url.replace("\"}", ""))
|
.setImage(url.replace("\"}", ""))
|
||||||
.setTimestamp(Instant.now())
|
|
||||||
.setFooter("Feet")
|
.setFooter("Feet")
|
||||||
.build()).queue();
|
.build()).queue();
|
||||||
|
|
||||||
|
|
@ -42,8 +38,7 @@ public class FeetCommand implements Command {
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING).setTitle("No NSFW").setDescription("You can only execute this command in NSFW channels!").build()).queue();
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING, builder).setTitle("No NSFW").setDescription("You can only execute this command in NSFW channels!").build()).queue();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -7,13 +7,11 @@ package com.bbn.hadder.commands.nsfw;
|
||||||
import com.bbn.hadder.commands.Command;
|
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 okhttp3.OkHttpClient;
|
import okhttp3.OkHttpClient;
|
||||||
import okhttp3.Request;
|
import okhttp3.Request;
|
||||||
import okhttp3.Response;
|
import okhttp3.Response;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.time.Instant;
|
|
||||||
|
|
||||||
public class PornCommand implements Command {
|
public class PornCommand implements Command {
|
||||||
|
|
||||||
|
|
@ -29,11 +27,9 @@ public class PornCommand implements Command {
|
||||||
Response response = caller.newCall(request).execute();
|
Response response = caller.newCall(request).execute();
|
||||||
String url = response.body().string().replace("{\"url\":\"", "");
|
String url = response.body().string().replace("{\"url\":\"", "");
|
||||||
|
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder)
|
|
||||||
.setAuthor("GIF not showing? Click here", url.replace("\"}", ""))
|
.setAuthor("GIF not showing? Click here", url.replace("\"}", ""))
|
||||||
.setImage(url.replace("\"}", ""))
|
.setImage(url.replace("\"}", ""))
|
||||||
.setTimestamp(Instant.now())
|
|
||||||
.setFooter("Porn")
|
.setFooter("Porn")
|
||||||
.build()).queue();
|
.build()).queue();
|
||||||
|
|
||||||
|
|
@ -42,8 +38,7 @@ public class PornCommand implements Command {
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING).setTitle("No NSFW").setDescription("You can only execute this command in NSFW channels!").build()).queue();
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING, builder).setTitle("No NSFW").setDescription("You can only execute this command in NSFW channels!").build()).queue();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -7,13 +7,11 @@ package com.bbn.hadder.commands.nsfw;
|
||||||
import com.bbn.hadder.commands.Command;
|
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 okhttp3.OkHttpClient;
|
import okhttp3.OkHttpClient;
|
||||||
import okhttp3.Request;
|
import okhttp3.Request;
|
||||||
import okhttp3.Response;
|
import okhttp3.Response;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.time.Instant;
|
|
||||||
|
|
||||||
public class PussyCommand implements Command {
|
public class PussyCommand implements Command {
|
||||||
|
|
||||||
|
|
@ -29,11 +27,9 @@ public class PussyCommand implements Command {
|
||||||
Response response = caller.newCall(request).execute();
|
Response response = caller.newCall(request).execute();
|
||||||
String url = response.body().string().replace("{\"url\":\"", "");
|
String url = response.body().string().replace("{\"url\":\"", "");
|
||||||
|
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder)
|
|
||||||
.setAuthor("GIF not showing? Click here", url.replace("\"}", ""))
|
.setAuthor("GIF not showing? Click here", url.replace("\"}", ""))
|
||||||
.setImage(url.replace("\"}", ""))
|
.setImage(url.replace("\"}", ""))
|
||||||
.setTimestamp(Instant.now())
|
|
||||||
.setFooter("Pussy")
|
.setFooter("Pussy")
|
||||||
.build()).queue();
|
.build()).queue();
|
||||||
|
|
||||||
|
|
@ -42,8 +38,7 @@ public class PussyCommand implements Command {
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING).setTitle("No NSFW").setDescription("You can only execute this command in NSFW channels!").build()).queue();
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING, builder).setTitle("No NSFW").setDescription("You can only execute this command in NSFW channels!").build()).queue();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -7,13 +7,11 @@ package com.bbn.hadder.commands.nsfw;
|
||||||
import com.bbn.hadder.commands.Command;
|
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 okhttp3.OkHttpClient;
|
import okhttp3.OkHttpClient;
|
||||||
import okhttp3.Request;
|
import okhttp3.Request;
|
||||||
import okhttp3.Response;
|
import okhttp3.Response;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.time.Instant;
|
|
||||||
|
|
||||||
public class TransCommand implements Command {
|
public class TransCommand implements Command {
|
||||||
|
|
||||||
|
|
@ -29,11 +27,9 @@ public class TransCommand implements Command {
|
||||||
Response response = caller.newCall(request).execute();
|
Response response = caller.newCall(request).execute();
|
||||||
String url = response.body().string().replace("{\"url\":\"", "");
|
String url = response.body().string().replace("{\"url\":\"", "");
|
||||||
|
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder)
|
|
||||||
.setAuthor("Image not showing? Click here", url.replace("\"}", ""))
|
.setAuthor("Image not showing? Click here", url.replace("\"}", ""))
|
||||||
.setImage(url.replace("\"}", ""))
|
.setImage(url.replace("\"}", ""))
|
||||||
.setTimestamp(Instant.now())
|
|
||||||
.setFooter("Trans")
|
.setFooter("Trans")
|
||||||
.build()).queue();
|
.build()).queue();
|
||||||
|
|
||||||
|
|
@ -42,8 +38,7 @@ public class TransCommand implements Command {
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING).setTitle("No NSFW").setDescription("You can only execute this command in NSFW channels!").build()).queue();
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING, builder).setTitle("No NSFW").setDescription("You can only execute this command in NSFW channels!").build()).queue();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
101
src/main/java/com/bbn/hadder/commands/owner/EvalCommand.java
Normal file
101
src/main/java/com/bbn/hadder/commands/owner/EvalCommand.java
Normal file
|
|
@ -0,0 +1,101 @@
|
||||||
|
package com.bbn.hadder.commands.owner;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @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 javax.script.ScriptEngine;
|
||||||
|
import javax.script.ScriptEngineManager;
|
||||||
|
import javax.script.ScriptException;
|
||||||
|
import java.util.concurrent.Executors;
|
||||||
|
import java.util.concurrent.ScheduledExecutorService;
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
|
public class EvalCommand implements Command {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void executed(String[] args, CommandEvent event) {
|
||||||
|
if (event.getConfig().getOwners().toString().contains(event.getAuthor().getId())) {
|
||||||
|
if (args.length > 0) {
|
||||||
|
ScriptEngine engine = new ScriptEngineManager().getEngineByName("nashorn");
|
||||||
|
|
||||||
|
try {
|
||||||
|
engine.eval("var imports = new JavaImporter(java.io, java.lang, java.util);");
|
||||||
|
} catch (ScriptException ex) {
|
||||||
|
ex.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
engine.put("msg", event.getMessage());
|
||||||
|
engine.put("shradmanager", Hadder.shardManager);
|
||||||
|
engine.put("rethink", event.getRethink());
|
||||||
|
engine.put("event", event);
|
||||||
|
engine.put("jda", event.getJDA());
|
||||||
|
engine.put("message", event.getMessage());
|
||||||
|
engine.put("guild", event.getGuild());
|
||||||
|
engine.put("channel", event.getChannel());
|
||||||
|
engine.put("author", event.getAuthor());
|
||||||
|
engine.put("member", event.getMember());
|
||||||
|
engine.put("self", event.getGuild().getSelfMember());
|
||||||
|
|
||||||
|
ScheduledExecutorService service = Executors.newScheduledThreadPool(1);
|
||||||
|
|
||||||
|
service.schedule(() -> {
|
||||||
|
|
||||||
|
long startExec = System.currentTimeMillis();
|
||||||
|
Object out;
|
||||||
|
|
||||||
|
try {
|
||||||
|
String script = "";
|
||||||
|
for (int i = 0; i < args.length; i++) {
|
||||||
|
args[i] = args[i].replace("```java", "").replace("```", "");
|
||||||
|
script += i == args.length-1 ? args[i]:args[i]+" ";
|
||||||
|
}
|
||||||
|
out = engine.eval(script);
|
||||||
|
|
||||||
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
|
||||||
|
.setTitle("Eval Command")
|
||||||
|
.addField("Input", "```java\n\n" + script + "```", false)
|
||||||
|
.addField("Output", "```java\n\n" + out.toString() + "```", false)
|
||||||
|
.addField("Timing", System.currentTimeMillis()-startExec + " milliseconds", false)
|
||||||
|
.build()).queue();
|
||||||
|
} catch (Exception ex) {
|
||||||
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
|
||||||
|
.setTitle("Eval Command")
|
||||||
|
.addField("Error", "```java\n\n" + ex.getMessage() + "```", false)
|
||||||
|
.addField("Timing", System.currentTimeMillis()-startExec + " milliseconds", false)
|
||||||
|
.build()).queue();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
service.shutdownNow();
|
||||||
|
|
||||||
|
}, 0, TimeUnit.MILLISECONDS);
|
||||||
|
|
||||||
|
} else {
|
||||||
|
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel());
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION).build()).queue();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String[] labels() {
|
||||||
|
return new String[]{"eval"};
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String description() {
|
||||||
|
return "Execute the given code";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String usage() {
|
||||||
|
return "<Code to execute>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,46 @@
|
||||||
|
package com.bbn.hadder.commands.owner;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @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.entities.Guild;
|
||||||
|
|
||||||
|
public class GuildLeaveCommand implements Command {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void executed(String[] args, CommandEvent event) {
|
||||||
|
if (event.getConfig().getOwners().toString().contains(event.getAuthor().getId())) {
|
||||||
|
if (args.length > 0) {
|
||||||
|
Guild guild = event.getJDA().getGuildById(args[0]);
|
||||||
|
guild.leave().queue();
|
||||||
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
|
||||||
|
.setTitle("Successfully left")
|
||||||
|
.setDescription("I successfully left " + guild.getName())
|
||||||
|
.build()).queue();
|
||||||
|
} else {
|
||||||
|
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel());
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION).build()).queue();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String[] labels() {
|
||||||
|
return new String[]{"guildleave"};
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String description() {
|
||||||
|
return "Quit from a guild";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String usage() {
|
||||||
|
return "<Guild-ID>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -7,25 +7,22 @@ package com.bbn.hadder.commands.owner;
|
||||||
import com.bbn.hadder.commands.Command;
|
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;
|
|
||||||
|
|
||||||
|
|
||||||
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.getConfig().getOwners().toString().contains(event.getAuthor().getId())) {
|
||||||
|
Runtime.getRuntime().exit(69);
|
||||||
} else {
|
} else {
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION).build()).queue();
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION, builder).build()).queue();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String[] labels() {
|
public String[] labels() {
|
||||||
return new String[]{"restart"};
|
return new String[]{"restart", "restart"};
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
||||||
|
|
@ -7,26 +7,24 @@ package com.bbn.hadder.commands.owner;
|
||||||
import com.bbn.hadder.commands.Command;
|
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;
|
|
||||||
|
|
||||||
public class ShutdownCommand implements Command {
|
public class ShutdownCommand 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.getConfig().getOwners().toString().contains(event.getAuthor().getId())) {
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO).setTitle("Shutdown").build()).queue();
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder).setTitle("Shutdown").build()).queue();
|
|
||||||
event.getJDA().getShardManager().shutdown();
|
event.getJDA().getShardManager().shutdown();
|
||||||
System.out.println("Bot shut down via Command...");
|
System.out.println("Bot shut down via Command...");
|
||||||
System.exit(0);
|
Runtime.getRuntime().exit(69);
|
||||||
} else {
|
} else {
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION).build()).queue();
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION, builder).build()).queue();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String[] labels() {
|
public String[] labels() {
|
||||||
return new String[]{"shutdown"};
|
return new String[]{"shutdown", "exit"};
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,6 @@ package com.bbn.hadder.commands.settings;
|
||||||
import com.bbn.hadder.commands.Command;
|
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;
|
|
||||||
|
|
||||||
|
|
||||||
public class PrefixCommand implements Command {
|
public class PrefixCommand implements Command {
|
||||||
|
|
@ -15,11 +14,8 @@ public class PrefixCommand implements Command {
|
||||||
public void executed(String[] args, CommandEvent event) {
|
public void executed(String[] args, CommandEvent event) {
|
||||||
if (args.length == 1) {
|
if (args.length == 1) {
|
||||||
event.getRethink().setUserPrefix(args[0], event.getAuthor().getId());
|
event.getRethink().setUserPrefix(args[0], event.getAuthor().getId());
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO).setTitle("✅ Successfully set ✅").setDescription("I successfully set the new prefix for you to " + args[0]).build()).queue();
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder).setTitle("✅ Successfully set ✅").setDescription("I successfully set the new prefix for you to " + args[0]).build()).queue();
|
|
||||||
} else {
|
} else {
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
|
||||||
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING, builder).setDescription("You have to set a prefix.").build()).queue();
|
|
||||||
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel());
|
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -59,6 +59,10 @@ public class Config {
|
||||||
.key("DiscordBotList").value(null)
|
.key("DiscordBotList").value(null)
|
||||||
.key("DiscordBestBots").value(null)
|
.key("DiscordBestBots").value(null)
|
||||||
.key("DiscordBoats").value(null)
|
.key("DiscordBoats").value(null)
|
||||||
|
.key("YetAnotherBotList").value(null)
|
||||||
|
.value("DiscordExtremeList").value(null)
|
||||||
|
.value("DiscordBotReviews").value(null)
|
||||||
|
.value("DiscordBots").value(null)
|
||||||
.endObject().endObject().toString();
|
.endObject().endObject().toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -129,4 +133,12 @@ public class Config {
|
||||||
public String getDiscordBotReviewsToken() {
|
public String getDiscordBotReviewsToken() {
|
||||||
return config.getJSONObject("Tokens").getString("DiscordBotReviews");
|
return config.getJSONObject("Tokens").getString("DiscordBotReviews");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getDiscordBotsToken() {
|
||||||
|
return config.getJSONObject("Tokens").getString("DiscordBots");
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getBotListSpaceToken() {
|
||||||
|
return config.getJSONObject("Tokens").getString("BotListSpace");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@ public class LinkUtils {
|
||||||
|
|
||||||
private void send(Message message, TextChannel channel, User user, List<String> reactions, boolean usedmessagebuilder) {
|
private void send(Message message, TextChannel channel, User user, List<String> reactions, boolean usedmessagebuilder) {
|
||||||
if (!channel.getGuild().getSelfMember().hasPermission(Permission.MANAGE_WEBHOOKS)) {
|
if (!channel.getGuild().getSelfMember().hasPermission(Permission.MANAGE_WEBHOOKS)) {
|
||||||
channel.sendMessage(new EmbedBuilder().setTitle("Wait a sec").setDescription("Please contact the owner of the server to give me the manage webhook permission").build()).queue();
|
channel.sendMessage(new EmbedBuilder().setTitle("Wait a sec").setDescription("Please contact the owner of the server to give me the Manage Webhooks permission").build()).queue();
|
||||||
} else {
|
} else {
|
||||||
channel.retrieveWebhooks().queue(
|
channel.retrieveWebhooks().queue(
|
||||||
webhooks -> {
|
webhooks -> {
|
||||||
|
|
@ -87,9 +87,7 @@ public class LinkUtils {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
} catch (InterruptedException e) {
|
} catch (InterruptedException | ExecutionException e) {
|
||||||
e.printStackTrace();
|
|
||||||
} catch (ExecutionException e) {
|
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -22,14 +22,12 @@ public class CommandListener extends ListenerAdapter {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onMessageReceived(MessageReceivedEvent event) {
|
public void onMessageReceived(MessageReceivedEvent event) {
|
||||||
if (event.isFromType(ChannelType.TEXT)) {
|
if (event.isFromType(ChannelType.TEXT) && !event.getAuthor().isBot()) {
|
||||||
if (!event.getAuthor().isBot()) {
|
String[] prefixes = {rethink.getUserPrefix(event.getAuthor().getId()), rethink.getGuildPrefix(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);
|
return;
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,6 @@ import com.bbn.hadder.Rethink;
|
||||||
import com.bbn.hadder.core.Config;
|
import com.bbn.hadder.core.Config;
|
||||||
import com.bbn.hadder.utils.BotList;
|
import com.bbn.hadder.utils.BotList;
|
||||||
import com.bbn.hadder.utils.MessageEditor;
|
import com.bbn.hadder.utils.MessageEditor;
|
||||||
import net.dv8tion.jda.api.EmbedBuilder;
|
|
||||||
import net.dv8tion.jda.api.entities.Member;
|
import net.dv8tion.jda.api.entities.Member;
|
||||||
import net.dv8tion.jda.api.events.guild.GuildJoinEvent;
|
import net.dv8tion.jda.api.events.guild.GuildJoinEvent;
|
||||||
import net.dv8tion.jda.api.events.guild.GuildLeaveEvent;
|
import net.dv8tion.jda.api.events.guild.GuildLeaveEvent;
|
||||||
|
|
@ -37,8 +36,7 @@ public class GuildListener extends ListenerAdapter {
|
||||||
}).start();
|
}).start();
|
||||||
|
|
||||||
rethink.insertGuild(event.getGuild().getId());
|
rethink.insertGuild(event.getGuild().getId());
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
event.getJDA().getTextChannelById("475722540140986369").sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
|
||||||
event.getJDA().getTextChannelById("475722540140986369").sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder)
|
|
||||||
.setTitle("Joined Server")
|
.setTitle("Joined Server")
|
||||||
.setThumbnail(event.getGuild().getIconUrl())
|
.setThumbnail(event.getGuild().getIconUrl())
|
||||||
.addField("Name", event.getGuild().getName(), true)
|
.addField("Name", event.getGuild().getName(), true)
|
||||||
|
|
@ -53,8 +51,7 @@ public class GuildListener extends ListenerAdapter {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onGuildLeave(GuildLeaveEvent event) {
|
public void onGuildLeave(GuildLeaveEvent event) {
|
||||||
EmbedBuilder builder = new EmbedBuilder();
|
event.getJDA().getTextChannelById("475722540140986369").sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
|
||||||
event.getJDA().getTextChannelById("475722540140986369").sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder)
|
|
||||||
.setTitle("Left Server")
|
.setTitle("Left Server")
|
||||||
.setThumbnail(event.getGuild().getIconUrl())
|
.setThumbnail(event.getGuild().getIconUrl())
|
||||||
.addField("Name", event.getGuild().getName(), true)
|
.addField("Name", event.getGuild().getName(), true)
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,97 @@
|
||||||
|
package com.bbn.hadder.listener;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @author Skidder / GregTCLTK
|
||||||
|
*/
|
||||||
|
|
||||||
|
import com.bbn.hadder.Rethink;
|
||||||
|
import net.dv8tion.jda.api.Permission;
|
||||||
|
import net.dv8tion.jda.api.entities.ChannelType;
|
||||||
|
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
|
||||||
|
import net.dv8tion.jda.api.events.message.MessageUpdateEvent;
|
||||||
|
import net.dv8tion.jda.api.hooks.ListenerAdapter;
|
||||||
|
import okhttp3.OkHttpClient;
|
||||||
|
import okhttp3.Request;
|
||||||
|
import okhttp3.Response;
|
||||||
|
import org.json.JSONObject;
|
||||||
|
|
||||||
|
import javax.annotation.Nonnull;
|
||||||
|
|
||||||
|
public class InviteLinkListener extends ListenerAdapter {
|
||||||
|
|
||||||
|
private Rethink rethink;
|
||||||
|
|
||||||
|
public InviteLinkListener(Rethink rethink) {
|
||||||
|
this.rethink = rethink;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onMessageReceived(@Nonnull MessageReceivedEvent event) {
|
||||||
|
if (event.isFromType(ChannelType.TEXT)) {
|
||||||
|
if (event.getMessage().getContentRaw().contains("discord.gg/")) {
|
||||||
|
if (!event.getMember().hasPermission(Permission.ADMINISTRATOR) && rethink.getInviteDetection(event.getGuild().getId())) {
|
||||||
|
String split = event.getMessage().getContentRaw().split("discord.gg/", 10)[1];
|
||||||
|
String invite = split.split(" ")[0];
|
||||||
|
OkHttpClient client = new OkHttpClient();
|
||||||
|
Request request = new Request.Builder().url("https://canary.discordapp.com/api/v6/invites/" + invite).build();
|
||||||
|
try {
|
||||||
|
Response response = client.newCall(request).execute();
|
||||||
|
JSONObject json = new JSONObject(response.body().string());
|
||||||
|
if (!json.toString().contains("\"message\":")) {
|
||||||
|
event.getMessage().delete().reason("Invite Link detected").queue();
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if (event.getMessage().getContentRaw().contains("discordapp.com/invite") && !event.getMember().hasPermission(Permission.ADMINISTRATOR) && rethink.getInviteDetection(event.getGuild().getId())) {
|
||||||
|
String split = event.getMessage().getContentRaw().split("discordapp.com/invite/", 10)[1];
|
||||||
|
String invite = split.split(" ")[0];
|
||||||
|
OkHttpClient client = new OkHttpClient();
|
||||||
|
Request request = new Request.Builder().url("https://canary.discordapp.com/api/v6/invites/" + invite).build();
|
||||||
|
try {
|
||||||
|
Response response = client.newCall(request).execute();
|
||||||
|
JSONObject json = new JSONObject(response.body().string());
|
||||||
|
if (!json.toString().contains("\"message\":")) {
|
||||||
|
event.getMessage().delete().reason("Invite Link detected").queue();
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onMessageUpdate(@Nonnull MessageUpdateEvent event) {
|
||||||
|
if (event.isFromType(ChannelType.TEXT) && event.getMessage().getContentRaw().contains("discord.gg/") && !event.getMember().hasPermission(Permission.ADMINISTRATOR) && rethink.getInviteDetection(event.getGuild().getId())) {
|
||||||
|
String split = event.getMessage().getContentRaw().split("discord.gg/", 10)[1];
|
||||||
|
String invite = split.split(" ")[0];
|
||||||
|
OkHttpClient client = new OkHttpClient();
|
||||||
|
Request request = new Request.Builder().url("https://canary.discordapp.com/api/v6/invites/" + invite).build();
|
||||||
|
try {
|
||||||
|
Response response = client.newCall(request).execute();
|
||||||
|
JSONObject json = new JSONObject(response.body().string());
|
||||||
|
if (!json.toString().contains("\"message\":")) {
|
||||||
|
event.getMessage().delete().reason("Invite Link detected").queue();
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
} else if (event.getMessage().getContentRaw().contains("discordapp.com/invite") && !event.getMember().hasPermission(Permission.ADMINISTRATOR) && rethink.getInviteDetection(event.getGuild().getId())) {
|
||||||
|
String split = event.getMessage().getContentRaw().split("discordapp.com/invite/", 10)[1];
|
||||||
|
String invite = split.split(" ")[0];
|
||||||
|
OkHttpClient client = new OkHttpClient();
|
||||||
|
Request request = new Request.Builder().url("https://canary.discordapp.com/api/v6/invites/" + invite).build();
|
||||||
|
try {
|
||||||
|
Response response = client.newCall(request).execute();
|
||||||
|
JSONObject json = new JSONObject(response.body().string());
|
||||||
|
if (!json.toString().contains("\"message\":")) {
|
||||||
|
event.getMessage().delete().reason("Invite Link detected").queue();
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -3,8 +3,8 @@ package com.bbn.hadder.listener;
|
||||||
import com.bbn.hadder.Rethink;
|
import com.bbn.hadder.Rethink;
|
||||||
import com.bbn.hadder.core.LinkUtils;
|
import com.bbn.hadder.core.LinkUtils;
|
||||||
import com.bbn.hadder.utils.MessageEditor;
|
import com.bbn.hadder.utils.MessageEditor;
|
||||||
import net.dv8tion.jda.api.EmbedBuilder;
|
|
||||||
import net.dv8tion.jda.api.Permission;
|
import net.dv8tion.jda.api.Permission;
|
||||||
|
import net.dv8tion.jda.api.entities.ChannelType;
|
||||||
import net.dv8tion.jda.api.entities.MessageEmbed;
|
import net.dv8tion.jda.api.entities.MessageEmbed;
|
||||||
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
|
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
|
||||||
import net.dv8tion.jda.api.events.message.react.MessageReactionAddEvent;
|
import net.dv8tion.jda.api.events.message.react.MessageReactionAddEvent;
|
||||||
|
|
@ -15,7 +15,7 @@ import java.util.ArrayList;
|
||||||
|
|
||||||
public class LinkListener extends ListenerAdapter {
|
public class LinkListener extends ListenerAdapter {
|
||||||
|
|
||||||
Rethink rethink;
|
private Rethink rethink;
|
||||||
|
|
||||||
public LinkListener(Rethink rethink) {
|
public LinkListener(Rethink rethink) {
|
||||||
this.rethink = rethink;
|
this.rethink = rethink;
|
||||||
|
|
@ -25,44 +25,38 @@ public class LinkListener extends ListenerAdapter {
|
||||||
public void onMessageReactionAdd(@Nonnull MessageReactionAddEvent event) {
|
public void onMessageReactionAdd(@Nonnull MessageReactionAddEvent event) {
|
||||||
event.getChannel().retrieveMessageById(event.getMessageId()).queue(
|
event.getChannel().retrieveMessageById(event.getMessageId()).queue(
|
||||||
msg -> {
|
msg -> {
|
||||||
if (event.getMember().hasPermission(Permission.MANAGE_CHANNEL)) {
|
if (!event.getMember().getUser().equals(event.getJDA().getSelfUser()) && msg.getAuthor().equals(event.getJDA().getSelfUser()) && msg.getEmbeds().size() == 1 && msg.getEmbeds().get(0).getFooter() == null && msg.getEmbeds().get(0).getTitle().endsWith(") wants to link guilds!")) {
|
||||||
if (!event.getMember().getUser().equals(event.getJDA().getSelfUser())) {
|
if (event.getMember().hasPermission(Permission.MANAGE_CHANNEL)) {
|
||||||
if (msg.getAuthor().equals(event.getJDA().getSelfUser())) {
|
String requestguild = msg.getEmbeds().get(0).getTitle().replaceAll("\\) wants to link guilds!", "");
|
||||||
if (msg.getEmbeds().size() == 1) {
|
String requestguildid = null;
|
||||||
if (msg.getEmbeds().get(0).getFooter() == null) {
|
for (int i = requestguild.length() - 1; i >= 0; i--) {
|
||||||
if (msg.getEmbeds().get(0).getTitle().endsWith(") wants to link guilds!")) {
|
if (String.valueOf(requestguild.charAt(i)).equals("(")) {
|
||||||
String requestguild = msg.getEmbeds().get(0).getTitle().replaceAll("\\) wants to link guilds!", "");
|
requestguildid = requestguild.substring(i + 1);
|
||||||
String requestguildid = null;
|
break;
|
||||||
for (int i = requestguild.length() - 1; i >= 0; i--) {
|
|
||||||
if (String.valueOf(requestguild.charAt(i)).equals("(")) {
|
|
||||||
requestguildid = requestguild.substring(i + 1);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (requestguildid != null) {
|
|
||||||
if (event.getReactionEmote().getName().equals("✅")) {
|
|
||||||
rethink.addLinkedGuild(event.getGuild().getId(), requestguildid);
|
|
||||||
rethink.addLinkedGuild(requestguildid, event.getGuild().getId());
|
|
||||||
|
|
||||||
msg.delete().queue();
|
|
||||||
|
|
||||||
MessageEmbed msgembed = new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO,
|
|
||||||
new EmbedBuilder().setTitle("Guilds linked!").setDescription("The Guild allowed the link. Have fun!")).build();
|
|
||||||
event.getChannel().sendMessage(msgembed).queue();
|
|
||||||
event.getJDA().getTextChannelById(rethink.getLinkChannel(requestguildid)).sendMessage(msgembed).queue();
|
|
||||||
} else if (event.getReactionEmote().getName().equals("❌")) {
|
|
||||||
msg.delete().queue();
|
|
||||||
|
|
||||||
MessageEmbed msgembed = new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO,
|
|
||||||
new EmbedBuilder().setTitle("Guild linking denied.").setDescription("The Guild denied the link. :(")).build();
|
|
||||||
event.getChannel().sendMessage(msgembed).queue();
|
|
||||||
event.getJDA().getTextChannelById(rethink.getLinkChannel(requestguildid)).sendMessage(msgembed).queue();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (requestguildid != null) {
|
||||||
|
if (event.getReactionEmote().getName().equals("✅")) {
|
||||||
|
rethink.addLinkedGuild(event.getGuild().getId(), requestguildid);
|
||||||
|
rethink.addLinkedGuild(requestguildid, event.getGuild().getId());
|
||||||
|
|
||||||
|
msg.delete().queue();
|
||||||
|
|
||||||
|
MessageEmbed msgembed = new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
|
||||||
|
.setTitle("Guilds linked!").setDescription("The Guild allowed the link. Have fun!").build();
|
||||||
|
event.getChannel().sendMessage(msgembed).queue();
|
||||||
|
event.getJDA().getTextChannelById(rethink.getLinkChannel(requestguildid)).sendMessage(msgembed).queue();
|
||||||
|
} else if (event.getReactionEmote().getName().equals("❌")) {
|
||||||
|
msg.delete().queue();
|
||||||
|
|
||||||
|
MessageEmbed msgembed = new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
|
||||||
|
.setTitle("Guild linking denied.").setDescription("The Guild denied the linking. :(").build();
|
||||||
|
event.getChannel().sendMessage(msgembed).queue();
|
||||||
|
event.getJDA().getTextChannelById(rethink.getLinkChannel(requestguildid)).sendMessage(msgembed).queue();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION).build()).queue();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -71,11 +65,9 @@ public class LinkListener extends ListenerAdapter {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onMessageReceived(@Nonnull MessageReceivedEvent event) {
|
public void onMessageReceived(@Nonnull MessageReceivedEvent event) {
|
||||||
if (!event.isWebhookMessage()) {
|
if (!event.isWebhookMessage() && event.getChannel().getId().equals(rethink.getLinkChannel(event.getGuild().getId())) && event.isFromType(ChannelType.TEXT)) {
|
||||||
if (event.getChannel().getId().equals(rethink.getLinkChannel(event.getGuild().getId()))) {
|
|
||||||
new LinkUtils().sendAll(rethink.getLinks(event.getGuild().getId()), event.getJDA(), event.getMessage(), event.getAuthor(), new ArrayList<>() {
|
new LinkUtils().sendAll(rethink.getLinks(event.getGuild().getId()), event.getJDA(), event.getMessage(), event.getAuthor(), new ArrayList<>() {
|
||||||
}, rethink, false);
|
}, rethink, false);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,6 @@ package com.bbn.hadder.listener;
|
||||||
|
|
||||||
import com.bbn.hadder.Rethink;
|
import com.bbn.hadder.Rethink;
|
||||||
import com.bbn.hadder.utils.MessageEditor;
|
import com.bbn.hadder.utils.MessageEditor;
|
||||||
import net.dv8tion.jda.api.EmbedBuilder;
|
|
||||||
import net.dv8tion.jda.api.entities.ChannelType;
|
import net.dv8tion.jda.api.entities.ChannelType;
|
||||||
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
|
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
|
||||||
import net.dv8tion.jda.api.hooks.ListenerAdapter;
|
import net.dv8tion.jda.api.hooks.ListenerAdapter;
|
||||||
|
|
@ -19,17 +18,15 @@ public class MentionListener extends ListenerAdapter {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onMessageReceived(@Nonnull MessageReceivedEvent event) {
|
public void onMessageReceived(@Nonnull MessageReceivedEvent event) {
|
||||||
if (event.isFromType(ChannelType.TEXT)) {
|
if (event.isFromType(ChannelType.TEXT) && event.getMessage().getContentRaw().equals(event.getGuild().getSelfMember().getAsMention())) {
|
||||||
if (event.getMessage().getContentRaw().equals(event.getGuild().getSelfMember().getAsMention())) {
|
event.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
|
||||||
EmbedBuilder builder = new EmbedBuilder()
|
.setTitle("Hello I'm Hadder.")
|
||||||
.setTitle("Hello I'm Hadder.")
|
.setAuthor(event.getJDA().getSelfUser().getName(), event.getJDA().getSelfUser().getAvatarUrl(), event.getJDA().getSelfUser().getAvatarUrl())
|
||||||
.setAuthor(event.getJDA().getSelfUser().getName(), event.getJDA().getSelfUser().getAvatarUrl(), event.getJDA().getSelfUser().getAvatarUrl())
|
.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.getGuildPrefix(event.getGuild().getId()), false)
|
||||||
.addField("Prefix (Guild)", rethink.getGuildPrefix(event.getGuild().getId()), false);
|
.build()).queue();
|
||||||
event.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, builder).build()).queue();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,6 @@ package com.bbn.hadder.listener;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import com.bbn.hadder.utils.MessageEditor;
|
import com.bbn.hadder.utils.MessageEditor;
|
||||||
import net.dv8tion.jda.api.EmbedBuilder;
|
|
||||||
import net.dv8tion.jda.api.entities.ChannelType;
|
import net.dv8tion.jda.api.entities.ChannelType;
|
||||||
import net.dv8tion.jda.api.entities.PrivateChannel;
|
import net.dv8tion.jda.api.entities.PrivateChannel;
|
||||||
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
|
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
|
||||||
|
|
@ -16,21 +15,22 @@ import java.time.Instant;
|
||||||
public class PrivateMessageListener extends ListenerAdapter {
|
public class PrivateMessageListener extends ListenerAdapter {
|
||||||
|
|
||||||
public void onMessageReceived(MessageReceivedEvent event) {
|
public void onMessageReceived(MessageReceivedEvent event) {
|
||||||
if (event.isFromType(ChannelType.PRIVATE)) {
|
if (event.isFromType(ChannelType.PRIVATE) && !event.getAuthor().getId().equals(event.getJDA().getSelfUser().getId())) {
|
||||||
if (!event.getAuthor().getId().equals(event.getJDA().getSelfUser().getId())) {
|
PrivateChannel Skidder = event.getJDA().getUserById("477141528981012511").openPrivateChannel().complete();
|
||||||
|
PrivateChannel Hax = event.getJDA().getUserById("261083609148948488").openPrivateChannel().complete();
|
||||||
|
|
||||||
PrivateChannel Skidder = event.getJDA().getUserById("477141528981012511").openPrivateChannel().complete();
|
Skidder.sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
|
||||||
PrivateChannel Hax = event.getJDA().getUserById("261083609148948488").openPrivateChannel().complete();
|
.setTitle("New DM by " + event.getAuthor().getAsTag())
|
||||||
|
.setAuthor(event.getAuthor().getName(), event.getAuthor().getAvatarUrl(), event.getAuthor().getAvatarUrl())
|
||||||
EmbedBuilder message = new EmbedBuilder()
|
.setDescription(event.getMessage().getContentRaw())
|
||||||
.setTitle("New DM by " + event.getAuthor().getAsTag())
|
.setTimestamp(Instant.now())
|
||||||
.setAuthor(event.getAuthor().getName(), event.getAuthor().getAvatarUrl(), event.getAuthor().getAvatarUrl())
|
.build()).queue();
|
||||||
.setDescription(event.getMessage().getContentRaw())
|
Hax.sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
|
||||||
.setTimestamp(Instant.now());
|
.setTitle("New DM by " + event.getAuthor().getAsTag())
|
||||||
|
.setAuthor(event.getAuthor().getName(), event.getAuthor().getAvatarUrl(), event.getAuthor().getAvatarUrl())
|
||||||
Skidder.sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, message).build()).queue();
|
.setDescription(event.getMessage().getContentRaw())
|
||||||
Hax.sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO, message).build()).queue();
|
.setTimestamp(Instant.now())
|
||||||
}
|
.build()).queue();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ package com.bbn.hadder.listener;
|
||||||
|
|
||||||
import com.bbn.hadder.Rethink;
|
import com.bbn.hadder.Rethink;
|
||||||
import net.dv8tion.jda.api.events.message.react.MessageReactionAddEvent;
|
import net.dv8tion.jda.api.events.message.react.MessageReactionAddEvent;
|
||||||
|
import net.dv8tion.jda.api.events.message.react.MessageReactionRemoveEvent;
|
||||||
import net.dv8tion.jda.api.hooks.ListenerAdapter;
|
import net.dv8tion.jda.api.hooks.ListenerAdapter;
|
||||||
|
|
||||||
public class RulesListener extends ListenerAdapter {
|
public class RulesListener extends ListenerAdapter {
|
||||||
|
|
@ -18,10 +19,33 @@ public class RulesListener extends ListenerAdapter {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onMessageReactionAdd(MessageReactionAddEvent event) {
|
public void onMessageReactionAdd(MessageReactionAddEvent event) {
|
||||||
if (event.getMessageId().equals(rethink.getRulesMID(event.getGuild().getId()))) {
|
if (event.getMessageId().equals(rethink.getRulesMID(event.getGuild().getId())) && !event.getMember().getUser().isBot()) {
|
||||||
if (!event.getMember().getUser().isBot()) {
|
if (event.getReactionEmote().isEmote()) {
|
||||||
event.getGuild().addRoleToMember(event.getMember(), event.getGuild().getRoleById(rethink.getRulesRID(event.getGuild().getId()))).queue();
|
if (rethink.getRulesAEmote(event.getGuild().getId()).contains(event.getReactionEmote().getId())) {
|
||||||
|
event.getGuild().addRoleToMember(event.getMember(), event.getGuild().getRoleById(rethink.getRulesRID(event.getGuild().getId()))).reason("Accepted rules").queue();
|
||||||
|
} else if (rethink.getRulesDEmote(event.getGuild().getId()).contains(event.getReactionEmote().getId())) {
|
||||||
|
event.getReaction().removeReaction(event.getUser()).queue();
|
||||||
|
if (event.getGuild().getSelfMember().canInteract(event.getMember())) {
|
||||||
|
event.getMember().kick().reason("Declined the rules");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (event.getReactionEmote().getEmoji().equals(rethink.getRulesAEmote(event.getGuild().getId()))) {
|
||||||
|
event.getGuild().addRoleToMember(event.getMember(), event.getGuild().getRoleById(rethink.getRulesRID(event.getGuild().getId()))).reason("Accepted rules").queue();
|
||||||
|
} else if (event.getReactionEmote().getEmoji().equals(rethink.getRulesDEmote(event.getGuild().getId()))) {
|
||||||
|
event.getReaction().removeReaction(event.getUser()).queue();
|
||||||
|
if (event.getGuild().getSelfMember().canInteract(event.getMember())) {
|
||||||
|
event.getMember().kick().reason("Declined the rules");
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onMessageReactionRemove(MessageReactionRemoveEvent event) {
|
||||||
|
if (event.getMessageId().equals(rethink.getRulesMID(event.getGuild().getId())) && !event.getMember().getUser().isBot()) {
|
||||||
|
event.getGuild().removeRoleFromMember(event.getMember(), event.getGuild().getRoleById(rethink.getRulesRID(event.getGuild().getId()))).reason("Withdrawal of the acceptance of the rules").queue();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,25 @@
|
||||||
|
package com.bbn.hadder.utils;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @author Skidder / GregTCLTK
|
||||||
|
*/
|
||||||
|
|
||||||
|
import net.dv8tion.jda.api.audio.AudioSendHandler;
|
||||||
|
|
||||||
|
import javax.annotation.Nullable;
|
||||||
|
import java.nio.ByteBuffer;
|
||||||
|
|
||||||
|
public class AudioPlayerSendHandler implements AudioSendHandler {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean canProvide() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Nullable
|
||||||
|
@Override
|
||||||
|
public ByteBuffer provide20MsAudio() {
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -26,6 +26,8 @@ public class BotList {
|
||||||
private static String YetAnotherBotList = "https://yabl.xyz/api/bot/637002314162372639/stats";
|
private static String YetAnotherBotList = "https://yabl.xyz/api/bot/637002314162372639/stats";
|
||||||
private static String DiscordExtremeList = "https://discordextremelist.xyz/api/bot/637002314162372639";
|
private static String DiscordExtremeList = "https://discordextremelist.xyz/api/bot/637002314162372639";
|
||||||
private static String DiscordBotReviews = "https://discordbotreviews.xyz/api/bot/637002314162372639/stats";
|
private static String DiscordBotReviews = "https://discordbotreviews.xyz/api/bot/637002314162372639/stats";
|
||||||
|
private static String DiscordBots = "https://top.gg/api/bots/637002314162372639/stats";
|
||||||
|
private static String BotListSpace = "https://api.botlist.space/v1/bots/637002314162372639";
|
||||||
|
|
||||||
private Config config;
|
private Config config;
|
||||||
|
|
||||||
|
|
@ -40,6 +42,7 @@ public class BotList {
|
||||||
json.put("guildCount", 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());
|
||||||
|
json.put("shard_count", Hadder.shardManager.getShards().size());
|
||||||
|
|
||||||
RequestBody body = RequestBody.create(MediaType.parse("application/json"), json.toString());
|
RequestBody body = RequestBody.create(MediaType.parse("application/json"), json.toString());
|
||||||
|
|
||||||
|
|
@ -143,7 +146,7 @@ public class BotList {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
new OkHttpClient().newCall(discordextremelist).execute().close();
|
new OkHttpClient().newCall(discordextremelist).execute().close();
|
||||||
System.out.println("Successfully posted count to the Discord Extreme List!");
|
System.out.println("Successfully posted count for the Discord Extreme List!");
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|
@ -162,7 +165,36 @@ public class BotList {
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Discord Bots
|
||||||
|
|
||||||
|
Request discordbots = new Request.Builder()
|
||||||
|
.url(DiscordBots)
|
||||||
|
.post(body)
|
||||||
|
.addHeader("Authorization", config.getDiscordBotsToken())
|
||||||
|
.build();
|
||||||
|
|
||||||
|
try {
|
||||||
|
new OkHttpClient().newCall(discordbots).execute().close();
|
||||||
|
System.out.println("Successfully posted count to Discord Bots!");
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
// BotListSpace
|
||||||
|
|
||||||
|
Request botlistspace = new Request.Builder()
|
||||||
|
.url(BotListSpace)
|
||||||
|
.post(body)
|
||||||
|
.addHeader("Authorization", config.getBotListSpaceToken())
|
||||||
|
.build();
|
||||||
|
|
||||||
|
try {
|
||||||
|
new OkHttpClient().newCall(botlistspace).execute().close();
|
||||||
|
System.out.println("Successfully posted count to BotList.Space!");
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,32 +3,53 @@ package com.bbn.hadder.utils;
|
||||||
import net.dv8tion.jda.api.EmbedBuilder;
|
import net.dv8tion.jda.api.EmbedBuilder;
|
||||||
|
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
|
import java.time.Instant;
|
||||||
|
|
||||||
public class MessageEditor {
|
public class MessageEditor {
|
||||||
|
|
||||||
public EmbedBuilder setDefaultSettings(MessageType type, EmbedBuilder embedBuilder) {
|
public EmbedBuilder setDefaultSettings(MessageType type) {
|
||||||
|
EmbedBuilder builder = new EmbedBuilder();
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case INFO:
|
case INFO:
|
||||||
embedBuilder.setColor(new Color(47,94,105));
|
builder
|
||||||
|
.setColor(new Color(47, 94, 105))
|
||||||
|
.setFooter("Hadder", "https://bigbotnetwork.com/images/Hadder.png")
|
||||||
|
.setTimestamp(Instant.now());
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ERROR:
|
case ERROR:
|
||||||
embedBuilder.setColor(Color.RED);
|
builder
|
||||||
|
.setColor(Color.RED)
|
||||||
|
.setFooter("Hadder", "https://bigbotnetwork.com/images/Hadder.png")
|
||||||
|
.setTimestamp(Instant.now());
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case WARNING:
|
case WARNING:
|
||||||
embedBuilder.setColor(Color.ORANGE);
|
builder
|
||||||
|
.setColor(Color.ORANGE)
|
||||||
|
.setFooter("Hadder", "https://bigbotnetwork.com/images/Hadder.png")
|
||||||
|
.setTimestamp(Instant.now());
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case NO_PERMISSION:
|
case NO_PERMISSION:
|
||||||
embedBuilder.setTitle("⛔ No Permission ⛔").setDescription("You are not authorized to execute this command!").setColor(Color.RED);
|
builder
|
||||||
|
.setTitle("⛔ No Permission ⛔")
|
||||||
|
.setDescription("You are not authorized to execute this command!")
|
||||||
|
.setColor(Color.RED)
|
||||||
|
.setFooter("Hadder", "https://bigbotnetwork.com/images/Hadder.png")
|
||||||
|
.setTimestamp(Instant.now());
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case NO_SELF_PERMISSION:
|
case NO_SELF_PERMISSION:
|
||||||
embedBuilder.setTitle("⛔ No Permission ⛔").setDescription("Unfortunately, I do not have the required rights to perform this action").setColor(Color.RED);
|
builder
|
||||||
|
.setTitle("⛔ No Permission ⛔")
|
||||||
|
.setDescription("Unfortunately, I do not have the required rights to perform this action")
|
||||||
|
.setColor(Color.RED)
|
||||||
|
.setFooter("Hadder", "https://bigbotnetwork.com/images/Hadder.png")
|
||||||
|
.setTimestamp(Instant.now());
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return embedBuilder;
|
return builder;
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum MessageType {
|
public enum MessageType {
|
||||||
|
|
@ -38,5 +59,4 @@ public class MessageEditor {
|
||||||
NO_PERMISSION,
|
NO_PERMISSION,
|
||||||
NO_SELF_PERMISSION
|
NO_SELF_PERMISSION
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue