diff --git a/gradle.properties b/gradle.properties index c793a1c..0bb36cb 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1 +1 @@ -version=6.0.22 +version=6.0.23 \ No newline at end of file diff --git a/src/main/kotlin/dev/slne/surf/discord/ticket/command/TicketReplyDeadlineCommand.kt b/src/main/kotlin/dev/slne/surf/discord/ticket/command/TicketReplyDeadlineCommand.kt index 0a3f00a..393d505 100644 --- a/src/main/kotlin/dev/slne/surf/discord/ticket/command/TicketReplyDeadlineCommand.kt +++ b/src/main/kotlin/dev/slne/surf/discord/ticket/command/TicketReplyDeadlineCommand.kt @@ -13,12 +13,20 @@ import org.springframework.stereotype.Component import java.time.ZonedDateTime @DiscordCommand( - "reply-deadline", "Sende eine Reply-Deadline in ein Ticket.", options = [CommandOption( - name = "user", - description = "Der Nutzer, für den die Reply-Deadline gesetzt wird.", - type = CommandOptionType.USER, - required = true - )] + "reply-deadline", "Sende eine Reply-Deadline in ein Ticket.", options = [ + CommandOption( + name = "user", + description = "Der Nutzer, für den die Reply-Deadline gesetzt wird.", + type = CommandOptionType.USER, + required = true + ), + CommandOption( + name = "until", + description = "Setze eine eigene Zeit in Stunden", + type = CommandOptionType.INTEGER, + required = false + ), + ] ) @Component class TicketReplyDeadlineCommand : SlashCommand { @@ -37,7 +45,22 @@ class TicketReplyDeadlineCommand : SlashCommand { return } - val deadline = ZonedDateTime.now().plusHours(36) + val rawDeadline = event.getOption("until")?.asLong ?: 24 + + if (rawDeadline <= 0L) { + event.reply(translatable("ticket.command.until.not-positive")) + .setEphemeral(true).queue() + return + } + + if (rawDeadline >= 8767L) { + event.reply(translatable("ticket.command.until.to-high")) + .setEphemeral(true).queue() + return + } + + + val deadline = ZonedDateTime.now().plusHours(rawDeadline) val deadlineUnix = deadline.toEpochSecond() val untilString = "" val relativeString = "" diff --git a/src/main/resources/messages.properties b/src/main/resources/messages.properties index 1716240..42259b1 100644 --- a/src/main/resources/messages.properties +++ b/src/main/resources/messages.properties @@ -37,6 +37,8 @@ ticket.command.add.already-member={0} ist bereits Mitglied in diesem Ticket. ticket.command.add.missing-target=Bitte gebe einen Nutzer oder eine Rolle an, die dem Ticket hinzugefügt werden soll. ticket.command.remove.success={0} wurde aus dem Ticket entfernt. ticket.command.remove.not-member={0} ist kein Mitglied in diesem Ticket. +ticket.command.until.not-positive=Die angegebene Zeit muss größer als 0 Stunden sein. +ticket.command.until.to-high=Die angegebene Zeit muss kleiner als 8767 Stunden (1 Jahr) sein. # Ticket: Bugreport ticket.bugreport.modal.title=Bugreport erstellen ticket.bugreport.modal.field.issue.label=Gefundener Bug