From 339b08ec8ff115c6000aa83046044bdf0796f73e Mon Sep 17 00:00:00 2001 From: Andrei Vitkouski Date: Thu, 21 Nov 2024 22:36:07 +0300 Subject: [PATCH] sendGift and getAvailableGifts API --- .../com/pengrad/telegrambot/model/Gift.java | 64 +++++++++++++++++++ .../com/pengrad/telegrambot/model/Gifts.java | 22 +++++++ .../request/GetAvailableGifts.java | 10 +++ .../pengrad/telegrambot/request/SendGift.java | 12 ++++ .../response/GetAvailableGiftsResponse.java | 21 ++++++ 5 files changed, 129 insertions(+) create mode 100644 library/src/main/java/com/pengrad/telegrambot/model/Gift.java create mode 100644 library/src/main/java/com/pengrad/telegrambot/model/Gifts.java create mode 100644 library/src/main/java/com/pengrad/telegrambot/request/GetAvailableGifts.java create mode 100644 library/src/main/java/com/pengrad/telegrambot/request/SendGift.java create mode 100644 library/src/main/java/com/pengrad/telegrambot/response/GetAvailableGiftsResponse.java diff --git a/library/src/main/java/com/pengrad/telegrambot/model/Gift.java b/library/src/main/java/com/pengrad/telegrambot/model/Gift.java new file mode 100644 index 00000000..e1282c87 --- /dev/null +++ b/library/src/main/java/com/pengrad/telegrambot/model/Gift.java @@ -0,0 +1,64 @@ +package com.pengrad.telegrambot.model; + +import java.io.Serializable; +import java.util.Objects; + +public class Gift implements Serializable { + private final static long serialVersionUID = 0L; + + private String id; + private Sticker sticker; + private Integer star_count; + private Integer total_count; + private Integer remaining_count; + + public String id() { + return id; + } + + public Sticker sticker() { + return sticker; + } + + public Integer starCount() { + return star_count; + } + + public Integer totalCount() { + return total_count; + } + + public Integer remainingCount() { + return remaining_count; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + Gift gift = (Gift) o; + return Objects.equals(id, gift.id) && Objects.equals(sticker, gift.sticker) && Objects.equals(star_count, gift.star_count) && Objects.equals(total_count, gift.total_count) && Objects.equals(remaining_count, gift.remaining_count); + } + + @Override + public int hashCode() { + int result = Objects.hashCode(id); + result = 31 * result + Objects.hashCode(sticker); + result = 31 * result + Objects.hashCode(star_count); + result = 31 * result + Objects.hashCode(total_count); + result = 31 * result + Objects.hashCode(remaining_count); + return result; + } + + @Override + public String toString() { + return "Gift{" + + "id='" + id + '\'' + + ", sticker=" + sticker + + ", star_count=" + star_count + + ", total_count=" + total_count + + ", remaining_count=" + remaining_count + + '}'; + } +} diff --git a/library/src/main/java/com/pengrad/telegrambot/model/Gifts.java b/library/src/main/java/com/pengrad/telegrambot/model/Gifts.java new file mode 100644 index 00000000..7f1b82a8 --- /dev/null +++ b/library/src/main/java/com/pengrad/telegrambot/model/Gifts.java @@ -0,0 +1,22 @@ +package com.pengrad.telegrambot.model; + +import java.io.Serializable; +import java.util.Arrays; +import java.util.Objects; + +public class Gifts implements Serializable { + private final static long serialVersionUID = 0L; + + private Gift[] gifts; + + public Gift[] gifts() { + return gifts; + } + + @Override + public String toString() { + return "GetAvailableGiftsResponse{" + + "gifts=" + Arrays.toString(gifts) + + '}'; + } +} diff --git a/library/src/main/java/com/pengrad/telegrambot/request/GetAvailableGifts.java b/library/src/main/java/com/pengrad/telegrambot/request/GetAvailableGifts.java new file mode 100644 index 00000000..f0b6fbcf --- /dev/null +++ b/library/src/main/java/com/pengrad/telegrambot/request/GetAvailableGifts.java @@ -0,0 +1,10 @@ +package com.pengrad.telegrambot.request; + +import com.pengrad.telegrambot.response.GetAvailableGiftsResponse; + +public class GetAvailableGifts extends BaseRequest { + public GetAvailableGifts(Object chatId) { + super(GetAvailableGiftsResponse.class); + add("chat_id", chatId); + } +} diff --git a/library/src/main/java/com/pengrad/telegrambot/request/SendGift.java b/library/src/main/java/com/pengrad/telegrambot/request/SendGift.java new file mode 100644 index 00000000..179b2e39 --- /dev/null +++ b/library/src/main/java/com/pengrad/telegrambot/request/SendGift.java @@ -0,0 +1,12 @@ +package com.pengrad.telegrambot.request; + +import com.pengrad.telegrambot.response.BaseResponse; + +public class SendGift extends AbstractSendRequest { + public SendGift(Long userId, String giftId) { + super(BaseResponse.class); + add("user_id", userId); + add("gift_id", giftId); + } +} + diff --git a/library/src/main/java/com/pengrad/telegrambot/response/GetAvailableGiftsResponse.java b/library/src/main/java/com/pengrad/telegrambot/response/GetAvailableGiftsResponse.java new file mode 100644 index 00000000..17d899f3 --- /dev/null +++ b/library/src/main/java/com/pengrad/telegrambot/response/GetAvailableGiftsResponse.java @@ -0,0 +1,21 @@ +package com.pengrad.telegrambot.response; + +import com.pengrad.telegrambot.model.Gift; +import com.pengrad.telegrambot.model.Gifts; + +import java.util.Arrays; + +public class GetAvailableGiftsResponse extends BaseResponse { + private Gifts result; + + public Gifts gifts() { + return result; + } + + @Override + public String toString() { + return "GetAvailableGiftsResponse{" + + "result=" + result + + '}'; + } +}