From d5d6bbbcb59518bfcbd8496fab62aee14d63992e Mon Sep 17 00:00:00 2001 From: Sheldan <5037282+Sheldan@users.noreply.github.com> Date: Fri, 24 Apr 2026 20:03:10 +0200 Subject: [PATCH] [SIS-xxx] changing ban message modifying meetup to add the location on the meetup message itself updating abstracto version --- .../sissi/module/meetup/commands/CreateMeetup.java | 10 +++++++--- .../meetup/model/template/MeetupMessageModel.java | 2 +- .../sissi/module/meetup/service/MeetupServiceBean.java | 10 +++------- .../management/MeetupManagementServiceBean.java | 9 ++------- pom.xml | 4 ++-- .../createMeetup/createMeetup_confirmation_embed.ftl | 2 +- .../resources/default/general/meetup_display_embed.ftl | 8 ++++++-- .../default/general/meetup_ice_file_download.ftl | 2 +- .../default/ban/commands/ban_notification_text.ftl | 4 +++- 9 files changed, 26 insertions(+), 25 deletions(-) diff --git a/application/sissi-modules/meetup/src/main/java/dev/sheldan/sissi/module/meetup/commands/CreateMeetup.java b/application/sissi-modules/meetup/src/main/java/dev/sheldan/sissi/module/meetup/commands/CreateMeetup.java index 874d88d6..07d1e060 100644 --- a/application/sissi-modules/meetup/src/main/java/dev/sheldan/sissi/module/meetup/commands/CreateMeetup.java +++ b/application/sissi-modules/meetup/src/main/java/dev/sheldan/sissi/module/meetup/commands/CreateMeetup.java @@ -35,6 +35,8 @@ import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEve import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.time.Instant; import java.util.Arrays; import java.util.List; @@ -76,7 +78,7 @@ public class CreateMeetup extends AbstractConditionableCommand { private static final String DESCRIPTION_PARAMETER = "description"; private static final String LOCATION_PARAMETER = "location"; private static final String CONFIRMATION_TEMPLATE = "createMeetup_confirmation"; - private static final String DEFAULT_LOCATION_STRING = "\"\""; + private static final String DEFAULT_LOCATION_STRING = ""; @Override public CompletableFuture executeAsync(CommandContext commandContext) { @@ -94,13 +96,14 @@ public class CreateMeetup extends AbstractConditionableCommand { Meetup meetup = meetupManagementServiceBean.createMeetup(meetupTime, meetupTopic, description, organizer, meetupChannel, DEFAULT_LOCATION_STRING); String confirmationId = componentService.generateComponentId(); String cancelId = componentService.generateComponentId(); + String locationEncoded = URLEncoder.encode(meetup.getLocation(), StandardCharsets.UTF_8); MeetupConfirmationModel model = MeetupConfirmationModel .builder() .meetupTime(meetupTime) .guildId(commandContext.getGuild().getIdLong()) .description(description) .topic(meetupTopic) - .location(meetup.getLocation()) + .location(locationEncoded) .confirmationId(confirmationId) .cancelId(cancelId) .meetupId(meetup.getId().getId()) @@ -136,13 +139,14 @@ public class CreateMeetup extends AbstractConditionableCommand { Meetup meetup = meetupManagementServiceBean.createMeetup(meetupTime, topic, description, organizer, meetupChannel, location); String confirmationId = componentService.generateComponentId(); String cancelId = componentService.generateComponentId(); + String locationEncoded = URLEncoder.encode(meetup.getLocation(), StandardCharsets.UTF_8); MeetupConfirmationModel model = MeetupConfirmationModel .builder() .meetupTime(meetupTime) .guildId(event.getGuild().getIdLong()) .description(description) .topic(topic) - .location(meetup.getLocation()) + .location(locationEncoded) .confirmationId(confirmationId) .cancelId(cancelId) .meetupId(meetup.getId().getId()) diff --git a/application/sissi-modules/meetup/src/main/java/dev/sheldan/sissi/module/meetup/model/template/MeetupMessageModel.java b/application/sissi-modules/meetup/src/main/java/dev/sheldan/sissi/module/meetup/model/template/MeetupMessageModel.java index 75dad5b6..2bfa16db 100644 --- a/application/sissi-modules/meetup/src/main/java/dev/sheldan/sissi/module/meetup/model/template/MeetupMessageModel.java +++ b/application/sissi-modules/meetup/src/main/java/dev/sheldan/sissi/module/meetup/model/template/MeetupMessageModel.java @@ -16,7 +16,7 @@ public class MeetupMessageModel { private String description; private Instant meetupTime; private String location; - private String decodedLocation; + private String locationEncoded; private MemberDisplay organizer; private Long meetupId; private String yesId; diff --git a/application/sissi-modules/meetup/src/main/java/dev/sheldan/sissi/module/meetup/service/MeetupServiceBean.java b/application/sissi-modules/meetup/src/main/java/dev/sheldan/sissi/module/meetup/service/MeetupServiceBean.java index eff14a95..93b606b0 100644 --- a/application/sissi-modules/meetup/src/main/java/dev/sheldan/sissi/module/meetup/service/MeetupServiceBean.java +++ b/application/sissi-modules/meetup/src/main/java/dev/sheldan/sissi/module/meetup/service/MeetupServiceBean.java @@ -195,17 +195,17 @@ public class MeetupServiceBean { .filter(meetupParticipator -> meetupParticipator.getDecision().equals(MeetupDecision.NO_TIME)) .map(mapToUserId) .toList(); - String rawLocation = java.net.URLDecoder.decode(meetup.getLocation(), StandardCharsets.UTF_8); List participantIds = allParticipants .stream() .map(mapToUserId) .collect(Collectors.toList()); + String locationEncoded = URLEncoder.encode(meetup.getLocation(), StandardCharsets.UTF_8); MeetupMessageModel.MeetupMessageModelBuilder builder = MeetupMessageModel .builder() .description(meetup.getDescription()) .topic(meetup.getTopic()) .location(meetup.getLocation()) - .decodedLocation(rawLocation) + .locationEncoded(locationEncoded) .noTimeId(meetup.getNoTimeButtonId()) .yesId(meetup.getYesButtonId()) .maybeId(meetup.getMaybeButtonId()) @@ -525,11 +525,7 @@ public class MeetupServiceBean { } public CompletableFuture changeMeetupLocation(Meetup meetup, String newLocation) { - try { - meetup.setLocation(URLEncoder.encode(newLocation, StandardCharsets.UTF_8.toString())); - } catch (UnsupportedEncodingException e) { - throw new AbstractoRunTimeException(e); - } + meetup.setLocation(newLocation); return updateMeetupMessage(meetup); } diff --git a/application/sissi-modules/meetup/src/main/java/dev/sheldan/sissi/module/meetup/service/management/MeetupManagementServiceBean.java b/application/sissi-modules/meetup/src/main/java/dev/sheldan/sissi/module/meetup/service/management/MeetupManagementServiceBean.java index db51f7aa..4dede1d6 100644 --- a/application/sissi-modules/meetup/src/main/java/dev/sheldan/sissi/module/meetup/service/management/MeetupManagementServiceBean.java +++ b/application/sissi-modules/meetup/src/main/java/dev/sheldan/sissi/module/meetup/service/management/MeetupManagementServiceBean.java @@ -35,23 +35,18 @@ public class MeetupManagementServiceBean { throw new MeetupPastTimeException(); } Long meetupId = counterService.getNextCounterValue(organizer.getServerReference(), MEETUP_COUNTER_KEY); - Meetup meetup = null; - try { - meetup = Meetup + Meetup meetup = Meetup .builder() .meetupTime(timeStamp) .description(description) .topic(topic) - .location(URLEncoder.encode(location, StandardCharsets.UTF_8.toString())) + .location(location) .organizer(organizer) .server(organizer.getServerReference()) .meetupChannel(meetupChannel) .state(MeetupState.NEW) .id(new ServerSpecificId(organizer.getServerReference().getId(), meetupId)) .build(); - } catch (UnsupportedEncodingException e) { - throw new AbstractoRunTimeException(e); - } return meetupRepository.save(meetup); } diff --git a/pom.xml b/pom.xml index c527c549..33901543 100644 --- a/pom.xml +++ b/pom.xml @@ -18,8 +18,8 @@ 17 17 - 1.6.21 - 1.4.67 + 1.6.22 + 1.4.68 4.9.0 3.5.0 1.21.2 diff --git a/templates/sissi-templates/module-templates/meetup-templates/src/main/resources/default/commands/createMeetup/createMeetup_confirmation_embed.ftl b/templates/sissi-templates/module-templates/meetup-templates/src/main/resources/default/commands/createMeetup/createMeetup_confirmation_embed.ftl index 3e07ce03..4a7cadb0 100644 --- a/templates/sissi-templates/module-templates/meetup-templates/src/main/resources/default/commands/createMeetup/createMeetup_confirmation_embed.ftl +++ b/templates/sissi-templates/module-templates/meetup-templates/src/main/resources/default/commands/createMeetup/createMeetup_confirmation_embed.ftl @@ -2,7 +2,7 @@ { "components": [ { - <#assign hasLocation=location?? && location != "%22%22"> + <#assign hasLocation=location?has_content> "type": "textDisplay", "content": "<#include "createMeetup_meetup_information">" }, diff --git a/templates/sissi-templates/module-templates/meetup-templates/src/main/resources/default/general/meetup_display_embed.ftl b/templates/sissi-templates/module-templates/meetup-templates/src/main/resources/default/general/meetup_display_embed.ftl index d0183a64..716fabf0 100644 --- a/templates/sissi-templates/module-templates/meetup-templates/src/main/resources/default/general/meetup_display_embed.ftl +++ b/templates/sissi-templates/module-templates/meetup-templates/src/main/resources/default/general/meetup_display_embed.ftl @@ -17,18 +17,22 @@ <#assign time><@format_instant_long_date_time instant=meetupTime/> <#assign timeRelative><@format_instant_relative instant=meetupTime/> - <#if location?? && location != "%22%22"> + <#if location?has_content> "type": "section", "components": [ { "type": "textDisplay", "content": "<@safe_include "meetup_display_time_component"/>" + }, + { + "type": "textDisplay", + "content": "<@safe_include "meetup_message_location_button_label"/>: ${location?json_string}" } ], "accessory": { "type": "button", "label": "<@safe_include "meetup_message_location_button_label"/>", - "url": "https://www.google.com/maps?q=${location?json_string}", + "url": "https://www.google.com/maps?q=${locationEncoded?json_string}", "buttonStyle": "link" } <#else> diff --git a/templates/sissi-templates/module-templates/meetup-templates/src/main/resources/default/general/meetup_ice_file_download.ftl b/templates/sissi-templates/module-templates/meetup-templates/src/main/resources/default/general/meetup_ice_file_download.ftl index ad2b4c47..c48598f0 100644 --- a/templates/sissi-templates/module-templates/meetup-templates/src/main/resources/default/general/meetup_ice_file_download.ftl +++ b/templates/sissi-templates/module-templates/meetup-templates/src/main/resources/default/general/meetup_ice_file_download.ftl @@ -8,6 +8,6 @@ DTSTART:${meetupIcsModel.icsFormattedStartTime} DTEND:${meetupIcsModel.icsFormattedEndTime} SUMMARY:${topic} <#if description?has_content>DESCRIPTION:${description} -<#if decodedLocation?? && decodedLocation != "">LOCATION:${decodedLocation} +<#if location?? && location != "">LOCATION:${location} END:VEVENT END:VCALENDAR \ No newline at end of file diff --git a/templates/sissi-translations/translation-overrides/moderation-translation-overrides/src/main/resources/default/ban/commands/ban_notification_text.ftl b/templates/sissi-translations/translation-overrides/moderation-translation-overrides/src/main/resources/default/ban/commands/ban_notification_text.ftl index c5c8efb1..2f752da1 100644 --- a/templates/sissi-translations/translation-overrides/moderation-translation-overrides/src/main/resources/default/ban/commands/ban_notification_text.ftl +++ b/templates/sissi-translations/translation-overrides/moderation-translation-overrides/src/main/resources/default/ban/commands/ban_notification_text.ftl @@ -1,9 +1,11 @@ Du wurdest vom Server ${serverName} wegen `${reason}` gebannt. -When du das beeinspruchen willst, folge bitte dieser Einladung: https://discord.gg/qdH3rJDVrv und ANTWORTE AUF DIESE NACHRICHT MIT EINER TEXT NACHRICHT. Die Mods werden dir dann antworten. +When du das beeinspruchen willst, folge bitte dieser Einladung: https://discord.gg/qdH3rJDVrv und ANTWORTE AUF DIESE NACHRICHT MIT EINER TEXT NACHRICHT. +Die Mods werden dir dann antworten. Falls du wegen honeypot gebannt wurdest: Dies ist eine Rolle beim onboarding und da steht daneben, dass man gebannt wird. Melde dich dennoch bei den Mods. Du musst dich in 'Austria Appeal Server' befinden, damit du dem Bot schreiben kannst. Wenn der Einspruch abgelehnt wird, wirst du vom Server entfernt. You were banned from the server ${serverName} for `${reason}`. If you want to appeal, join the server https://discord.gg/qdH3rJDVrv and then message this bot, this opens up a modmail. +If you were banned for the reason of honeypot: this is related to an option you selected during onboarding that specifically says that you get banned upon selection. Contact the mods anyway if you want. Joining the server is necessary in order to make communication to the bot possible. If the appeal is denied, you will be banned from the above-mentioned server. \ No newline at end of file