11package com .jtelegram .api .message ;
22
3- import com .google .gson .*;
3+ import com .google .gson .JsonDeserializationContext ;
4+ import com .google .gson .JsonDeserializer ;
5+ import com .google .gson .JsonElement ;
6+ import com .google .gson .JsonObject ;
7+ import com .google .gson .JsonParseException ;
48import com .jtelegram .api .chat .Chat ;
9+ import com .jtelegram .api .requests .message .DeleteMessage ;
10+ import com .jtelegram .api .requests .message .ForwardMessage ;
11+ import com .jtelegram .api .requests .message .edit .EditMessageReplyMarkup ;
512import com .jtelegram .api .user .User ;
13+ import java .lang .reflect .Type ;
614import lombok .Getter ;
715import lombok .ToString ;
816
9- import java .lang .reflect .Type ;
10-
1117@ Getter
1218@ ToString
1319public abstract class Message <T > {
@@ -32,6 +38,33 @@ public User getSender() {
3238 return from ;
3339 }
3440
41+ /**
42+ * Creates a request builder for editing the reply markup of this message.
43+ *
44+ * @return the request builder
45+ */
46+ public EditMessageReplyMarkup .EditMessageReplyMarkupBuilder toEditReplyMarkupRequest () {
47+ return EditMessageReplyMarkup .forMessage (this );
48+ }
49+
50+ /**
51+ * Creates a request builder for forwarding this message to another chat.
52+ *
53+ * @return the request builder
54+ */
55+ public ForwardMessage .ForwardMessageBuilder toForwardRequest () {
56+ return ForwardMessage .forMessage (this );
57+ }
58+
59+ /**
60+ * Creates a request builder for deleting this message.
61+ *
62+ * @return the request builder
63+ */
64+ public DeleteMessage .DeleteMessageBuilder toDeleteRequest () {
65+ return DeleteMessage .forMessage (this );
66+ }
67+
3568 public static class Deserializer implements JsonDeserializer <Message > {
3669 @ Override
3770 public Message deserialize (JsonElement jsonElement , Type type , JsonDeserializationContext context ) throws JsonParseException {
0 commit comments