@@ -188,24 +188,30 @@ RestAction<Message> constructChatGptAttempt(ThreadChannel threadChannel,
188188 """ ::formatted )
189189 .flatMap (threadChannel ::sendMessage )
190190 .onSuccess (m -> ids .add (m .getId ()));
191-
192191 String [] answers = chatGPTAnswer .get ();
192+
193193 for (int i = 0 ; i < answers .length ; i ++) {
194+ MessageCreateAction messageCreateAction = threadChannel .sendMessage (answers [i ]);
195+
194196 if (i == answers .length - 1 ) {
195- message = message .map (answers [i ]::formatted )
196- .flatMap (m -> threadChannel .sendMessage (m )
197- .addActionRow (Button .danger (componentIdInteractor
198- .generateComponentId (ids .toArray (String []::new )), "Dismiss" )));
197+ message = message .flatMap (ignored -> messageCreateAction
198+ .addActionRow (generateDismissButton (componentIdInteractor , ids )));
199199 continue ;
200200 }
201- message = message . map ( answers [ i ]:: formatted )
202- . flatMap ( threadChannel :: sendMessage )
203- .onSuccess (m -> ids .add (m .getId ()));
201+
202+ message = message
203+ .flatMap ( ignored -> messageCreateAction . onSuccess (m -> ids .add (m .getId () )));
204204 }
205205
206206 return message ;
207207 }
208208
209+ private Button generateDismissButton (ComponentIdInteractor componentIdInteractor ,
210+ List <String > ids ) {
211+ String buttonId = componentIdInteractor .generateComponentId (ids .toArray (String []::new ));
212+ return Button .danger (buttonId , "Dismiss" );
213+ }
214+
209215 private Optional <String > prepareChatGptQuestion (ThreadChannel threadChannel ,
210216 String originalQuestion ) {
211217 String questionTitle = threadChannel .getName ();
0 commit comments