From 37f429c66a96cc6246640407a5152abc661fef7b Mon Sep 17 00:00:00 2001 From: Sergey Pavlyuk Date: Sat, 25 Oct 2025 22:40:41 +0300 Subject: [PATCH 1/8] correct dto message --- src/main/java/ru/max/botapi/model/Message.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/ru/max/botapi/model/Message.java b/src/main/java/ru/max/botapi/model/Message.java index 0789e2d..6ea12ec 100644 --- a/src/main/java/ru/max/botapi/model/Message.java +++ b/src/main/java/ru/max/botapi/model/Message.java @@ -48,7 +48,7 @@ public class Message implements MaxSerializable { private @Valid String url; @JsonCreator - public Message(@JsonProperty("recipient") Recipient recipient, @JsonProperty("timestamp") Long timestamp, @JsonProperty("body") MessageBody body) { + public Message(@JsonProperty("recipient") Recipient recipient, @JsonProperty("timestamp") Long timestamp, @JsonProperty("message") MessageBody body) { this.recipient = recipient; this.timestamp = timestamp; this.body = body; From 7406170b6945a1c41db98b4aad42b73f974385ec Mon Sep 17 00:00:00 2001 From: Sergey Pavlyuk Date: Sat, 25 Oct 2025 22:48:18 +0300 Subject: [PATCH 2/8] temporary jitpack workaround --- pom.xml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/pom.xml b/pom.xml index 5db4afd..e03847b 100644 --- a/pom.xml +++ b/pom.xml @@ -285,4 +285,22 @@ https://oss.sonatype.org/content/repositories/snapshots + + + + ossrh + Sonatype OSSRH + https://oss.sonatype.org/content/repositories/snapshots/ + + true + + + false + + + + jitpack.io + https://jitpack.io + + From 84888fc76cf3cdae72990b03d961c889ae21689e Mon Sep 17 00:00:00 2001 From: Sergey Pavlyuk Date: Tue, 11 Nov 2025 21:19:39 +0300 Subject: [PATCH 3/8] =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB?= =?UTF-8?q?=20=D0=BD=D0=BE=D0=B2=D1=8B=D0=B9=20=D1=82=D0=B8=D0=BF=20=D0=BA?= =?UTF-8?q?=D0=BD=D0=BE=D0=BF=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/ru/max/botapi/model/Button.java | 6 +- .../ru/max/botapi/model/MessageButton.java | 38 +++++++++++++ .../ru/max/botapi/MaxIntegrationTest.java | 55 ++----------------- 3 files changed, 49 insertions(+), 50 deletions(-) create mode 100644 src/main/java/ru/max/botapi/model/MessageButton.java diff --git a/src/main/java/ru/max/botapi/model/Button.java b/src/main/java/ru/max/botapi/model/Button.java index d375885..27c8f2d 100644 --- a/src/main/java/ru/max/botapi/model/Button.java +++ b/src/main/java/ru/max/botapi/model/Button.java @@ -51,12 +51,14 @@ public class Button implements MaxSerializable { public static final String REQUEST_GEO_LOCATION = "request_geo_location"; public static final String REQUEST_CONTACT = "request_contact"; public static final String CHAT = "chat"; + public static final String MESSAGE = "message"; public static final Set TYPES = new HashSet<>(Arrays.asList( CALLBACK, LINK, REQUEST_GEO_LOCATION, REQUEST_CONTACT, - CHAT + CHAT, + MESSAGE // добавил новый тип кнопки )); @NotNull @@ -125,6 +127,7 @@ public interface Visitor { void visit(RequestGeoLocationButton model); void visit(RequestContactButton model); void visit(ChatButton model); + void visit(MessageButton model); void visitDefault(Button model); } @@ -134,6 +137,7 @@ public interface Mapper { T map(RequestGeoLocationButton model); T map(RequestContactButton model); T map(ChatButton model); + T map(MessageButton model); T mapDefault(Button model); } } diff --git a/src/main/java/ru/max/botapi/model/MessageButton.java b/src/main/java/ru/max/botapi/model/MessageButton.java new file mode 100644 index 0000000..bbeef43 --- /dev/null +++ b/src/main/java/ru/max/botapi/model/MessageButton.java @@ -0,0 +1,38 @@ +package ru.max.botapi.model; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * Кнопка сообщение(самоделка). + */ +public class MessageButton extends Button implements MaxSerializable { + + + @JsonCreator + public MessageButton(@JsonProperty("text") String text) { + super(text); + } + + @Override + public void visit(Visitor visitor) { + visitor.visit(this); + } + + @Override + public T map(Mapper mapper) { + return mapper.map(this); + } + + @JsonProperty("type") + @Override + public String getType() { + return Button.MESSAGE; + } + + @Override + public String toString() { + return "MessageButton{"+ super.toString() + + '}'; + } +} \ No newline at end of file diff --git a/src/test/java/ru/max/botapi/MaxIntegrationTest.java b/src/test/java/ru/max/botapi/MaxIntegrationTest.java index 65af69b..39d489b 100644 --- a/src/test/java/ru/max/botapi/MaxIntegrationTest.java +++ b/src/test/java/ru/max/botapi/MaxIntegrationTest.java @@ -36,55 +36,7 @@ import ru.max.botapi.exceptions.APIException; import ru.max.botapi.exceptions.AttachmentNotReadyException; import ru.max.botapi.exceptions.ClientException; -import ru.max.botapi.model.Attachment; -import ru.max.botapi.model.AttachmentRequest; -import ru.max.botapi.model.AudioAttachment; -import ru.max.botapi.model.AudioAttachmentRequest; -import ru.max.botapi.model.BotInfo; -import ru.max.botapi.model.Button; -import ru.max.botapi.model.CallbackButton; -import ru.max.botapi.model.Chat; -import ru.max.botapi.model.ChatButton; -import ru.max.botapi.model.ChatList; -import ru.max.botapi.model.ChatStatus; -import ru.max.botapi.model.ChatType; -import ru.max.botapi.model.ContactAttachment; -import ru.max.botapi.model.ContactAttachmentRequest; -import ru.max.botapi.model.FileAttachment; -import ru.max.botapi.model.FileAttachmentRequest; -import ru.max.botapi.model.InlineKeyboardAttachment; -import ru.max.botapi.model.InlineKeyboardAttachmentRequest; -import ru.max.botapi.model.Intent; -import ru.max.botapi.model.LinkButton; -import ru.max.botapi.model.LinkedMessage; -import ru.max.botapi.model.LocationAttachment; -import ru.max.botapi.model.LocationAttachmentRequest; -import ru.max.botapi.model.Message; -import ru.max.botapi.model.MessageLinkType; -import ru.max.botapi.model.NewMessageBody; -import ru.max.botapi.model.NewMessageLink; -import ru.max.botapi.model.PhotoAttachment; -import ru.max.botapi.model.PhotoAttachmentRequest; -import ru.max.botapi.model.PhotoAttachmentRequestPayload; -import ru.max.botapi.model.PhotoTokens; -import ru.max.botapi.model.ReplyButton; -import ru.max.botapi.model.ReplyKeyboardAttachment; -import ru.max.botapi.model.ReplyKeyboardAttachmentRequest; -import ru.max.botapi.model.RequestContactButton; -import ru.max.botapi.model.RequestGeoLocationButton; -import ru.max.botapi.model.SendContactButton; -import ru.max.botapi.model.SendGeoLocationButton; -import ru.max.botapi.model.SendMessageButton; -import ru.max.botapi.model.SendMessageResult; -import ru.max.botapi.model.ShareAttachment; -import ru.max.botapi.model.ShareAttachmentRequest; -import ru.max.botapi.model.StickerAttachment; -import ru.max.botapi.model.StickerAttachmentRequest; -import ru.max.botapi.model.UploadType; -import ru.max.botapi.model.User; -import ru.max.botapi.model.UserIdsList; -import ru.max.botapi.model.VideoAttachment; -import ru.max.botapi.model.VideoAttachmentRequest; +import ru.max.botapi.model.*; import ru.max.botapi.queries.AddMembersQuery; import ru.max.botapi.queries.GetChatQuery; import ru.max.botapi.queries.GetChatsQuery; @@ -554,6 +506,11 @@ public void visit(ChatButton model) { assertThat(model.getStartPayload(), is(cb.getStartPayload())); } + @Override + public void visit(MessageButton model) { + assertThat(model, is(expectedButton)); + } + @Override public void visitDefault(Button model) { assertThat(model, is(expectedButton)); From c7a2b4e0c695784f424055b300bb53fedcda3c8e Mon Sep 17 00:00:00 2001 From: Sergey Pavlyuk Date: Wed, 12 Nov 2025 00:46:02 +0300 Subject: [PATCH 4/8] =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB?= =?UTF-8?q?=20=D0=BD=D0=BE=D0=B2=D1=8B=D0=B9=20=D1=82=D0=B8=D0=BF=20=D0=BA?= =?UTF-8?q?=D0=BD=D0=BE=D0=BF=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/test/java/ru/max/botapi/model/ButtonTest.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/test/java/ru/max/botapi/model/ButtonTest.java b/src/test/java/ru/max/botapi/model/ButtonTest.java index 201b8b6..7290ca1 100644 --- a/src/test/java/ru/max/botapi/model/ButtonTest.java +++ b/src/test/java/ru/max/botapi/model/ButtonTest.java @@ -74,6 +74,11 @@ public AtomicReference