@@ -267,27 +267,28 @@ public void onButtonClick(ButtonInteractionEvent event, List<String> args) {
267267
268268 event .getJDA ()
269269 .retrieveUserById (reportedUserId )
270- .queue (user -> renderAuditEmbed (event , user , actions , pages , targetPage ),
271- _ -> event .getHook ()
272- .sendMessage ("Could not retrieve audit data for this user." )
273- .queue ());
270+ .flatMap (user -> prepareAuditEmbedTasks (event , user , actions , pages , targetPage ))
271+ .queue (fields -> {
272+ }, _ -> event .getHook ()
273+ .sendMessage ("Could not load audit data for this user." )
274+ .queue ());
274275 }
275276
276- private void renderAuditEmbed (ButtonInteractionEvent event ,
277- net .dv8tion .jda .api .entities .User user , List <ActionRecord > actions ,
278- List <List <ActionRecord >> pages , int targetPage ) {
277+ private net .dv8tion .jda .api .requests .RestAction <List <MessageEmbed .Field >> prepareAuditEmbedTasks (
278+ ButtonInteractionEvent event , net .dv8tion .jda .api .entities .User user ,
279+ List <ActionRecord > actions , List <List <ActionRecord >> pages , int targetPage ) {
280+
279281 EmbedBuilder auditEmbed =
280282 new EmbedBuilder ().setTitle ("Audit log of **%s**" .formatted (user .getName ()))
281283 .setAuthor (user .getName (), null , user .getEffectiveAvatarUrl ())
282284 .setColor (Color .BLACK )
283285 .setDescription (ModerationUtils .createSummaryMessageDescription (actions ));
284286
285287 if (pages .isEmpty ()) {
286- event .getHook ()
288+ return event .getHook ()
287289 .editOriginalEmbeds (auditEmbed .build ())
288290 .setComponents (Collections .emptyList ())
289- .queue ();
290- return ;
291+ .map (_ -> Collections .emptyList ());
291292 }
292293
293294 int currentPageIndex = Math .clamp (targetPage , 0 , pages .size () - 1 );
@@ -298,12 +299,11 @@ private void renderAuditEmbed(ButtonInteractionEvent event,
298299 .map (action -> ModerationUtils .actionToField (action , event .getJDA ()))
299300 .toList ();
300301
301- net .dv8tion .jda .api .requests .RestAction .allOf (fieldTasks )
302- .queue (fields -> finalizeAndSendEmbed (event , auditEmbed , fields , user .getIdLong (),
303- currentPageIndex , pages .size ()),
304- _ -> event .getHook ()
305- .sendMessage ("Could not load moderation history fields." )
306- .queue ());
302+ return net .dv8tion .jda .api .requests .RestAction .allOf (fieldTasks ).map (fields -> {
303+ finalizeAndSendEmbed (event , auditEmbed , fields , user .getIdLong (), currentPageIndex ,
304+ pages .size ());
305+ return fields ;
306+ });
307307 }
308308
309309 private void finalizeAndSendEmbed (ButtonInteractionEvent event , EmbedBuilder auditEmbed ,
0 commit comments