Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 5 additions & 7 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -29,14 +29,12 @@ dependencies {
compile group: 'ch.qos.logback', name: 'logback-classic', version: '1.2.3'
compile group: 'com.mashape.unirest', name: 'unirest-java', version: '1.3.1'

// [JDA:feature/selection-menus]
// compile 'com.github.dv8fromtheworld:jda:bac73c8f090eee8ce8b6f08605bf2e5096a65b80'

// [JDA:feature/threads]
// compile 'com.github.dv8fromtheworld:jda:a85ca7eeb2b423712cc25e98eff2b72f20395fe3'

// SlashCommands (+ Buttons) feature branch
//compile 'com.github.dv8fromtheworld:jda:f957801'
//compile group:'org.xerial', name:'sqlite-jdbc', version:'3.8.11.2'
//compile 'com.googlecode.json-simple:json-simple:1.1.1'
//compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.9.4'
//compile group: 'com.jcabi', name: 'jcabi-aspects', version: '0.22.6'
//compile 'com.jagrosh:jda-utilities-doc:3.0.5'
}

jar {
Expand Down
5 changes: 0 additions & 5 deletions src/main/java/com/javadiscord/javabot/SlashCommands.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,7 @@
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import com.javadiscord.javabot.commands.SlashCommandHandler;
import com.javadiscord.javabot.commands.other.Question;
import com.javadiscord.javabot.commands.other.qotw.Correct;
import com.javadiscord.javabot.commands.other.suggestions.Accept;
import com.javadiscord.javabot.commands.other.suggestions.Clear;
import com.javadiscord.javabot.commands.other.suggestions.Decline;
import com.javadiscord.javabot.commands.other.suggestions.Respond;
import com.javadiscord.javabot.other.Constants;
import com.javadiscord.javabot.properties.command.CommandConfig;
import com.javadiscord.javabot.properties.command.CommandDataConfig;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
import net.dv8tion.jda.api.entities.TextChannel;
import net.dv8tion.jda.api.events.interaction.SlashCommandEvent;
import net.dv8tion.jda.api.exceptions.HierarchyException;
import net.dv8tion.jda.api.interactions.commands.OptionMapping;

import java.util.Date;
import java.util.concurrent.TimeUnit;
Expand All @@ -24,12 +25,10 @@ public void handle(SlashCommandEvent event) {

Member member = event.getOption("user").getAsMember();
String modTag = event.getUser().getAsTag();
String reason;
try {
reason = event.getOption("reason").getAsString();
} catch (NullPointerException e) {
reason = "None";
}

OptionMapping option = event.getOption("reason");
String reason = option == null ? "None" : option.getAsString();

var eb = new EmbedBuilder()
.setAuthor(member.getUser().getAsTag() + " | Ban", null, member.getUser().getEffectiveAvatarUrl())
.setColor(Constants.RED)
Expand All @@ -52,7 +51,6 @@ public void handle(SlashCommandEvent event) {
Misc.sendToLog(event, eb);
member.getUser().openPrivateChannel().complete().sendMessage(eb).queue();


} catch (HierarchyException e) {
event.replyEmbeds(Embeds.hierarchyError(event)).setEphemeral(Constants.ERR_EPHEMERAL).queue();
} catch (NullPointerException | NumberFormatException e) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@
import net.dv8tion.jda.api.EmbedBuilder;
import net.dv8tion.jda.api.Permission;
import net.dv8tion.jda.api.entities.Member;
import net.dv8tion.jda.api.entities.User;
import net.dv8tion.jda.api.events.interaction.SlashCommandEvent;
import net.dv8tion.jda.api.exceptions.HierarchyException;
import net.dv8tion.jda.api.interactions.commands.OptionMapping;

import java.util.Date;
import java.util.concurrent.TimeUnit;
Expand All @@ -23,12 +23,10 @@ public void handle(SlashCommandEvent event) {
event.replyEmbeds(Embeds.permissionError("KICK_MEMBERS", event)).setEphemeral(Constants.ERR_EPHEMERAL).queue();
return;
}
String reason;
try {
reason = event.getOption("reason").getAsString();
} catch (NullPointerException e) {
reason = "None";
}

OptionMapping option = event.getOption("reason");
String reason = option == null ? "None" : option.getAsString();

String moderatorTag = event.getUser().getAsTag();
var eb = new EmbedBuilder()
.setAuthor(member.getUser().getAsTag() + " | Kick", null, member.getUser().getEffectiveAvatarUrl())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,12 @@
import net.dv8tion.jda.api.entities.Role;
import net.dv8tion.jda.api.events.interaction.SlashCommandEvent;
import net.dv8tion.jda.api.exceptions.HierarchyException;
import net.dv8tion.jda.api.interactions.commands.OptionMapping;

import java.util.Date;

public class Mute implements SlashCommandHandler {

@Override
public void handle(SlashCommandEvent event) {
if (!event.getMember().hasPermission(Permission.MANAGE_ROLES)) {
Expand All @@ -24,24 +26,32 @@ public void handle(SlashCommandEvent event) {
}
Member member = event.getOption("user").getAsMember();
String moderatorTag = event.getUser().getAsTag();

OptionMapping option = event.getOption("reason");
String reason = option == null ? "None" : option.getAsString();

var eb = new EmbedBuilder()
.setAuthor(member.getUser().getAsTag() + " | Mute", null, member.getUser().getEffectiveAvatarUrl())
.setColor(Constants.RED)
.addField("Name", "```" + member.getUser().getAsTag() + "```", true)
.addField("Moderator", "```" + moderatorTag + "```", true)
.addField("ID", "```" + member.getId() + "```", false)
.addField("Reason", "```" + reason + "```", false)
.setFooter("ID: " + member.getId())
.setTimestamp(new Date().toInstant())
.build();

Guild guild = event.getGuild();
try {
Role muteRole = Database.configRole(event, "mute_rid");
if (!(member.getRoles().toString().contains(muteRole.getId()))) {
guild.addRoleToMember(member.getId(), muteRole).complete();
Misc.sendToLog(event, eb);
event.getGuild().addRoleToMember(member.getId(), muteRole).complete();

member.getUser().openPrivateChannel().complete().sendMessage(eb).queue();
event.replyEmbeds(eb).queue();
Misc.sendToLog(event, eb);

} else {
event.replyEmbeds(Embeds.emptyError("```" + member.getUser().getAsTag() + " is already muted```", event)).setEphemeral(Constants.ERR_EPHEMERAL).queue();
}

} catch (HierarchyException e) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,19 +9,18 @@
import net.dv8tion.jda.api.entities.MessageChannel;
import net.dv8tion.jda.api.entities.User;
import net.dv8tion.jda.api.events.interaction.SlashCommandEvent;
import net.dv8tion.jda.api.interactions.commands.OptionMapping;

import java.time.LocalDateTime;
import java.util.Date;

public class Report implements SlashCommandHandler {
@Override
public void handle(SlashCommandEvent event) {
String reason;
try {
reason = event.getOption("reason").getAsString();
} catch (NullPointerException e) {
reason = "None";
}

OptionMapping option = event.getOption("reason");
String reason = option == null ? "None" : option.getAsString();

Member member = event.getOption("user").getAsMember();
User author = event.getUser();
MessageChannel reportChannel = Database.configChannel(event, "report_cid");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,16 @@
import java.util.Date;

public class Unmute implements SlashCommandHandler {

@Override
public void handle(SlashCommandEvent event) {
if (event.getMember().hasPermission(Permission.MANAGE_ROLES)) {

Role muteRole = Database.configRole(event, "mute_rid");
Member member = event.getOption("user").getAsMember();
User author = event.getUser();
try {
event.getGuild().removeRoleFromMember(member.getId(), muteRole).complete();

var e = new EmbedBuilder()
.setAuthor(member.getUser().getAsTag() + " | Unmute", null, member.getUser().getEffectiveAvatarUrl())
.setColor(Constants.RED)
Expand All @@ -33,9 +35,18 @@ public void handle(SlashCommandEvent event) {
.setFooter("ID: " + member.getId())
.setTimestamp(new Date().toInstant())
.build();
member.getUser().openPrivateChannel().complete().sendMessage(e).queue();
Misc.sendToLog(event, e);
event.replyEmbeds(e).queue();

if (member.getRoles().toString().contains(muteRole.getId())) {
event.getGuild().removeRoleFromMember(member.getId(), muteRole).complete();

member.getUser().openPrivateChannel().complete().sendMessage(e).queue();
event.replyEmbeds(e).queue();
Misc.sendToLog(event, e);

} else {
event.replyEmbeds(Embeds.emptyError("```I can't unmute " + member.getUser().getAsTag() + ", they aren't muted.```", event)).setEphemeral(Constants.ERR_EPHEMERAL).queue();
}

} catch (HierarchyException e) {
event.replyEmbeds(Embeds.hierarchyError(event)).setEphemeral(Constants.ERR_EPHEMERAL).queue();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,9 @@
import net.dv8tion.jda.api.entities.Member;
import net.dv8tion.jda.api.entities.SelfUser;
import net.dv8tion.jda.api.entities.TextChannel;
import net.dv8tion.jda.api.entities.User;
import net.dv8tion.jda.api.events.interaction.SlashCommandEvent;
import net.dv8tion.jda.api.events.message.guild.GuildMessageReceivedEvent;
import net.dv8tion.jda.api.exceptions.HierarchyException;
import net.dv8tion.jda.api.interactions.commands.OptionMapping;
import org.bson.Document;

import java.time.LocalDateTime;
Expand Down Expand Up @@ -59,14 +58,11 @@ public void handle(SlashCommandEvent event) {
return;
}
Member member = event.getOption("user").getAsMember();
String reason;
try {
reason = event.getOption("reason").getAsString();
} catch (NullPointerException e) {
reason = "None";
}
String modTag = event.getUser().getAsTag();

OptionMapping option = event.getOption("reason");
String reason = option == null ? "None" : option.getAsString();

MongoDatabase database = mongoClient.getDatabase("userdata");
MongoCollection<Document> warns = database.getCollection("warns");

Expand Down
1 change: 1 addition & 0 deletions src/main/resources/commands.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,7 @@
handler: com.javadiscord.javabot.commands.moderation.Mute
options:
- {description: The user you want to mute, name: user, required: true, type: USER}
- {description: The reason, name: reason, required: false, type: STRING}
- description: Lists all muted members
name: mutelist
handler: com.javadiscord.javabot.commands.moderation.Mutelist
Expand Down