[AB-11] fixing still considering bots when calculating the star amount

fixes #11
This commit is contained in:
Sheldan
2022-06-21 00:15:47 +02:00
parent 74cee39f1a
commit 1a1fde0800
18 changed files with 88 additions and 17 deletions

View File

@@ -299,7 +299,12 @@ public class InviteLinkFilterServiceBean implements InviteLinkFilterService {
list.getMainFuture().whenComplete((unused, throwable) -> {
List<Invite> invites = list.getObjects();
Long serverId = message.getGuild().getIdLong();
ServerUser author = ServerUser.builder().userId(message.getAuthor().getIdLong()).serverId(message.getGuild().getIdLong()).build();
ServerUser author = ServerUser
.builder()
.userId(message.getAuthor().getIdLong())
.serverId(message.getGuild().getIdLong())
.isBot(message.getAuthor().isBot())
.build();
boolean toDelete = false;
Map<Long, String> targetServers = new HashMap<>();
List<InviteToDelete> deletedInvites = new ArrayList<>();

View File

@@ -159,10 +159,15 @@ public abstract class StarboardListener {
}
protected List<AUserInAServer> getUsersExcept(List<ServerUser> users, AUserInAServer author) {
return users.stream().filter(user -> !(user.getServerId().equals(author.getServerReference().getId()) && user.getUserId().equals(author.getUserReference().getId()))).map(serverUser -> {
Optional<AUserInAServer> aUserInAServer = userInServerManagementService.loadUserOptional(serverUser.getServerId(), serverUser.getUserId());
return aUserInAServer.orElse(null);
}).filter(Objects::nonNull).collect(Collectors.toList());
return users
.stream()
.filter(serverUser -> !serverUser.getIsBot())
.filter(user -> !(user.getServerId().equals(author.getServerReference().getId()) && user.getUserId().equals(author.getUserReference().getId())))
.map(serverUser -> {
Optional<AUserInAServer> aUserInAServer = userInServerManagementService.loadUserOptional(serverUser.getServerId(), serverUser.getUserId());
return aUserInAServer.orElse(null);
}).filter(Objects::nonNull)
.collect(Collectors.toList());
}
@PostConstruct

View File

@@ -33,7 +33,11 @@ public class StarboardPostCreatedListenerManager {
if(listeners == null || listeners.isEmpty()) {
return;
}
ServerUser userReactingServerUser = ServerUser.builder().serverId(post.getServer().getId()).userId(userReactingId).build();
ServerUser userReactingServerUser = ServerUser
.builder()
.serverId(post.getServer().getId())
.userId(userReactingId)
.build();
StarboardPostCreatedModel model = createStarboardStatusModel(post, userReactingServerUser);
listeners.forEach(listener -> listenerService.executeFeatureAwareListener(listener, model, starboardCreatedExecutor));
}