added message to user initiated context

fixed templates for ban and kick logging
refactored kicking service
fixed guild not found exception template
added command validator to be used for unit testing commands
added default values for command configuration
changed some interfaces to message channel instead of text channel
added separate executor service for un-mutes, which is shared
updated spring boot version to 2.3.1
removed database connection string from properties
added logback configuration
changed some future logic in purge
refactored error message for un mute, when there is no active mute
refactored listener interface and removed usage of context utils
added tests for moderation services
This commit is contained in:
Sheldan
2020-06-20 11:08:44 +02:00
parent 8acd4f818d
commit c44eb80fc5
140 changed files with 4176 additions and 225 deletions

View File

@@ -3,6 +3,7 @@ package dev.sheldan.abstracto.core.command.config;
import lombok.Builder;
import lombok.Getter;
import java.util.ArrayList;
import java.util.List;
@Getter @Builder
@@ -11,10 +12,18 @@ public class CommandConfiguration {
private String name;
private String module;
private String description;
private List<Parameter> parameters;
private List<String> aliases;
private boolean causesReaction;
private boolean templated;
@Builder.Default
private List<Parameter> parameters = new ArrayList<>();
@Builder.Default
private List<String> aliases = new ArrayList<>();
@Builder.Default
private boolean causesReaction = false;
@Builder.Default
private boolean templated = false;
private HelpInfo help;
public int getNecessaryParameterCount(){

View File

@@ -11,5 +11,6 @@ public class HelpInfo {
private String example;
@Builder.Default
private boolean hasExample = false;
private boolean templated;
@Builder.Default
private boolean templated = false;
}

View File

@@ -9,8 +9,11 @@ public class Parameter {
private String name;
private Class type;
private String description;
private boolean optional;
private boolean remainder;
@Builder.Default
private boolean optional = false;
@Builder.Default
private boolean remainder = false;
private Integer maxLength;
private Boolean templated;
@Builder.Default
private Boolean templated = false;
}

View File

@@ -22,6 +22,7 @@ public class ContextConverter {
return builder
.member(commandContext.getAuthor())
.guild(commandContext.getGuild())
.message(commandContext.getMessage())
.messageChannel(commandContext.getChannel())
.channel(commandContext.getUserInitiatedContext().getChannel())
.server(commandContext.getUserInitiatedContext().getServer())

View File

@@ -1,7 +1,9 @@
package dev.sheldan.abstracto.core.listener;
import dev.sheldan.abstracto.core.models.AServerAChannelAUser;
import dev.sheldan.abstracto.core.models.GuildChannelMember;
import dev.sheldan.abstracto.core.models.cache.CachedMessage;
public interface MessageDeletedListener extends FeatureAware {
void execute(CachedMessage messageBefore);
void execute(CachedMessage messageBefore, AServerAChannelAUser authorUser, GuildChannelMember authorMember);
}

View File

@@ -8,6 +8,7 @@ import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.experimental.SuperBuilder;
import net.dv8tion.jda.api.entities.Member;
import net.dv8tion.jda.api.entities.Message;
import net.dv8tion.jda.api.entities.MessageChannel;
@Getter @NoArgsConstructor
@@ -18,6 +19,7 @@ public class UserInitiatedServerContext extends ServerContext {
private MessageChannel messageChannel;
private Member member;
private AUser user;
private Message message;
private AUserInAServer aUserInAServer;
}

View File

@@ -5,7 +5,6 @@ import dev.sheldan.abstracto.core.models.database.AUserInAServer;
import dev.sheldan.abstracto.templating.model.MessageToSend;
import net.dv8tion.jda.api.entities.Message;
import net.dv8tion.jda.api.entities.MessageChannel;
import net.dv8tion.jda.api.entities.TextChannel;
import net.dv8tion.jda.api.entities.User;
import java.util.List;
@@ -21,6 +20,6 @@ public interface MessageService {
CompletableFuture<Long> createStatusMessageId(MessageToSend messageToSend, MessageChannel channel);
void updateStatusMessage(AChannel channel, Long messageId, MessageToSend messageToSend);
void updateStatusMessage(MessageChannel channel, Long messageId, MessageToSend messageToSend);
void sendMessageToUser(AUserInAServer userInAServer, String text, TextChannel feedbackChannel);
void sendMessageToUser(User user, String text, TextChannel feedbackChannel);
void sendMessageToUser(AUserInAServer userInAServer, String text, MessageChannel feedbackChannel);
void sendMessageToUser(User user, String text, MessageChannel feedbackChannel);
}