added logging of message deleted

This commit is contained in:
Sheldan
2020-03-20 19:57:19 +01:00
parent 35f976aaa4
commit ff29edbdac
7 changed files with 136 additions and 11 deletions

View File

@@ -0,0 +1,49 @@
package dev.sheldan.abstracto.core;
import dev.sheldan.abstracto.core.management.ChannelManagementService;
import dev.sheldan.abstracto.core.management.ServerManagementService;
import dev.sheldan.abstracto.core.management.UserManagementService;
import dev.sheldan.abstracto.core.models.UserInitiatedServerContext;
import dev.sheldan.abstracto.core.models.database.AUserInAServer;
import lombok.extern.slf4j.Slf4j;
import net.dv8tion.jda.api.entities.Message;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
@Component
@Slf4j
public class ContextUtils {
@Autowired
private ChannelManagementService channelManagementService;
@Autowired
private UserManagementService userManagementService;
@Autowired
private ServerManagementService serverManagementService;
public <T extends UserInitiatedServerContext> UserInitiatedServerContext fromMessage(Message message, Class<T> clazz) {
Method m = null;
try {
m = clazz.getMethod("builder");
UserInitiatedServerContext.UserInitiatedServerContextBuilder<?, ?> builder = (UserInitiatedServerContext.UserInitiatedServerContextBuilder) m.invoke(null, null);
AUserInAServer aUserInAServer = userManagementService.loadUser(message.getMember());
return builder
.member(message.getMember())
.guild(message.getGuild())
.textChannel(message.getTextChannel())
.channel(channelManagementService.loadChannel(message.getTextChannel().getIdLong()))
.server(serverManagementService.loadServer(message.getGuild().getIdLong()))
.aUserInAServer(aUserInAServer)
.user(aUserInAServer.getUserReference())
.build();
} catch (NoSuchMethodException | IllegalAccessException | InvocationTargetException e) {
log.error("Failed to execute builder method", e);
}
throw new RuntimeException("Failed to create model from message");
}
}

View File

@@ -32,12 +32,13 @@ public class PostTarget {
@Getter @Setter
private AServer serverReference;
public static String JOIN_LOG = "joinlog";
public static String LEAVE_LOG = "leavelog";
public static String WARN_LOG = "warnlog";
public static String KICK_LOG = "kicklog";
public static String BAN_LOG = "banlog";
public static String JOIN_LOG = "joinLog";
public static String LEAVE_LOG = "leaveLog";
public static String WARN_LOG = "warnLog";
public static String KICK_LOG = "kickLog";
public static String BAN_LOG = "banLog";
public static String EDIT_LOG = "editLog";
public static String DELETE_LOG = "deleteLog";
public static List<String> AVAILABLE_POST_TARGETS = Arrays.asList(JOIN_LOG, LEAVE_LOG, WARN_LOG, KICK_LOG, BAN_LOG, EDIT_LOG);
public static List<String> AVAILABLE_POST_TARGETS = Arrays.asList(JOIN_LOG, LEAVE_LOG, WARN_LOG, KICK_LOG, BAN_LOG, EDIT_LOG, DELETE_LOG);
}

View File

@@ -5,4 +5,5 @@ import net.dv8tion.jda.api.entities.Message;
public interface MessageCache {
Message putMessageInCache(Message message);
Message getMessageFromCache(Message message);
Message getMessageFromCache(Long messageId, Long textChannelId, Long guildId);
}