ChannelService extends RestService { public Flux<UserData> getReactions(long channelId, long messageId, String emoji, Map<String, Object> queryParams) { return Routes.REACTIONS_GET.newRequest(channelId, messageId, emoji) .query(queryParams) .exchange(getRouter()) .bodyToMono(UserData[].class) .flatMapMany(Flux::fromArray); } ChannelService(Router router); Mono<ChannelData> getChannel(long channelId); Mono<ChannelData> modifyChannel(long channelId, ChannelModifyRequest request, @Nullable String reason); Mono<ChannelData> deleteChannel(long channelId, @Nullable String reason); Flux<MessageData> getMessages(long channelId, Map<String, Object> queryParams); Mono<MessageData> getMessage(long channelId, long messageId); Mono<MessageData> createMessage(long channelId, MultipartRequest<MessageCreateRequest> request); Mono<Void> createReaction(long channelId, long messageId, String emoji); Mono<Void> deleteOwnReaction(long channelId, long messageId, String emoji); Mono<Void> deleteReaction(long channelId, long messageId, String emoji, long userId); Mono<Void> deleteReactions(long channelId, long messageId, String emoji); Flux<UserData> getReactions(long channelId, long messageId, String emoji,
                                       Map<String, Object> queryParams); Mono<Void> deleteAllReactions(long channelId, long messageId); Mono<MessageData> editMessage(long channelId, long messageId, MessageEditRequest request); Mono<Void> deleteMessage(long channelId, long messageId, @Nullable String reason); Mono<Void> bulkDeleteMessages(long channelId, BulkDeleteRequest request); @Experimental Mono<Void> suppressEmbeds(long channelId, long messageId, SuppressEmbedsRequest request); Mono<MessageData> publishMessage(long channelId, long messageId); Mono<Void> editChannelPermissions(long channelId, long overwriteId, PermissionsEditRequest request,
                                             @Nullable String reason); Flux<InviteData> getChannelInvites(long channelId); Mono<InviteData> createChannelInvite(long channelId, InviteCreateRequest request, @Nullable String reason); Mono<Void> deleteChannelPermission(long channelId, long overwriteId, @Nullable String reason); Mono<FollowedChannelData> followNewsChannel(long channelId, NewsChannelFollowRequest request); Mono<Void> triggerTypingIndicator(long channelId); Flux<MessageData> getPinnedMessages(long channelId); Mono<Void> addPinnedMessage(long channelId, long messageId); Mono<Void> deletePinnedMessage(long channelId, long messageId); Mono<Void> addGroupDMRecipient(long channelId, long userId, GroupAddRecipientRequest request); Mono<Void> deleteGroupDMRecipient(long channelId, long userId);  }
@Test public void testGetReactions() throws UnsupportedEncodingException { channelService.getReactions(permanentChannel, permanentMessage, "❤", Collections.emptyMap()).then() .block(); }