@@ -60,9 +60,9 @@ public HelpThreadCreatedListener(HelpSystemHelper helper) {
6060 @ Override
6161 public void onMessageReceived (@ NotNull MessageReceivedEvent event ) {
6262 if (event .isFromThread ()) {
63- Channel parentChannel = event .getChannel ().asThreadChannel ().getParentChannel ();
63+ ThreadChannel threadChannel = event .getChannel ().asThreadChannel ();
64+ Channel parentChannel = threadChannel .getParentChannel ();
6465 if (helper .isHelpForumName (parentChannel .getName ())) {
65- ThreadChannel threadChannel = event .getChannel ().asThreadChannel ();
6666 int messageCount = threadChannel .getMessageCount ();
6767 if (messageCount > 1 || wasThreadAlreadyHandled (threadChannel .getIdLong ())) {
6868 return ;
@@ -84,8 +84,11 @@ private boolean wasThreadAlreadyHandled(long threadChannelId) {
8484 private void handleHelpThreadCreated (ThreadChannel threadChannel ) {
8585 threadChannel .retrieveStartMessage ().flatMap (message -> {
8686 registerThreadDataInDB (message , threadChannel );
87- return generateAutomatedResponse (threadChannel );
88- }).flatMap (message -> pinOriginalQuestion (threadChannel )).queue ();
87+ return sendHelperHeadsUp (threadChannel )
88+ .flatMap (any -> HelpThreadCreatedListener .isContextSufficient (message ),
89+ any -> createAIResponse (threadChannel , message ))
90+ .flatMap (any -> pinOriginalQuestion (message ));
91+ }).queue ();
8992 }
9093
9194 private static User getMentionedAuthorByMessage (Message message ) {
@@ -96,24 +99,18 @@ private static boolean isPostedBySelfUser(Message message) {
9699 return message .getJDA ().getSelfUser ().equals (message .getAuthor ());
97100 }
98101
99- private RestAction <Message > createAIResponse (ThreadChannel threadChannel ) {
100- RestAction <Message > originalQuestion = threadChannel .retrieveStartMessage ();
101- return originalQuestion .flatMap (HelpThreadCreatedListener ::isContextSufficient ,
102- message -> helper .constructChatGptAttempt (threadChannel , getMessageContent (message ),
103- componentIdInteractor ));
102+ private RestAction <Message > createAIResponse (ThreadChannel threadChannel , Message message ) {
103+ return helper .constructChatGptAttempt (threadChannel , getMessageContent (message ),
104+ componentIdInteractor );
104105 }
105106
106107 private static boolean isContextSufficient (Message message ) {
107108 return !MessageUtils .containsImage (message )
108109 && !LinkDetection .containsLink (message .getContentRaw ());
109110 }
110111
111- private RestAction <Void > pinOriginalQuestion (ThreadChannel threadChannel ) {
112- return threadChannel .retrieveStartMessage ().flatMap (Message ::pin );
113- }
114-
115- private RestAction <Message > generateAutomatedResponse (ThreadChannel threadChannel ) {
116- return sendHelperHeadsUp (threadChannel ).flatMap (any -> createAIResponse (threadChannel ));
112+ private RestAction <Void > pinOriginalQuestion (Message message ) {
113+ return message .pin ();
117114 }
118115
119116 private RestAction <Message > sendHelperHeadsUp (ThreadChannel threadChannel ) {
0 commit comments