From 8dc36cafe886351afdab2253b6bb10eafdcfa5e8 Mon Sep 17 00:00:00 2001 From: Mirco Ianese Date: Tue, 19 Aug 2025 17:56:53 +0200 Subject: [PATCH 01/35] Fix typo --- .../src/main/java/com/pengrad/telegrambot/model/Video.kt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) 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 From b4d07327971e9daf78db19c645a7a377782c8000 Mon Sep 17 00:00:00 2001 From: Mirco Ianese Date: Tue, 19 Aug 2025 18:09:37 +0200 Subject: [PATCH 02/35] Added the class ChecklistTask representing a task in a checklist. --- .../model/checklist/ChecklistTask.kt | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 library/src/main/java/com/pengrad/telegrambot/model/checklist/ChecklistTask.kt 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..21b1e9b3 --- /dev/null +++ b/library/src/main/java/com/pengrad/telegrambot/model/checklist/ChecklistTask.kt @@ -0,0 +1,37 @@ +package com.pengrad.telegrambot.model.checklist + +import com.pengrad.telegrambot.model.MessageEntity +import com.pengrad.telegrambot.model.User +import com.pengrad.telegrambot.model.gift.GiftInfo + +data class ChecklistTask( + + @get:JvmName("id") val id: Int, + @get:JvmName("text") val text: String, + @get:JvmName("textEntities") var 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 From 3ff0c2d02d29a87f2bea5f035f34d35fe184f5d6 Mon Sep 17 00:00:00 2001 From: Mirco Ianese Date: Tue, 19 Aug 2025 18:10:12 +0200 Subject: [PATCH 03/35] Added the class Checklist representing a checklist. --- .../telegrambot/model/checklist/Checklist.kt | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 library/src/main/java/com/pengrad/telegrambot/model/checklist/Checklist.kt 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..a05eb40f --- /dev/null +++ b/library/src/main/java/com/pengrad/telegrambot/model/checklist/Checklist.kt @@ -0,0 +1,36 @@ +package com.pengrad.telegrambot.model.checklist + +import com.pengrad.telegrambot.model.MessageEntity +import com.pengrad.telegrambot.model.User +import com.pengrad.telegrambot.model.gift.GiftInfo + +data class Checklist( + + @get:JvmName("title") val title: String, + @get:JvmName("titleEntities") var titleEntities: Array?, + @get:JvmName("tasks") val tasks: Array, + @get:JvmName("othersCanAddTasks") val othersCanAddTasks: Boolean?, + @get:JvmName("othersCanAddTasks") 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 From 3a5970cea1ab1c24f87531ca8b2c5acc1081c0e8 Mon Sep 17 00:00:00 2001 From: Mirco Ianese Date: Tue, 19 Aug 2025 18:21:39 +0200 Subject: [PATCH 04/35] Added the class InputChecklistTask representing a task to add to a checklist. --- .../telegrambot/model/checklist/Checklist.kt | 2 +- .../model/checklist/ChecklistTask.kt | 2 +- .../model/checklist/InputChecklistTask.kt | 29 +++++++++++++++++++ 3 files changed, 31 insertions(+), 2 deletions(-) create mode 100644 library/src/main/java/com/pengrad/telegrambot/model/checklist/InputChecklistTask.kt 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 index a05eb40f..bbc72643 100644 --- a/library/src/main/java/com/pengrad/telegrambot/model/checklist/Checklist.kt +++ b/library/src/main/java/com/pengrad/telegrambot/model/checklist/Checklist.kt @@ -7,7 +7,7 @@ import com.pengrad.telegrambot.model.gift.GiftInfo data class Checklist( @get:JvmName("title") val title: String, - @get:JvmName("titleEntities") var titleEntities: Array?, + @get:JvmName("titleEntities") val titleEntities: Array?, @get:JvmName("tasks") val tasks: Array, @get:JvmName("othersCanAddTasks") val othersCanAddTasks: Boolean?, @get:JvmName("othersCanAddTasks") val othersCanMarkTasksAsDone: Boolean? 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 index 21b1e9b3..a49cbf33 100644 --- a/library/src/main/java/com/pengrad/telegrambot/model/checklist/ChecklistTask.kt +++ b/library/src/main/java/com/pengrad/telegrambot/model/checklist/ChecklistTask.kt @@ -8,7 +8,7 @@ data class ChecklistTask( @get:JvmName("id") val id: Int, @get:JvmName("text") val text: String, - @get:JvmName("textEntities") var textEntities: Array?, + @get:JvmName("textEntities") val textEntities: Array?, @get:JvmName("completedByUser") val completedByUser: User?, @get:JvmName("completionDate") val completionDate: Int? 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..d508fed6 --- /dev/null +++ b/library/src/main/java/com/pengrad/telegrambot/model/checklist/InputChecklistTask.kt @@ -0,0 +1,29 @@ +package com.pengrad.telegrambot.model.checklist + +import com.pengrad.telegrambot.model.MessageEntity +import com.pengrad.telegrambot.model.checklist.InputChecklist + +@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 From 1483cb982d8881c485da5c7846591447fbe864ab Mon Sep 17 00:00:00 2001 From: Mirco Ianese Date: Tue, 19 Aug 2025 18:21:48 +0200 Subject: [PATCH 05/35] Added the class InputChecklist representing a checklist to create. --- .../model/checklist/InputChecklist.kt | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 library/src/main/java/com/pengrad/telegrambot/model/checklist/InputChecklist.kt 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..ed8c5bd5 --- /dev/null +++ b/library/src/main/java/com/pengrad/telegrambot/model/checklist/InputChecklist.kt @@ -0,0 +1,41 @@ +package com.pengrad.telegrambot.model.checklist + +import com.pengrad.telegrambot.model.LocationAddress +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 From 4a0b0bbaa922aee50db73ec38d1241913b2c4497 Mon Sep 17 00:00:00 2001 From: Mirco Ianese Date: Tue, 19 Aug 2025 18:25:42 +0200 Subject: [PATCH 06/35] Added the field checklist to the classes Message and ExternalReplyInfo, describing a checklist in a message. --- .../pengrad/telegrambot/model/ExternalReplyInfo.java | 11 +++++++++-- .../java/com/pengrad/telegrambot/model/Message.java | 8 ++++++++ 2 files changed, 17 insertions(+), 2 deletions(-) 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..94e7a084 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,7 @@ 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.gift.GiftInfo; import com.pengrad.telegrambot.model.gift.unique.UniqueGiftInfo; import com.pengrad.telegrambot.model.giveaway.Giveaway; @@ -62,6 +63,7 @@ public class Message extends MaybeInaccessibleMessage implements Serializable { private Voice voice; private VideoNote video_note; private String caption; + private Checklist checklist; private Contact contact; private Location location; private Venue venue; @@ -261,6 +263,10 @@ public String caption() { return caption; } + public Checklist checklist() { + return checklist; + } + public Contact contact() { return contact; } @@ -523,6 +529,7 @@ 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(contact, message.contact) && Objects.equals(location, message.location) && Objects.equals(venue, message.venue) && @@ -622,6 +629,7 @@ public String toString() { ", voice=" + voice + ", video_note=" + video_note + ", caption='" + caption + '\'' + + ", checklist=" + checklist + ", contact=" + contact + ", location=" + location + ", venue=" + venue + From faa30a8e8f9971270fadf8d067fff5eafc5efcf2 Mon Sep 17 00:00:00 2001 From: Mirco Ianese Date: Tue, 19 Aug 2025 18:31:42 +0200 Subject: [PATCH 07/35] Added the class ChecklistTasksDone and the field checklist_tasks_done to the class Message, describing a service message about status changes for tasks in a checklist --- .../pengrad/telegrambot/model/Message.java | 8 +++++ .../model/checklist/ChecklistTasksDone.kt | 29 +++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 library/src/main/java/com/pengrad/telegrambot/model/checklist/ChecklistTasksDone.kt 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 94e7a084..2a9643d9 100644 --- a/library/src/main/java/com/pengrad/telegrambot/model/Message.java +++ b/library/src/main/java/com/pengrad/telegrambot/model/Message.java @@ -3,6 +3,7 @@ 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.ChecklistTasksDone; import com.pengrad.telegrambot.model.gift.GiftInfo; import com.pengrad.telegrambot.model.gift.unique.UniqueGiftInfo; import com.pengrad.telegrambot.model.giveaway.Giveaway; @@ -64,6 +65,7 @@ public class Message extends MaybeInaccessibleMessage implements Serializable { private VideoNote video_note; private String caption; private Checklist checklist; + private ChecklistTasksDone checklist_tasks_done; private Contact contact; private Location location; private Venue venue; @@ -267,6 +269,10 @@ public Checklist checklist() { return checklist; } + public ChecklistTasksDone checklistTasksDone() { + return checklist_tasks_done; + } + public Contact contact() { return contact; } @@ -530,6 +536,7 @@ public boolean equals(Object o) { 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(contact, message.contact) && Objects.equals(location, message.location) && Objects.equals(venue, message.venue) && @@ -630,6 +637,7 @@ public String toString() { ", video_note=" + video_note + ", caption='" + caption + '\'' + ", checklist=" + checklist + + ", checklist_tasks_done=" + checklist_tasks_done + ", contact=" + contact + ", location=" + location + ", venue=" + venue + 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 From 573d084998bb2535d3b31ebb0850eff50507ee34 Mon Sep 17 00:00:00 2001 From: Mirco Ianese Date: Tue, 19 Aug 2025 18:33:34 +0200 Subject: [PATCH 08/35] Added the class ChecklistTasksAdded and the field checklist_tasks_added to the class Message, describing a service message about the addition of new tasks to a checklist. --- .../pengrad/telegrambot/model/Message.java | 8 +++++++ .../model/checklist/ChecklistTasksAdded.kt | 24 +++++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 library/src/main/java/com/pengrad/telegrambot/model/checklist/ChecklistTasksAdded.kt 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 2a9643d9..4854cfc3 100644 --- a/library/src/main/java/com/pengrad/telegrambot/model/Message.java +++ b/library/src/main/java/com/pengrad/telegrambot/model/Message.java @@ -3,6 +3,7 @@ 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; @@ -66,6 +67,7 @@ public class Message extends MaybeInaccessibleMessage implements Serializable { 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; @@ -273,6 +275,10 @@ public ChecklistTasksDone checklistTasksDone() { return checklist_tasks_done; } + public ChecklistTasksAdded checklistTasksAdded() { + return checklist_tasks_added; + } + public Contact contact() { return contact; } @@ -537,6 +543,7 @@ public boolean equals(Object o) { 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) && @@ -638,6 +645,7 @@ public String toString() { ", caption='" + caption + '\'' + ", checklist=" + checklist + ", checklist_tasks_done=" + checklist_tasks_done + + ", checklist_tasks_added=" + checklist_tasks_added + ", contact=" + contact + ", location=" + location + ", venue=" + venue + 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 From 908bb8954427cd75c48ddb514c070665450eb3fc Mon Sep 17 00:00:00 2001 From: Mirco Ianese Date: Tue, 19 Aug 2025 18:42:50 +0200 Subject: [PATCH 09/35] Added the method sendChecklist, allowing bots to send a checklist on behalf of a business account. --- .../request/business/SendChecklist.kt | 54 +++++++++++++++++++ .../response/SendChecklistResponse.kt | 6 +++ 2 files changed, 60 insertions(+) create mode 100644 library/src/main/java/com/pengrad/telegrambot/request/business/SendChecklist.kt create mode 100644 library/src/main/java/com/pengrad/telegrambot/response/SendChecklistResponse.kt 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/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 From a0283e81d20d7a9065e46e0278dc67c3078a82d3 Mon Sep 17 00:00:00 2001 From: Mirco Ianese Date: Tue, 19 Aug 2025 18:45:36 +0200 Subject: [PATCH 10/35] Added the method editMessageChecklist, allowing bots to edit a checklist on behalf of a business account. --- .../request/business/EditMessageChecklist.kt | 36 +++++++++++++++++++ .../response/EditMessageChecklistResponse.kt | 6 ++++ 2 files changed, 42 insertions(+) create mode 100644 library/src/main/java/com/pengrad/telegrambot/request/business/EditMessageChecklist.kt create mode 100644 library/src/main/java/com/pengrad/telegrambot/response/EditMessageChecklistResponse.kt 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/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 From 70462f8de3c58c0edf49937f5dca70f839206f6b Mon Sep 17 00:00:00 2001 From: Mirco Ianese Date: Tue, 19 Aug 2025 18:47:33 +0200 Subject: [PATCH 11/35] Added the field next_transfer_date to the classes OwnedGiftUnique and UniqueGiftInfo. --- .../pengrad/telegrambot/model/gift/owned/OwnedGiftUnique.kt | 3 ++- .../pengrad/telegrambot/model/gift/unique/UniqueGiftInfo.kt | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) 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/UniqueGiftInfo.kt b/library/src/main/java/com/pengrad/telegrambot/model/gift/unique/UniqueGiftInfo.kt index f07f49c5..e277761a 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,6 @@ 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? ) \ No newline at end of file From 8c1c8f9fafbfa2398857a5ffd536b5cbd4b538a0 Mon Sep 17 00:00:00 2001 From: Mirco Ianese Date: Tue, 19 Aug 2025 18:48:15 +0200 Subject: [PATCH 12/35] Added the field last_resale_star_count to the class UniqueGiftInfo. --- .../pengrad/telegrambot/model/gift/unique/UniqueGiftInfo.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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 e277761a..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 @@ -6,5 +6,6 @@ data class UniqueGiftInfo( @get:JvmName("origin") val origin: String, @get:JvmName("ownedGiftId") val ownedGiftId: String?, @get:JvmName("transferStarCount") val transferStarCount: Int?, - @get:JvmName("nextTransferDate") var nextTransferDate: Long? + @get:JvmName("nextTransferDate") var nextTransferDate: Long?, + @get:JvmName("lastResaleStarCount") val lastResaleStarCount: Int? ) \ No newline at end of file From 5ed4e278d379b1161f7be0794fa81cb378a9fa75 Mon Sep 17 00:00:00 2001 From: Mirco Ianese Date: Tue, 19 Aug 2025 18:51:18 +0200 Subject: [PATCH 13/35] Added the method getMyStarBalance, allowing bots to get their current balance of Telegram Stars. --- .../com/pengrad/telegrambot/request/GetMyStarBalance.kt | 7 +++++++ .../telegrambot/response/GetMyStarBalanceResponse.kt | 5 +++++ 2 files changed, 12 insertions(+) create mode 100644 library/src/main/java/com/pengrad/telegrambot/request/GetMyStarBalance.kt create mode 100644 library/src/main/java/com/pengrad/telegrambot/response/GetMyStarBalanceResponse.kt 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/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() From ae411912811c2c257f8a4781e815b97c708368fa Mon Sep 17 00:00:00 2001 From: Mirco Ianese Date: Tue, 19 Aug 2025 18:55:07 +0200 Subject: [PATCH 14/35] Added the class DirectMessagePriceChanged and the field direct_message_price_changed to the class Message, describing a service message about a price change for direct messages sent to the channel chat. --- .../main/java/com/pengrad/telegrambot/model/Message.java | 9 +++++++++ .../telegrambot/model/stars/DirectMessagePriceChanged.kt | 7 +++++++ .../model/{ => stars}/PaidMessagePriceChanged.kt | 2 +- 3 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 library/src/main/java/com/pengrad/telegrambot/model/stars/DirectMessagePriceChanged.kt rename library/src/main/java/com/pengrad/telegrambot/model/{ => stars}/PaidMessagePriceChanged.kt (68%) 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 4854cfc3..13de7180 100644 --- a/library/src/main/java/com/pengrad/telegrambot/model/Message.java +++ b/library/src/main/java/com/pengrad/telegrambot/model/Message.java @@ -15,6 +15,8 @@ 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.passport.PassportData; import java.io.Serializable; @@ -116,6 +118,7 @@ public class Message extends MaybeInaccessibleMessage implements Serializable { private GiftInfo gift; private UniqueGiftInfo unique_gift; private PaidMessagePriceChanged paid_message_price_changed; + private DirectMessagePriceChanged direct_message_price_changed; private Integer paid_star_count; public Integer messageThreadId() { @@ -471,6 +474,10 @@ public PaidMessagePriceChanged paidMessagePriceChanged() { return paid_message_price_changed; } + public DirectMessagePriceChanged directMessagePriceChanged() { + return direct_message_price_changed; + } + public Integer paidStarCount() { return paid_star_count; } @@ -592,6 +599,7 @@ 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(direct_message_price_changed, message.direct_message_price_changed) && Objects.equals(paid_star_count, message.paid_star_count); } @@ -694,6 +702,7 @@ public String toString() { ", gift=" + gift + ", unique_gift=" + unique_gift + ", paid_message_price_changed=" + paid_message_price_changed + + ", 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/stars/DirectMessagePriceChanged.kt b/library/src/main/java/com/pengrad/telegrambot/model/stars/DirectMessagePriceChanged.kt new file mode 100644 index 00000000..4be93990 --- /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("directMessageStartCount") val directMessageStartCount: 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 From 4cad17e8065b028fc3e5834aefc91cc1b40bf949 Mon Sep 17 00:00:00 2001 From: Mirco Ianese Date: Tue, 19 Aug 2025 18:56:03 +0200 Subject: [PATCH 15/35] Fix JvmName on Checklist.kt --- .../java/com/pengrad/telegrambot/model/checklist/Checklist.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 index bbc72643..9a2c4e80 100644 --- a/library/src/main/java/com/pengrad/telegrambot/model/checklist/Checklist.kt +++ b/library/src/main/java/com/pengrad/telegrambot/model/checklist/Checklist.kt @@ -10,7 +10,7 @@ data class Checklist( @get:JvmName("titleEntities") val titleEntities: Array?, @get:JvmName("tasks") val tasks: Array, @get:JvmName("othersCanAddTasks") val othersCanAddTasks: Boolean?, - @get:JvmName("othersCanAddTasks") val othersCanMarkTasksAsDone: Boolean? + @get:JvmName("othersCanMarkTasksAsDone") val othersCanMarkTasksAsDone: Boolean? ) { override fun equals(other: Any?): Boolean { From 510ea92e2d9ac3453c9ca27f076134c769b0e58f Mon Sep 17 00:00:00 2001 From: Mirco Ianese Date: Wed, 20 Aug 2025 17:30:19 +0200 Subject: [PATCH 16/35] Added the field checklist_task_id to the class ReplyParameters, allowing bots to reply to a specific checklist task. --- .../pengrad/telegrambot/model/request/ReplyParameters.java | 6 ++++++ 1 file changed, 6 insertions(+) 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; + } } From 410324ce98066c35973fd87f3142572c200ea910 Mon Sep 17 00:00:00 2001 From: Mirco Ianese Date: Wed, 20 Aug 2025 17:31:38 +0200 Subject: [PATCH 17/35] Added the field reply_to_checklist_task_id to the class Message --- .../main/java/com/pengrad/telegrambot/model/Message.java | 7 +++++++ 1 file changed, 7 insertions(+) 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 13de7180..6735073a 100644 --- a/library/src/main/java/com/pengrad/telegrambot/model/Message.java +++ b/library/src/main/java/com/pengrad/telegrambot/model/Message.java @@ -43,6 +43,7 @@ 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; @@ -173,6 +174,10 @@ public Story replyToStory() { return reply_to_story; } + public Integer replyToChecklistTaskId() { + return reply_to_checklist_task_id; + } + public User viaBot() { return via_bot; } @@ -524,6 +529,7 @@ 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) && @@ -627,6 +633,7 @@ 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 + From 7bd458c238fc3c3bbc03628a872e147f87e46ac2 Mon Sep 17 00:00:00 2001 From: Mirco Ianese Date: Wed, 20 Aug 2025 17:32:53 +0200 Subject: [PATCH 18/35] Added the field publisher_chat to the classes Gift and UniqueGift which can be used to get information about the chat that published a gift. --- .../src/main/java/com/pengrad/telegrambot/model/gift/Gift.kt | 4 +++- .../com/pengrad/telegrambot/model/gift/unique/UniqueGift.kt | 5 ++++- 2 files changed, 7 insertions(+), 2 deletions(-) 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/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 From 1860fee370fa87601afb7da7becbde5ee3e9e18f Mon Sep 17 00:00:00 2001 From: Mirco Ianese Date: Wed, 20 Aug 2025 17:35:57 +0200 Subject: [PATCH 19/35] Added the field is_direct_messages to the classes Chat and ChatFullInfo which can be used to identify supergroups that are used as channel direct messages chats. --- .../main/java/com/pengrad/telegrambot/model/Chat.java | 10 +++++++++- .../com/pengrad/telegrambot/model/ChatFullInfo.java | 9 ++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) 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..98020b6b 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); } @@ -85,7 +92,8 @@ public String toString() { ", type=" + type + ", first_name='" + first_name + '\'' + ", last_name='" + last_name + '\'' + - ", is_forum=" + is_forum + + ", 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/ChatFullInfo.java b/library/src/main/java/com/pengrad/telegrambot/model/ChatFullInfo.java index bbddf1b4..cde5427a 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; @@ -98,6 +99,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; } @@ -272,6 +277,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) && @@ -326,7 +332,8 @@ public String toString() { ", type=" + type + ", first_name='" + first_name + '\'' + ", last_name='" + last_name + '\'' + - ", is_forum=" + is_forum + + ", is_forum=" + is_forum + '\'' + + ", is_direct_messages=" + is_direct_messages + '\'' + ", username='" + username + '\'' + ", title='" + title + '\'' + ", photo=" + photo + From e52b0e735dbed1e9dd1c60d262d87559bbf37a52 Mon Sep 17 00:00:00 2001 From: Mirco Ianese Date: Wed, 20 Aug 2025 17:37:47 +0200 Subject: [PATCH 20/35] Added the field parent_chat to the class ChatFullInfo which indicates the parent channel chat for a channel direct messages chat --- .../main/java/com/pengrad/telegrambot/model/Chat.java | 4 ++-- .../com/pengrad/telegrambot/model/ChatFullInfo.java | 11 +++++++++-- 2 files changed, 11 insertions(+), 4 deletions(-) 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 98020b6b..dfdf7bdd 100644 --- a/library/src/main/java/com/pengrad/telegrambot/model/Chat.java +++ b/library/src/main/java/com/pengrad/telegrambot/model/Chat.java @@ -92,8 +92,8 @@ public String toString() { ", type=" + type + ", first_name='" + first_name + '\'' + ", last_name='" + last_name + '\'' + - ", is_forum=" + is_forum + '\'' + - ", is_direct_messages=" + is_direct_messages + '\'' + + ", 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/ChatFullInfo.java b/library/src/main/java/com/pengrad/telegrambot/model/ChatFullInfo.java index cde5427a..30e08d85 100644 --- a/library/src/main/java/com/pengrad/telegrambot/model/ChatFullInfo.java +++ b/library/src/main/java/com/pengrad/telegrambot/model/ChatFullInfo.java @@ -42,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; @@ -135,6 +136,10 @@ public Chat personalChat() { return personal_chat; } + public Chat parentChat() { + return parent_chat; + } + public ReactionType[] availableReactions() { return available_reactions; } @@ -287,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) && @@ -332,8 +338,8 @@ public String toString() { ", type=" + type + ", first_name='" + first_name + '\'' + ", last_name='" + last_name + '\'' + - ", is_forum=" + is_forum + '\'' + - ", is_direct_messages=" + is_direct_messages + '\'' + + ", is_forum=" + is_forum + + ", is_direct_messages=" + is_direct_messages + ", username='" + username + '\'' + ", title='" + title + '\'' + ", photo=" + photo + @@ -343,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 + From b2e6611dba2ad0b2d7410738eb797bc594b04d12 Mon Sep 17 00:00:00 2001 From: Mirco Ianese Date: Wed, 20 Aug 2025 17:40:47 +0200 Subject: [PATCH 21/35] Added the class DirectMessagesTopic and the field direct_messages_topic to the class Message, describing a topic of a direct messages chat. --- .../com/pengrad/telegrambot/model/DirectMessagesTopic.kt | 8 ++++++++ .../main/java/com/pengrad/telegrambot/model/Message.java | 7 +++++++ 2 files changed, 15 insertions(+) create mode 100644 library/src/main/java/com/pengrad/telegrambot/model/DirectMessagesTopic.kt 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/Message.java b/library/src/main/java/com/pengrad/telegrambot/model/Message.java index 6735073a..140d8882 100644 --- a/library/src/main/java/com/pengrad/telegrambot/model/Message.java +++ b/library/src/main/java/com/pengrad/telegrambot/model/Message.java @@ -31,6 +31,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; @@ -126,6 +127,10 @@ public Integer messageThreadId() { return message_thread_id; } + public DirectMessagesTopic directMessagesTopic() { + return direct_messages_topic; + } + public User from() { return from; } @@ -515,6 +520,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) && @@ -619,6 +625,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 + From 18e446302f47b13700e9a5234404aaaf6e840109 Mon Sep 17 00:00:00 2001 From: Mirco Ianese Date: Wed, 20 Aug 2025 17:43:34 +0200 Subject: [PATCH 22/35] Added the parameter direct_messages_topic_id to the methods sendMessage, sendPhoto, sendVideo, sendAnimation, sendAudio, sendDocument, sendPaidMedia, sendSticker, sendVideoNote, sendVoice, sendLocation, sendVenue, sendContact, sendDice, sendInvoice, sendMediaGroup, copyMessage, copyMessages, forwardMessage and forwardMessages. --- .../com/pengrad/telegrambot/request/AbstractSendRequest.kt | 3 +++ 1 file changed, 3 insertions(+) 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..9996c2a0 100644 --- a/library/src/main/java/com/pengrad/telegrambot/request/AbstractSendRequest.kt +++ b/library/src/main/java/com/pengrad/telegrambot/request/AbstractSendRequest.kt @@ -15,6 +15,7 @@ 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() @@ -26,6 +27,8 @@ abstract class AbstractSendRequest>( 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 } From 9b6a3356459997ace10c588dda0859daf835e2c4 Mon Sep 17 00:00:00 2001 From: Mirco Ianese Date: Wed, 20 Aug 2025 18:09:38 +0200 Subject: [PATCH 23/35] Added the class SuggestedPostPrice, describing the price of a suggested post. --- .../model/suggestedposts/SuggestedPostPrice.kt | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 library/src/main/java/com/pengrad/telegrambot/model/suggestedposts/SuggestedPostPrice.kt 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 From d7f06cd25179675ef243946247aaeccf77e92ccc Mon Sep 17 00:00:00 2001 From: Mirco Ianese Date: Wed, 20 Aug 2025 18:10:35 +0200 Subject: [PATCH 24/35] Added the class SuggestedPostParameters and the parameter suggested_post_parameters to the methods sendMessage, sendPhoto, sendVideo, sendAnimation, sendAudio, sendDocument, sendPaidMedia, sendSticker, sendVideoNote, sendVoice, sendLocation, sendVenue, sendContact, sendDice, sendInvoice, copyMessage, forwardMessage. --- .../model/suggestedposts/SuggestedPostParameters.kt | 9 +++++++++ .../pengrad/telegrambot/request/AbstractSendRequest.kt | 4 ++++ 2 files changed, 13 insertions(+) create mode 100644 library/src/main/java/com/pengrad/telegrambot/model/suggestedposts/SuggestedPostParameters.kt 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/request/AbstractSendRequest.kt b/library/src/main/java/com/pengrad/telegrambot/request/AbstractSendRequest.kt index 9996c2a0..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 @@ -22,6 +23,7 @@ abstract class AbstractSendRequest>( 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 } @@ -41,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 From 5e79924a5d86421448080d64faa95c341e9aef11 Mon Sep 17 00:00:00 2001 From: Mirco Ianese Date: Wed, 20 Aug 2025 18:14:51 +0200 Subject: [PATCH 25/35] Added the method approveSuggestedPost --- .../suggestedposts/ApproveSuggestedPost.kt | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 library/src/main/java/com/pengrad/telegrambot/request/suggestedposts/ApproveSuggestedPost.kt 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 From 8df8ff07a6a609b58ded7dc2fddbb8fafe6bd7ff Mon Sep 17 00:00:00 2001 From: Mirco Ianese Date: Wed, 20 Aug 2025 18:15:59 +0200 Subject: [PATCH 26/35] Added the method declineSuggestedPost --- .../suggestedposts/DeclineSuggestedPost.kt | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 library/src/main/java/com/pengrad/telegrambot/request/suggestedposts/DeclineSuggestedPost.kt 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 From 8f638e231e0ff79edf4526f8e3784b1337292bbc Mon Sep 17 00:00:00 2001 From: Mirco Ianese Date: Wed, 20 Aug 2025 18:19:43 +0200 Subject: [PATCH 27/35] Added the field can_manage_direct_messages to the classes ChatMemberAdministrator and ChatAdministratorRights --- .../model/ChatAdministratorRights.java | 17 +++++++++++++++-- .../pengrad/telegrambot/model/ChatMember.java | 8 ++++++++ 2 files changed, 23 insertions(+), 2 deletions(-) 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/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 + From 47d033b218a5855d59755966362e7d83dfc141f4 Mon Sep 17 00:00:00 2001 From: Mirco Ianese Date: Wed, 20 Aug 2025 18:20:35 +0200 Subject: [PATCH 28/35] Added the parameter can_manage_direct_messages to the method promoteChatMember. --- .../com/pengrad/telegrambot/request/PromoteChatMember.java | 4 ++++ 1 file changed, 4 insertions(+) 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); } From cbb13d806426ac5b780268a6abeaaf690d2574ec Mon Sep 17 00:00:00 2001 From: Mirco Ianese Date: Wed, 20 Aug 2025 18:21:47 +0200 Subject: [PATCH 29/35] Added the field is_paid_post to the class Message --- .../main/java/com/pengrad/telegrambot/model/Message.java | 7 +++++++ 1 file changed, 7 insertions(+) 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 140d8882..8045e5b5 100644 --- a/library/src/main/java/com/pengrad/telegrambot/model/Message.java +++ b/library/src/main/java/com/pengrad/telegrambot/model/Message.java @@ -49,6 +49,7 @@ public class Message extends MaybeInaccessibleMessage implements Serializable { 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; @@ -199,6 +200,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; } @@ -540,6 +545,7 @@ public boolean equals(Object o) { 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) && @@ -645,6 +651,7 @@ public String toString() { ", 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 + '\'' + From b6da95985e2abe9a2d1b54420b05853c41868b8d Mon Sep 17 00:00:00 2001 From: Mirco Ianese Date: Wed, 20 Aug 2025 18:24:20 +0200 Subject: [PATCH 30/35] Added the class SuggestedPostInfo and the field suggested_post_info to the class Message, describing a suggested post --- .../main/java/com/pengrad/telegrambot/model/Message.java | 8 ++++++++ .../model/suggestedposts/SuggestedPostInfo.kt | 9 +++++++++ 2 files changed, 17 insertions(+) create mode 100644 library/src/main/java/com/pengrad/telegrambot/model/suggestedposts/SuggestedPostInfo.kt 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 8045e5b5..91601515 100644 --- a/library/src/main/java/com/pengrad/telegrambot/model/Message.java +++ b/library/src/main/java/com/pengrad/telegrambot/model/Message.java @@ -17,6 +17,7 @@ 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.SuggestedPostInfo; import com.pengrad.telegrambot.passport.PassportData; import java.io.Serializable; @@ -58,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; @@ -237,6 +239,10 @@ public LinkPreviewOptions linkPreviewOptions() { return link_preview_options; } + public SuggestedPostInfo suggestedPostInfo() { + return suggested_post_info; + } + public String effectId() { return effect_id; } @@ -554,6 +560,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) && @@ -660,6 +667,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 + 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..dd1fc56b --- /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: Int? +){ +} \ No newline at end of file From ad62601ffc93ee928ac917ca67009e31b0e077f0 Mon Sep 17 00:00:00 2001 From: Mirco Ianese Date: Wed, 20 Aug 2025 18:32:46 +0200 Subject: [PATCH 31/35] Added the classes SuggestedPostApproved, SuggestedPostApprovalFailed, SuggestedPostDeclined, SuggestedPostPaid, SuggestedPostRefunded and the respective fields in the class Message --- .../pengrad/telegrambot/model/Message.java | 37 ++++++++++++++++++- .../SuggestedPostApprovalFailed.kt | 10 +++++ .../suggestedposts/SuggestedPostApproved.kt | 11 ++++++ .../suggestedposts/SuggestedPostDeclined.kt | 10 +++++ .../model/suggestedposts/SuggestedPostPaid.kt | 13 +++++++ .../suggestedposts/SuggestedPostRefunded.kt | 10 +++++ 6 files changed, 90 insertions(+), 1 deletion(-) create mode 100644 library/src/main/java/com/pengrad/telegrambot/model/suggestedposts/SuggestedPostApprovalFailed.kt create mode 100644 library/src/main/java/com/pengrad/telegrambot/model/suggestedposts/SuggestedPostApproved.kt create mode 100644 library/src/main/java/com/pengrad/telegrambot/model/suggestedposts/SuggestedPostDeclined.kt create mode 100644 library/src/main/java/com/pengrad/telegrambot/model/suggestedposts/SuggestedPostPaid.kt create mode 100644 library/src/main/java/com/pengrad/telegrambot/model/suggestedposts/SuggestedPostRefunded.kt 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 91601515..7cc7e433 100644 --- a/library/src/main/java/com/pengrad/telegrambot/model/Message.java +++ b/library/src/main/java/com/pengrad/telegrambot/model/Message.java @@ -17,7 +17,7 @@ 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.SuggestedPostInfo; +import com.pengrad.telegrambot.model.suggestedposts.*; import com.pengrad.telegrambot.passport.PassportData; import java.io.Serializable; @@ -123,6 +123,11 @@ 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; @@ -495,6 +500,26 @@ 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; } @@ -624,6 +649,11 @@ 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); } @@ -731,6 +761,11 @@ 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/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..12af1af9 --- /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: Int +){ +} \ 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/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/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 From ceb57c4cb21fe319e0d7794266b3bedd5a50a463 Mon Sep 17 00:00:00 2001 From: Mirco Ianese Date: Wed, 20 Aug 2025 18:33:46 +0200 Subject: [PATCH 32/35] Bump to 9.2.0 --- README.md | 6 +++--- README_RU.md | 6 +++--- gradle.properties | 2 +- pom.xml | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 69d96222..44ba5165 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ [![codecov](https://codecov.io/gh/pengrad/java-telegram-bot-api/branch/master/graph/badge.svg)](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 @@ [![codecov](https://codecov.io/gh/pengrad/java-telegram-bot-api/branch/master/graph/badge.svg)](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/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/ From d5e7800ce45df40fd996d5a3bb9438777586927c Mon Sep 17 00:00:00 2001 From: Mirco Ianese Date: Wed, 20 Aug 2025 18:39:09 +0200 Subject: [PATCH 33/35] Copilot minor changes --- .../java/com/pengrad/telegrambot/model/checklist/Checklist.kt | 2 -- .../com/pengrad/telegrambot/model/checklist/ChecklistTask.kt | 1 - .../com/pengrad/telegrambot/model/checklist/InputChecklist.kt | 1 - .../pengrad/telegrambot/model/checklist/InputChecklistTask.kt | 1 - 4 files changed, 5 deletions(-) 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 index 9a2c4e80..ebb7ac63 100644 --- a/library/src/main/java/com/pengrad/telegrambot/model/checklist/Checklist.kt +++ b/library/src/main/java/com/pengrad/telegrambot/model/checklist/Checklist.kt @@ -1,8 +1,6 @@ package com.pengrad.telegrambot.model.checklist import com.pengrad.telegrambot.model.MessageEntity -import com.pengrad.telegrambot.model.User -import com.pengrad.telegrambot.model.gift.GiftInfo data class Checklist( 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 index a49cbf33..184b133e 100644 --- a/library/src/main/java/com/pengrad/telegrambot/model/checklist/ChecklistTask.kt +++ b/library/src/main/java/com/pengrad/telegrambot/model/checklist/ChecklistTask.kt @@ -2,7 +2,6 @@ package com.pengrad.telegrambot.model.checklist import com.pengrad.telegrambot.model.MessageEntity import com.pengrad.telegrambot.model.User -import com.pengrad.telegrambot.model.gift.GiftInfo data class ChecklistTask( 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 index ed8c5bd5..16867944 100644 --- a/library/src/main/java/com/pengrad/telegrambot/model/checklist/InputChecklist.kt +++ b/library/src/main/java/com/pengrad/telegrambot/model/checklist/InputChecklist.kt @@ -1,6 +1,5 @@ package com.pengrad.telegrambot.model.checklist -import com.pengrad.telegrambot.model.LocationAddress import com.pengrad.telegrambot.model.MessageEntity @Suppress("unused") 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 index d508fed6..31ed3407 100644 --- a/library/src/main/java/com/pengrad/telegrambot/model/checklist/InputChecklistTask.kt +++ b/library/src/main/java/com/pengrad/telegrambot/model/checklist/InputChecklistTask.kt @@ -1,7 +1,6 @@ package com.pengrad.telegrambot.model.checklist import com.pengrad.telegrambot.model.MessageEntity -import com.pengrad.telegrambot.model.checklist.InputChecklist @Suppress("unused") class InputChecklistTask private constructor ( From 3781d593e5d67f00d5185799ab01b33c1a97a37d Mon Sep 17 00:00:00 2001 From: Mirco Ianese Date: Wed, 20 Aug 2025 18:43:28 +0200 Subject: [PATCH 34/35] Fix bugs --- .../telegrambot/model/stars/DirectMessagePriceChanged.kt | 2 +- .../telegrambot/model/suggestedposts/SuggestedPostApproved.kt | 2 +- .../telegrambot/model/suggestedposts/SuggestedPostInfo.kt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) 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 index 4be93990..8119a577 100644 --- a/library/src/main/java/com/pengrad/telegrambot/model/stars/DirectMessagePriceChanged.kt +++ b/library/src/main/java/com/pengrad/telegrambot/model/stars/DirectMessagePriceChanged.kt @@ -2,6 +2,6 @@ package com.pengrad.telegrambot.model.stars data class DirectMessagePriceChanged ( @get:JvmName("areDirectMessagesEnabled") val areDirectMessagesEnabled: Boolean, - @get:JvmName("directMessageStartCount") val directMessageStartCount: Int? + @get:JvmName("directMessageStarCount") val directMessageStarCount: Int? ) { } \ 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 index 12af1af9..841fa67d 100644 --- a/library/src/main/java/com/pengrad/telegrambot/model/suggestedposts/SuggestedPostApproved.kt +++ b/library/src/main/java/com/pengrad/telegrambot/model/suggestedposts/SuggestedPostApproved.kt @@ -6,6 +6,6 @@ import com.pengrad.telegrambot.model.Message data class SuggestedPostApproved ( @get:JvmName("suggestedPostMessage") val suggestedPostMessage: Message?, @get:JvmName("price") val price: SuggestedPostPrice?, - @get:JvmName("sendDate") val sendDate: Int + @get:JvmName("sendDate") val sendDate: Long ){ } \ 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 index dd1fc56b..f4542646 100644 --- a/library/src/main/java/com/pengrad/telegrambot/model/suggestedposts/SuggestedPostInfo.kt +++ b/library/src/main/java/com/pengrad/telegrambot/model/suggestedposts/SuggestedPostInfo.kt @@ -4,6 +4,6 @@ package com.pengrad.telegrambot.model.suggestedposts data class SuggestedPostInfo ( @get:JvmName("state") val state: String, @get:JvmName("price") val price: SuggestedPostPrice?, - @get:JvmName("sendDate") val sendDate: Int? + @get:JvmName("sendDate") val sendDate: Long? ){ } \ No newline at end of file From 8eb50e448c50d8c823314ec2b97407d4408cf6bf Mon Sep 17 00:00:00 2001 From: Mirco Ianese Date: Wed, 20 Aug 2025 18:43:34 +0200 Subject: [PATCH 35/35] Fix typo --- .../com/pengrad/telegrambot/request/CopyMessage.kt | 10 +++++----- .../com/pengrad/telegrambot/request/ForwardMessage.kt | 10 +++++----- .../java/com/pengrad/telegrambot/request/SendGift.kt | 2 +- 3 files changed, 11 insertions(+), 11 deletions(-) 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/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) =