Skip to content

Commit d89c029

Browse files
committed
Clean up
1 parent 8437399 commit d89c029

File tree

2 files changed

+17
-9
lines changed

2 files changed

+17
-9
lines changed

application/src/main/java/org/togetherjava/tjbot/features/help/HelpSystemHelper.java

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -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();

application/src/main/java/org/togetherjava/tjbot/features/help/HelpThreadCreatedListener.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import java.time.Instant;
2424
import java.time.temporal.ChronoUnit;
2525
import java.util.List;
26+
import java.util.Objects;
2627
import java.util.concurrent.TimeUnit;
2728

2829
/**
@@ -142,8 +143,9 @@ public void acceptComponentIdGenerator(ComponentIdGenerator generator) {
142143

143144
@Override
144145
public void onButtonClick(ButtonInteractionEvent event, List<String> args) {
146+
// This method handles chatgpt's automatic response "dismiss" button
145147
ThreadChannel channel = event.getChannel().asThreadChannel();
146-
Member interactionUser = event.getMember();
148+
Member interactionUser = Objects.requireNonNull(event.getMember());
147149
if (channel.getOwnerIdLong() != interactionUser.getIdLong()
148150
&& !helper.hasTagManageRole(interactionUser)) {
149151
event.reply("You do not have permission for this action.").setEphemeral(true).queue();

0 commit comments

Comments
 (0)