@@ -60,9 +60,9 @@ public HelpThreadCreatedListener(HelpSystemHelper helper) {
60
60
@ Override
61
61
public void onMessageReceived (@ NotNull MessageReceivedEvent event ) {
62
62
if (event .isFromThread ()) {
63
- Channel parentChannel = event .getChannel ().asThreadChannel ().getParentChannel ();
63
+ ThreadChannel threadChannel = event .getChannel ().asThreadChannel ();
64
+ Channel parentChannel = threadChannel .getParentChannel ();
64
65
if (helper .isHelpForumName (parentChannel .getName ())) {
65
- ThreadChannel threadChannel = event .getChannel ().asThreadChannel ();
66
66
int messageCount = threadChannel .getMessageCount ();
67
67
if (messageCount > 1 || wasThreadAlreadyHandled (threadChannel .getIdLong ())) {
68
68
return ;
@@ -84,8 +84,11 @@ private boolean wasThreadAlreadyHandled(long threadChannelId) {
84
84
private void handleHelpThreadCreated (ThreadChannel threadChannel ) {
85
85
threadChannel .retrieveStartMessage ().flatMap (message -> {
86
86
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 ();
89
92
}
90
93
91
94
private static User getMentionedAuthorByMessage (Message message ) {
@@ -96,24 +99,18 @@ private static boolean isPostedBySelfUser(Message message) {
96
99
return message .getJDA ().getSelfUser ().equals (message .getAuthor ());
97
100
}
98
101
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 );
104
105
}
105
106
106
107
private static boolean isContextSufficient (Message message ) {
107
108
return !MessageUtils .containsImage (message )
108
109
&& !LinkDetection .containsLink (message .getContentRaw ());
109
110
}
110
111
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 ();
117
114
}
118
115
119
116
private RestAction <Message > sendHelperHeadsUp (ThreadChannel threadChannel ) {
0 commit comments