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 64d22f49..ed27518e 100644 --- a/library/src/main/java/com/pengrad/telegrambot/model/ChatMember.java +++ b/library/src/main/java/com/pengrad/telegrambot/model/ChatMember.java @@ -92,6 +92,7 @@ public Boolean canDeleteMessages() { /** * @deprecated Use canManageVideoChats() instead */ + @Deprecated public Boolean canManageVoiceChats() { return canManageVideoChats(); } diff --git a/library/src/main/java/com/pengrad/telegrambot/model/business/BusinessConnection.java b/library/src/main/java/com/pengrad/telegrambot/model/business/BusinessConnection.java index b2a6aa81..94fe9e11 100644 --- a/library/src/main/java/com/pengrad/telegrambot/model/business/BusinessConnection.java +++ b/library/src/main/java/com/pengrad/telegrambot/model/business/BusinessConnection.java @@ -8,7 +8,7 @@ public class BusinessConnection { private String id; private User user; - private Integer user_chat_id; + private Long user_chat_id; private Integer date; private Boolean can_reply; private Boolean is_enabled; @@ -21,7 +21,7 @@ public User user() { return user; } - public Integer userChatId() { + public Long userChatId() { return user_chat_id; } diff --git a/library/src/main/java/com/pengrad/telegrambot/model/message/origin/MessageOrigin.java b/library/src/main/java/com/pengrad/telegrambot/model/message/origin/MessageOrigin.java index 443aabaf..a5c9f253 100644 --- a/library/src/main/java/com/pengrad/telegrambot/model/message/origin/MessageOrigin.java +++ b/library/src/main/java/com/pengrad/telegrambot/model/message/origin/MessageOrigin.java @@ -9,6 +9,10 @@ public class MessageOrigin implements Serializable { protected String type; protected Integer date; + public MessageOrigin(String type) { + this.type = type; + } + public String type() { return type; } diff --git a/library/src/main/java/com/pengrad/telegrambot/model/message/origin/MessageOriginChannel.java b/library/src/main/java/com/pengrad/telegrambot/model/message/origin/MessageOriginChannel.java index 8a08b6b6..0e7cf3e4 100644 --- a/library/src/main/java/com/pengrad/telegrambot/model/message/origin/MessageOriginChannel.java +++ b/library/src/main/java/com/pengrad/telegrambot/model/message/origin/MessageOriginChannel.java @@ -13,6 +13,10 @@ public class MessageOriginChannel extends MessageOrigin { private String author_signature; + public MessageOriginChannel() { + super(MESSAGE_ORIGIN_TYPE); + } + public Chat chat() { return chat; } diff --git a/library/src/main/java/com/pengrad/telegrambot/model/message/origin/MessageOriginChat.java b/library/src/main/java/com/pengrad/telegrambot/model/message/origin/MessageOriginChat.java index 63acfe6d..56c89b19 100644 --- a/library/src/main/java/com/pengrad/telegrambot/model/message/origin/MessageOriginChat.java +++ b/library/src/main/java/com/pengrad/telegrambot/model/message/origin/MessageOriginChat.java @@ -11,6 +11,9 @@ public class MessageOriginChat extends MessageOrigin { private Chat sender_chat; private String author_signature; + public MessageOriginChat() { + super(MESSAGE_ORIGIN_TYPE); + } public Chat senderChat() { return sender_chat; } diff --git a/library/src/main/java/com/pengrad/telegrambot/model/message/origin/MessageOriginHiddenUser.java b/library/src/main/java/com/pengrad/telegrambot/model/message/origin/MessageOriginHiddenUser.java index 3f205edb..a91f98f7 100644 --- a/library/src/main/java/com/pengrad/telegrambot/model/message/origin/MessageOriginHiddenUser.java +++ b/library/src/main/java/com/pengrad/telegrambot/model/message/origin/MessageOriginHiddenUser.java @@ -8,6 +8,10 @@ public class MessageOriginHiddenUser extends MessageOrigin { private String sender_user_name; + public MessageOriginHiddenUser() { + super(MESSAGE_ORIGIN_TYPE); + } + public String senderUserName() { return sender_user_name; } diff --git a/library/src/main/java/com/pengrad/telegrambot/model/message/origin/MessageOriginUser.java b/library/src/main/java/com/pengrad/telegrambot/model/message/origin/MessageOriginUser.java index 8f7f7462..23285773 100644 --- a/library/src/main/java/com/pengrad/telegrambot/model/message/origin/MessageOriginUser.java +++ b/library/src/main/java/com/pengrad/telegrambot/model/message/origin/MessageOriginUser.java @@ -10,6 +10,9 @@ public class MessageOriginUser extends MessageOrigin { private User sender_user; + public MessageOriginUser() { + super(MESSAGE_ORIGIN_TYPE); + } public User senderUser() { return sender_user; } diff --git a/library/src/main/java/com/pengrad/telegrambot/model/request/InputInvoiceMessageContent.java b/library/src/main/java/com/pengrad/telegrambot/model/request/InputInvoiceMessageContent.java index 9a4cc91b..e54801cf 100644 --- a/library/src/main/java/com/pengrad/telegrambot/model/request/InputInvoiceMessageContent.java +++ b/library/src/main/java/com/pengrad/telegrambot/model/request/InputInvoiceMessageContent.java @@ -47,6 +47,7 @@ public InputInvoiceMessageContent(String title, String description, String paylo * Backward compatibility: API 7.4, parameter "provider_token" became optional * @deprecated Use constrcutor without 'provider_token' instead */ + @Deprecated public InputInvoiceMessageContent(String title, String description, String payload, String providerToken, String currency, LabeledPrice[] prices) { this.title = title; this.description = description; diff --git a/library/src/main/java/com/pengrad/telegrambot/model/stars/StarTransaction.java b/library/src/main/java/com/pengrad/telegrambot/model/stars/StarTransaction.java new file mode 100644 index 00000000..e018e3c2 --- /dev/null +++ b/library/src/main/java/com/pengrad/telegrambot/model/stars/StarTransaction.java @@ -0,0 +1,70 @@ +package com.pengrad.telegrambot.model.stars; + +import com.pengrad.telegrambot.model.stars.partner.TransactionPartner; + +import java.io.Serializable; +import java.util.Objects; + +public class StarTransaction implements Serializable { + + private final static long serialVersionUID = 0L; + + private String id; + private Integer amount; + private Integer date; + + private TransactionPartner source; + + private TransactionPartner receiver; + + + public String id() { + return id; + } + + public Integer amount() { + return amount; + } + + public Integer date() { + return date; + } + + public TransactionPartner source() { + return source; + } + + public TransactionPartner receiver() { + return receiver; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + StarTransaction that = (StarTransaction) o; + return Objects.equals(id, that.id) && + Objects.equals(amount, that.amount) && + Objects.equals(date, that.date) && + Objects.equals(source, that.source) && + Objects.equals(receiver, that.receiver); + } + + @Override + public int hashCode() { + return Objects.hash(id, amount, date, source, receiver); + } + + @Override + public String toString() { + return "StarTransaction{" + + "id='" + id + "'," + + "amount='" + amount + "'," + + "date='" + date + "'," + + "source='" + source + "'," + + "receiver='" + receiver + "'" + + '}'; + } + +} diff --git a/library/src/main/java/com/pengrad/telegrambot/model/stars/StarTransactions.java b/library/src/main/java/com/pengrad/telegrambot/model/stars/StarTransactions.java new file mode 100644 index 00000000..5f46eed7 --- /dev/null +++ b/library/src/main/java/com/pengrad/telegrambot/model/stars/StarTransactions.java @@ -0,0 +1,38 @@ +package com.pengrad.telegrambot.model.stars; + +import java.io.Serializable; +import java.util.Arrays; +import java.util.Objects; + +public class StarTransactions implements Serializable { + + private final static long serialVersionUID = 0L; + + private StarTransaction[] transactions; + + public StarTransaction[] transactions() { + return transactions; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + StarTransactions that = (StarTransactions) o; + return Arrays.equals(transactions, that.transactions); + } + + @Override + public int hashCode() { + return Arrays.hashCode(transactions); + } + + @Override + public String toString() { + return "StarTransactions{" + + "transactions='" + Arrays.toString(transactions) + "'" + + '}'; + } + +} diff --git a/library/src/main/java/com/pengrad/telegrambot/model/stars/partner/TransactionPartner.java b/library/src/main/java/com/pengrad/telegrambot/model/stars/partner/TransactionPartner.java new file mode 100644 index 00000000..b7628461 --- /dev/null +++ b/library/src/main/java/com/pengrad/telegrambot/model/stars/partner/TransactionPartner.java @@ -0,0 +1,41 @@ +package com.pengrad.telegrambot.model.stars.partner; + +import java.io.Serializable; +import java.util.Objects; + +public abstract class TransactionPartner implements Serializable { + + private final static long serialVersionUID = 0L; + + private String type; + + public TransactionPartner(String type) { + this.type = type; + } + + public String type() { + return type; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + TransactionPartner that = (TransactionPartner) o; + return Objects.equals(type, that.type); + } + + @Override + public int hashCode() { + return Objects.hash(type); + } + + @Override + public String toString() { + return "TransactionPartner{" + + "type='" + type + "'" + + '}'; + } + +} diff --git a/library/src/main/java/com/pengrad/telegrambot/model/stars/partner/TransactionPartnerFragment.java b/library/src/main/java/com/pengrad/telegrambot/model/stars/partner/TransactionPartnerFragment.java new file mode 100644 index 00000000..ca958d00 --- /dev/null +++ b/library/src/main/java/com/pengrad/telegrambot/model/stars/partner/TransactionPartnerFragment.java @@ -0,0 +1,43 @@ +package com.pengrad.telegrambot.model.stars.partner; + +import com.pengrad.telegrambot.model.stars.withdrawal.RevenueWithdrawalState; + +import java.util.Objects; + +public class TransactionPartnerFragment extends TransactionPartner { + + public final static String TYPE = "fragment"; + + private RevenueWithdrawalState withdrawal_state; + + public TransactionPartnerFragment() { + super(TYPE); + } + + public RevenueWithdrawalState withdrawalState() { + return withdrawal_state; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + TransactionPartnerFragment that = (TransactionPartnerFragment) o; + return Objects.equals(type(), that.type()) && + Objects.equals(withdrawal_state, that.withdrawal_state); + } + + @Override + public int hashCode() { + return Objects.hash(type(), withdrawal_state); + } + + @Override + public String toString() { + return "TransactionPartnerFragment{" + + "type='" + type() + "\'," + + ", withdrawal_state=" + withdrawal_state + "\'" + + '}'; + } + +} diff --git a/library/src/main/java/com/pengrad/telegrambot/model/stars/partner/TransactionPartnerOther.java b/library/src/main/java/com/pengrad/telegrambot/model/stars/partner/TransactionPartnerOther.java new file mode 100644 index 00000000..3a2e7d37 --- /dev/null +++ b/library/src/main/java/com/pengrad/telegrambot/model/stars/partner/TransactionPartnerOther.java @@ -0,0 +1,34 @@ +package com.pengrad.telegrambot.model.stars.partner; + +import java.util.Objects; + +public class TransactionPartnerOther extends TransactionPartner { + + public final static String TYPE = "other"; + + public TransactionPartnerOther() { + super(TYPE); + } + + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + TransactionPartnerOther that = (TransactionPartnerOther) o; + return Objects.equals(type(), that.type()); + } + + @Override + public int hashCode() { + return Objects.hash(type()); + } + + @Override + public String toString() { + return "TransactionPartnerOther{" + + "type='" + type() + "\'" + + '}'; + } + +} diff --git a/library/src/main/java/com/pengrad/telegrambot/model/stars/partner/TransactionPartnerTelegramAds.java b/library/src/main/java/com/pengrad/telegrambot/model/stars/partner/TransactionPartnerTelegramAds.java new file mode 100644 index 00000000..d0eff45e --- /dev/null +++ b/library/src/main/java/com/pengrad/telegrambot/model/stars/partner/TransactionPartnerTelegramAds.java @@ -0,0 +1,34 @@ +package com.pengrad.telegrambot.model.stars.partner; + +import java.util.Objects; + +public class TransactionPartnerTelegramAds extends TransactionPartner { + + public final static String TYPE = "telegram_ads"; + + public TransactionPartnerTelegramAds() { + super(TYPE); + } + + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + TransactionPartnerTelegramAds that = (TransactionPartnerTelegramAds) o; + return Objects.equals(type(), that.type()); + } + + @Override + public int hashCode() { + return Objects.hash(type()); + } + + @Override + public String toString() { + return "TransactionPartnerTelegramAds{" + + "type='" + type() + "\'" + + '}'; + } + +} diff --git a/library/src/main/java/com/pengrad/telegrambot/model/stars/partner/TransactionPartnerUser.java b/library/src/main/java/com/pengrad/telegrambot/model/stars/partner/TransactionPartnerUser.java new file mode 100644 index 00000000..86b931e6 --- /dev/null +++ b/library/src/main/java/com/pengrad/telegrambot/model/stars/partner/TransactionPartnerUser.java @@ -0,0 +1,52 @@ +package com.pengrad.telegrambot.model.stars.partner; + +import com.pengrad.telegrambot.model.User; +import com.pengrad.telegrambot.model.chatbackground.BackgroundFillFreeformGradient; + +import java.util.Arrays; +import java.util.Objects; + +public class TransactionPartnerUser extends TransactionPartner { + + public final static String TYPE = "user"; + + private User user; + private String invoice_payload; + + public TransactionPartnerUser() { + super(TYPE); + } + + public User user() { + return user; + } + + public String invoicePayload() { + return invoice_payload; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + TransactionPartnerUser that = (TransactionPartnerUser) o; + return Objects.equals(type(), that.type()) && + Objects.equals(user, that.user) && + Objects.equals(invoice_payload, that.invoice_payload); + } + + @Override + public int hashCode() { + return Objects.hash(type(), user, invoice_payload); + } + + @Override + public String toString() { + return "TransactionPartnerUser{" + + "type='" + type() + "\'," + + ", user=" + user + "\'," + + ", invoice_payload=" + invoice_payload + "\'" + + '}'; + } + +} diff --git a/library/src/main/java/com/pengrad/telegrambot/model/stars/withdrawal/RevenueWithdrawalState.java b/library/src/main/java/com/pengrad/telegrambot/model/stars/withdrawal/RevenueWithdrawalState.java new file mode 100644 index 00000000..09e0ee71 --- /dev/null +++ b/library/src/main/java/com/pengrad/telegrambot/model/stars/withdrawal/RevenueWithdrawalState.java @@ -0,0 +1,43 @@ +package com.pengrad.telegrambot.model.stars.withdrawal; + +import com.pengrad.telegrambot.model.chatbackground.BackgroundFill; + +import java.io.Serializable; +import java.util.Objects; + +public abstract class RevenueWithdrawalState implements Serializable { + + private final static long serialVersionUID = 0L; + + private String type = "unknown"; + + protected RevenueWithdrawalState(String type) { + this.type = type; + } + + public String type() { + return type; + } + + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + RevenueWithdrawalState that = (RevenueWithdrawalState) o; + return Objects.equals(type, that.type); + } + + @Override + public int hashCode() { + return Objects.hash(type); + } + + @Override + public String toString() { + return "RevenueWithdrawalState{" + + "type='" + type + '\'' + + '}'; + } + +} diff --git a/library/src/main/java/com/pengrad/telegrambot/model/stars/withdrawal/RevenueWithdrawalStateFailed.java b/library/src/main/java/com/pengrad/telegrambot/model/stars/withdrawal/RevenueWithdrawalStateFailed.java new file mode 100644 index 00000000..561f4dfc --- /dev/null +++ b/library/src/main/java/com/pengrad/telegrambot/model/stars/withdrawal/RevenueWithdrawalStateFailed.java @@ -0,0 +1,19 @@ +package com.pengrad.telegrambot.model.stars.withdrawal; + +public class RevenueWithdrawalStateFailed extends RevenueWithdrawalState { + + public static final String TYPE = "failed"; + + + public RevenueWithdrawalStateFailed() { + super(TYPE); + } + + @Override + public String toString() { + return "RevenueWithdrawalStateFailed{" + + "type='" + type() + '\'' + + '}'; + } + +} diff --git a/library/src/main/java/com/pengrad/telegrambot/model/stars/withdrawal/RevenueWithdrawalStatePending.java b/library/src/main/java/com/pengrad/telegrambot/model/stars/withdrawal/RevenueWithdrawalStatePending.java new file mode 100644 index 00000000..a6017dec --- /dev/null +++ b/library/src/main/java/com/pengrad/telegrambot/model/stars/withdrawal/RevenueWithdrawalStatePending.java @@ -0,0 +1,19 @@ +package com.pengrad.telegrambot.model.stars.withdrawal; + +public class RevenueWithdrawalStatePending extends RevenueWithdrawalState { + + public static final String TYPE = "pending"; + + + public RevenueWithdrawalStatePending() { + super(TYPE); + } + + @Override + public String toString() { + return "RevenueWithdrawalStatePending{" + + "type='" + type() + '\'' + + '}'; + } + +} diff --git a/library/src/main/java/com/pengrad/telegrambot/model/stars/withdrawal/RevenueWithdrawalStateSucceeded.java b/library/src/main/java/com/pengrad/telegrambot/model/stars/withdrawal/RevenueWithdrawalStateSucceeded.java new file mode 100644 index 00000000..8ecef7bb --- /dev/null +++ b/library/src/main/java/com/pengrad/telegrambot/model/stars/withdrawal/RevenueWithdrawalStateSucceeded.java @@ -0,0 +1,48 @@ +package com.pengrad.telegrambot.model.stars.withdrawal; + +import java.util.Objects; + +public class RevenueWithdrawalStateSucceeded extends RevenueWithdrawalState { + + public static final String TYPE = "succeeded"; + + private Integer date; + private String url; + + public RevenueWithdrawalStateSucceeded() { + super(TYPE); + } + + public Integer date() { + return date; + } + + public String url() { + return url; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + RevenueWithdrawalStateSucceeded that = (RevenueWithdrawalStateSucceeded) o; + return Objects.equals(type(), that.type()) && + Objects.equals(date, that.date) && + Objects.equals(url, that.url); + } + + @Override + public int hashCode() { + return Objects.hash(type(), date, url); + } + + @Override + public String toString() { + return "RevenueWithdrawalStateSucceeded{" + + "type='" + type() + "\'," + + "date='" + date + "\'," + + "url='" + url + "\'" + + '}'; + } + +} diff --git a/library/src/main/java/com/pengrad/telegrambot/request/CreateInvoiceLink.java b/library/src/main/java/com/pengrad/telegrambot/request/CreateInvoiceLink.java index 08d6451f..5661a63d 100644 --- a/library/src/main/java/com/pengrad/telegrambot/request/CreateInvoiceLink.java +++ b/library/src/main/java/com/pengrad/telegrambot/request/CreateInvoiceLink.java @@ -20,6 +20,7 @@ public CreateInvoiceLink(String title, String description, String payload, Strin * Backward compatibility: API 7.4, parameter "provider_token" became optional * @deprecated Use constrcutor without 'provider_token' instead */ + @Deprecated public CreateInvoiceLink(String title, String description, String payload, String providerToken, String currency, LabeledPrice... prices) { super(StringResponse.class); diff --git a/library/src/main/java/com/pengrad/telegrambot/request/EditMessageCaption.java b/library/src/main/java/com/pengrad/telegrambot/request/EditMessageCaption.java index 199f8c7d..a01739d9 100644 --- a/library/src/main/java/com/pengrad/telegrambot/request/EditMessageCaption.java +++ b/library/src/main/java/com/pengrad/telegrambot/request/EditMessageCaption.java @@ -41,5 +41,8 @@ public EditMessageCaption replyMarkup(InlineKeyboardMarkup replyMarkup) { public EditMessageCaption showCaptionAboveMedia(Boolean showCaptionAboveMedia) { return add("show_caption_above_media", showCaptionAboveMedia); } + public EditMessageCaption businessConnectionId(String businessConnectionId) { + return add("business_connection_id", businessConnectionId); + } } diff --git a/library/src/main/java/com/pengrad/telegrambot/request/EditMessageLiveLocation.java b/library/src/main/java/com/pengrad/telegrambot/request/EditMessageLiveLocation.java index 35cd00f3..00700665 100644 --- a/library/src/main/java/com/pengrad/telegrambot/request/EditMessageLiveLocation.java +++ b/library/src/main/java/com/pengrad/telegrambot/request/EditMessageLiveLocation.java @@ -40,5 +40,8 @@ public EditMessageLiveLocation livePeriod(int livePeriod) { return add("live_period", livePeriod); } + public EditMessageLiveLocation businessConnectionId(String businessConnectionId) { + return add("business_connection_id", businessConnectionId); + } } diff --git a/library/src/main/java/com/pengrad/telegrambot/request/EditMessageMedia.java b/library/src/main/java/com/pengrad/telegrambot/request/EditMessageMedia.java index 3794733f..9bd0f91e 100644 --- a/library/src/main/java/com/pengrad/telegrambot/request/EditMessageMedia.java +++ b/library/src/main/java/com/pengrad/telegrambot/request/EditMessageMedia.java @@ -46,6 +46,10 @@ public EditMessageMedia replyMarkup(InlineKeyboardMarkup replyMarkup) { return add("reply_markup", replyMarkup); } + public EditMessageMedia businessConnectionId(String businessConnectionId) { + return add("business_connection_id", businessConnectionId); + } + @Override public boolean isMultipart() { return isMultipart; diff --git a/library/src/main/java/com/pengrad/telegrambot/request/EditMessageReplyMarkup.java b/library/src/main/java/com/pengrad/telegrambot/request/EditMessageReplyMarkup.java index cab32cfb..3ac338ef 100644 --- a/library/src/main/java/com/pengrad/telegrambot/request/EditMessageReplyMarkup.java +++ b/library/src/main/java/com/pengrad/telegrambot/request/EditMessageReplyMarkup.java @@ -24,4 +24,8 @@ public EditMessageReplyMarkup replyMarkup(InlineKeyboardMarkup replyMarkup) { return add("reply_markup", replyMarkup); } + public EditMessageReplyMarkup businessConnectionId(String businessConnectionId) { + return add("business_connection_id", businessConnectionId); + } + } diff --git a/library/src/main/java/com/pengrad/telegrambot/request/EditMessageText.java b/library/src/main/java/com/pengrad/telegrambot/request/EditMessageText.java index 977210b2..fe3535d7 100644 --- a/library/src/main/java/com/pengrad/telegrambot/request/EditMessageText.java +++ b/library/src/main/java/com/pengrad/telegrambot/request/EditMessageText.java @@ -46,4 +46,8 @@ public EditMessageText replyMarkup(InlineKeyboardMarkup replyMarkup) { return add("reply_markup", replyMarkup); } + public EditMessageText businessConnectionId(String businessConnectionId) { + return add("business_connection_id", businessConnectionId); + } + } diff --git a/library/src/main/java/com/pengrad/telegrambot/request/GetStarTransactions.java b/library/src/main/java/com/pengrad/telegrambot/request/GetStarTransactions.java new file mode 100644 index 00000000..b5951c8a --- /dev/null +++ b/library/src/main/java/com/pengrad/telegrambot/request/GetStarTransactions.java @@ -0,0 +1,25 @@ +package com.pengrad.telegrambot.request; + +import com.pengrad.telegrambot.response.GetStarTransactionsResponse; + +/** + * Stas Parshin + * 28 May 2016 + */ +public class GetStarTransactions extends BaseRequest { + + public GetStarTransactions() { + super(GetStarTransactionsResponse.class); + } + + public GetStarTransactions offset(Integer offset) { + add("offset", offset); + return this; + } + + public GetStarTransactions limit(Integer limit) { + add("limit", limit); + return this; + } + +} diff --git a/library/src/main/java/com/pengrad/telegrambot/request/GetUserChatBoosts.java b/library/src/main/java/com/pengrad/telegrambot/request/GetUserChatBoosts.java index ef80de77..ec370525 100644 --- a/library/src/main/java/com/pengrad/telegrambot/request/GetUserChatBoosts.java +++ b/library/src/main/java/com/pengrad/telegrambot/request/GetUserChatBoosts.java @@ -4,7 +4,7 @@ public class GetUserChatBoosts extends BaseRequest { - public GetUserChatBoosts(Object chatId, Integer userId) { + public GetUserChatBoosts(Object chatId, Long userId) { super(UserChatBoostsResponse.class); add("chat_id", chatId).add("user_id", userId); } 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 32f9239c..cee64d26 100644 --- a/library/src/main/java/com/pengrad/telegrambot/request/PromoteChatMember.java +++ b/library/src/main/java/com/pengrad/telegrambot/request/PromoteChatMember.java @@ -52,6 +52,7 @@ public PromoteChatMember canDeleteStories(boolean canDeleteStories) { /** * @deprecated Use canManageVideoChats(boolean canManageVideoChats) instead */ + @Deprecated public PromoteChatMember canManageVoiceChats(boolean canManageVoiceChats) { return add("can_manage_video_chats", canManageVoiceChats); } diff --git a/library/src/main/java/com/pengrad/telegrambot/request/StopMessageLiveLocation.java b/library/src/main/java/com/pengrad/telegrambot/request/StopMessageLiveLocation.java index 9869471e..ab89466b 100644 --- a/library/src/main/java/com/pengrad/telegrambot/request/StopMessageLiveLocation.java +++ b/library/src/main/java/com/pengrad/telegrambot/request/StopMessageLiveLocation.java @@ -23,4 +23,8 @@ public StopMessageLiveLocation(String inlineMessageId) { public StopMessageLiveLocation replyMarkup(InlineKeyboardMarkup replyMarkup) { return add("reply_markup", replyMarkup); } + + public StopMessageLiveLocation businessConnectionId(String businessConnectionId) { + return add("business_connection_id", businessConnectionId); + } } diff --git a/library/src/main/java/com/pengrad/telegrambot/request/StopPoll.java b/library/src/main/java/com/pengrad/telegrambot/request/StopPoll.java index 2a19e356..53ffe9df 100644 --- a/library/src/main/java/com/pengrad/telegrambot/request/StopPoll.java +++ b/library/src/main/java/com/pengrad/telegrambot/request/StopPoll.java @@ -17,4 +17,8 @@ public StopPoll(Object chatId, int messageId) { public StopPoll replyMarkup(Keyboard replyMarkup) { return add("reply_markup", replyMarkup); } + + public StopPoll businessConnectionId(String businessConnectionId) { + return add("business_connection_id", businessConnectionId); + } } diff --git a/library/src/main/java/com/pengrad/telegrambot/response/GetStarTransactionsResponse.java b/library/src/main/java/com/pengrad/telegrambot/response/GetStarTransactionsResponse.java new file mode 100644 index 00000000..7ae1a282 --- /dev/null +++ b/library/src/main/java/com/pengrad/telegrambot/response/GetStarTransactionsResponse.java @@ -0,0 +1,21 @@ +package com.pengrad.telegrambot.response; + +import com.pengrad.telegrambot.model.stars.StarTransactions; + +import java.util.Objects; + +public class GetStarTransactionsResponse extends BaseResponse { + + private StarTransactions result; + + public StarTransactions result() { + return result; + } + + @Override + public String toString() { + return "GetStarTransactionsResponse{" + + "result=" + Objects.toString(result) + + '}'; + } +} diff --git a/library/src/main/java/com/pengrad/telegrambot/utility/BotUtils.java b/library/src/main/java/com/pengrad/telegrambot/utility/BotUtils.java index 3d001a39..72ffd45f 100644 --- a/library/src/main/java/com/pengrad/telegrambot/utility/BotUtils.java +++ b/library/src/main/java/com/pengrad/telegrambot/utility/BotUtils.java @@ -10,12 +10,9 @@ import com.pengrad.telegrambot.model.message.MaybeInaccessibleMessage; import com.pengrad.telegrambot.model.message.origin.MessageOrigin; import com.pengrad.telegrambot.model.reaction.ReactionType; -import com.pengrad.telegrambot.utility.gson.BackgroundFillAdapter; -import com.pengrad.telegrambot.utility.gson.BackgroundTypeAdapter; -import com.pengrad.telegrambot.utility.gson.ChatBoostSourceTypeAdapter; -import com.pengrad.telegrambot.utility.gson.MaybeInaccessibleMessageTypeAdapter; -import com.pengrad.telegrambot.utility.gson.MessageOriginTypeAdapter; -import com.pengrad.telegrambot.utility.gson.ReactionTypeAdapter; +import com.pengrad.telegrambot.model.stars.partner.TransactionPartner; +import com.pengrad.telegrambot.model.stars.withdrawal.RevenueWithdrawalState; +import com.pengrad.telegrambot.utility.gson.*; import java.io.ByteArrayOutputStream; import java.io.IOException; @@ -37,6 +34,8 @@ private BotUtils() {} .registerTypeAdapter(MaybeInaccessibleMessage.class, new MaybeInaccessibleMessageTypeAdapter()) .registerTypeAdapter(BackgroundType.class, new BackgroundTypeAdapter()) .registerTypeAdapter(BackgroundFill.class, new BackgroundFillAdapter()) + .registerTypeAdapter(RevenueWithdrawalState.class, new RevenueWithdrawalStateTypeAdapter()) + .registerTypeAdapter(TransactionPartner.class, new TransactionPartnerTypeAdapter()) .setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES) .create(); diff --git a/library/src/main/java/com/pengrad/telegrambot/utility/gson/RevenueWithdrawalStateTypeAdapter.java b/library/src/main/java/com/pengrad/telegrambot/utility/gson/RevenueWithdrawalStateTypeAdapter.java new file mode 100644 index 00000000..a5376fad --- /dev/null +++ b/library/src/main/java/com/pengrad/telegrambot/utility/gson/RevenueWithdrawalStateTypeAdapter.java @@ -0,0 +1,28 @@ +package com.pengrad.telegrambot.utility.gson; + +import com.google.gson.*; +import com.pengrad.telegrambot.model.stars.withdrawal.RevenueWithdrawalState; +import com.pengrad.telegrambot.model.stars.withdrawal.RevenueWithdrawalStateFailed; +import com.pengrad.telegrambot.model.stars.withdrawal.RevenueWithdrawalStatePending; +import com.pengrad.telegrambot.model.stars.withdrawal.RevenueWithdrawalStateSucceeded; + +import java.lang.reflect.Type; + +public class RevenueWithdrawalStateTypeAdapter implements JsonDeserializer { + + @Override + public RevenueWithdrawalState deserialize(JsonElement element, Type type, JsonDeserializationContext context) throws JsonParseException { + JsonObject object = element.getAsJsonObject(); + String discriminator = object.getAsJsonPrimitive("type").getAsString(); + + if (RevenueWithdrawalStatePending.TYPE.equals(discriminator)) { + return context.deserialize(object, RevenueWithdrawalStatePending.class); + } else if (RevenueWithdrawalStateSucceeded.TYPE.equals(discriminator)) { + return context.deserialize(object, RevenueWithdrawalStateSucceeded.class); + } else if (RevenueWithdrawalStateFailed.TYPE.equals(discriminator)) { + return context.deserialize(object, RevenueWithdrawalStateFailed.class); + } + + return context.deserialize(object, RevenueWithdrawalState.class); + } +} diff --git a/library/src/main/java/com/pengrad/telegrambot/utility/gson/TransactionPartnerTypeAdapter.java b/library/src/main/java/com/pengrad/telegrambot/utility/gson/TransactionPartnerTypeAdapter.java new file mode 100644 index 00000000..75bd171b --- /dev/null +++ b/library/src/main/java/com/pengrad/telegrambot/utility/gson/TransactionPartnerTypeAdapter.java @@ -0,0 +1,31 @@ +package com.pengrad.telegrambot.utility.gson; + +import com.google.gson.*; +import com.pengrad.telegrambot.model.stars.partner.*; +import com.pengrad.telegrambot.model.stars.withdrawal.RevenueWithdrawalState; +import com.pengrad.telegrambot.model.stars.withdrawal.RevenueWithdrawalStateFailed; +import com.pengrad.telegrambot.model.stars.withdrawal.RevenueWithdrawalStatePending; +import com.pengrad.telegrambot.model.stars.withdrawal.RevenueWithdrawalStateSucceeded; + +import java.lang.reflect.Type; + +public class TransactionPartnerTypeAdapter implements JsonDeserializer { + + @Override + public TransactionPartner deserialize(JsonElement element, Type type, JsonDeserializationContext context) throws JsonParseException { + JsonObject object = element.getAsJsonObject(); + String discriminator = object.getAsJsonPrimitive("type").getAsString(); + + if (TransactionPartnerUser.TYPE.equals(discriminator)) { + return context.deserialize(object, TransactionPartnerUser.class); + } else if (TransactionPartnerFragment.TYPE.equals(discriminator)) { + return context.deserialize(object, TransactionPartnerFragment.class); + } else if (TransactionPartnerTelegramAds.TYPE.equals(discriminator)) { + return context.deserialize(object, TransactionPartnerTelegramAds.class); + } else if (TransactionPartnerOther.TYPE.equals(discriminator)) { + return context.deserialize(object, TransactionPartnerOther.class); + } + + return context.deserialize(object, TransactionPartner.class); + } +} diff --git a/library/src/test/java/com/pengrad/telegrambot/TelegramBotTest.java b/library/src/test/java/com/pengrad/telegrambot/TelegramBotTest.java index dce86e3b..24e007c4 100644 --- a/library/src/test/java/com/pengrad/telegrambot/TelegramBotTest.java +++ b/library/src/test/java/com/pengrad/telegrambot/TelegramBotTest.java @@ -1220,7 +1220,7 @@ public void setMessageReaction() { @Test public void getUserChatBoosts() { - ChatBoost[] chatBoosts = bot.execute(new GetUserChatBoosts(channelId, chatId.intValue())).boosts(); + ChatBoost[] chatBoosts = bot.execute(new GetUserChatBoosts(channelId, chatId.longValue())).boosts(); assertEquals(chatBoosts.length, 0); }