mirror of
https://github.com/Sheldan/abstracto.git
synced 2026-01-07 01:38:32 +00:00
[AB-11] fixing still considering bots when calculating the star amount
fixes #11
This commit is contained in:
@@ -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<>();
|
||||
|
||||
@@ -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 -> {
|
||||
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());
|
||||
}).filter(Objects::nonNull)
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
@PostConstruct
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
|
||||
@@ -42,6 +42,7 @@ public class AsyncJoinListenerBean extends ListenerAdapter {
|
||||
.builder()
|
||||
.serverId(event.getGuild().getIdLong())
|
||||
.userId(event.getUser().getIdLong())
|
||||
.isBot(event.getUser().isBot())
|
||||
.build();
|
||||
return MemberJoinModel
|
||||
.builder()
|
||||
|
||||
@@ -42,6 +42,7 @@ public class AsyncLeaveListenerBean extends ListenerAdapter {
|
||||
.builder()
|
||||
.serverId(event.getGuild().getIdLong())
|
||||
.userId(event.getUser().getIdLong())
|
||||
.isBot(event.getUser().isBot())
|
||||
.build();
|
||||
return MemberLeaveModel
|
||||
.builder()
|
||||
|
||||
@@ -87,7 +87,12 @@ public class AsyncReactionAddedListenerBean extends ListenerAdapter {
|
||||
|
||||
@Transactional
|
||||
public void callAddedListeners(MessageReactionAddEvent event, CachedMessage cachedMessage, CachedReactions reaction, Member member) {
|
||||
ServerUser serverUser = ServerUser.builder().serverId(event.getGuild().getIdLong()).userId(event.getUserIdLong()).build();
|
||||
ServerUser serverUser = ServerUser
|
||||
.builder()
|
||||
.serverId(event.getGuild().getIdLong())
|
||||
.userId(event.getUserIdLong())
|
||||
.isBot(event.getUser() != null ? event.getUser().isBot() : null)
|
||||
.build();
|
||||
addReactionIfNotThere(cachedMessage, reaction, serverUser);
|
||||
ReactionAddedModel model = getModel(event, cachedMessage, serverUser, member);
|
||||
messageCache.putMessageInCache(cachedMessage);
|
||||
|
||||
@@ -83,7 +83,12 @@ public class AsyncReactionRemovedListenerBean extends ListenerAdapter {
|
||||
|
||||
@Transactional
|
||||
public void callRemoveListeners(MessageReactionRemoveEvent event, CachedMessage cachedMessage, CachedReactions reaction) {
|
||||
ServerUser serverUser = ServerUser.builder().serverId(cachedMessage.getServerId()).userId(event.getUserIdLong()).build();
|
||||
ServerUser serverUser = ServerUser
|
||||
.builder()
|
||||
.serverId(cachedMessage.getServerId())
|
||||
.userId(event.getUserIdLong())
|
||||
.isBot(event.getUser() != null ? event.getUser().isBot() : null)
|
||||
.build();
|
||||
removeReactionIfThere(cachedMessage, reaction, serverUser);
|
||||
ReactionRemovedModel model = getModel(event, cachedMessage, serverUser);
|
||||
reactionRemovedListeners.forEach(asyncReactionRemovedListener -> listenerServiceBean.executeFeatureAwareListener(asyncReactionRemovedListener, model, reactionRemovedExecutor));
|
||||
|
||||
@@ -39,6 +39,7 @@ public class AsyncUserBannedListenerBean extends ListenerAdapter {
|
||||
.builder()
|
||||
.serverId(event.getGuild().getIdLong())
|
||||
.userId(event.getUser().getIdLong())
|
||||
.isBot(event.getUser().isBot())
|
||||
.build();
|
||||
return UserBannedModel
|
||||
.builder()
|
||||
|
||||
@@ -39,6 +39,7 @@ public class AsyncUserUnBannedListenerBean extends ListenerAdapter {
|
||||
.builder()
|
||||
.serverId(event.getGuild().getIdLong())
|
||||
.userId(event.getUser().getIdLong())
|
||||
.isBot(event.getUser().isBot())
|
||||
.build();
|
||||
return UserUnBannedModel
|
||||
.builder()
|
||||
|
||||
@@ -50,6 +50,7 @@ public class JoinListenerBean extends ListenerAdapter {
|
||||
.builder()
|
||||
.serverId(event.getGuild().getIdLong())
|
||||
.userId(event.getUser().getIdLong())
|
||||
.isBot(event.getUser().isBot())
|
||||
.build();
|
||||
return MemberJoinModel
|
||||
.builder()
|
||||
|
||||
@@ -46,6 +46,7 @@ public class LeaveListenerBean extends ListenerAdapter {
|
||||
.builder()
|
||||
.serverId(event.getGuild().getIdLong())
|
||||
.userId(event.getUser().getIdLong())
|
||||
.isBot(event.getUser().isBot())
|
||||
.build();
|
||||
return MemberLeaveModel
|
||||
.builder()
|
||||
|
||||
@@ -94,7 +94,12 @@ public class ReactionAddedListenerBean extends ListenerAdapter {
|
||||
|
||||
@Transactional
|
||||
public void callAddedListeners(@Nonnull MessageReactionAddEvent event, CachedMessage cachedMessage, CachedReactions reaction, Member member) {
|
||||
ServerUser serverUser = ServerUser.builder().serverId(cachedMessage.getServerId()).userId(event.getUserIdLong()).build();
|
||||
ServerUser serverUser = ServerUser
|
||||
.builder()
|
||||
.serverId(cachedMessage.getServerId())
|
||||
.userId(event.getUserIdLong())
|
||||
.isBot(event.getUser() != null ? event.getUser().isBot() : null)
|
||||
.build();
|
||||
addReactionIfNotThere(cachedMessage, reaction, serverUser);
|
||||
ReactionAddedModel model = getModel(event, cachedMessage, serverUser, member);
|
||||
addedListenerList.forEach(reactedAddedListener -> listenerService.executeFeatureAwareListener(reactedAddedListener, model));
|
||||
|
||||
@@ -87,7 +87,12 @@ public class ReactionRemovedListenerBean extends ListenerAdapter {
|
||||
|
||||
@Transactional
|
||||
public void callRemoveListeners(@Nonnull MessageReactionRemoveEvent event, CachedMessage cachedMessage, CachedReactions reaction) {
|
||||
ServerUser serverUser = ServerUser.builder().serverId(event.getGuild().getIdLong()).userId(event.getUserIdLong()).build();
|
||||
ServerUser serverUser = ServerUser
|
||||
.builder()
|
||||
.serverId(event.getGuild().getIdLong())
|
||||
.userId(event.getUserIdLong())
|
||||
.isBot(event.getUser() != null ? event.getUser().isBot() : null)
|
||||
.build();
|
||||
removeReactionIfThere(cachedMessage, reaction, serverUser);
|
||||
ReactionRemovedModel model = getModel(event, cachedMessage, serverUser);
|
||||
reactionRemovedListeners.forEach(reactionRemovedListener -> listenerService.executeFeatureAwareListener(reactionRemovedListener, model));
|
||||
|
||||
@@ -172,7 +172,12 @@ public class CacheEntityServiceBean implements CacheEntityService {
|
||||
users.forEachAsync(user -> {
|
||||
log.debug("Loading user {} for reaction.", user.getIdLong());
|
||||
if(reaction.getGuild() != null) {
|
||||
aUsers.add(ServerUser.builder().userId(user.getIdLong()).serverId(reaction.getGuild().getIdLong()).build());
|
||||
aUsers.add(ServerUser
|
||||
.builder()
|
||||
.userId(user.getIdLong())
|
||||
.isBot(user.isBot())
|
||||
.serverId(reaction.getGuild().getIdLong())
|
||||
.build());
|
||||
}
|
||||
return true;
|
||||
}).whenComplete((o, throwable) -> {
|
||||
@@ -223,7 +228,11 @@ public class CacheEntityServiceBean implements CacheEntityService {
|
||||
allFutures.add(referencedMessageFuture);
|
||||
FutureUtils.toSingleFuture(allFutures).thenAccept(aVoid ->
|
||||
{
|
||||
CachedAuthor cachedAuthor = CachedAuthor.builder().authorId(message.getAuthor().getIdLong()).isBot(message.getAuthor().isBot()).build();
|
||||
CachedAuthor cachedAuthor = CachedAuthor
|
||||
.builder()
|
||||
.authorId(message.getAuthor().getIdLong())
|
||||
.isBot(message.getAuthor().isBot())
|
||||
.build();
|
||||
CachedMessage.CachedMessageBuilder builder = CachedMessage.builder()
|
||||
.author(cachedAuthor)
|
||||
.messageId(message.getIdLong())
|
||||
@@ -271,7 +280,10 @@ public class CacheEntityServiceBean implements CacheEntityService {
|
||||
}
|
||||
|
||||
private List<CachedReactions> convertReactionFuturesToCachedReactions(List<CompletableFuture<CachedReactions>> futures) {
|
||||
return futures.stream().map(CompletableFuture::join).collect(Collectors.toList());
|
||||
return futures
|
||||
.stream()
|
||||
.map(CompletableFuture::join)
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -120,7 +120,11 @@ public class EmoteServiceBean implements EmoteService {
|
||||
|
||||
@Override
|
||||
public Optional<CachedReactions> getReactionFromMessageByEmote(CachedMessage message, AEmote emote) {
|
||||
return message.getReactions().stream().filter(reaction -> compareCachedEmoteWithAEmote(reaction.getEmote(), emote)).findFirst();
|
||||
return message
|
||||
.getReactions()
|
||||
.stream()
|
||||
.filter(reaction -> compareCachedEmoteWithAEmote(reaction.getEmote(), emote))
|
||||
.findFirst();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -16,6 +16,7 @@ import java.io.Serializable;
|
||||
public class ServerUser implements Serializable {
|
||||
private Long serverId;
|
||||
private Long userId;
|
||||
private Boolean isBot;
|
||||
|
||||
public static ServerUser fromAUserInAServer(AUserInAServer aUserInAServer) {
|
||||
return ServerUser
|
||||
@@ -29,6 +30,7 @@ public class ServerUser implements Serializable {
|
||||
.builder()
|
||||
.serverId(member.getGuild().getIdLong())
|
||||
.userId(member.getIdLong())
|
||||
.isBot(member.getUser().isBot())
|
||||
.build();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -31,6 +31,10 @@ public class CachedMessage implements Serializable {
|
||||
}
|
||||
|
||||
public ServerUser getAuthorAsServerUser() {
|
||||
return ServerUser.builder().serverId(serverId).userId(author.getAuthorId()).build();
|
||||
return ServerUser
|
||||
.builder()
|
||||
.serverId(serverId)
|
||||
.userId(author.getAuthorId())
|
||||
.build();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,7 +18,16 @@ public class CachedReactions implements Serializable {
|
||||
private List<ServerUser> users;
|
||||
|
||||
public CachedReaction getReactionForSpecificUser(ServerUser serverUser) {
|
||||
ServerUser matchingUser = users.stream().filter(serverUser1 -> serverUser1.equals(serverUser)).findAny().orElseThrow(() -> new AbstractoRunTimeException("Server user not found."));
|
||||
return CachedReaction.builder().self(self).emote(emote).user(matchingUser).build();
|
||||
ServerUser matchingUser = users
|
||||
.stream()
|
||||
.filter(serverUser1 -> serverUser1.equals(serverUser))
|
||||
.findAny()
|
||||
.orElseThrow(() -> new AbstractoRunTimeException("Server user not found."));
|
||||
return CachedReaction
|
||||
.builder()
|
||||
.self(self)
|
||||
.emote(emote)
|
||||
.user(matchingUser)
|
||||
.build();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user