Skip to content

Commit c080ab8

Browse files
committed
Log submission errors
1 parent 90e8a37 commit c080ab8

File tree

1 file changed

+20
-8
lines changed

1 file changed

+20
-8
lines changed

src/main/java/net/discordjug/javabot/systems/staff_commands/forms/FormInteractionManager.java

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,10 @@
4545
@Slf4j
4646
public class FormInteractionManager implements ButtonHandler, ModalHandler {
4747

48+
private static final String SUBMISSION_ERROR_LOG = "A user tried to submit a form \"%s\", but an error occured.";
49+
50+
private static final String SUBMISSION_ERROR_MSG = "We couldn't receive your submission due to an error. Please contact server staff.";
51+
4852
/**
4953
* String representation of the date and time format used in forms.
5054
*/
@@ -144,17 +148,25 @@ public void handleModal(ModalInteractionEvent event, List<ModalMapping> values)
144148
if (channel == null) {
145149
log.warn("A user tried to submit a form \"%s\" because the submission channel does not exist."
146150
.formatted(form.title()));
147-
event.getHook()
148-
.sendMessage("We couldn't receive your submission due to an error. Please contact server staff.")
149-
.queue();
151+
event.getHook().sendMessage(SUBMISSION_ERROR_MSG).queue();
150152
return;
151153
}
152154

153-
channel.sendMessageEmbeds(createSubmissionEmbed(form, values, event.getMember())).queue(msg -> {
154-
formsRepo.addSubmission(event.getUser(), form, msg);
155-
});
156-
157-
event.getHook().sendMessage(form.getOptionalSubmitMessage().orElse("Your submission was received!")).queue();
155+
try {
156+
channel.sendMessageEmbeds(createSubmissionEmbed(form, values, event.getMember())).queue(msg -> {
157+
formsRepo.addSubmission(event.getUser(), form, msg);
158+
event.getHook().sendMessage(form.getOptionalSubmitMessage().orElse("Your submission was received!"))
159+
.queue();
160+
}, e -> {
161+
event.getHook().sendMessage(SUBMISSION_ERROR_MSG).queue();
162+
log.error(SUBMISSION_ERROR_LOG.formatted(form.title()));
163+
ExceptionLogger.capture(e);
164+
});
165+
} catch (IllegalArgumentException e) {
166+
event.getHook().sendMessage(SUBMISSION_ERROR_MSG).queue();
167+
log.error(SUBMISSION_ERROR_LOG.formatted(form.title()));
168+
ExceptionLogger.capture(e);
169+
}
158170
}
159171

160172
/**

0 commit comments

Comments
 (0)