From 5adc17f6cc7248f142beddd93964cf6f78fa4f48 Mon Sep 17 00:00:00 2001 From: Andrea Cavalli Date: Sun, 19 Dec 2021 00:17:31 +0100 Subject: [PATCH] Add extra info --- .../telegrambots/meta/api/objects/Chat.java | 18 +++++ .../meta/api/objects/Message.java | 8 +++ .../telegrambots/meta/api/objects/Update.java | 9 +++ .../meta/api/objects/extra/ExtraBotInfo.java | 30 ++++++++ .../objects/extra/ExtraChannelLocation.java | 30 ++++++++ .../meta/api/objects/extra/ExtraChatInfo.java | 70 +++++++++++++++++++ .../meta/api/objects/extra/ExtraGeoPoint.java | 34 +++++++++ 7 files changed, 199 insertions(+) create mode 100644 telegrambots-meta/src/main/java/org/telegram/telegrambots/meta/api/objects/extra/ExtraBotInfo.java create mode 100644 telegrambots-meta/src/main/java/org/telegram/telegrambots/meta/api/objects/extra/ExtraChannelLocation.java create mode 100644 telegrambots-meta/src/main/java/org/telegram/telegrambots/meta/api/objects/extra/ExtraChatInfo.java create mode 100644 telegrambots-meta/src/main/java/org/telegram/telegrambots/meta/api/objects/extra/ExtraGeoPoint.java diff --git a/telegrambots-meta/src/main/java/org/telegram/telegrambots/meta/api/objects/Chat.java b/telegrambots-meta/src/main/java/org/telegram/telegrambots/meta/api/objects/Chat.java index 73ca0ad3..eee17b26 100644 --- a/telegrambots-meta/src/main/java/org/telegram/telegrambots/meta/api/objects/Chat.java +++ b/telegrambots-meta/src/main/java/org/telegram/telegrambots/meta/api/objects/Chat.java @@ -54,6 +54,13 @@ public class Chat implements BotApiObject { private static final String CHANNELCHATTYPE = "channel"; private static final String SUPERGROUPCHATTYPE = "supergroup"; + private static final String IS_VERIFIED_FIELD = "is_verified"; + private static final String IS_RESTRICTED_FIELD = "is_restricted"; + private static final String IS_CREATOR_FIELD = "is_creator"; + private static final String IS_SCAM_FIELD = "is_scam"; + private static final String IS_FAKE_FIELD = "is_fake"; + private static final String DC_ID_FIELD = "dc_id"; + /** * Unique identifier for this chat. * This number may be greater than 32 bits and some programming languages may @@ -134,6 +141,17 @@ public class Chat implements BotApiObject { @JsonProperty(HASPRIVATEFORWARDS_FIELD) private Boolean hasPrivateForwards; + @JsonProperty(IS_VERIFIED_FIELD) + private Boolean isVerified; ///< Optional. Extra. + @JsonProperty(IS_CREATOR_FIELD) + private Boolean isCreator; ///< Optional. Extra. + @JsonProperty(IS_SCAM_FIELD) + private Boolean isScam; ///< Optional. Extra. + @JsonProperty(IS_FAKE_FIELD) + private Boolean isFake; ///< Optional. Extra. + @JsonProperty(DC_ID_FIELD) + private Integer dcId; ///< Optional. Extra. + @JsonIgnore public Boolean isGroupChat() { return GROUPCHATTYPE.equals(type); diff --git a/telegrambots-meta/src/main/java/org/telegram/telegrambots/meta/api/objects/Message.java b/telegrambots-meta/src/main/java/org/telegram/telegrambots/meta/api/objects/Message.java index bbedba05..f7272c55 100644 --- a/telegrambots-meta/src/main/java/org/telegram/telegrambots/meta/api/objects/Message.java +++ b/telegrambots-meta/src/main/java/org/telegram/telegrambots/meta/api/objects/Message.java @@ -96,6 +96,9 @@ public class Message implements BotApiObject { private static final String ISAUTOMATICFORWARD_FIELD = "is_automatic_forward"; private static final String CANBEFORWARDED_FIELD = "can_be_forwarded"; + private static final String VIEWS_FIELD = "views"; + private static final String OUTGOING_FIELD = "outgoing"; + @JsonProperty(MESSAGEID_FIELD) private Integer messageId; ///< Integer Unique message identifier @JsonProperty(FROM_FIELD) @@ -281,6 +284,11 @@ public class Message implements BotApiObject { @JsonProperty(CANBEFORWARDED_FIELD) private Boolean canBeForwarded; ///< Optional. True, if the message can be forwarded + @JsonProperty(OUTGOING_FIELD) + private Boolean outgoing; ///< Optional. Extra. + @JsonProperty(VIEWS_FIELD) + private Integer views; ///< Optional. Extra. + public List getEntities() { if (entities != null) { diff --git a/telegrambots-meta/src/main/java/org/telegram/telegrambots/meta/api/objects/Update.java b/telegrambots-meta/src/main/java/org/telegram/telegrambots/meta/api/objects/Update.java index fd0e63e1..3d52732f 100644 --- a/telegrambots-meta/src/main/java/org/telegram/telegrambots/meta/api/objects/Update.java +++ b/telegrambots-meta/src/main/java/org/telegram/telegrambots/meta/api/objects/Update.java @@ -8,6 +8,7 @@ import lombok.NoArgsConstructor; import lombok.Setter; import lombok.ToString; import org.telegram.telegrambots.meta.api.interfaces.BotApiObject; +import org.telegram.telegrambots.meta.api.objects.extra.ExtraChatInfo; import org.telegram.telegrambots.meta.api.objects.inlinequery.ChosenInlineQuery; import org.telegram.telegrambots.meta.api.objects.inlinequery.InlineQuery; import org.telegram.telegrambots.meta.api.objects.payments.PreCheckoutQuery; @@ -45,6 +46,7 @@ public class Update implements BotApiObject { private static final String MYCHATMEMBER_FIELD = "my_chat_member"; private static final String CHATMEMBER_FIELD = "chat_member"; private static final String CHATJOINREQUEST_FIELD = "chat_join_request"; + private static final String EXTRA_CHAT_INFO_FIELD = "extra_chat_info"; @JsonProperty(UPDATEID_FIELD) private Integer updateId; @@ -68,6 +70,8 @@ public class Update implements BotApiObject { private PreCheckoutQuery preCheckoutQuery; ///< Optional. New incoming pre-checkout query. Contains full information about checkout @JsonProperty(POLL_FIELD) private Poll poll; ///< Optional. New poll state. Bots receive only updates about polls, which are sent by the bot. + @JsonProperty(EXTRA_CHAT_INFO_FIELD) + private ExtraChatInfo extra_chat_info; ///< Optional. Extra. /** * Optional. * A user changed their answer in a non-anonymous poll. @@ -150,4 +154,9 @@ public class Update implements BotApiObject { public boolean hasChatJoinRequest() { return chatJoinRequest != null; } + + public boolean hasExtraChatInfo() { + return extra_chat_info != null; + } + } diff --git a/telegrambots-meta/src/main/java/org/telegram/telegrambots/meta/api/objects/extra/ExtraBotInfo.java b/telegrambots-meta/src/main/java/org/telegram/telegrambots/meta/api/objects/extra/ExtraBotInfo.java new file mode 100644 index 00000000..e4cc1f73 --- /dev/null +++ b/telegrambots-meta/src/main/java/org/telegram/telegrambots/meta/api/objects/extra/ExtraBotInfo.java @@ -0,0 +1,30 @@ +package org.telegram.telegrambots.meta.api.objects.extra; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.AllArgsConstructor; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.ToString; +import org.telegram.telegrambots.meta.api.interfaces.BotApiObject; + +/** + * @author Andrea Cavalli + * @version 0.1 + * + * This object contains information about a bot info. + */ +@EqualsAndHashCode(callSuper = false) +@Getter +@Setter +@ToString +@NoArgsConstructor +@AllArgsConstructor +public class ExtraBotInfo implements BotApiObject { + + @JsonProperty("user_id") + private String userId; + @JsonProperty("description") + private String description; +} diff --git a/telegrambots-meta/src/main/java/org/telegram/telegrambots/meta/api/objects/extra/ExtraChannelLocation.java b/telegrambots-meta/src/main/java/org/telegram/telegrambots/meta/api/objects/extra/ExtraChannelLocation.java new file mode 100644 index 00000000..e97a460a --- /dev/null +++ b/telegrambots-meta/src/main/java/org/telegram/telegrambots/meta/api/objects/extra/ExtraChannelLocation.java @@ -0,0 +1,30 @@ +package org.telegram.telegrambots.meta.api.objects.extra; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.AllArgsConstructor; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.ToString; +import org.telegram.telegrambots.meta.api.interfaces.BotApiObject; + +/** + * @author Andrea Cavalli + * @version 0.1 + * + * This object contains information about a channel location. + */ +@EqualsAndHashCode(callSuper = false) +@Getter +@Setter +@ToString +@NoArgsConstructor +@AllArgsConstructor +public class ExtraChannelLocation implements BotApiObject { + + @JsonProperty("geo_point") + private ExtraGeoPoint geoPoint; + @JsonProperty("address") + private String address; +} diff --git a/telegrambots-meta/src/main/java/org/telegram/telegrambots/meta/api/objects/extra/ExtraChatInfo.java b/telegrambots-meta/src/main/java/org/telegram/telegrambots/meta/api/objects/extra/ExtraChatInfo.java new file mode 100644 index 00000000..2ba02be0 --- /dev/null +++ b/telegrambots-meta/src/main/java/org/telegram/telegrambots/meta/api/objects/extra/ExtraChatInfo.java @@ -0,0 +1,70 @@ +package org.telegram.telegrambots.meta.api.objects.extra; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.AllArgsConstructor; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.ToString; +import org.telegram.telegrambots.meta.api.interfaces.BotApiObject; + +/** + * @author Andrea Cavalli + * @version 0.1 + * + * This object contains information about a chat. + */ +@EqualsAndHashCode(callSuper = false) +@Getter +@Setter +@ToString +@NoArgsConstructor +@AllArgsConstructor +public class ExtraChatInfo implements BotApiObject { + + @JsonProperty("id") + private String id; + @JsonProperty("about") + private String about; + @JsonProperty("read_inbox_max_id") + private Integer readInboxMaxId; + @JsonProperty("read_outbox_max_id") + private Integer readOutboxMaxId; + @JsonProperty("unread_count") + private Integer unreadCount; + @JsonProperty("bot_info") + private ExtraBotInfo botInfo; + @JsonProperty("blocked") + private Boolean blocked; + @JsonProperty("participants_count") + private Integer memberCount; + @JsonProperty("admins_count") + private Integer adminCount; + @JsonProperty("kicked_count") + private Integer kickedCount; + @JsonProperty("banned_count") + private Integer bannedCount; + @JsonProperty("online_count") + private Integer onlineCount; + @JsonProperty("migrated_from_chat_id") + private Integer migratedFromChatId; + @JsonProperty("migrated_from_max_id") + private Integer migratedFromMaxId; + @JsonProperty("pinned_msg_id") + private Integer pinnedMessageId; + @JsonProperty("linked_chat_id") + private Integer linkedChatId; + @JsonProperty("location") + private ExtraChannelLocation location; + @JsonProperty("slowmode_seconds") + private Integer slowmodeSeconds; + @JsonProperty("slowmode_next_send_date") + private Integer slowmodeNextSendDate; + @JsonProperty("stats_dc") + private Integer statsDc; + @JsonProperty("ttl_period") + private Integer ttlPeriod; + @JsonProperty("pending_suggestions") + private String pendingSuggestions; +} diff --git a/telegrambots-meta/src/main/java/org/telegram/telegrambots/meta/api/objects/extra/ExtraGeoPoint.java b/telegrambots-meta/src/main/java/org/telegram/telegrambots/meta/api/objects/extra/ExtraGeoPoint.java new file mode 100644 index 00000000..caf946dd --- /dev/null +++ b/telegrambots-meta/src/main/java/org/telegram/telegrambots/meta/api/objects/extra/ExtraGeoPoint.java @@ -0,0 +1,34 @@ +package org.telegram.telegrambots.meta.api.objects.extra; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.AllArgsConstructor; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.ToString; +import org.telegram.telegrambots.meta.api.interfaces.BotApiObject; + +/** + * @author Andrea Cavalli + * @version 0.1 + * + * This object contains information about a geographic point. + */ +@EqualsAndHashCode(callSuper = false) +@Getter +@Setter +@ToString +@NoArgsConstructor +@AllArgsConstructor +public class ExtraGeoPoint implements BotApiObject { + + @JsonProperty("long") + private Double longitude; + @JsonProperty("lat") + private Double latitude; + @JsonProperty("access_hash") + private Long accessHash; + @JsonProperty("accuracy_radius") + private Integer accuracyRadius; +}