diff --git a/README.md b/README.md
index 69d96222..44ba5165 100644
--- a/README.md
+++ b/README.md
@@ -4,7 +4,7 @@
[](https://codecov.io/gh/pengrad/java-telegram-bot-api)
Java library for interacting with [Telegram Bot API](https://core.telegram.org/bots/api)
-- Full support of all Bot API 9.0 methods
+- Full support of all Bot API 9.2 methods
- Telegram [Passport](https://core.telegram.org/passport) and Decryption API
- Bot [Payments](https://core.telegram.org/bots/payments)
- [Gaming Platform](https://telegram.org/blog/games)
@@ -13,14 +13,14 @@ Java library for interacting with [Telegram Bot API](https://core.telegram.org/b
Gradle:
```groovy
-implementation 'com.github.pengrad:java-telegram-bot-api:9.0.0'
+implementation 'com.github.pengrad:java-telegram-bot-api:9.2.0'
```
Maven:
```xml
com.github.pengrad
java-telegram-bot-api
- 9.0.0
+ 9.2.0
```
[JAR with all dependencies on release page](https://github.com/pengrad/java-telegram-bot-api/releases)
diff --git a/README_RU.md b/README_RU.md
index fc83a4f6..443936f3 100644
--- a/README_RU.md
+++ b/README_RU.md
@@ -4,7 +4,7 @@
[](https://codecov.io/gh/pengrad/java-telegram-bot-api)
Java библиотека, созданная для работы с [Telegram Bot API](https://core.telegram.org/bots/api)
-- Полная поддержка всех методов BOT API 9.0
+- Полная поддержка всех методов BOT API 9.2
- Поддержка Telegram [паспорта](https://core.telegram.org/passport) и дешифровки (Decryption API);
- Поддержка [платежей](https://core.telegram.org/bots/payments);
- [Игровая платформа](https://telegram.org/blog/games).
@@ -13,14 +13,14 @@ Java библиотека, созданная для работы с [Telegram B
Gradle:
```groovy
-implementation 'com.github.pengrad:java-telegram-bot-api:9.0.0'
+implementation 'com.github.pengrad:java-telegram-bot-api:9.2.0'
```
Maven:
```xml
com.github.pengrad
java-telegram-bot-api
- 9.0.0
+ 9.2.0
```
Также JAR со всеми зависимостями можно найти [в релизах](https://github.com/pengrad/java-telegram-bot-api/releases).
diff --git a/gradle.properties b/gradle.properties
index eabaeda8..1c9d7cdc 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -1,5 +1,5 @@
GROUP=com.github.pengrad
-VERSION_NAME=9.0.0
+VERSION_NAME=9.2.0
POM_DESCRIPTION=Java API for Telegram Bot API
POM_URL=https://github.com/pengrad/java-telegram-bot-api/
diff --git a/library/src/main/java/com/pengrad/telegrambot/model/Chat.java b/library/src/main/java/com/pengrad/telegrambot/model/Chat.java
index 7f21cb31..dfdf7bdd 100644
--- a/library/src/main/java/com/pengrad/telegrambot/model/Chat.java
+++ b/library/src/main/java/com/pengrad/telegrambot/model/Chat.java
@@ -31,6 +31,8 @@ public enum Type {
private Boolean is_forum;
+ private Boolean is_direct_messages;
+
public Long id() {
return id;
}
@@ -55,6 +57,10 @@ public Boolean isForum() {
return is_forum != null && is_forum;
}
+ public Boolean isDirectMessages() {
+ return is_direct_messages != null && is_direct_messages;
+ }
+
public String title() {
return title;
}
@@ -69,6 +75,7 @@ public boolean equals(Object o) {
Objects.equals(first_name, chat.first_name) &&
Objects.equals(last_name, chat.last_name) &&
Objects.equals(is_forum, chat.is_forum) &&
+ Objects.equals(is_direct_messages, chat.is_direct_messages) &&
Objects.equals(username, chat.username) &&
Objects.equals(title, chat.title);
}
@@ -86,6 +93,7 @@ public String toString() {
", first_name='" + first_name + '\'' +
", last_name='" + last_name + '\'' +
", is_forum=" + is_forum +
+ ", is_direct_messages=" + is_direct_messages +
", username='" + username + '\'' +
", title='" + title + '\'' +
'}';
diff --git a/library/src/main/java/com/pengrad/telegrambot/model/ChatAdministratorRights.java b/library/src/main/java/com/pengrad/telegrambot/model/ChatAdministratorRights.java
index 25fe017b..621e2313 100644
--- a/library/src/main/java/com/pengrad/telegrambot/model/ChatAdministratorRights.java
+++ b/library/src/main/java/com/pengrad/telegrambot/model/ChatAdministratorRights.java
@@ -26,6 +26,7 @@ public class ChatAdministratorRights implements Serializable {
private Boolean can_edit_stories;
private Boolean can_delete_stories;
private Boolean can_manage_topics;
+ private Boolean can_manage_direct_messages;
public Boolean isAnonymous() {
return is_anonymous != null && is_anonymous;
@@ -87,6 +88,10 @@ public Boolean canManageTopics() {
return can_manage_topics != null && can_manage_topics;
}
+ public Boolean canManageDirectMessages() {
+ return can_manage_direct_messages != null && can_manage_direct_messages;
+ }
+
public ChatAdministratorRights canManageChat(boolean canManageChat) {
this.can_manage_chat = canManageChat;
return this;
@@ -157,6 +162,11 @@ public ChatAdministratorRights canManageTopics(boolean canManageTopics) {
return this;
}
+ public ChatAdministratorRights canManageDirectMessages(boolean can_manage_direct_messages) {
+ this.can_manage_direct_messages = can_manage_direct_messages;
+ return this;
+ }
+
@Override
public boolean equals(Object o) {
if (this == o) return true;
@@ -177,7 +187,8 @@ public boolean equals(Object o) {
Objects.equals(can_post_stories, that.can_post_stories) &&
Objects.equals(can_edit_stories, that.can_edit_stories) &&
Objects.equals(can_delete_stories, that.can_delete_stories) &&
- Objects.equals(can_manage_topics, that.can_manage_topics);
+ Objects.equals(can_manage_topics, that.can_manage_topics) &&
+ Objects.equals(can_manage_direct_messages, that.can_manage_direct_messages);
}
@Override
@@ -196,7 +207,8 @@ public int hashCode() {
can_post_stories,
can_edit_stories,
can_delete_stories,
- can_manage_topics);
+ can_manage_topics,
+ can_manage_direct_messages);
}
@Override
@@ -217,6 +229,7 @@ public String toString() {
", can_edit_stories=" + can_edit_stories +
", can_delete_stories=" + can_delete_stories +
", can_manage_topics=" + can_manage_topics +
+ ", can_manage_direct_messages=" + can_manage_direct_messages +
'}';
}
diff --git a/library/src/main/java/com/pengrad/telegrambot/model/ChatFullInfo.java b/library/src/main/java/com/pengrad/telegrambot/model/ChatFullInfo.java
index bbddf1b4..30e08d85 100644
--- a/library/src/main/java/com/pengrad/telegrambot/model/ChatFullInfo.java
+++ b/library/src/main/java/com/pengrad/telegrambot/model/ChatFullInfo.java
@@ -34,6 +34,7 @@ public enum Type {
private String last_name;
private Boolean is_forum;
+ private Boolean is_direct_messages;
private ChatPhoto photo;
private String[] active_usernames;
private Birthdate birthdate;
@@ -41,6 +42,7 @@ public enum Type {
private BusinessLocation business_location;
private BusinessOpeningHours business_opening_hours;
private Chat personal_chat;
+ private Chat parent_chat;
private ReactionType[] available_reactions;
private Integer accent_color_id;
private Integer max_reaction_count;
@@ -98,6 +100,10 @@ public Boolean isForum() {
return is_forum != null && is_forum;
}
+ public Boolean isDirectMessages() {
+ return is_direct_messages != null && is_direct_messages;
+ }
+
public String title() {
return title;
}
@@ -130,6 +136,10 @@ public Chat personalChat() {
return personal_chat;
}
+ public Chat parentChat() {
+ return parent_chat;
+ }
+
public ReactionType[] availableReactions() {
return available_reactions;
}
@@ -272,6 +282,7 @@ public boolean equals(Object o) {
Objects.equals(first_name, chat.first_name) &&
Objects.equals(last_name, chat.last_name) &&
Objects.equals(is_forum, chat.is_forum) &&
+ Objects.equals(is_direct_messages, chat.is_direct_messages) &&
Objects.equals(username, chat.username) &&
Objects.equals(title, chat.title) &&
Objects.equals(photo, chat.photo) &&
@@ -281,6 +292,7 @@ public boolean equals(Object o) {
Objects.equals(business_location, chat.business_location) &&
Objects.equals(business_opening_hours, chat.business_opening_hours) &&
Objects.equals(personal_chat, chat.personal_chat) &&
+ Objects.equals(parent_chat, chat.parent_chat) &&
Arrays.equals(available_reactions, chat.available_reactions) &&
Objects.equals(accent_color_id, chat.accent_color_id) &&
Objects.equals(max_reaction_count, chat.max_reaction_count) &&
@@ -327,6 +339,7 @@ public String toString() {
", first_name='" + first_name + '\'' +
", last_name='" + last_name + '\'' +
", is_forum=" + is_forum +
+ ", is_direct_messages=" + is_direct_messages +
", username='" + username + '\'' +
", title='" + title + '\'' +
", photo=" + photo +
@@ -336,6 +349,7 @@ public String toString() {
", business_location=" + business_location +
", business_opening_hours=" + business_opening_hours +
", personal_chat=" + personal_chat +
+ ", parent_chat=" + parent_chat +
", available_reactions=" + Arrays.toString(available_reactions) +
", accent_color_id=" + accent_color_id +
", max_reaction_count=" + max_reaction_count +
diff --git a/library/src/main/java/com/pengrad/telegrambot/model/ChatMember.java b/library/src/main/java/com/pengrad/telegrambot/model/ChatMember.java
index ee39a312..182756c1 100644
--- a/library/src/main/java/com/pengrad/telegrambot/model/ChatMember.java
+++ b/library/src/main/java/com/pengrad/telegrambot/model/ChatMember.java
@@ -35,6 +35,7 @@ public enum Status {
private Boolean can_edit_stories;
private Boolean can_delete_stories;
private Boolean can_manage_topics;
+ private Boolean can_manage_direct_messages;
private Boolean is_member;
private Boolean can_send_messages;
@@ -129,6 +130,10 @@ public Boolean canManageTopics() {
return can_manage_topics != null && can_manage_topics;
}
+ public Boolean canManageDirectMessages() {
+ return can_manage_direct_messages != null && can_manage_direct_messages;
+ }
+
public Boolean isMember() {
return is_member != null && is_member;
}
@@ -198,6 +203,7 @@ public boolean equals(Object o) {
Objects.equals(can_edit_stories, that.can_edit_stories) &&
Objects.equals(can_delete_stories, that.can_delete_stories) &&
Objects.equals(can_manage_topics, that.can_manage_topics) &&
+ Objects.equals(can_manage_direct_messages, that.can_manage_direct_messages) &&
Objects.equals(is_member, that.is_member) &&
Objects.equals(can_send_messages, that.can_send_messages) &&
Objects.equals(can_send_audios, that.can_send_audios) &&
@@ -233,6 +239,7 @@ public int hashCode() {
can_edit_stories,
can_delete_stories,
can_manage_topics,
+ can_manage_direct_messages,
is_member,
can_send_messages,
can_send_audios,
@@ -269,6 +276,7 @@ public String toString() {
", can_edit_stories=" + can_edit_stories +
", can_delete_stories=" + can_delete_stories +
", can_manage_topics=" + can_manage_topics +
+ ", can_manage_direct_messages=" + can_manage_direct_messages +
", is_member=" + is_member +
", can_send_messages=" + can_send_messages +
", can_send_audios=" + can_send_audios +
diff --git a/library/src/main/java/com/pengrad/telegrambot/model/DirectMessagesTopic.kt b/library/src/main/java/com/pengrad/telegrambot/model/DirectMessagesTopic.kt
new file mode 100644
index 00000000..8a5f719b
--- /dev/null
+++ b/library/src/main/java/com/pengrad/telegrambot/model/DirectMessagesTopic.kt
@@ -0,0 +1,8 @@
+package com.pengrad.telegrambot.model
+
+@Suppress("unused")
+data class DirectMessagesTopic (
+ @get:JvmName("topicId") val topicId: Int,
+ @get:JvmName("user") val user: User?
+) {
+}
\ No newline at end of file
diff --git a/library/src/main/java/com/pengrad/telegrambot/model/ExternalReplyInfo.java b/library/src/main/java/com/pengrad/telegrambot/model/ExternalReplyInfo.java
index a4a8939a..f45150f4 100644
--- a/library/src/main/java/com/pengrad/telegrambot/model/ExternalReplyInfo.java
+++ b/library/src/main/java/com/pengrad/telegrambot/model/ExternalReplyInfo.java
@@ -1,5 +1,6 @@
package com.pengrad.telegrambot.model;
+import com.pengrad.telegrambot.model.checklist.Checklist;
import com.pengrad.telegrambot.model.giveaway.Giveaway;
import com.pengrad.telegrambot.model.giveaway.GiveawayWinners;
import com.pengrad.telegrambot.model.message.origin.MessageOrigin;
@@ -28,6 +29,7 @@ public class ExternalReplyInfo implements Serializable {
private VideoNote video_note;
private Voice voice;
private Boolean has_media_spoiler;
+ private Checklist checklist;
private Contact contact;
private Dice dice;
private Game game;
@@ -97,6 +99,10 @@ public Boolean hasMediaSpoiler() {
return has_media_spoiler;
}
+ public Checklist checklist() {
+ return checklist;
+ }
+
public Contact contact() {
return contact;
}
@@ -138,12 +144,12 @@ public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
ExternalReplyInfo that = (ExternalReplyInfo) o;
- return Objects.equals(origin, that.origin) && Objects.equals(chat, that.chat) && Objects.equals(message_id, that.message_id) && Objects.equals(link_preview_options, that.link_preview_options) && Objects.equals(animation, that.animation) && Objects.equals(audio, that.audio) && Objects.equals(paid_media, that.paid_media) && Objects.equals(document, that.document) && Arrays.equals(photo, that.photo) && Objects.equals(sticker, that.sticker) && Objects.equals(story, that.story) && Objects.equals(video, that.video) && Objects.equals(video_note, that.video_note) && Objects.equals(voice, that.voice) && Objects.equals(has_media_spoiler, that.has_media_spoiler) && Objects.equals(contact, that.contact) && Objects.equals(dice, that.dice) && Objects.equals(game, that.game) && Objects.equals(giveaway, that.giveaway) && Objects.equals(giveaway_winners, that.giveaway_winners) && Objects.equals(invoice, that.invoice) && Objects.equals(location, that.location) && Objects.equals(poll, that.poll) && Objects.equals(venue, that.venue);
+ return Objects.equals(origin, that.origin) && Objects.equals(chat, that.chat) && Objects.equals(message_id, that.message_id) && Objects.equals(link_preview_options, that.link_preview_options) && Objects.equals(animation, that.animation) && Objects.equals(audio, that.audio) && Objects.equals(paid_media, that.paid_media) && Objects.equals(document, that.document) && Arrays.equals(photo, that.photo) && Objects.equals(sticker, that.sticker) && Objects.equals(story, that.story) && Objects.equals(video, that.video) && Objects.equals(video_note, that.video_note) && Objects.equals(voice, that.voice) && Objects.equals(has_media_spoiler, that.has_media_spoiler) && Objects.equals(checklist, that.checklist) && Objects.equals(contact, that.contact) && Objects.equals(dice, that.dice) && Objects.equals(game, that.game) && Objects.equals(giveaway, that.giveaway) && Objects.equals(giveaway_winners, that.giveaway_winners) && Objects.equals(invoice, that.invoice) && Objects.equals(location, that.location) && Objects.equals(poll, that.poll) && Objects.equals(venue, that.venue);
}
@Override
public int hashCode() {
- int result = Objects.hash(origin, chat, message_id, link_preview_options, animation, audio, paid_media, document, sticker, story, video, video_note, voice, has_media_spoiler, contact, dice, game, giveaway, giveaway_winners, invoice, location, poll, venue);
+ int result = Objects.hash(origin, chat, message_id, link_preview_options, animation, audio, paid_media, document, sticker, story, video, video_note, voice, has_media_spoiler, checklist, contact, dice, game, giveaway, giveaway_winners, invoice, location, poll, venue);
result = 31 * result + Arrays.hashCode(photo);
return result;
}
@@ -166,6 +172,7 @@ public String toString() {
", video_note=" + video_note +
", voice=" + voice +
", has_media_spoiler=" + has_media_spoiler +
+ ", checklist=" + checklist +
", contact=" + contact +
", dice=" + dice +
", game=" + game +
diff --git a/library/src/main/java/com/pengrad/telegrambot/model/Message.java b/library/src/main/java/com/pengrad/telegrambot/model/Message.java
index fad61402..7cc7e433 100644
--- a/library/src/main/java/com/pengrad/telegrambot/model/Message.java
+++ b/library/src/main/java/com/pengrad/telegrambot/model/Message.java
@@ -2,6 +2,9 @@
import com.pengrad.telegrambot.model.chatbackground.ChatBackground;
import com.pengrad.telegrambot.model.chatboost.ChatBoostAdded;
+import com.pengrad.telegrambot.model.checklist.Checklist;
+import com.pengrad.telegrambot.model.checklist.ChecklistTasksAdded;
+import com.pengrad.telegrambot.model.checklist.ChecklistTasksDone;
import com.pengrad.telegrambot.model.gift.GiftInfo;
import com.pengrad.telegrambot.model.gift.unique.UniqueGiftInfo;
import com.pengrad.telegrambot.model.giveaway.Giveaway;
@@ -12,6 +15,9 @@
import com.pengrad.telegrambot.model.message.origin.*;
import com.pengrad.telegrambot.model.paidmedia.PaidMediaInfo;
import com.pengrad.telegrambot.model.request.InlineKeyboardMarkup;
+import com.pengrad.telegrambot.model.stars.DirectMessagePriceChanged;
+import com.pengrad.telegrambot.model.stars.PaidMessagePriceChanged;
+import com.pengrad.telegrambot.model.suggestedposts.*;
import com.pengrad.telegrambot.passport.PassportData;
import java.io.Serializable;
@@ -26,6 +32,7 @@ public class Message extends MaybeInaccessibleMessage implements Serializable {
private final static long serialVersionUID = 0L;
private Integer message_thread_id;
+ private DirectMessagesTopic direct_messages_topic;
private User from;
private Chat sender_chat;
private Integer sender_boost_count;
@@ -38,10 +45,12 @@ public class Message extends MaybeInaccessibleMessage implements Serializable {
private ExternalReplyInfo external_reply;
private TextQuote quote;
private Story reply_to_story;
+ private Integer reply_to_checklist_task_id;
private User via_bot;
private Integer edit_date;
private Boolean has_protected_content;
private Boolean is_from_offline;
+ private Boolean is_paid_post;
private Boolean has_media_spoiler;
private String media_group_id;
private String author_signature;
@@ -50,6 +59,7 @@ public class Message extends MaybeInaccessibleMessage implements Serializable {
private MessageEntity[] caption_entities;
private Boolean show_caption_above_media;
private LinkPreviewOptions link_preview_options;
+ private SuggestedPostInfo suggested_post_info;
private String effect_id;
private Audio audio;
private PaidMediaInfo paid_media;
@@ -62,6 +72,9 @@ public class Message extends MaybeInaccessibleMessage implements Serializable {
private Voice voice;
private VideoNote video_note;
private String caption;
+ private Checklist checklist;
+ private ChecklistTasksDone checklist_tasks_done;
+ private ChecklistTasksAdded checklist_tasks_added;
private Contact contact;
private Location location;
private Venue venue;
@@ -110,12 +123,22 @@ public class Message extends MaybeInaccessibleMessage implements Serializable {
private GiftInfo gift;
private UniqueGiftInfo unique_gift;
private PaidMessagePriceChanged paid_message_price_changed;
+ private SuggestedPostApproved suggested_post_approved;
+ private SuggestedPostApprovalFailed suggested_post_approval_failed;
+ private SuggestedPostDeclined suggested_post_declined;
+ private SuggestedPostPaid suggested_post_paid;
+ private SuggestedPostRefunded suggested_post_refunded;
+ private DirectMessagePriceChanged direct_message_price_changed;
private Integer paid_star_count;
public Integer messageThreadId() {
return message_thread_id;
}
+ public DirectMessagesTopic directMessagesTopic() {
+ return direct_messages_topic;
+ }
+
public User from() {
return from;
}
@@ -164,6 +187,10 @@ public Story replyToStory() {
return reply_to_story;
}
+ public Integer replyToChecklistTaskId() {
+ return reply_to_checklist_task_id;
+ }
+
public User viaBot() {
return via_bot;
}
@@ -180,6 +207,10 @@ public Boolean isFromOffline() {
return is_from_offline != null && is_from_offline;
}
+ public Boolean isPaidPost() {
+ return is_paid_post != null && is_paid_post;
+ }
+
public Boolean hasMediaSpoiler() {
return has_media_spoiler != null && has_media_spoiler;
}
@@ -213,6 +244,10 @@ public LinkPreviewOptions linkPreviewOptions() {
return link_preview_options;
}
+ public SuggestedPostInfo suggestedPostInfo() {
+ return suggested_post_info;
+ }
+
public String effectId() {
return effect_id;
}
@@ -261,6 +296,18 @@ public String caption() {
return caption;
}
+ public Checklist checklist() {
+ return checklist;
+ }
+
+ public ChecklistTasksDone checklistTasksDone() {
+ return checklist_tasks_done;
+ }
+
+ public ChecklistTasksAdded checklistTasksAdded() {
+ return checklist_tasks_added;
+ }
+
public Contact contact() {
return contact;
}
@@ -453,6 +500,30 @@ public PaidMessagePriceChanged paidMessagePriceChanged() {
return paid_message_price_changed;
}
+ public SuggestedPostApproved suggestedPostApproved() {
+ return suggested_post_approved;
+ }
+
+ public SuggestedPostApprovalFailed suggestedPostApprovalFailed() {
+ return suggested_post_approval_failed;
+ }
+
+ public SuggestedPostDeclined suggestedPostDeclined() {
+ return suggested_post_declined;
+ }
+
+ public SuggestedPostPaid suggestedPostPaid() {
+ return suggested_post_paid;
+ }
+
+ public SuggestedPostRefunded suggestedPostRefunded() {
+ return suggested_post_refunded;
+ }
+
+ public DirectMessagePriceChanged directMessagePriceChanged() {
+ return direct_message_price_changed;
+ }
+
public Integer paidStarCount() {
return paid_star_count;
}
@@ -485,6 +556,7 @@ public boolean equals(Object o) {
Message message = (Message) o;
return Objects.equals(message_id, message.message_id) &&
Objects.equals(message_thread_id, message.message_thread_id) &&
+ Objects.equals(direct_messages_topic, message.direct_messages_topic) &&
Objects.equals(from, message.from) &&
Objects.equals(sender_chat, message.sender_chat) &&
Objects.equals(sender_boost_count, message.sender_boost_count) &&
@@ -499,10 +571,12 @@ public boolean equals(Object o) {
Objects.equals(external_reply, message.external_reply) &&
Objects.equals(quote, message.quote) &&
Objects.equals(reply_to_story, message.reply_to_story) &&
+ Objects.equals(reply_to_checklist_task_id, message.reply_to_checklist_task_id) &&
Objects.equals(via_bot, message.via_bot) &&
Objects.equals(edit_date, message.edit_date) &&
Objects.equals(has_protected_content, message.has_protected_content) &&
Objects.equals(is_from_offline, message.is_from_offline) &&
+ Objects.equals(is_paid_post, message.is_paid_post) &&
Objects.equals(has_media_spoiler, message.has_media_spoiler) &&
Objects.equals(media_group_id, message.media_group_id) &&
Objects.equals(author_signature, message.author_signature) &&
@@ -511,6 +585,7 @@ public boolean equals(Object o) {
Arrays.equals(caption_entities, message.caption_entities) &&
Objects.equals(show_caption_above_media, message.show_caption_above_media) &&
Objects.equals(link_preview_options, message.link_preview_options) &&
+ Objects.equals(suggested_post_info, message.suggested_post_info) &&
Objects.equals(effect_id, message.effect_id) &&
Objects.equals(audio, message.audio) &&
Objects.equals(paid_media, message.paid_media) &&
@@ -523,6 +598,9 @@ public boolean equals(Object o) {
Objects.equals(voice, message.voice) &&
Objects.equals(video_note, message.video_note) &&
Objects.equals(caption, message.caption) &&
+ Objects.equals(checklist, message.checklist) &&
+ Objects.equals(checklist_tasks_done, message.checklist_tasks_done) &&
+ Objects.equals(checklist_tasks_added, message.checklist_tasks_added) &&
Objects.equals(contact, message.contact) &&
Objects.equals(location, message.location) &&
Objects.equals(venue, message.venue) &&
@@ -571,6 +649,12 @@ public boolean equals(Object o) {
Objects.equals(gift, message.gift) &&
Objects.equals(unique_gift, message.unique_gift) &&
Objects.equals(paid_message_price_changed, message.paid_message_price_changed) &&
+ Objects.equals(suggested_post_approved, message.suggested_post_approved) &&
+ Objects.equals(suggested_post_approval_failed, message.suggested_post_approval_failed) &&
+ Objects.equals(suggested_post_declined, message.suggested_post_declined) &&
+ Objects.equals(suggested_post_paid, message.suggested_post_paid) &&
+ Objects.equals(suggested_post_refunded, message.suggested_post_refunded) &&
+ Objects.equals(direct_message_price_changed, message.direct_message_price_changed) &&
Objects.equals(paid_star_count, message.paid_star_count);
}
@@ -584,6 +668,7 @@ public String toString() {
return "Message{" +
"message_id=" + message_id +
", message_thread_id=" + message_thread_id +
+ ", direct_messages_topic=" + direct_messages_topic +
", from=" + from +
", sender_chat=" + sender_chat +
", sender_boost_count=" + sender_boost_count +
@@ -598,10 +683,12 @@ public String toString() {
", external_reply=" + external_reply +
", quote=" + quote +
", reply_to_story=" + reply_to_story +
+ ", reply_to_checklist_task_id=" + reply_to_checklist_task_id +
", via_bot=" + via_bot +
", edit_date=" + edit_date +
", has_protected_content=" + has_protected_content +
", is_from_offline=" + is_from_offline +
+ ", is_paid_post=" + is_paid_post +
", has_media_spoiler=" + has_media_spoiler +
", media_group_id='" + media_group_id + '\'' +
", author_signature='" + author_signature + '\'' +
@@ -610,6 +697,7 @@ public String toString() {
", caption_entities=" + Arrays.toString(caption_entities) +
", show_caption_above_media=" + show_caption_above_media +
", link_preview_options=" + link_preview_options +
+ ", suggested_post_info=" + suggested_post_info +
", effect_id=" + effect_id +
", audio=" + audio +
", paid_media=" + paid_media +
@@ -622,6 +710,9 @@ public String toString() {
", voice=" + voice +
", video_note=" + video_note +
", caption='" + caption + '\'' +
+ ", checklist=" + checklist +
+ ", checklist_tasks_done=" + checklist_tasks_done +
+ ", checklist_tasks_added=" + checklist_tasks_added +
", contact=" + contact +
", location=" + location +
", venue=" + venue +
@@ -670,6 +761,12 @@ public String toString() {
", gift=" + gift +
", unique_gift=" + unique_gift +
", paid_message_price_changed=" + paid_message_price_changed +
+ ", suggested_post_approved=" + suggested_post_approved +
+ ", suggested_post_approval_failed=" + suggested_post_approval_failed +
+ ", suggested_post_declined=" + suggested_post_declined +
+ ", suggested_post_paid=" + suggested_post_paid +
+ ", suggested_post_refunded=" + suggested_post_refunded +
+ ", direct_message_price_changed=" + direct_message_price_changed +
", paid_star_count=" + paid_star_count +
'}';
}
diff --git a/library/src/main/java/com/pengrad/telegrambot/model/Video.kt b/library/src/main/java/com/pengrad/telegrambot/model/Video.kt
index 7c10da58..cc932f59 100644
--- a/library/src/main/java/com/pengrad/telegrambot/model/Video.kt
+++ b/library/src/main/java/com/pengrad/telegrambot/model/Video.kt
@@ -21,17 +21,17 @@ data class Video(
) {
/**
- * Backwards compatability for Java code because of Kotlin optimization
+ * Backwards compatibility for Java code because of Kotlin optimization
*/
fun width() = width as JavaInteger
/**
- * Backwards compatability for Java code because of Kotlin optimization
+ * Backwards compatibility for Java code because of Kotlin optimization
*/
fun height() = height as JavaInteger
/**
- * Backwards compatability for Java code because of Kotlin optimization
+ * Backwards compatibility for Java code because of Kotlin optimization
*/
fun duration() = duration as JavaInteger
diff --git a/library/src/main/java/com/pengrad/telegrambot/model/checklist/Checklist.kt b/library/src/main/java/com/pengrad/telegrambot/model/checklist/Checklist.kt
new file mode 100644
index 00000000..ebb7ac63
--- /dev/null
+++ b/library/src/main/java/com/pengrad/telegrambot/model/checklist/Checklist.kt
@@ -0,0 +1,34 @@
+package com.pengrad.telegrambot.model.checklist
+
+import com.pengrad.telegrambot.model.MessageEntity
+
+data class Checklist(
+
+ @get:JvmName("title") val title: String,
+ @get:JvmName("titleEntities") val titleEntities: Array?,
+ @get:JvmName("tasks") val tasks: Array,
+ @get:JvmName("othersCanAddTasks") val othersCanAddTasks: Boolean?,
+ @get:JvmName("othersCanMarkTasksAsDone") val othersCanMarkTasksAsDone: Boolean?
+) {
+
+ override fun equals(other: Any?): Boolean {
+ if (this === other) return true
+ if (other !is Checklist) return false
+
+ return title == other.title &&
+ titleEntities contentEquals other.titleEntities &&
+ tasks contentEquals other.tasks &&
+ othersCanAddTasks == other.othersCanAddTasks &&
+ othersCanMarkTasksAsDone == other.othersCanMarkTasksAsDone
+ }
+
+ override fun hashCode(): Int {
+ var result = title.hashCode()
+ result = 31 * result + (titleEntities?.contentHashCode() ?: 0)
+ result = 31 * result + (tasks?.contentHashCode() ?: 0)
+ result = 31 * result + (othersCanAddTasks?.hashCode() ?: 0)
+ result = 31 * result + (othersCanMarkTasksAsDone?.hashCode() ?: 0)
+ return result
+ }
+
+}
\ No newline at end of file
diff --git a/library/src/main/java/com/pengrad/telegrambot/model/checklist/ChecklistTask.kt b/library/src/main/java/com/pengrad/telegrambot/model/checklist/ChecklistTask.kt
new file mode 100644
index 00000000..184b133e
--- /dev/null
+++ b/library/src/main/java/com/pengrad/telegrambot/model/checklist/ChecklistTask.kt
@@ -0,0 +1,36 @@
+package com.pengrad.telegrambot.model.checklist
+
+import com.pengrad.telegrambot.model.MessageEntity
+import com.pengrad.telegrambot.model.User
+
+data class ChecklistTask(
+
+ @get:JvmName("id") val id: Int,
+ @get:JvmName("text") val text: String,
+ @get:JvmName("textEntities") val textEntities: Array?,
+ @get:JvmName("completedByUser") val completedByUser: User?,
+ @get:JvmName("completionDate") val completionDate: Int?
+
+) {
+
+ override fun equals(other: Any?): Boolean {
+ if (this === other) return true
+ if (other !is ChecklistTask) return false
+
+ return id == other.id &&
+ text == other.text &&
+ textEntities contentEquals other.textEntities &&
+ completedByUser == other.completedByUser &&
+ completionDate == other.completionDate
+ }
+
+ override fun hashCode(): Int {
+ var result = id.hashCode()
+ result = 31 * result + (text?.hashCode() ?: 0)
+ result = 31 * result + (textEntities?.contentHashCode() ?: 0)
+ result = 31 * result + (completedByUser?.hashCode() ?: 0)
+ result = 31 * result + (completionDate?.hashCode() ?: 0)
+ return result
+ }
+
+}
\ No newline at end of file
diff --git a/library/src/main/java/com/pengrad/telegrambot/model/checklist/ChecklistTasksAdded.kt b/library/src/main/java/com/pengrad/telegrambot/model/checklist/ChecklistTasksAdded.kt
new file mode 100644
index 00000000..dd23b0ac
--- /dev/null
+++ b/library/src/main/java/com/pengrad/telegrambot/model/checklist/ChecklistTasksAdded.kt
@@ -0,0 +1,24 @@
+package com.pengrad.telegrambot.model.checklist
+
+import com.pengrad.telegrambot.model.Message
+
+data class ChecklistTasksAdded (
+ @get:JvmName("checklistMessage") val checklistMessage: Message?,
+ @get:JvmName("tasks") val tasks: Array?
+){
+
+ override fun equals(other: Any?): Boolean {
+ if (this === other) return true
+ if (other !is ChecklistTasksAdded) return false
+
+ return checklistMessage == other.checklistMessage &&
+ tasks contentEquals other.tasks
+ }
+
+ override fun hashCode(): Int {
+ var result = checklistMessage.hashCode()
+ result = 31 * result + (tasks?.hashCode() ?: 0)
+ return result
+ }
+
+}
\ No newline at end of file
diff --git a/library/src/main/java/com/pengrad/telegrambot/model/checklist/ChecklistTasksDone.kt b/library/src/main/java/com/pengrad/telegrambot/model/checklist/ChecklistTasksDone.kt
new file mode 100644
index 00000000..693b3a20
--- /dev/null
+++ b/library/src/main/java/com/pengrad/telegrambot/model/checklist/ChecklistTasksDone.kt
@@ -0,0 +1,29 @@
+package com.pengrad.telegrambot.model.checklist
+
+import com.pengrad.telegrambot.model.Message
+
+data class ChecklistTasksDone (
+
+ @get:JvmName("checklistMessage") val checklistMessage: Message?,
+ @get:JvmName("markedAsDoneTaskIds") val markedAsDoneTaskIds: Array?,
+ @get:JvmName("markedAsNotDoneTaskIds") val markedAsNotDoneTaskIds: Array?
+
+){
+
+ override fun equals(other: Any?): Boolean {
+ if (this === other) return true
+ if (other !is ChecklistTasksDone) return false
+
+ return checklistMessage == other.checklistMessage &&
+ markedAsDoneTaskIds contentEquals other.markedAsDoneTaskIds &&
+ markedAsNotDoneTaskIds contentEquals other.markedAsNotDoneTaskIds
+ }
+
+ override fun hashCode(): Int {
+ var result = checklistMessage.hashCode()
+ result = 31 * result + (markedAsDoneTaskIds?.hashCode() ?: 0)
+ result = 31 * result + (markedAsNotDoneTaskIds?.hashCode() ?: 0)
+ return result
+ }
+
+}
\ No newline at end of file
diff --git a/library/src/main/java/com/pengrad/telegrambot/model/checklist/InputChecklist.kt b/library/src/main/java/com/pengrad/telegrambot/model/checklist/InputChecklist.kt
new file mode 100644
index 00000000..16867944
--- /dev/null
+++ b/library/src/main/java/com/pengrad/telegrambot/model/checklist/InputChecklist.kt
@@ -0,0 +1,40 @@
+package com.pengrad.telegrambot.model.checklist
+
+import com.pengrad.telegrambot.model.MessageEntity
+
+@Suppress("unused")
+class InputChecklist private constructor(
+ @get:JvmName("title") val title: String,
+ @get:JvmName("parseMode") var parseMode: String?,
+ @get:JvmName("titleEntities") var titleEntities: Array?,
+ @get:JvmName("tasks") val tasks: Array,
+ @get:JvmName("othersCanAddTasks") var othersCanAddTasks: Boolean?,
+ @get:JvmName("othersCanMarkTasksAsDone") var othersCanMarkTasksAsDone: Boolean?,
+) {
+
+ constructor(title: String, tasks: Array) : this(
+ title = title,
+ tasks = tasks,
+ parseMode = null,
+ titleEntities = null,
+ othersCanAddTasks = null,
+ othersCanMarkTasksAsDone = null
+ )
+
+ fun parseMode(parseMode: String) = apply {
+ this.parseMode = parseMode
+ }
+
+ fun titleEntities(titleEntities: Array) = apply {
+ this.titleEntities = titleEntities
+ }
+
+ fun othersCanAddTasks(othersCanAddTasks: Boolean) = apply {
+ this.othersCanAddTasks = othersCanAddTasks
+ }
+
+ fun othersCanMarkTasksAsDone(othersCanMarkTasksAsDone: Boolean) = apply {
+ this.othersCanMarkTasksAsDone = othersCanMarkTasksAsDone
+ }
+
+}
\ No newline at end of file
diff --git a/library/src/main/java/com/pengrad/telegrambot/model/checklist/InputChecklistTask.kt b/library/src/main/java/com/pengrad/telegrambot/model/checklist/InputChecklistTask.kt
new file mode 100644
index 00000000..31ed3407
--- /dev/null
+++ b/library/src/main/java/com/pengrad/telegrambot/model/checklist/InputChecklistTask.kt
@@ -0,0 +1,28 @@
+package com.pengrad.telegrambot.model.checklist
+
+import com.pengrad.telegrambot.model.MessageEntity
+
+@Suppress("unused")
+class InputChecklistTask private constructor (
+ @get:JvmName("id") val id: Int,
+ @get:JvmName("text") val text: String,
+ @get:JvmName("parseMode") var parseMode: String?,
+ @get:JvmName("textEntities") var textEntities: Array?
+){
+
+ constructor(id: Int, text: String) : this(
+ id = id,
+ text = text,
+ parseMode = null,
+ textEntities = null
+ )
+
+ fun parseMode(parseMode: String) = apply {
+ this.parseMode = parseMode
+ }
+
+ fun textEntities(textEntities: Array) = apply {
+ this.textEntities = textEntities
+ }
+
+}
\ No newline at end of file
diff --git a/library/src/main/java/com/pengrad/telegrambot/model/gift/Gift.kt b/library/src/main/java/com/pengrad/telegrambot/model/gift/Gift.kt
index 810f7f2e..fe35e2e5 100644
--- a/library/src/main/java/com/pengrad/telegrambot/model/gift/Gift.kt
+++ b/library/src/main/java/com/pengrad/telegrambot/model/gift/Gift.kt
@@ -1,5 +1,6 @@
package com.pengrad.telegrambot.model.gift
+import com.pengrad.telegrambot.model.Chat
import com.pengrad.telegrambot.model.Sticker
data class Gift(
@@ -8,5 +9,6 @@ data class Gift(
@get:JvmName("starCount") val starCount: Int,
@get:JvmName("upgradeStarCount") val upgradeStarCount: Int? = null,
@get:JvmName("totalCount") val totalCount: Int? = null,
- @get:JvmName("remainingCount") val remainingCount: Int? = null
+ @get:JvmName("remainingCount") val remainingCount: Int? = null,
+ @get:JvmName("publisherChat") val publisherChat: Chat? = null
)
diff --git a/library/src/main/java/com/pengrad/telegrambot/model/gift/owned/OwnedGiftUnique.kt b/library/src/main/java/com/pengrad/telegrambot/model/gift/owned/OwnedGiftUnique.kt
index 6ed4a04c..74888022 100644
--- a/library/src/main/java/com/pengrad/telegrambot/model/gift/owned/OwnedGiftUnique.kt
+++ b/library/src/main/java/com/pengrad/telegrambot/model/gift/owned/OwnedGiftUnique.kt
@@ -11,7 +11,8 @@ class OwnedGiftUnique(
@get:JvmName("sendDate") var sendDate: Long,
@get:JvmName("isSaved") var isSaved: Boolean?,
@get:JvmName("canBeTransferred") var canBeTransferred: Boolean?,
- @get:JvmName("transferStarCount") var prepaidUpgradeStarCount: Int?
+ @get:JvmName("transferStarCount") var prepaidUpgradeStarCount: Int?,
+ @get:JvmName("nextTransferDate") var nextTransferDate: Long?
) : OwnedGift(type = TYPE) {
companion object {
diff --git a/library/src/main/java/com/pengrad/telegrambot/model/gift/unique/UniqueGift.kt b/library/src/main/java/com/pengrad/telegrambot/model/gift/unique/UniqueGift.kt
index 0416a67d..a80c9ebd 100644
--- a/library/src/main/java/com/pengrad/telegrambot/model/gift/unique/UniqueGift.kt
+++ b/library/src/main/java/com/pengrad/telegrambot/model/gift/unique/UniqueGift.kt
@@ -1,5 +1,7 @@
package com.pengrad.telegrambot.model.gift.unique
+import com.pengrad.telegrambot.model.Chat
+
@Suppress("unused")
data class UniqueGift(
@get:JvmName("baseName") val baseName: String,
@@ -7,5 +9,6 @@ data class UniqueGift(
@get:JvmName("number") val number: Int,
@get:JvmName("model") val model: UniqueGiftModel,
@get:JvmName("symbol") val symbol: UniqueGiftSymbol,
- @get:JvmName("backdrop") val backdrop: UniqueGiftBackdrop
+ @get:JvmName("backdrop") val backdrop: UniqueGiftBackdrop,
+ @get:JvmName("publisherChat") val publisherChat: Chat? = null
)
\ No newline at end of file
diff --git a/library/src/main/java/com/pengrad/telegrambot/model/gift/unique/UniqueGiftInfo.kt b/library/src/main/java/com/pengrad/telegrambot/model/gift/unique/UniqueGiftInfo.kt
index f07f49c5..bf60fa6a 100644
--- a/library/src/main/java/com/pengrad/telegrambot/model/gift/unique/UniqueGiftInfo.kt
+++ b/library/src/main/java/com/pengrad/telegrambot/model/gift/unique/UniqueGiftInfo.kt
@@ -5,5 +5,7 @@ data class UniqueGiftInfo(
@get:JvmName("gift") val gift: UniqueGift,
@get:JvmName("origin") val origin: String,
@get:JvmName("ownedGiftId") val ownedGiftId: String?,
- @get:JvmName("transferStarCount") val transferStarCount: Int?
+ @get:JvmName("transferStarCount") val transferStarCount: Int?,
+ @get:JvmName("nextTransferDate") var nextTransferDate: Long?,
+ @get:JvmName("lastResaleStarCount") val lastResaleStarCount: Int?
)
\ No newline at end of file
diff --git a/library/src/main/java/com/pengrad/telegrambot/model/request/ReplyParameters.java b/library/src/main/java/com/pengrad/telegrambot/model/request/ReplyParameters.java
index aa36fad0..691f8139 100644
--- a/library/src/main/java/com/pengrad/telegrambot/model/request/ReplyParameters.java
+++ b/library/src/main/java/com/pengrad/telegrambot/model/request/ReplyParameters.java
@@ -15,6 +15,7 @@ public class ReplyParameters implements Serializable {
private String quote_parse_mode;
private MessageEntity[] quote_entities;
private Integer quote_position;
+ private Integer checklist_task_id;
public ReplyParameters(Integer messageId) {
this.message_id = messageId;
@@ -49,4 +50,9 @@ public ReplyParameters quotePosition(Integer quotePosition) {
this.quote_position = quotePosition;
return this;
}
+
+ public ReplyParameters checklistTaskId(Integer checklistTaskId) {
+ this.checklist_task_id = checklistTaskId;
+ return this;
+ }
}
diff --git a/library/src/main/java/com/pengrad/telegrambot/model/stars/DirectMessagePriceChanged.kt b/library/src/main/java/com/pengrad/telegrambot/model/stars/DirectMessagePriceChanged.kt
new file mode 100644
index 00000000..8119a577
--- /dev/null
+++ b/library/src/main/java/com/pengrad/telegrambot/model/stars/DirectMessagePriceChanged.kt
@@ -0,0 +1,7 @@
+package com.pengrad.telegrambot.model.stars
+
+data class DirectMessagePriceChanged (
+ @get:JvmName("areDirectMessagesEnabled") val areDirectMessagesEnabled: Boolean,
+ @get:JvmName("directMessageStarCount") val directMessageStarCount: Int?
+) {
+}
\ No newline at end of file
diff --git a/library/src/main/java/com/pengrad/telegrambot/model/PaidMessagePriceChanged.kt b/library/src/main/java/com/pengrad/telegrambot/model/stars/PaidMessagePriceChanged.kt
similarity index 68%
rename from library/src/main/java/com/pengrad/telegrambot/model/PaidMessagePriceChanged.kt
rename to library/src/main/java/com/pengrad/telegrambot/model/stars/PaidMessagePriceChanged.kt
index 6547d2a9..617e4639 100644
--- a/library/src/main/java/com/pengrad/telegrambot/model/PaidMessagePriceChanged.kt
+++ b/library/src/main/java/com/pengrad/telegrambot/model/stars/PaidMessagePriceChanged.kt
@@ -1,4 +1,4 @@
-package com.pengrad.telegrambot.model
+package com.pengrad.telegrambot.model.stars
data class PaidMessagePriceChanged(
@get:JvmName("prizeStarCount") val prizeStarCount: Int
diff --git a/library/src/main/java/com/pengrad/telegrambot/model/suggestedposts/SuggestedPostApprovalFailed.kt b/library/src/main/java/com/pengrad/telegrambot/model/suggestedposts/SuggestedPostApprovalFailed.kt
new file mode 100644
index 00000000..7799def3
--- /dev/null
+++ b/library/src/main/java/com/pengrad/telegrambot/model/suggestedposts/SuggestedPostApprovalFailed.kt
@@ -0,0 +1,10 @@
+package com.pengrad.telegrambot.model.suggestedposts
+
+import com.pengrad.telegrambot.model.Message
+
+@Suppress("unused")
+data class SuggestedPostApprovalFailed (
+ @get:JvmName("suggestedPostMessage") val suggestedPostMessage: Message?,
+ @get:JvmName("price") val price: SuggestedPostPrice
+){
+}
\ No newline at end of file
diff --git a/library/src/main/java/com/pengrad/telegrambot/model/suggestedposts/SuggestedPostApproved.kt b/library/src/main/java/com/pengrad/telegrambot/model/suggestedposts/SuggestedPostApproved.kt
new file mode 100644
index 00000000..841fa67d
--- /dev/null
+++ b/library/src/main/java/com/pengrad/telegrambot/model/suggestedposts/SuggestedPostApproved.kt
@@ -0,0 +1,11 @@
+package com.pengrad.telegrambot.model.suggestedposts
+
+import com.pengrad.telegrambot.model.Message
+
+@Suppress("unused")
+data class SuggestedPostApproved (
+ @get:JvmName("suggestedPostMessage") val suggestedPostMessage: Message?,
+ @get:JvmName("price") val price: SuggestedPostPrice?,
+ @get:JvmName("sendDate") val sendDate: Long
+){
+}
\ No newline at end of file
diff --git a/library/src/main/java/com/pengrad/telegrambot/model/suggestedposts/SuggestedPostDeclined.kt b/library/src/main/java/com/pengrad/telegrambot/model/suggestedposts/SuggestedPostDeclined.kt
new file mode 100644
index 00000000..2fdc4f88
--- /dev/null
+++ b/library/src/main/java/com/pengrad/telegrambot/model/suggestedposts/SuggestedPostDeclined.kt
@@ -0,0 +1,10 @@
+package com.pengrad.telegrambot.model.suggestedposts
+
+import com.pengrad.telegrambot.model.Message
+
+@Suppress("unused")
+data class SuggestedPostDeclined (
+ @get:JvmName("suggestedPostMessage") val suggestedPostMessage: Message?,
+ @get:JvmName("comment") val comment: String?
+){
+}
\ No newline at end of file
diff --git a/library/src/main/java/com/pengrad/telegrambot/model/suggestedposts/SuggestedPostInfo.kt b/library/src/main/java/com/pengrad/telegrambot/model/suggestedposts/SuggestedPostInfo.kt
new file mode 100644
index 00000000..f4542646
--- /dev/null
+++ b/library/src/main/java/com/pengrad/telegrambot/model/suggestedposts/SuggestedPostInfo.kt
@@ -0,0 +1,9 @@
+package com.pengrad.telegrambot.model.suggestedposts
+
+@Suppress("unused")
+data class SuggestedPostInfo (
+ @get:JvmName("state") val state: String,
+ @get:JvmName("price") val price: SuggestedPostPrice?,
+ @get:JvmName("sendDate") val sendDate: Long?
+){
+}
\ No newline at end of file
diff --git a/library/src/main/java/com/pengrad/telegrambot/model/suggestedposts/SuggestedPostPaid.kt b/library/src/main/java/com/pengrad/telegrambot/model/suggestedposts/SuggestedPostPaid.kt
new file mode 100644
index 00000000..65a9c557
--- /dev/null
+++ b/library/src/main/java/com/pengrad/telegrambot/model/suggestedposts/SuggestedPostPaid.kt
@@ -0,0 +1,13 @@
+package com.pengrad.telegrambot.model.suggestedposts
+
+import com.pengrad.telegrambot.model.Message
+import com.pengrad.telegrambot.model.stars.StarAmount
+
+@Suppress("unused")
+data class SuggestedPostPaid (
+ @get:JvmName("suggestedPostMessage") val suggestedPostMessage: Message?,
+ @get:JvmName("currency") val currency: String,
+ @get:JvmName("amount") val amount: Long?,
+ @get:JvmName("starAmount") val starAmount: StarAmount?
+){
+}
\ No newline at end of file
diff --git a/library/src/main/java/com/pengrad/telegrambot/model/suggestedposts/SuggestedPostParameters.kt b/library/src/main/java/com/pengrad/telegrambot/model/suggestedposts/SuggestedPostParameters.kt
new file mode 100644
index 00000000..6bfd3cf7
--- /dev/null
+++ b/library/src/main/java/com/pengrad/telegrambot/model/suggestedposts/SuggestedPostParameters.kt
@@ -0,0 +1,9 @@
+package com.pengrad.telegrambot.model.suggestedposts
+
+@Suppress("unused")
+data class SuggestedPostParameters (
+ @get:JvmName("price") val price: SuggestedPostPrice?,
+ @get:JvmName("sendDate") val sendDate: Long?
+){
+
+}
\ No newline at end of file
diff --git a/library/src/main/java/com/pengrad/telegrambot/model/suggestedposts/SuggestedPostPrice.kt b/library/src/main/java/com/pengrad/telegrambot/model/suggestedposts/SuggestedPostPrice.kt
new file mode 100644
index 00000000..163416aa
--- /dev/null
+++ b/library/src/main/java/com/pengrad/telegrambot/model/suggestedposts/SuggestedPostPrice.kt
@@ -0,0 +1,8 @@
+package com.pengrad.telegrambot.model.suggestedposts
+
+@Suppress("unused")
+data class SuggestedPostPrice (
+ @get:JvmName("currency") val currency: String,
+ @get:JvmName("amount") val amount: Long
+){
+}
\ No newline at end of file
diff --git a/library/src/main/java/com/pengrad/telegrambot/model/suggestedposts/SuggestedPostRefunded.kt b/library/src/main/java/com/pengrad/telegrambot/model/suggestedposts/SuggestedPostRefunded.kt
new file mode 100644
index 00000000..158739b9
--- /dev/null
+++ b/library/src/main/java/com/pengrad/telegrambot/model/suggestedposts/SuggestedPostRefunded.kt
@@ -0,0 +1,10 @@
+package com.pengrad.telegrambot.model.suggestedposts
+
+import com.pengrad.telegrambot.model.Message
+
+@Suppress("unused")
+data class SuggestedPostRefunded (
+ @get:JvmName("suggestedPostMessage") val suggestedPostMessage: Message?,
+ @get:JvmName("reason") val reason: String
+){
+}
\ No newline at end of file
diff --git a/library/src/main/java/com/pengrad/telegrambot/request/AbstractSendRequest.kt b/library/src/main/java/com/pengrad/telegrambot/request/AbstractSendRequest.kt
index d4fa6784..5cb10e15 100644
--- a/library/src/main/java/com/pengrad/telegrambot/request/AbstractSendRequest.kt
+++ b/library/src/main/java/com/pengrad/telegrambot/request/AbstractSendRequest.kt
@@ -2,6 +2,7 @@ package com.pengrad.telegrambot.request
import com.pengrad.telegrambot.model.request.Keyboard
import com.pengrad.telegrambot.model.request.ReplyParameters
+import com.pengrad.telegrambot.model.suggestedposts.SuggestedPostParameters
import com.pengrad.telegrambot.response.SendResponse
import com.pengrad.telegrambot.utility.kotlin.optionalRequestParameter
@@ -15,17 +16,21 @@ abstract class AbstractSendRequest>(
var businessConnectionId: String? by optionalRequestParameter()
var messageThreadId: Int? by optionalRequestParameter()
+ var directMessagesTopicId: Int? by optionalRequestParameter()
var disableNotification: Boolean? by optionalRequestParameter()
var protectContent: Boolean? by optionalRequestParameter()
var allowPaidBroadcast: Boolean? by optionalRequestParameter()
var messageEffectId: String? by optionalRequestParameter()
var replyParameters: ReplyParameters? by optionalRequestParameter()
var replyMarkup: Keyboard? by optionalRequestParameter()
+ var suggestedPostParameters: SuggestedPostParameters? by optionalRequestParameter()
fun businessConnectionId(businessConnectionId: String) = applySelf { this.businessConnectionId = businessConnectionId }
fun messageThreadId(messageThreadId: Int) = applySelf { this.messageThreadId = messageThreadId }
+ fun directMessagesTopicId(directMessagesTopicId: Int) = applySelf { this.directMessagesTopicId = directMessagesTopicId }
+
fun disableNotification(disableNotification: Boolean) = applySelf { this.disableNotification = disableNotification }
fun protectContent(protectContent: Boolean) = applySelf { this.protectContent = protectContent }
@@ -38,4 +43,6 @@ abstract class AbstractSendRequest>(
fun replyMarkup(replyMarkup: Keyboard) = applySelf { this.replyMarkup = replyMarkup }
+ fun suggestedPostParameters(suggestedPostParameters: SuggestedPostParameters) = applySelf { this.suggestedPostParameters = suggestedPostParameters }
+
}
\ No newline at end of file
diff --git a/library/src/main/java/com/pengrad/telegrambot/request/CopyMessage.kt b/library/src/main/java/com/pengrad/telegrambot/request/CopyMessage.kt
index 425cc66a..20febfbd 100644
--- a/library/src/main/java/com/pengrad/telegrambot/request/CopyMessage.kt
+++ b/library/src/main/java/com/pengrad/telegrambot/request/CopyMessage.kt
@@ -31,7 +31,7 @@ class CopyMessage private constructor(
)
/**
- * Backwards-compatability for Java code
+ * Backwards-compatibility for Java code
*/
constructor(chatId: JavaLong, fromChatId: JavaLong, messageId: JavaInteger) : this(
chatId = chatId.toLong(),
@@ -51,7 +51,7 @@ class CopyMessage private constructor(
)
/**
- * Backwards-compatability for Java code
+ * Backwards-compatibility for Java code
*/
constructor(channelUsername: String, fromChatId: JavaLong, messageId: JavaInteger) : this(
channelUsername = channelUsername,
@@ -71,7 +71,7 @@ class CopyMessage private constructor(
)
/**
- * Backwards-compatability for Java code
+ * Backwards-compatibility for Java code
*/
constructor(chatId: JavaLong, fromChannelUsername: String, messageId: JavaInteger) : this(
chatId = chatId.toLong(),
@@ -91,7 +91,7 @@ class CopyMessage private constructor(
)
/**
- * Backwards-compatability for Java code
+ * Backwards-compatibility for Java code
*/
constructor(channelUsername: String, fromChannelUsername: String, messageId: JavaInteger) : this(
channelUsername = channelUsername,
@@ -118,7 +118,7 @@ class CopyMessage private constructor(
}
/**
- * Backwards-compatability for Java code
+ * Backwards-compatibility for Java code
*/
@Suppress("DEPRECATION")
@Deprecated("Use constructor with chatId and fromChatId or channelUsername and fromChannelUsername instead", ReplaceWith("ForwardMessage(chatId, fromChatId, messageId)"))
diff --git a/library/src/main/java/com/pengrad/telegrambot/request/ForwardMessage.kt b/library/src/main/java/com/pengrad/telegrambot/request/ForwardMessage.kt
index 58c071c7..535f0a34 100644
--- a/library/src/main/java/com/pengrad/telegrambot/request/ForwardMessage.kt
+++ b/library/src/main/java/com/pengrad/telegrambot/request/ForwardMessage.kt
@@ -29,7 +29,7 @@ class ForwardMessage private constructor(
)
/**
- * Backwards-compatability for Java code
+ * Backwards-compatibility for Java code
*/
constructor(chatId: JavaLong, fromChatId: JavaLong, messageId: JavaInteger) : this(
chatId = chatId.toLong(),
@@ -49,7 +49,7 @@ class ForwardMessage private constructor(
)
/**
- * Backwards-compatability for Java code
+ * Backwards-compatibility for Java code
*/
constructor(channelUsername: String, fromChatId: JavaLong, messageId: JavaInteger) : this(
channelUsername = channelUsername,
@@ -69,7 +69,7 @@ class ForwardMessage private constructor(
)
/**
- * Backwards-compatability for Java code
+ * Backwards-compatibility for Java code
*/
constructor(chatId: JavaLong, fromChannelUsername: String, messageId: JavaInteger) : this(
chatId = chatId.toLong(),
@@ -89,7 +89,7 @@ class ForwardMessage private constructor(
)
/**
- * Backwards-compatability for Java code
+ * Backwards-compatibility for Java code
*/
constructor(channelUsername: String, fromChannelUsername: String, messageId: JavaInteger) : this(
channelUsername = channelUsername,
@@ -116,7 +116,7 @@ class ForwardMessage private constructor(
}
/**
- * Backwards-compatability for Java code
+ * Backwards-compatibility for Java code
*/
@Suppress("DEPRECATION")
@Deprecated("Use constructor with chatId and fromChatId or channelUsername and fromChannelUsername instead", ReplaceWith("ForwardMessage(chatId, fromChatId, messageId)"))
diff --git a/library/src/main/java/com/pengrad/telegrambot/request/GetMyStarBalance.kt b/library/src/main/java/com/pengrad/telegrambot/request/GetMyStarBalance.kt
new file mode 100644
index 00000000..0895bdbd
--- /dev/null
+++ b/library/src/main/java/com/pengrad/telegrambot/request/GetMyStarBalance.kt
@@ -0,0 +1,7 @@
+package com.pengrad.telegrambot.request
+
+import com.pengrad.telegrambot.response.GetMyStarBalanceResponse
+
+class GetMyStarBalance : KBaseRequest(
+ GetMyStarBalanceResponse::class
+)
\ No newline at end of file
diff --git a/library/src/main/java/com/pengrad/telegrambot/request/PromoteChatMember.java b/library/src/main/java/com/pengrad/telegrambot/request/PromoteChatMember.java
index 027373b5..297e65af 100644
--- a/library/src/main/java/com/pengrad/telegrambot/request/PromoteChatMember.java
+++ b/library/src/main/java/com/pengrad/telegrambot/request/PromoteChatMember.java
@@ -69,6 +69,10 @@ public PromoteChatMember canManageTopics(boolean canManageTopics) {
return add("can_manage_topics", canManageTopics);
}
+ public PromoteChatMember canManageDirectMessages(boolean canManageDirectMessages) {
+ return add("can_manage_direct_messages", canManageDirectMessages);
+ }
+
public PromoteChatMember canPromoteMembers(boolean canPromoteMembers) {
return add("can_promote_members", canPromoteMembers);
}
diff --git a/library/src/main/java/com/pengrad/telegrambot/request/SendGift.kt b/library/src/main/java/com/pengrad/telegrambot/request/SendGift.kt
index a8e0b14f..ec8cdc91 100644
--- a/library/src/main/java/com/pengrad/telegrambot/request/SendGift.kt
+++ b/library/src/main/java/com/pengrad/telegrambot/request/SendGift.kt
@@ -36,7 +36,7 @@ class SendGift private constructor(
)
/**
- * Backwards compatability to constructor with userId
+ * Backwards compatibility to constructor with userId
*/
@Deprecated("Use constructor(chatId, giftId) instead", ReplaceWith("SendGift(userId, giftId)"))
operator fun invoke(userId: Long, giftId: String) =
diff --git a/library/src/main/java/com/pengrad/telegrambot/request/business/EditMessageChecklist.kt b/library/src/main/java/com/pengrad/telegrambot/request/business/EditMessageChecklist.kt
new file mode 100644
index 00000000..e90fb94e
--- /dev/null
+++ b/library/src/main/java/com/pengrad/telegrambot/request/business/EditMessageChecklist.kt
@@ -0,0 +1,36 @@
+package com.pengrad.telegrambot.request.business
+
+import com.pengrad.telegrambot.model.checklist.InputChecklist
+import com.pengrad.telegrambot.model.request.InlineKeyboardMarkup
+import com.pengrad.telegrambot.request.KBaseRequest
+import com.pengrad.telegrambot.response.EditMessageChecklistResponse
+import com.pengrad.telegrambot.utility.kotlin.optionalRequestParameter
+import com.pengrad.telegrambot.utility.kotlin.requestParameter
+
+@Suppress("unused")
+class EditMessageChecklist (
+ businessConnectionId: String,
+ chatId: Long,
+ messageId: Int,
+ checklist: InputChecklist,
+ replyMarkup: InlineKeyboardMarkup?
+
+): KBaseRequest(EditMessageChecklistResponse::class) {
+
+ constructor(businessConnectionId: String, chatId: Long, messageId: Int, checklist: InputChecklist) : this(
+ businessConnectionId = businessConnectionId,
+ chatId = chatId,
+ messageId = messageId,
+ checklist = checklist,
+ replyMarkup = null
+ )
+
+ val businessConnectionId: String by requestParameter(businessConnectionId, customParameterName = "business_connection_id")
+ val chatId: Long by requestParameter(chatId, customParameterName = "chat_id")
+ val messageId: Int by requestParameter(messageId, customParameterName = "message_id")
+ val checklist: InputChecklist by requestParameter(checklist, customParameterName = "checklist")
+
+ var replyMarkup: InlineKeyboardMarkup? by optionalRequestParameter(replyMarkup, customParameterName = "reply_markup")
+ fun replyMarkup(replyMarkup: InlineKeyboardMarkup) = applySelf { this.replyMarkup = replyMarkup }
+
+}
\ No newline at end of file
diff --git a/library/src/main/java/com/pengrad/telegrambot/request/business/SendChecklist.kt b/library/src/main/java/com/pengrad/telegrambot/request/business/SendChecklist.kt
new file mode 100644
index 00000000..988b4fac
--- /dev/null
+++ b/library/src/main/java/com/pengrad/telegrambot/request/business/SendChecklist.kt
@@ -0,0 +1,54 @@
+package com.pengrad.telegrambot.request.business
+
+import com.pengrad.telegrambot.model.checklist.InputChecklist
+import com.pengrad.telegrambot.model.request.InlineKeyboardMarkup
+import com.pengrad.telegrambot.model.request.ReplyParameters
+import com.pengrad.telegrambot.request.KBaseRequest
+import com.pengrad.telegrambot.response.SendChecklistResponse
+import com.pengrad.telegrambot.utility.kotlin.optionalRequestParameter
+import com.pengrad.telegrambot.utility.kotlin.requestParameter
+
+@Suppress("unused")
+class SendChecklist (
+ businessConnectionId: String,
+ chatId: Long,
+ checklist: InputChecklist,
+ disableNotification: Boolean?,
+ protectContent: Boolean?,
+ messageEffectId: String?,
+ replyParameters: ReplyParameters?,
+ replyMarkup: InlineKeyboardMarkup?
+
+): KBaseRequest(SendChecklistResponse::class) {
+
+ constructor(businessConnectionId: String, chatId: Long, checklist: InputChecklist) : this(
+ businessConnectionId = businessConnectionId,
+ chatId = chatId,
+ checklist = checklist,
+ disableNotification = null,
+ protectContent = null,
+ messageEffectId = null,
+ replyParameters = null,
+ replyMarkup = null
+ )
+
+ val businessConnectionId: String by requestParameter(businessConnectionId, customParameterName = "business_connection_id")
+ val chatId: Long by requestParameter(chatId, customParameterName = "chat_id")
+ val checklist: InputChecklist by requestParameter(checklist, customParameterName = "checklist")
+
+ var disableNotification: Boolean? by optionalRequestParameter(disableNotification, customParameterName = "disable_notification")
+ fun disableNotification(disableNotification: Boolean) = applySelf { this.disableNotification = disableNotification }
+
+ var protectContent: Boolean? by optionalRequestParameter(protectContent, customParameterName = "protect_content")
+ fun protectContent(protectContent: Boolean) = applySelf { this.protectContent = protectContent }
+
+ var messageEffectId: String? by optionalRequestParameter(messageEffectId, customParameterName = "message_effect_id")
+ fun messageEffectId(messageEffectId: String) = applySelf { this.messageEffectId = messageEffectId }
+
+ var replyParameters: ReplyParameters? by optionalRequestParameter(replyParameters, customParameterName = "reply_parameters")
+ fun replyParameters(replyParameters: ReplyParameters) = applySelf { this.replyParameters = replyParameters }
+
+ var replyMarkup: InlineKeyboardMarkup? by optionalRequestParameter(replyMarkup, customParameterName = "reply_markup")
+ fun replyMarkup(replyMarkup: InlineKeyboardMarkup) = applySelf { this.replyMarkup = replyMarkup }
+
+}
\ No newline at end of file
diff --git a/library/src/main/java/com/pengrad/telegrambot/request/suggestedposts/ApproveSuggestedPost.kt b/library/src/main/java/com/pengrad/telegrambot/request/suggestedposts/ApproveSuggestedPost.kt
new file mode 100644
index 00000000..2dcf68d6
--- /dev/null
+++ b/library/src/main/java/com/pengrad/telegrambot/request/suggestedposts/ApproveSuggestedPost.kt
@@ -0,0 +1,20 @@
+package com.pengrad.telegrambot.request.suggestedposts
+
+import com.pengrad.telegrambot.request.KBaseRequest
+import com.pengrad.telegrambot.response.BaseResponse
+import com.pengrad.telegrambot.utility.kotlin.optionalRequestParameter
+import com.pengrad.telegrambot.utility.kotlin.requestParameter
+
+class ApproveSuggestedPost (
+ chatId: Long,
+ messageId: Int,
+ sendDate: Long?
+): KBaseRequest(BaseResponse::class) {
+
+ val chatId: Long by requestParameter(chatId)
+ val messageId: Int by requestParameter(messageId)
+
+ var sendDate: Long? by optionalRequestParameter(sendDate)
+
+ fun sendDate(sendDate: Long) = applySelf { this.sendDate = sendDate }
+}
\ No newline at end of file
diff --git a/library/src/main/java/com/pengrad/telegrambot/request/suggestedposts/DeclineSuggestedPost.kt b/library/src/main/java/com/pengrad/telegrambot/request/suggestedposts/DeclineSuggestedPost.kt
new file mode 100644
index 00000000..3d79568b
--- /dev/null
+++ b/library/src/main/java/com/pengrad/telegrambot/request/suggestedposts/DeclineSuggestedPost.kt
@@ -0,0 +1,20 @@
+package com.pengrad.telegrambot.request.suggestedposts
+
+import com.pengrad.telegrambot.request.KBaseRequest
+import com.pengrad.telegrambot.response.BaseResponse
+import com.pengrad.telegrambot.utility.kotlin.optionalRequestParameter
+import com.pengrad.telegrambot.utility.kotlin.requestParameter
+
+class DeclineSuggestedPost (
+ chatId: Long,
+ messageId: Int,
+ comment: String?
+): KBaseRequest(BaseResponse::class) {
+
+ val chatId: Long by requestParameter(chatId)
+ val messageId: Int by requestParameter(messageId)
+
+ var comment: String? by optionalRequestParameter(comment)
+
+ fun comment(comment: String) = applySelf { this.comment = comment }
+}
\ No newline at end of file
diff --git a/library/src/main/java/com/pengrad/telegrambot/response/EditMessageChecklistResponse.kt b/library/src/main/java/com/pengrad/telegrambot/response/EditMessageChecklistResponse.kt
new file mode 100644
index 00000000..3788f032
--- /dev/null
+++ b/library/src/main/java/com/pengrad/telegrambot/response/EditMessageChecklistResponse.kt
@@ -0,0 +1,6 @@
+package com.pengrad.telegrambot.response
+
+import com.pengrad.telegrambot.model.Message
+
+
+data class EditMessageChecklistResponse (val result: Message) : BaseResponse()
\ No newline at end of file
diff --git a/library/src/main/java/com/pengrad/telegrambot/response/GetMyStarBalanceResponse.kt b/library/src/main/java/com/pengrad/telegrambot/response/GetMyStarBalanceResponse.kt
new file mode 100644
index 00000000..3a0d715d
--- /dev/null
+++ b/library/src/main/java/com/pengrad/telegrambot/response/GetMyStarBalanceResponse.kt
@@ -0,0 +1,5 @@
+package com.pengrad.telegrambot.response
+
+import com.pengrad.telegrambot.model.stars.StarAmount
+
+data class GetMyStarBalanceResponse(val result: StarAmount) : BaseResponse()
diff --git a/library/src/main/java/com/pengrad/telegrambot/response/SendChecklistResponse.kt b/library/src/main/java/com/pengrad/telegrambot/response/SendChecklistResponse.kt
new file mode 100644
index 00000000..7f66eb75
--- /dev/null
+++ b/library/src/main/java/com/pengrad/telegrambot/response/SendChecklistResponse.kt
@@ -0,0 +1,6 @@
+package com.pengrad.telegrambot.response
+
+import com.pengrad.telegrambot.model.Message
+
+
+data class SendChecklistResponse (val result: Message) : BaseResponse()
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 70627d4d..88f091c9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -9,7 +9,7 @@
4.0.0
com.github.pengrad
java-telegram-bot-api
- 9.0.0
+ 9.2.0
JavaTelegramBotApi
Java API for Telegram Bot API
https://github.com/pengrad/java-telegram-bot-api/