2222import net .dv8tion .jda .api .events .message .MessageReceivedEvent ;
2323import net .dv8tion .jda .api .hooks .ListenerAdapter ;
2424import net .dv8tion .jda .api .interactions .callbacks .IReplyCallback ;
25- import net .dv8tion .jda .api .interactions .components .ActionComponent ;
2625import net .dv8tion .jda .api .interactions .components .ActionRow ;
2726import net .dv8tion .jda .api .interactions .components .buttons .Button ;
2827
@@ -254,7 +253,7 @@ private void handleHelpThanksInteraction(@NotNull ButtonInteractionEvent event,
254253 return ;
255254 }
256255 switch (id [2 ]) {
257- case "done" -> handleThanksCloseButton (event , manager , post );
256+ case "done" -> handleThanksCloseButton (event , manager , post , "" );
258257 case "cancel" -> event .deferEdit ().flatMap (h -> event .getMessage ().delete ()).queue ();
259258 default -> {
260259 List <Button > thankButtons = event .getMessage ()
@@ -266,15 +265,15 @@ private void handleHelpThanksInteraction(@NotNull ButtonInteractionEvent event,
266265 .toList ();
267266 if (thankButtons .stream ().filter (Button ::isDisabled ).count () ==
268267 thankButtons .size () - 1 ) {
269- handleThanksCloseButton (event , manager , post );
268+ handleThanksCloseButton (event , manager , post , event . getButton (). getId () );
270269 } else {
271270 event .editButton (event .getButton ().asDisabled ()).queue ();
272271 }
273272 }
274273 }
275274 }
276275
277- private void handleThanksCloseButton (@ NotNull ButtonInteractionEvent event , HelpManager manager , ThreadChannel post ) {
276+ private void handleThanksCloseButton (@ NotNull ButtonInteractionEvent event , HelpManager manager , ThreadChannel post , String additionalButtonId ) {
278277 List <Button > buttons = event .getMessage ().getButtons ();
279278 // close post
280279 manager .close (event , false , null );
@@ -283,8 +282,8 @@ private void handleThanksCloseButton(@NotNull ButtonInteractionEvent event, Help
283282 experienceService .addMessageBasedHelpXP (post , true );
284283 // thank all helpers
285284 buttons .stream ()
286- .filter (ActionComponent ::isDisabled )
287285 .filter (b -> b .getId () != null )
286+ .filter (b -> b .isDisabled () || (b .getId ().equals (additionalButtonId )))
288287 .forEach (b -> manager .thankHelper (
289288 event .getGuild (),
290289 post ,
0 commit comments