[AB-111] adding ability to perform moderation actions on various logging/report messages

This commit is contained in:
Sheldan
2024-03-17 12:37:30 +01:00
parent f45721ba42
commit dbf5d99622
76 changed files with 1663 additions and 648 deletions

View File

@@ -87,7 +87,7 @@ public class ModalInteractionListenerBean extends ListenerAdapter {
postInteractionExecution.execute(model, result, listener);
}
} else {
log.warn("No listener found for button event for id {}.", event.getModalId());
log.warn("No listener found for modal event for id {}.", event.getModalId());
}
} else {
log.warn("No callback found for id {}.", event.getModalId());

View File

@@ -117,13 +117,23 @@ public class MemberServiceBean implements MemberService {
return getMemberInServer(aUserInAServer.getServerReference().getId(), aUserInAServer.getUserReference().getId());
}
@Override
public Member getMemberInServer(ServerUser serverUser) {
return getMemberInServer(serverUser.getServerId(), serverUser.getUserId());
}
@Override
public CompletableFuture<Member> getMemberInServerAsync(ServerUser serverUser) {
return getMemberInServerAsync(serverUser.getServerId(), serverUser.getUserId());
}
@Override
public CompletableFuture<Member> getMemberInServerAsync(AUserInAServer aUserInAServer) {
return getMemberInServerAsync(aUserInAServer.getServerReference().getId(), aUserInAServer.getUserReference().getId());
}
@Override
public Member getMemberInServer(AServer server, AUser member) {
public Member getMemberInServerAsync(AServer server, AUser member) {
return getMemberInServer(server.getId(), member.getId());
}
@@ -151,8 +161,7 @@ public class MemberServiceBean implements MemberService {
@Override
public CompletableFuture<Void> timeoutUser(Member member, Duration duration, String reason) {
log.info("Applying timeout for user {} in guild {} for {}", member.getId(), member.getGuild().getIdLong(), duration);
return member.timeoutFor(duration).reason(reason).submit();
return timeoutMember(member.getGuild(), ServerUser.fromMember(member), duration, reason);
}
@Override
@@ -171,9 +180,19 @@ public class MemberServiceBean implements MemberService {
return timeoutUser(member, muteDuration, reason);
}
@Override
public CompletableFuture<Void> timeoutMember(Guild guild, ServerUser serverUser, Duration duration, String reason) {
return guild.timeoutFor(UserSnowflake.fromId(serverUser.getUserId()), duration).reason(reason).submit();
}
@Override
public CompletableFuture<Void> removeTimeout(Guild guild, ServerUser serverUser, String reason) {
log.info("Removing timeout for user {} in guild {}.", serverUser.getUserId(), guild.getIdLong());
return guild.removeTimeout(UserSnowflake.fromId(serverUser.getUserId())).reason(reason).submit();
}
@Override
public CompletableFuture<Void> removeTimeout(Member member) {
log.info("Removing timeout for user {} in guild {}.", member.getId(), member.getGuild().getIdLong());
return member.removeTimeout().submit();
return removeTimeout(member.getGuild(), ServerUser.fromMember(member), null);
}
}

View File

@@ -4,6 +4,7 @@ import dev.sheldan.abstracto.core.metric.service.CounterMetric;
import dev.sheldan.abstracto.core.metric.service.MetricService;
import dev.sheldan.abstracto.core.metric.service.MetricTag;
import dev.sheldan.abstracto.core.models.ServerChannelMessage;
import dev.sheldan.abstracto.core.models.ServerUser;
import dev.sheldan.abstracto.core.models.cache.CachedMessage;
import dev.sheldan.abstracto.core.models.database.AChannel;
import dev.sheldan.abstracto.core.models.database.AUserInAServer;
@@ -130,6 +131,13 @@ public class MessageServiceBean implements MessageService {
);
}
@Override
public CompletableFuture<Message> sendMessageToUser(ServerUser serverUser, String text) {
return memberService.getMemberInServerAsync(serverUser).thenCompose(member ->
sendMessageToUser(member.getUser(), text)
);
}
@Override
public CompletableFuture<Message> sendSimpleTemplateToUser(Long userId, String templateKey) {
String text = templateService.renderSimpleTemplate(templateKey);