mirror of
https://github.com/Sheldan/abstracto.git
synced 2026-04-13 19:41:38 +00:00
[AB-111] adding ability to perform moderation actions on various logging/report messages
This commit is contained in:
@@ -22,7 +22,16 @@ public class ServerUser implements Serializable {
|
||||
return ServerUser
|
||||
.builder()
|
||||
.serverId(aUserInAServer.getServerReference().getId())
|
||||
.userId(aUserInAServer.getUserReference().getId()).build();
|
||||
.userId(aUserInAServer.getUserReference().getId())
|
||||
.build();
|
||||
}
|
||||
|
||||
public static ServerUser fromId(Long serverId, Long userId) {
|
||||
return ServerUser
|
||||
.builder()
|
||||
.serverId(serverId)
|
||||
.userId(userId)
|
||||
.build();
|
||||
}
|
||||
|
||||
public static ServerUser fromMember(Member member) {
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package dev.sheldan.abstracto.core.models.template.display;
|
||||
|
||||
import dev.sheldan.abstracto.core.models.ServerUser;
|
||||
import dev.sheldan.abstracto.core.models.database.AUserInAServer;
|
||||
import dev.sheldan.abstracto.core.utils.MemberUtils;
|
||||
import lombok.Builder;
|
||||
@@ -12,6 +13,7 @@ import net.dv8tion.jda.api.entities.Member;
|
||||
@Builder
|
||||
public class MemberDisplay {
|
||||
private String memberMention;
|
||||
private String name;
|
||||
private Long userId;
|
||||
private Long serverId;
|
||||
|
||||
@@ -19,6 +21,7 @@ public class MemberDisplay {
|
||||
return MemberDisplay
|
||||
.builder()
|
||||
.memberMention(member.getAsMention())
|
||||
.name(member.getEffectiveName())
|
||||
.serverId(member.getGuild().getIdLong())
|
||||
.userId(member.getIdLong())
|
||||
.build();
|
||||
@@ -41,4 +44,13 @@ public class MemberDisplay {
|
||||
.userId(userId)
|
||||
.build();
|
||||
}
|
||||
|
||||
public static MemberDisplay fromServerUser(ServerUser serverUser) {
|
||||
return MemberDisplay
|
||||
.builder()
|
||||
.memberMention(MemberUtils.getUserAsMention(serverUser.getUserId()))
|
||||
.serverId(serverUser.getServerId())
|
||||
.userId(serverUser.getUserId())
|
||||
.build();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
package dev.sheldan.abstracto.core.models.template.display;
|
||||
|
||||
import dev.sheldan.abstracto.core.models.ServerUser;
|
||||
import dev.sheldan.abstracto.core.utils.MemberUtils;
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import net.dv8tion.jda.api.entities.User;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@Builder
|
||||
public class UserDisplay {
|
||||
private Long userId;
|
||||
private String userMention;
|
||||
|
||||
public static UserDisplay fromUser(User user) {
|
||||
return UserDisplay
|
||||
.builder()
|
||||
.userMention(MemberUtils.getUserAsMention(user.getIdLong()))
|
||||
.userId(user.getIdLong())
|
||||
.build();
|
||||
}
|
||||
|
||||
public static UserDisplay fromServerUser(ServerUser serverUser) {
|
||||
return UserDisplay
|
||||
.builder()
|
||||
.userMention(MemberUtils.getUserAsMention(serverUser.getUserId()))
|
||||
.userId(serverUser.getUserId())
|
||||
.build();
|
||||
}
|
||||
|
||||
public static UserDisplay fromId(Long id) {
|
||||
return UserDisplay
|
||||
.builder()
|
||||
.userMention(MemberUtils.getUserAsMention(id))
|
||||
.userId(id)
|
||||
.build();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -25,8 +25,10 @@ public interface MemberService {
|
||||
boolean isUserInGuild(AUserInAServer aUserInAServer);
|
||||
boolean isUserInGuild(Guild guild, AUserInAServer aUserInAServer);
|
||||
Member getMemberInServer(AUserInAServer aUserInAServer);
|
||||
Member getMemberInServer(ServerUser serverUser);
|
||||
CompletableFuture<Member> getMemberInServerAsync(ServerUser serverUser);
|
||||
CompletableFuture<Member> getMemberInServerAsync(AUserInAServer aUserInAServer);
|
||||
Member getMemberInServer(AServer server, AUser member);
|
||||
Member getMemberInServerAsync(AServer server, AUser member);
|
||||
CompletableFuture<Member> forceReloadMember(Member member);
|
||||
Member getBotInGuild(AServer server);
|
||||
CompletableFuture<User> getUserViaId(Long userId);
|
||||
@@ -35,5 +37,7 @@ public interface MemberService {
|
||||
CompletableFuture<Void> timeoutUserMaxDuration(Member member);
|
||||
CompletableFuture<Void> timeoutUser(Member member, Instant target);
|
||||
CompletableFuture<Void> timeoutUser(Member member, Instant target, String reason);
|
||||
CompletableFuture<Void> timeoutMember(Guild guild, ServerUser serverUser, Duration duration, String reason);
|
||||
CompletableFuture<Void> removeTimeout(Guild guild, ServerUser serverUser, String reason);
|
||||
CompletableFuture<Void> removeTimeout(Member member);
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package dev.sheldan.abstracto.core.service;
|
||||
|
||||
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;
|
||||
@@ -25,6 +26,7 @@ public interface MessageService {
|
||||
void updateStatusMessage(AChannel channel, Long messageId, MessageToSend messageToSend);
|
||||
void updateStatusMessage(MessageChannel channel, Long messageId, MessageToSend messageToSend);
|
||||
CompletableFuture<Message> sendMessageToUser(AUserInAServer userInAServer, String text);
|
||||
CompletableFuture<Message> sendMessageToUser(ServerUser serverUser, String text);
|
||||
CompletableFuture<Message> sendSimpleTemplateToUser(Long userId, String templateKey);
|
||||
List<CompletableFuture<Message>> retrieveMessages(List<ServerChannelMessage> messages);
|
||||
CompletableFuture<Message> sendTemplateToUser(User user, String template, Object model);
|
||||
|
||||
Reference in New Issue
Block a user