3333import xyz .dynxsty .dih4jda .interactions .components .ButtonHandler ;
3434import xyz .dynxsty .dih4jda .util .ComponentIdBuilder ;
3535
36- import javax .sql .DataSource ;
3736import java .util .ArrayList ;
3837import java .util .HashMap ;
3938import java .util .List ;
4342 * Listens for all events releated to the forum help channel system.
4443 */
4544@ RequiredArgsConstructor
46- @ AutoDetectableComponentHandler ({ForumHelpManager .HELP_THANKS_IDENTIFIER , ForumHelpManager .HELP_CLOSE_IDENTIFIER , ForumHelpManager .HELP_GUIDELINES_IDENTIFIER })
47- public class ForumHelpListener extends ListenerAdapter implements ButtonHandler {
45+ @ AutoDetectableComponentHandler ({HelpManager .HELP_THANKS_IDENTIFIER , HelpManager .HELP_CLOSE_IDENTIFIER , HelpManager .HELP_GUIDELINES_IDENTIFIER })
46+ public class HelpListener extends ListenerAdapter implements ButtonHandler {
4847
4948 /**
5049 * A static Map that holds all messages that was sent in a specific reserved forum channel.
5150 */
5251 public static final Map <Long , List <Message >> HELP_POST_MESSAGES = new HashMap <>();
5352
5453 private final BotConfig botConfig ;
55- private final DataSource dataSource ;
5654 private final HelpAccountRepository helpAccountRepository ;
5755 private final HelpTransactionRepository helpTransactionRepository ;
5856 private final UserPreferenceService userPreferenceService ;
@@ -92,8 +90,8 @@ public void onChannelCreate(@NotNull ChannelCreateEvent event) {
9290 }
9391 // send post buttons
9492 post .sendMessageComponents (ActionRow .of (
95- Button .primary (ComponentIdBuilder .build (ForumHelpManager .HELP_CLOSE_IDENTIFIER , post .getIdLong ()), "Close Post" ),
96- Button .secondary (ComponentIdBuilder .build (ForumHelpManager .HELP_GUIDELINES_IDENTIFIER ), "View Help Guidelines" )
93+ Button .primary (ComponentIdBuilder .build (HelpManager .HELP_CLOSE_IDENTIFIER , post .getIdLong ()), "Close Post" ),
94+ Button .secondary (ComponentIdBuilder .build (HelpManager .HELP_GUIDELINES_IDENTIFIER ), "View Help Guidelines" )
9795 )).queue (success -> {
9896 // send /close reminder (if enabled)
9997 UserPreference preference = userPreferenceService .getOrCreate (post .getOwnerIdLong (), Preference .FORUM_CLOSE_REMINDER );
@@ -113,11 +111,11 @@ public void handleButton(@NotNull ButtonInteractionEvent event, @NotNull Button
113111 return ;
114112 }
115113 ThreadChannel post = event .getChannel ().asThreadChannel ();
116- ForumHelpManager manager = new ForumHelpManager (post , dbActions , botConfig , helpAccountRepository , helpTransactionRepository );
114+ HelpManager manager = new HelpManager (post , dbActions , botConfig , helpAccountRepository , helpTransactionRepository );
117115 switch (id [0 ]) {
118- case ForumHelpManager .HELP_THANKS_IDENTIFIER -> handleHelpThanksInteraction (event , manager , id );
119- case ForumHelpManager .HELP_GUIDELINES_IDENTIFIER -> handleReplyGuidelines (event , post .getParentChannel ().asForumChannel ());
120- case ForumHelpManager .HELP_CLOSE_IDENTIFIER -> handlePostClose (event , manager );
116+ case HelpManager .HELP_THANKS_IDENTIFIER -> handleHelpThanksInteraction (event , manager , id );
117+ case HelpManager .HELP_GUIDELINES_IDENTIFIER -> handleReplyGuidelines (event , post .getParentChannel ().asForumChannel ());
118+ case HelpManager .HELP_CLOSE_IDENTIFIER -> handlePostClose (event , manager );
121119 }
122120 }
123121
@@ -131,7 +129,7 @@ private boolean isInvalidHelpForumChannel(@NotNull ForumChannel forum) {
131129 return config .getHelpForumChannelId () != forum .getIdLong ();
132130 }
133131
134- private void handleHelpThanksInteraction (@ NotNull ButtonInteractionEvent event , @ NotNull ForumHelpManager manager , String @ NotNull [] id ) {
132+ private void handleHelpThanksInteraction (@ NotNull ButtonInteractionEvent event , @ NotNull HelpManager manager , String @ NotNull [] id ) {
135133 ThreadChannel post = manager .getPostThread ();
136134 HelpConfig config = botConfig .get (event .getGuild ()).getHelpConfig ();
137135 if (event .getUser ().getIdLong () != post .getOwnerIdLong ()) {
@@ -148,7 +146,7 @@ private void handleHelpThanksInteraction(@NotNull ButtonInteractionEvent event,
148146 // add experience
149147 try {
150148 HelpExperienceService service = new HelpExperienceService (botConfig , helpAccountRepository , helpTransactionRepository );
151- Map <Long , Double > experience = ForumHelpManager .calculateExperience (HELP_POST_MESSAGES .get (post .getIdLong ()), post .getOwnerIdLong (), config );
149+ Map <Long , Double > experience = HelpManager .calculateExperience (HELP_POST_MESSAGES .get (post .getIdLong ()), post .getOwnerIdLong (), config );
152150 for (Map .Entry <Long , Double > entry : experience .entrySet ()) {
153151 service .performTransaction (entry .getKey (), entry .getValue (), config .getGuild ());
154152 }
@@ -176,7 +174,7 @@ private void handleReplyGuidelines(@NotNull IReplyCallback callback, @NotNull Fo
176174 .queue ();
177175 }
178176
179- private void handlePostClose (ButtonInteractionEvent event , @ NotNull ForumHelpManager manager ) {
177+ private void handlePostClose (ButtonInteractionEvent event , @ NotNull HelpManager manager ) {
180178 if (manager .isForumEligibleToBeUnreserved (event )) {
181179 manager .close (event , event .getUser ().getIdLong () == manager .getPostThread ().getOwnerIdLong (), null );
182180 } else {
0 commit comments