From be35a84dcf5d73ce3c0eff9cffc7e5e4f733a2aa Mon Sep 17 00:00:00 2001 From: Sheldan <5037282+Sheldan@users.noreply.github.com> Date: Sun, 13 Jul 2025 20:09:45 +0200 Subject: [PATCH] [SIS-xxx] upgrading to abstracto version supporting components v2 changing meetup and quote command responses to use components v2 changing column name of quote attachment --- .env | 2 +- .../listener/MeetupDecisionListener.java | 2 +- .../meetup/service/MeetupServiceBean.java | 4 +- .../model/command/QuoteResponseModel.java | 12 +- .../model/database/QuoteAttachment.java | 4 +- .../quotes/service/QuoteServiceBean.java | 46 ++----- .../management/QuoteManagementService.java | 2 +- .../resources/migrations/1.5.6/collection.xml | 6 + .../1.5.6/tables/quote_attachment.xml | 12 ++ .../migrations/1.5.6/tables/tables.xml | 6 + .../resources/migrations/quotes-changeLog.xml | 1 + deployment/helm/sissi/values.yaml | 4 +- pom.xml | 4 +- .../createMeetup_confirmation_embed.ftl | 49 ++++---- .../listMeetups_response_embed.ftl | 36 +++++- .../default/general/meetup_display_embed.ftl | 115 ++++++++++-------- .../commands/quote/quote_response_embed.ftl | 80 +++++++++--- .../createMeetup_meetup_information.ftl | 5 + .../meetup_list_jump_button_label.ftl | 1 + .../meetup_list_meetup_display.ftl | 1 - .../general/meetup_description_component.ftl | 3 + .../general/meetup_display_description.ftl | 11 -- .../general/meetup_display_time_component.ftl | 1 + ...tup_user_display_declined_participants.ftl | 1 + ...meetup_user_display_maybe_participants.ftl | 1 + ...etup_user_display_no_time_participants.ftl | 1 + .../meetup_user_display_participants.ftl | 1 + .../quote/quote_response_description.ftl | 2 - .../quote_response_footer_adder_name.ftl | 1 - .../quote_response_header_author_name.ftl | 2 +- .../quote/quote_response_jump_label.ftl | 1 + .../quote/quote_response_no_content.ftl | 1 + .../commands/quote/quote_response_title.ftl | 1 + 33 files changed, 248 insertions(+), 171 deletions(-) create mode 100644 application/sissi-modules/quotes/src/main/resources/migrations/1.5.6/collection.xml create mode 100644 application/sissi-modules/quotes/src/main/resources/migrations/1.5.6/tables/quote_attachment.xml create mode 100644 application/sissi-modules/quotes/src/main/resources/migrations/1.5.6/tables/tables.xml create mode 100644 templates/sissi-translations/module-translations/meetup-translations/src/main/resources/default/commands/createMeetup/createMeetup_meetup_information.ftl create mode 100644 templates/sissi-translations/module-translations/meetup-translations/src/main/resources/default/commands/listMeetups/meetup_list_jump_button_label.ftl create mode 100644 templates/sissi-translations/module-translations/meetup-translations/src/main/resources/default/general/meetup_description_component.ftl delete mode 100644 templates/sissi-translations/module-translations/meetup-translations/src/main/resources/default/general/meetup_display_description.ftl create mode 100644 templates/sissi-translations/module-translations/meetup-translations/src/main/resources/default/general/meetup_display_time_component.ftl create mode 100644 templates/sissi-translations/module-translations/meetup-translations/src/main/resources/default/general/meetup_user_display_declined_participants.ftl create mode 100644 templates/sissi-translations/module-translations/meetup-translations/src/main/resources/default/general/meetup_user_display_maybe_participants.ftl create mode 100644 templates/sissi-translations/module-translations/meetup-translations/src/main/resources/default/general/meetup_user_display_no_time_participants.ftl create mode 100644 templates/sissi-translations/module-translations/meetup-translations/src/main/resources/default/general/meetup_user_display_participants.ftl delete mode 100644 templates/sissi-translations/module-translations/quote-translations/src/main/resources/default/commands/quote/quote_response_description.ftl delete mode 100644 templates/sissi-translations/module-translations/quote-translations/src/main/resources/default/commands/quote/quote_response_footer_adder_name.ftl create mode 100644 templates/sissi-translations/module-translations/quote-translations/src/main/resources/default/commands/quote/quote_response_jump_label.ftl create mode 100644 templates/sissi-translations/module-translations/quote-translations/src/main/resources/default/commands/quote/quote_response_no_content.ftl create mode 100644 templates/sissi-translations/module-translations/quote-translations/src/main/resources/default/commands/quote/quote_response_title.ftl diff --git a/.env b/.env index bf76341b..be055e9b 100644 --- a/.env +++ b/.env @@ -1,4 +1,4 @@ REGISTRY_PREFIX=harbor.sheldan.dev/sissi/ ABSTRACTO_PREFIX=harbor.sheldan.dev/abstracto/ VERSION=1.5.5 -ABSTRACTO_VERSION=1.6.8 \ No newline at end of file +ABSTRACTO_VERSION=1.6.9 \ No newline at end of file diff --git a/application/sissi-modules/meetup/src/main/java/dev/sheldan/sissi/module/meetup/listener/MeetupDecisionListener.java b/application/sissi-modules/meetup/src/main/java/dev/sheldan/sissi/module/meetup/listener/MeetupDecisionListener.java index 6d82087d..aa77a8e6 100644 --- a/application/sissi-modules/meetup/src/main/java/dev/sheldan/sissi/module/meetup/listener/MeetupDecisionListener.java +++ b/application/sissi-modules/meetup/src/main/java/dev/sheldan/sissi/module/meetup/listener/MeetupDecisionListener.java @@ -60,7 +60,7 @@ public class MeetupDecisionListener implements ButtonClickedListener { MeetupMessageModel meetupMessageModel = meetupServiceBean.getMeetupMessageModel(meetup); addParticipationToModel(meetupMessageModel, userInAServer, payload.getMeetupDecision()); MessageToSend messageToSend = meetupServiceBean.getMeetupMessage(meetupMessageModel, model.getServerId()); - channelService.editEmbedMessageInAChannel(messageToSend.getEmbeds().get(0), model.getEvent().getChannel(), meetup.getMessageId()) + channelService.editMessageInAChannelFuture(messageToSend, model.getEvent().getChannel(), meetup.getMessageId()) .thenAccept(message -> log.info("Updated message of meetup {} in channel {} in server {}.", meetup.getId().getId(), meetup.getMeetupChannel().getId(), meetup.getServer().getId())) .exceptionally(throwable -> { log.info("Failed to update message of meetup {} in channel {} in server {}.", meetup.getId().getId(), meetup.getMeetupChannel().getId(), meetup.getServer().getId(), throwable); 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 60ff2ecf..575c6ebc 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 @@ -372,7 +372,7 @@ public class MeetupServiceBean { List userIdsToNotify = participants .stream() .map(meetupParticipator -> meetupParticipator.getParticipator().getUserReference().getId()) - .collect(Collectors.toList()); + .toList(); Long serverId = meetup.getServer().getId(); @@ -415,7 +415,7 @@ public class MeetupServiceBean { List userInServerIds = participants .stream() .map(meetupParticipant -> meetupParticipant.getParticipator().getUserInServerId()) - .collect(Collectors.toList()); + .toList(); meetup .getParticipants().removeIf(meetupParticipant -> userInServerIds.contains(meetupParticipant.getParticipator().getUserInServerId())); MeetupMessageModel meetupMessageModel = getMeetupMessageModel(meetup); diff --git a/application/sissi-modules/quotes/src/main/java/dev/sheldan/sissi/module/quotes/model/command/QuoteResponseModel.java b/application/sissi-modules/quotes/src/main/java/dev/sheldan/sissi/module/quotes/model/command/QuoteResponseModel.java index 624f57ae..aae8974b 100644 --- a/application/sissi-modules/quotes/src/main/java/dev/sheldan/sissi/module/quotes/model/command/QuoteResponseModel.java +++ b/application/sissi-modules/quotes/src/main/java/dev/sheldan/sissi/module/quotes/model/command/QuoteResponseModel.java @@ -1,6 +1,8 @@ package dev.sheldan.sissi.module.quotes.model.command; import dev.sheldan.abstracto.core.models.ServerChannelMessage; +import dev.sheldan.abstracto.core.models.template.display.MemberDisplay; +import dev.sheldan.abstracto.core.models.template.display.UserDisplay; import lombok.Builder; import lombok.Getter; @@ -11,14 +13,14 @@ import java.util.List; @Builder public class QuoteResponseModel { private Long quoteId; - private String authorAvatarURL; - private String authorName; + private UserDisplay authorUserDisplay; + private MemberDisplay authorMemberDisplay; private ServerChannelMessage quotedMessage; private String quoteContent; - private List imageAttachmentURLs; + private List mediaAttachmentURLs; private List fileAttachmentURLs; - private String adderAvatarURL; - private String adderName; + private UserDisplay adderUserDisplay; + private MemberDisplay adderMemberDisplay; private Instant creationDate; private String sourceChannelName; } diff --git a/application/sissi-modules/quotes/src/main/java/dev/sheldan/sissi/module/quotes/model/database/QuoteAttachment.java b/application/sissi-modules/quotes/src/main/java/dev/sheldan/sissi/module/quotes/model/database/QuoteAttachment.java index 000b7ffb..2b37d42a 100644 --- a/application/sissi-modules/quotes/src/main/java/dev/sheldan/sissi/module/quotes/model/database/QuoteAttachment.java +++ b/application/sissi-modules/quotes/src/main/java/dev/sheldan/sissi/module/quotes/model/database/QuoteAttachment.java @@ -41,8 +41,8 @@ public class QuoteAttachment { @Getter @Setter - @Column(name = "is_image", nullable = false) + @Column(name = "is_media", nullable = false) @Builder.Default - private Boolean isImage = false; + private Boolean isMedia = false; } diff --git a/application/sissi-modules/quotes/src/main/java/dev/sheldan/sissi/module/quotes/service/QuoteServiceBean.java b/application/sissi-modules/quotes/src/main/java/dev/sheldan/sissi/module/quotes/service/QuoteServiceBean.java index 1ef1a04f..2ec67a48 100644 --- a/application/sissi-modules/quotes/src/main/java/dev/sheldan/sissi/module/quotes/service/QuoteServiceBean.java +++ b/application/sissi-modules/quotes/src/main/java/dev/sheldan/sissi/module/quotes/service/QuoteServiceBean.java @@ -4,6 +4,8 @@ import dev.sheldan.abstracto.core.models.ServerChannelMessage; import dev.sheldan.abstracto.core.models.ServerUser; import dev.sheldan.abstracto.core.models.database.AServer; import dev.sheldan.abstracto.core.models.database.AUserInAServer; +import dev.sheldan.abstracto.core.models.template.display.MemberDisplay; +import dev.sheldan.abstracto.core.models.template.display.UserDisplay; import dev.sheldan.abstracto.core.service.ChannelService; import dev.sheldan.abstracto.core.service.MemberService; import dev.sheldan.abstracto.core.service.UserService; @@ -103,21 +105,21 @@ public class QuoteServiceBean { List imageAttachments = quote .getAttachments() .stream() - .filter(QuoteAttachment::getIsImage) + .filter(QuoteAttachment::getIsMedia) .map(QuoteAttachment::getUrl) .collect(Collectors.toList()); List fileAttachments = quote .getAttachments() .stream() - .filter(quoteAttachment -> !quoteAttachment.getIsImage()) + .filter(quoteAttachment -> !quoteAttachment.getIsMedia()) .map(QuoteAttachment::getUrl) .collect(Collectors.toList()); QuoteResponseModel.QuoteResponseModelBuilder modelBuilder = QuoteResponseModel .builder() .quoteContent(quote.getText()) - .imageAttachmentURLs(imageAttachments) + .mediaAttachmentURLs(imageAttachments) .quoteId(quote.getId()) .fileAttachmentURLs(fileAttachments) .creationDate(quote.getCreated()) @@ -166,42 +168,14 @@ public class QuoteServiceBean { .filter(user -> user.getIdLong() == quoteAdderUserId) .findFirst() .orElse(null); - String adderAvatar = Optional - .ofNullable(adderMember) - .map(member -> member.getUser().getAvatarUrl()) - .orElse(Optional - .ofNullable(adderUser) - .map(User::getAvatarUrl) - .orElse(null)); - String authorAvatar = Optional - .ofNullable(authorMember) - .map(member -> member.getUser().getAvatarUrl()) - .orElse(Optional - .ofNullable(authorUser) - .map(User::getAvatarUrl) - .orElse(null)); - String adderName = Optional - .ofNullable(adderMember) - .map(Member::getEffectiveName) - .orElse(Optional - .ofNullable(adderUser) - .map(User::getName) - .orElse(null)); - String authorName = Optional - .ofNullable(authorMember) - .map(Member::getEffectiveName) - .orElse(Optional - .ofNullable(authorUser) - .map(User::getName) - .orElse(null)); String channelName = sourceChannel .map(Channel::getName) .orElse(null); QuoteResponseModel model = modelBuilder - .adderAvatarURL(adderAvatar) - .authorAvatarURL(authorAvatar) - .adderName(adderName) - .authorName(authorName) + .authorMemberDisplay(authorMember != null ? MemberDisplay.fromMember(authorMember) : null) + .authorUserDisplay(authorUser != null ? UserDisplay.fromUser(authorUser) : UserDisplay.fromServerUser(ServerUser.fromId(serverId, quotedUserId))) + .adderMemberDisplay(adderMember != null ? MemberDisplay.fromMember(adderMember) : null) + .adderUserDisplay(adderUser != null ? UserDisplay.fromUser(adderUser) : UserDisplay.fromServerUser(ServerUser.fromId(serverId, quoteAdderUserId))) .sourceChannelName(channelName) .build(); return templateService.renderEmbedTemplate(QUOTE_RESPONSE_TEMPLATE_KEY, model, serverId); @@ -260,7 +234,7 @@ public class QuoteServiceBean { List> attachments = quoteMessage .getAttachments() .stream() - .map(attachment -> Pair.of(attachment.getProxyUrl(), attachment.isImage())) + .map(attachment -> Pair.of(attachment.getProxyUrl(), attachment.isImage() || attachment.isVideo())) .toList(); return quoteManagementService.createQuote(author, adder, quoteMessage.getContentDisplay(), ServerChannelMessage.fromMessage(quoteMessage), attachments); } diff --git a/application/sissi-modules/quotes/src/main/java/dev/sheldan/sissi/module/quotes/service/management/QuoteManagementService.java b/application/sissi-modules/quotes/src/main/java/dev/sheldan/sissi/module/quotes/service/management/QuoteManagementService.java index 17535dc2..5e15670f 100644 --- a/application/sissi-modules/quotes/src/main/java/dev/sheldan/sissi/module/quotes/service/management/QuoteManagementService.java +++ b/application/sissi-modules/quotes/src/main/java/dev/sheldan/sissi/module/quotes/service/management/QuoteManagementService.java @@ -45,7 +45,7 @@ public class QuoteManagementService { .url(stringBooleanPair.getLeft()) .quote(quote) .server(adder.getServerReference()) - .isImage(stringBooleanPair.getRight()) + .isMedia(stringBooleanPair.getRight()) .build()) .toList(); diff --git a/application/sissi-modules/quotes/src/main/resources/migrations/1.5.6/collection.xml b/application/sissi-modules/quotes/src/main/resources/migrations/1.5.6/collection.xml new file mode 100644 index 00000000..bf192f5d --- /dev/null +++ b/application/sissi-modules/quotes/src/main/resources/migrations/1.5.6/collection.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/application/sissi-modules/quotes/src/main/resources/migrations/1.5.6/tables/quote_attachment.xml b/application/sissi-modules/quotes/src/main/resources/migrations/1.5.6/tables/quote_attachment.xml new file mode 100644 index 00000000..2feb392a --- /dev/null +++ b/application/sissi-modules/quotes/src/main/resources/migrations/1.5.6/tables/quote_attachment.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/application/sissi-modules/quotes/src/main/resources/migrations/1.5.6/tables/tables.xml b/application/sissi-modules/quotes/src/main/resources/migrations/1.5.6/tables/tables.xml new file mode 100644 index 00000000..43af58e7 --- /dev/null +++ b/application/sissi-modules/quotes/src/main/resources/migrations/1.5.6/tables/tables.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/application/sissi-modules/quotes/src/main/resources/migrations/quotes-changeLog.xml b/application/sissi-modules/quotes/src/main/resources/migrations/quotes-changeLog.xml index 8d94656a..276e848a 100644 --- a/application/sissi-modules/quotes/src/main/resources/migrations/quotes-changeLog.xml +++ b/application/sissi-modules/quotes/src/main/resources/migrations/quotes-changeLog.xml @@ -5,4 +5,5 @@ + \ No newline at end of file diff --git a/deployment/helm/sissi/values.yaml b/deployment/helm/sissi/values.yaml index 8b9e3e25..a771ba5d 100644 --- a/deployment/helm/sissi/values.yaml +++ b/deployment/helm/sissi/values.yaml @@ -93,7 +93,7 @@ templateDeployment: repository: harbor.sheldan.dev/abstracto pullPolicy: Always image: abstracto-template-deployment - tag: 1.6.8 + tag: 1.6.9 templateDeploymentData: repository: harbor.sheldan.dev/sissi pullPolicy: Always @@ -104,7 +104,7 @@ dbConfigDeployment: repository: harbor.sheldan.dev/abstracto pullPolicy: Always image: abstracto-db-deployment - tag: 1.6.8 + tag: 1.6.9 dbConfigDeploymentData: repository: harbor.sheldan.dev/sissi pullPolicy: Always diff --git a/pom.xml b/pom.xml index 294f2d4d..41d38b8d 100644 --- a/pom.xml +++ b/pom.xml @@ -18,8 +18,8 @@ 17 17 - 1.6.8 - 1.4.56 + 1.6.9 + 1.4.57 4.9.0 3.5.0 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 c55cda11..3e07ce03 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 @@ -1,33 +1,30 @@ <#include "format_instant"> { - "embeds": [ + "components": [ { - <#include "abstracto_color">, - "title": { - "title": "${topic?json_string}" - }, - "description": "<@format_instant_long_date_time instant=meetupTime/> -${description?json_string}" - <#if location?? && location != "%22%22">, - "fields": [ - { - "name": "<@safe_include "createMeetup_confirmation_location_field_title"/>", - "value": "https://www.google.com/maps?q=${location?json_string}" - } - ] - - } - ], - "buttons": [ - { - "label": "<@safe_include "createMeetup_confirm_button_label"/>", - "id": "${confirmationId}", - "buttonStyle": "success" + <#assign hasLocation=location?? && location != "%22%22"> + "type": "textDisplay", + "content": "<#include "createMeetup_meetup_information">" }, { - "label": "<@safe_include "createMeetup_cancel_button_label"/>", - "id": "${cancelId}", - "buttonStyle": "danger" + "type": "actionRow", + "actionRowItems": [ + { + "label": "<@safe_include "createMeetup_confirm_button_label"/>", + "id": "${confirmationId}", + "buttonStyle": "success", + "type": "button" + }, + { + "label": "<@safe_include "createMeetup_cancel_button_label"/>", + "id": "${cancelId}", + "buttonStyle": "danger", + "type": "button" + } + ] } - ] + ], + "messageConfig": { + "useComponentsV2": true + } } \ No newline at end of file diff --git a/templates/sissi-templates/module-templates/meetup-templates/src/main/resources/default/commands/listMeetups/listMeetups_response_embed.ftl b/templates/sissi-templates/module-templates/meetup-templates/src/main/resources/default/commands/listMeetups/listMeetups_response_embed.ftl index 78c2e9a6..caf105ae 100644 --- a/templates/sissi-templates/module-templates/meetup-templates/src/main/resources/default/commands/listMeetups/listMeetups_response_embed.ftl +++ b/templates/sissi-templates/module-templates/meetup-templates/src/main/resources/default/commands/listMeetups/listMeetups_response_embed.ftl @@ -1,10 +1,36 @@ <#include "format_instant"> { - "embeds": [ + "components": [ +<#list meetups as meetup> + <#assign meetup=meetup> + <#assign topic=meetup.topic> + <#assign time><@format_instant_long_date_time instant=meetup.meetupTime/> + <#assign timeRelative><@format_instant_relative instant=meetup.meetupTime/> + <#assign link=meetup.meetupMessage.jumpUrl> { - <#include "abstracto_color">, - "description": "<#list meetups as meetup><#assign meetup=meetup><#assign topic=meetup.topic><#assign time><@format_instant_long_date_time instant=meetup.meetupTime/><#assign timeRelative><@format_instant_relative instant=meetup.meetupTime/><#assign link=meetup.meetupMessage.jumpUrl><#include "meetup_list_meetup_display"> -<#else><#include "meetup_list_no_meetups">" + "type": "section", + "components": [ + { + "type": "textDisplay", + "content": "<#include "meetup_list_meetup_display">" + } + ] + ,"accessory": { + "type": "button", + "label": "<#include "meetup_list_jump_button_label"/>", + "url": "${link}", + "buttonStyle": "link" + } } - ] + <#sep>, +<#else> + { + "type": "textDisplay", + "content": "<#include "meetup_list_no_meetups">" + } + + ], + "messageConfig": { + "useComponentsV2": true + } } \ No newline at end of file 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 75e247c3..078c1b56 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 @@ -1,63 +1,74 @@ <#include "format_instant"> { - <#assign roleMention="<@&371419588619141121>"/> - "additionalMessage": "${roleMention?json_string}", - "embeds": [ + "components": [ + { + "type": "textDisplay", + <#assign roleMention="<@&371419588619141121>"/> + "content": "<#if cancelled>~~${roleMention?json_string} ${topic?json_string} - <@safe_include "meetup_message_id_display"/><#if cancelled>~~" + }, + <#if description?has_content> + { + <#assign descriptionText>${description?json_string} + <#assign organizerText>${organizer.memberMention} + "type": "textDisplay", + "content": "<#if cancelled>~~<@safe_include "meetup_description_component"/><#if cancelled>~~" + }, + { - <#include "abstracto_color">, - "title": { - "title": "${topic?json_string} - <@safe_include "meetup_message_id_display"/>" - }, <#assign time><@format_instant_long_date_time instant=meetupTime/> <#assign timeRelative><@format_instant_relative instant=meetupTime/> - <#assign organizerText>${organizer.memberMention} - <#assign meetupId=meetupId/> - <#assign descriptionText>${description?json_string} - <#assign participantsText> (${participants?size}) <#list participants as member>${member.memberMention}<#sep>, <#else><#include "meetup_message_no_member"> - <#assign maybeParticipantsText> (${maybeParticipants?size}) <#list maybeParticipants as member>${member.memberMention}<#sep>, <#else><#include "meetup_message_no_member"> - <#assign noTimeParticipantsText> (${noTimeParticipants?size}) <#list noTimeParticipants as member>${member.memberMention}<#sep>, <#else><#include "meetup_message_no_member"> - <#assign declinedParticipantsText> (${declinedParticipants?size}) <#list declinedParticipants as member>${member.memberMention}<#sep>, <#else><#include "meetup_message_no_member"> - "description": "<#if cancelled>~~<@safe_include "meetup_display_description"/><#if cancelled>~~" - } - ], - "buttons": [ - { - "label": "<@safe_include "meetup_message_yes_button_label"/>", - "id": "${yesId}", - "buttonStyle": "success" - }, - { - "label": "<@safe_include "meetup_message_maybe_button_label"/>", - "id": "${maybeId}", - "buttonStyle": "secondary" - }, - { - "label": "<@safe_include "meetup_message_no_time_button_label"/>", - "id": "${noTimeId}", - "buttonStyle": "danger" - }, - { - "label": "<@safe_include "meetup_message_no_button_label"/>", - "id": "${noId}", - "buttonStyle": "danger" - } - <#if location?? && location != "%22%22">, - { - "label": "<@safe_include "meetup_message_location_button_label"/>", - "url": "https://www.google.com/maps?q=${location?json_string}", - "buttonStyle": "link" + "type": "section", + "components": [ + { + "type": "textDisplay", + "content": "<@safe_include "meetup_display_time_component"/>" + } + ] + <#if location?? && location != "%22%22"> + ,"accessory": { + "type": "button", + "label": "<@safe_include "meetup_message_location_button_label"/>", + "url": "https://www.google.com/maps?q=${location?json_string}", + "buttonStyle": "link" + } + } + <#macro decision_component button_id button_style label_template content_template user> + { + "type": "section", + "components": [ + { + "type": "textDisplay", + "content": "<@safe_include content_template/>" + } + ] + ,"accessory": { + "type": "button", + "id": "${button_id}", + "label": "<@safe_include label_template/>", + "buttonStyle": "${button_style}" + } + } + + <#assign participantsText> (${participants?size}) <#list participants as member>${member.memberMention}<#sep>, <#else><#include "meetup_message_no_member"> + <#assign maybeParticipantsText> (${maybeParticipants?size}) <#list maybeParticipants as member>${member.memberMention}<#sep>, <#else><#include "meetup_message_no_member"> + <#assign noTimeParticipantsText> (${noTimeParticipants?size}) <#list noTimeParticipants as member>${member.memberMention}<#sep>, <#else><#include "meetup_message_no_member"> + <#assign declinedParticipantsText> (${declinedParticipants?size}) <#list declinedParticipants as member>${member.memberMention}<#sep>, <#else><#include "meetup_message_no_member"> + ,<@decision_component yesId "success" "meetup_message_yes_button_label" "meetup_user_display_participants" participantsText/> + ,<@decision_component maybeId "secondary" "meetup_message_maybe_button_label" "meetup_user_display_maybe_participants" maybeParticipantsText/> + ,<@decision_component noId "danger" "meetup_message_no_button_label" "meetup_user_display_declined_participants" declinedParticipantsText/> + ,<@decision_component noTimeId "danger" "meetup_message_no_time_button_label" "meetup_user_display_no_time_participants" noTimeParticipantsText/> + <#if meetupIcsModel.attachIcsFile> + ,{ + "type": "fileDisplay", + "fileName": "<@safe_include "meetup_ics_file_name"/>.ics", + "fileContent": "<@safe_include "meetup_ice_file_download"/>" + } ], - <#if meetupIcsModel.attachIcsFile> - "files": [ - { - "fileName": "<@safe_include "meetup_ics_file_name"/>.ics", - "fileContent": "<@safe_include "meetup_ice_file_download"/>" - } - ], - "messageConfig": { - "allowsRoleMention": true + "allowsRoleMention": true, + "allowsUserMention": false, + "useComponentsV2": true } } \ No newline at end of file diff --git a/templates/sissi-templates/module-templates/quotes-templates/src/main/resources/default/commands/quote/quote_response_embed.ftl b/templates/sissi-templates/module-templates/quotes-templates/src/main/resources/default/commands/quote/quote_response_embed.ftl index 20050f1b..9ab87ecc 100644 --- a/templates/sissi-templates/module-templates/quotes-templates/src/main/resources/default/commands/quote/quote_response_embed.ftl +++ b/templates/sissi-templates/module-templates/quotes-templates/src/main/resources/default/commands/quote/quote_response_embed.ftl @@ -1,26 +1,66 @@ +<#include "format_instant"> { - "embeds": [ + "components": [ { - <#include "abstracto_color">, - "author": { - <#assign authorName><@default_template_if_null authorName "quote_response_default_author_name"/> - <#assign channelName><@default_template_if_null sourceChannelName "quote_response_default_channel_name"/> - "name": "<@safe_include "quote_response_header_author_name"/>" - <#if authorAvatarURL??>,"avatar": "${authorAvatarURL}" - }, - <#assign quoteId=quoteId> - <#assign quoteDescription=quoteContent> + <#assign authorName><#if authorMemberDisplay?has_content>${authorMemberDisplay.name}<#elseif authorUserDisplay?has_content>${authorUserDisplay.name}<#else><@safe_include "quote_response_default_author_name"/> + <#assign adderUserName><#if adderMemberDisplay?has_content>${adderMemberDisplay.name}<#elseif adderUserDisplay?has_content>${adderMemberDisplay.name}<#else><@safe_include "quote_response_default_adder_name"/> + <#assign channelName><@default_template_if_null sourceChannelName "quote_response_default_channel_name"/> + <#assign creationDate><@format_instant_date_time instant=creationDate/> + "type": "textDisplay", + "content": "<@safe_include "quote_response_header_author_name"/>" + }, + { + "type": "section", + "components": [ + { + <#assign quoteId=quoteId> + "type": "textDisplay", + "content": "<@safe_include "quote_response_title"/>" + } + ], <#assign quoteJumpUrl=quotedMessage.jumpUrl> - "description": "<@safe_include "quote_response_description"/>", - "footer": { - <#assign adderUserName><@default_template_if_null adderName "quote_response_default_adder_name"/> - "text": "<@safe_include "quote_response_footer_adder_name" />" - <#if adderAvatarURL??>,"icon": "${adderAvatarURL}" - }, - <#if imageAttachmentURLs?size = 1> - "imageUrl": "${imageAttachmentURLs[0]}", + "accessory": { + "type": "button", + "label": "<@safe_include "quote_response_jump_label"/>", + "url": "${quoteJumpUrl}", + "buttonStyle": "link" + } + }, + { + "type": "container", + "components": [ + <#assign hasContent=false> + <#if quoteContent?has_content> + <#assign hasContent=true> + { + "type": "textDisplay", + <#assign quoteDescription=quoteContent> + "content": "${quoteDescription}" + } - "timeStamp": "${creationDate}" + <#if mediaAttachmentURLs?size gt 0> + <#assign hasContent=true> + ,{ + "type": "mediaGallery", + "images": [ + <#list mediaAttachmentURLs as image> + { + "url": "${image}" + }<#sep>, + ] + } + + <#if hasContent==false> + { + "type": "textDisplay", + "content": "<@safe_include "quote_response_no_content"/>" + } + + ] } - ] + ], + "messageConfig": { + "allowsUserMention": false, + "useComponentsV2": true + } } \ No newline at end of file diff --git a/templates/sissi-translations/module-translations/meetup-translations/src/main/resources/default/commands/createMeetup/createMeetup_meetup_information.ftl b/templates/sissi-translations/module-translations/meetup-translations/src/main/resources/default/commands/createMeetup/createMeetup_meetup_information.ftl new file mode 100644 index 00000000..bff5800e --- /dev/null +++ b/templates/sissi-translations/module-translations/meetup-translations/src/main/resources/default/commands/createMeetup/createMeetup_meetup_information.ftl @@ -0,0 +1,5 @@ +${topic?json_string} - <@format_instant_long_date_time instant=meetupTime/> + +${description?json_string} + +<#if hasLocation>https://www.google.com/maps?q=${location?json_string} \ No newline at end of file diff --git a/templates/sissi-translations/module-translations/meetup-translations/src/main/resources/default/commands/listMeetups/meetup_list_jump_button_label.ftl b/templates/sissi-translations/module-translations/meetup-translations/src/main/resources/default/commands/listMeetups/meetup_list_jump_button_label.ftl new file mode 100644 index 00000000..8b31b74b --- /dev/null +++ b/templates/sissi-translations/module-translations/meetup-translations/src/main/resources/default/commands/listMeetups/meetup_list_jump_button_label.ftl @@ -0,0 +1 @@ +Go to meetup \ No newline at end of file diff --git a/templates/sissi-translations/module-translations/meetup-translations/src/main/resources/default/commands/listMeetups/meetup_list_meetup_display.ftl b/templates/sissi-translations/module-translations/meetup-translations/src/main/resources/default/commands/listMeetups/meetup_list_meetup_display.ftl index 14747a7b..16acc4b1 100644 --- a/templates/sissi-translations/module-translations/meetup-translations/src/main/resources/default/commands/listMeetups/meetup_list_meetup_display.ftl +++ b/templates/sissi-translations/module-translations/meetup-translations/src/main/resources/default/commands/listMeetups/meetup_list_meetup_display.ftl @@ -1,3 +1,2 @@ Time: ${time} ${timeRelative} -Link: [here](${link}) Meetup Topic: `${topic?json_string}` diff --git a/templates/sissi-translations/module-translations/meetup-translations/src/main/resources/default/general/meetup_description_component.ftl b/templates/sissi-translations/module-translations/meetup-translations/src/main/resources/default/general/meetup_description_component.ftl new file mode 100644 index 00000000..b7c49470 --- /dev/null +++ b/templates/sissi-translations/module-translations/meetup-translations/src/main/resources/default/general/meetup_description_component.ftl @@ -0,0 +1,3 @@ +Description: ${descriptionText} + +Organized by: ${organizerText} diff --git a/templates/sissi-translations/module-translations/meetup-translations/src/main/resources/default/general/meetup_display_description.ftl b/templates/sissi-translations/module-translations/meetup-translations/src/main/resources/default/general/meetup_display_description.ftl deleted file mode 100644 index 45a55298..00000000 --- a/templates/sissi-translations/module-translations/meetup-translations/src/main/resources/default/general/meetup_display_description.ftl +++ /dev/null @@ -1,11 +0,0 @@ -Time: ${time} ${timeRelative} -<#if descriptionText?hasContent>Description: ${descriptionText} -Organized by: ${organizerText} - -Participants: ${participantsText} - -Maybe: ${maybeParticipantsText} - -Declined: ${declinedParticipantsText} - -No time: ${noTimeParticipantsText} \ No newline at end of file diff --git a/templates/sissi-translations/module-translations/meetup-translations/src/main/resources/default/general/meetup_display_time_component.ftl b/templates/sissi-translations/module-translations/meetup-translations/src/main/resources/default/general/meetup_display_time_component.ftl new file mode 100644 index 00000000..788c51f9 --- /dev/null +++ b/templates/sissi-translations/module-translations/meetup-translations/src/main/resources/default/general/meetup_display_time_component.ftl @@ -0,0 +1 @@ +Time: ${time} ${timeRelative} \ No newline at end of file diff --git a/templates/sissi-translations/module-translations/meetup-translations/src/main/resources/default/general/meetup_user_display_declined_participants.ftl b/templates/sissi-translations/module-translations/meetup-translations/src/main/resources/default/general/meetup_user_display_declined_participants.ftl new file mode 100644 index 00000000..562c2c46 --- /dev/null +++ b/templates/sissi-translations/module-translations/meetup-translations/src/main/resources/default/general/meetup_user_display_declined_participants.ftl @@ -0,0 +1 @@ +Declined: ${declinedParticipantsText} \ No newline at end of file diff --git a/templates/sissi-translations/module-translations/meetup-translations/src/main/resources/default/general/meetup_user_display_maybe_participants.ftl b/templates/sissi-translations/module-translations/meetup-translations/src/main/resources/default/general/meetup_user_display_maybe_participants.ftl new file mode 100644 index 00000000..e6d3f9e6 --- /dev/null +++ b/templates/sissi-translations/module-translations/meetup-translations/src/main/resources/default/general/meetup_user_display_maybe_participants.ftl @@ -0,0 +1 @@ +Maybe: ${maybeParticipantsText} \ No newline at end of file diff --git a/templates/sissi-translations/module-translations/meetup-translations/src/main/resources/default/general/meetup_user_display_no_time_participants.ftl b/templates/sissi-translations/module-translations/meetup-translations/src/main/resources/default/general/meetup_user_display_no_time_participants.ftl new file mode 100644 index 00000000..e44ea271 --- /dev/null +++ b/templates/sissi-translations/module-translations/meetup-translations/src/main/resources/default/general/meetup_user_display_no_time_participants.ftl @@ -0,0 +1 @@ +No time: ${noTimeParticipantsText} \ No newline at end of file diff --git a/templates/sissi-translations/module-translations/meetup-translations/src/main/resources/default/general/meetup_user_display_participants.ftl b/templates/sissi-translations/module-translations/meetup-translations/src/main/resources/default/general/meetup_user_display_participants.ftl new file mode 100644 index 00000000..8e2e0bc9 --- /dev/null +++ b/templates/sissi-translations/module-translations/meetup-translations/src/main/resources/default/general/meetup_user_display_participants.ftl @@ -0,0 +1 @@ +Participants: ${participantsText} \ No newline at end of file diff --git a/templates/sissi-translations/module-translations/quote-translations/src/main/resources/default/commands/quote/quote_response_description.ftl b/templates/sissi-translations/module-translations/quote-translations/src/main/resources/default/commands/quote/quote_response_description.ftl deleted file mode 100644 index 4229d33c..00000000 --- a/templates/sissi-translations/module-translations/quote-translations/src/main/resources/default/commands/quote/quote_response_description.ftl +++ /dev/null @@ -1,2 +0,0 @@ -[**Quote #${quoteId?c}**](${quoteJumpUrl}) -${quoteDescription} \ No newline at end of file diff --git a/templates/sissi-translations/module-translations/quote-translations/src/main/resources/default/commands/quote/quote_response_footer_adder_name.ftl b/templates/sissi-translations/module-translations/quote-translations/src/main/resources/default/commands/quote/quote_response_footer_adder_name.ftl deleted file mode 100644 index 4b92af74..00000000 --- a/templates/sissi-translations/module-translations/quote-translations/src/main/resources/default/commands/quote/quote_response_footer_adder_name.ftl +++ /dev/null @@ -1 +0,0 @@ -Added by ${adderUserName} \ No newline at end of file diff --git a/templates/sissi-translations/module-translations/quote-translations/src/main/resources/default/commands/quote/quote_response_header_author_name.ftl b/templates/sissi-translations/module-translations/quote-translations/src/main/resources/default/commands/quote/quote_response_header_author_name.ftl index 7f492d3e..2664ac5b 100644 --- a/templates/sissi-translations/module-translations/quote-translations/src/main/resources/default/commands/quote/quote_response_header_author_name.ftl +++ b/templates/sissi-translations/module-translations/quote-translations/src/main/resources/default/commands/quote/quote_response_header_author_name.ftl @@ -1 +1 @@ -${authorName} in ${channelName} \ No newline at end of file +${authorName} in ${channelName} added by ${adderUserName} at ${creationDate} \ No newline at end of file diff --git a/templates/sissi-translations/module-translations/quote-translations/src/main/resources/default/commands/quote/quote_response_jump_label.ftl b/templates/sissi-translations/module-translations/quote-translations/src/main/resources/default/commands/quote/quote_response_jump_label.ftl new file mode 100644 index 00000000..1a17c010 --- /dev/null +++ b/templates/sissi-translations/module-translations/quote-translations/src/main/resources/default/commands/quote/quote_response_jump_label.ftl @@ -0,0 +1 @@ +Go to quote \ No newline at end of file diff --git a/templates/sissi-translations/module-translations/quote-translations/src/main/resources/default/commands/quote/quote_response_no_content.ftl b/templates/sissi-translations/module-translations/quote-translations/src/main/resources/default/commands/quote/quote_response_no_content.ftl new file mode 100644 index 00000000..240aa91d --- /dev/null +++ b/templates/sissi-translations/module-translations/quote-translations/src/main/resources/default/commands/quote/quote_response_no_content.ftl @@ -0,0 +1 @@ +No content found. \ No newline at end of file diff --git a/templates/sissi-translations/module-translations/quote-translations/src/main/resources/default/commands/quote/quote_response_title.ftl b/templates/sissi-translations/module-translations/quote-translations/src/main/resources/default/commands/quote/quote_response_title.ftl new file mode 100644 index 00000000..80970ea5 --- /dev/null +++ b/templates/sissi-translations/module-translations/quote-translations/src/main/resources/default/commands/quote/quote_response_title.ftl @@ -0,0 +1 @@ +## Quote #${quoteId} \ No newline at end of file