From 01eb072caad52e516fc7228113d851e5cecef456 Mon Sep 17 00:00:00 2001 From: madhead Date: Sun, 27 Sep 2020 02:20:18 +0300 Subject: [PATCH 1/5] Fix #139: Add "from" field to chat events --- .../{GroupEventMessage.kt => CommonGroupEventMessage.kt} | 8 +++++--- ...oupEventMessage.kt => CommonSupergroupEventMessage.kt} | 8 +++++--- .../TelegramBotAPI/types/message/RawMessage.kt | 6 ++++-- .../types/message/abstracts/GroupEventMessage.kt | 3 +++ .../types/message/abstracts/SupergroupEventMessage.kt | 3 +++ .../utils/chat_events/ChatEventsSourcesConversations.kt | 4 ++-- 6 files changed, 22 insertions(+), 10 deletions(-) rename TelegramBotAPI-core/src/commonMain/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/message/{GroupEventMessage.kt => CommonGroupEventMessage.kt} (76%) rename TelegramBotAPI-core/src/commonMain/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/message/{SupergroupEventMessage.kt => CommonSupergroupEventMessage.kt} (75%) create mode 100644 TelegramBotAPI-core/src/commonMain/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/message/abstracts/GroupEventMessage.kt create mode 100644 TelegramBotAPI-core/src/commonMain/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/message/abstracts/SupergroupEventMessage.kt diff --git a/TelegramBotAPI-core/src/commonMain/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/message/GroupEventMessage.kt b/TelegramBotAPI-core/src/commonMain/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/message/CommonGroupEventMessage.kt similarity index 76% rename from TelegramBotAPI-core/src/commonMain/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/message/GroupEventMessage.kt rename to TelegramBotAPI-core/src/commonMain/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/message/CommonGroupEventMessage.kt index c3b4340c52..b43b08035f 100644 --- a/TelegramBotAPI-core/src/commonMain/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/message/GroupEventMessage.kt +++ b/TelegramBotAPI-core/src/commonMain/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/message/CommonGroupEventMessage.kt @@ -1,14 +1,16 @@ package com.github.insanusmokrassar.TelegramBotAPI.types.message import com.github.insanusmokrassar.TelegramBotAPI.types.MessageIdentifier +import com.github.insanusmokrassar.TelegramBotAPI.types.User import com.github.insanusmokrassar.TelegramBotAPI.types.chat.abstracts.GroupChat import com.github.insanusmokrassar.TelegramBotAPI.types.message.ChatEvents.abstracts.GroupEvent -import com.github.insanusmokrassar.TelegramBotAPI.types.message.abstracts.ChatEventMessage +import com.github.insanusmokrassar.TelegramBotAPI.types.message.abstracts.GroupEventMessage import com.soywiz.klock.DateTime -data class GroupEventMessage( +data class CommonGroupEventMessage( override val messageId: MessageIdentifier, + override val user: User, override val chat: GroupChat, override val chatEvent: GroupEvent, override val date: DateTime -) : ChatEventMessage +) : GroupEventMessage diff --git a/TelegramBotAPI-core/src/commonMain/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/message/SupergroupEventMessage.kt b/TelegramBotAPI-core/src/commonMain/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/message/CommonSupergroupEventMessage.kt similarity index 75% rename from TelegramBotAPI-core/src/commonMain/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/message/SupergroupEventMessage.kt rename to TelegramBotAPI-core/src/commonMain/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/message/CommonSupergroupEventMessage.kt index 89229f1a5d..541ca2d068 100644 --- a/TelegramBotAPI-core/src/commonMain/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/message/SupergroupEventMessage.kt +++ b/TelegramBotAPI-core/src/commonMain/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/message/CommonSupergroupEventMessage.kt @@ -1,14 +1,16 @@ package com.github.insanusmokrassar.TelegramBotAPI.types.message import com.github.insanusmokrassar.TelegramBotAPI.types.MessageIdentifier +import com.github.insanusmokrassar.TelegramBotAPI.types.User import com.github.insanusmokrassar.TelegramBotAPI.types.chat.abstracts.SupergroupChat import com.github.insanusmokrassar.TelegramBotAPI.types.message.ChatEvents.abstracts.SupergroupEvent -import com.github.insanusmokrassar.TelegramBotAPI.types.message.abstracts.ChatEventMessage +import com.github.insanusmokrassar.TelegramBotAPI.types.message.abstracts.SupergroupEventMessage import com.soywiz.klock.DateTime -data class SupergroupEventMessage( +data class CommonSupergroupEventMessage( override val messageId: MessageIdentifier, + override val user: User, override val chat: SupergroupChat, override val chatEvent: SupergroupEvent, override val date: DateTime -) : ChatEventMessage +) : SupergroupEventMessage diff --git a/TelegramBotAPI-core/src/commonMain/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/message/RawMessage.kt b/TelegramBotAPI-core/src/commonMain/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/message/RawMessage.kt index 5786d90b4b..e1837adb0b 100644 --- a/TelegramBotAPI-core/src/commonMain/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/message/RawMessage.kt +++ b/TelegramBotAPI-core/src/commonMain/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/message/RawMessage.kt @@ -192,14 +192,16 @@ internal data class RawMessage( try { chatEvent?.let { chatEvent -> when (chat) { - is SupergroupChat -> SupergroupEventMessage( + is SupergroupChat -> CommonSupergroupEventMessage( messageId, + from ?: error("Supergroup events are expected to contain 'from' field"), chat, chatEvent as? SupergroupEvent ?: throwWrongChatEvent(SupergroupEvent::class, chatEvent), date.asDate ) - is GroupChat -> GroupEventMessage( + is GroupChat -> CommonGroupEventMessage( messageId, + from ?: error("Supergroup events are expected to contain 'from' field"), chat, chatEvent as? GroupEvent ?: throwWrongChatEvent(GroupChat::class, chatEvent), date.asDate diff --git a/TelegramBotAPI-core/src/commonMain/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/message/abstracts/GroupEventMessage.kt b/TelegramBotAPI-core/src/commonMain/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/message/abstracts/GroupEventMessage.kt new file mode 100644 index 0000000000..9ab76cbb50 --- /dev/null +++ b/TelegramBotAPI-core/src/commonMain/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/message/abstracts/GroupEventMessage.kt @@ -0,0 +1,3 @@ +package com.github.insanusmokrassar.TelegramBotAPI.types.message.abstracts + +interface GroupEventMessage : ChatEventMessage, FromUserMessage diff --git a/TelegramBotAPI-core/src/commonMain/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/message/abstracts/SupergroupEventMessage.kt b/TelegramBotAPI-core/src/commonMain/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/message/abstracts/SupergroupEventMessage.kt new file mode 100644 index 0000000000..c88bcabbbe --- /dev/null +++ b/TelegramBotAPI-core/src/commonMain/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/message/abstracts/SupergroupEventMessage.kt @@ -0,0 +1,3 @@ +package com.github.insanusmokrassar.TelegramBotAPI.types.message.abstracts + +interface SupergroupEventMessage : GroupEventMessage diff --git a/TelegramBotAPI-extensions-utils/src/commonMain/kotlin/com/github/insanusmokrassar/TelegramBotAPI/extensions/utils/chat_events/ChatEventsSourcesConversations.kt b/TelegramBotAPI-extensions-utils/src/commonMain/kotlin/com/github/insanusmokrassar/TelegramBotAPI/extensions/utils/chat_events/ChatEventsSourcesConversations.kt index cc1d263aab..8243a0670b 100644 --- a/TelegramBotAPI-extensions-utils/src/commonMain/kotlin/com/github/insanusmokrassar/TelegramBotAPI/extensions/utils/chat_events/ChatEventsSourcesConversations.kt +++ b/TelegramBotAPI-extensions-utils/src/commonMain/kotlin/com/github/insanusmokrassar/TelegramBotAPI/extensions/utils/chat_events/ChatEventsSourcesConversations.kt @@ -17,5 +17,5 @@ fun Flow.divideBySource(contentType: KC } fun Flow.onlyChannelEvents() = divideBySource(ChannelEventMessage::class) -fun Flow.onlyGroupEvents() = divideBySource(GroupEventMessage::class) -fun Flow.onlySupergroupEvents() = divideBySource(SupergroupEventMessage::class) +fun Flow.onlyGroupEvents() = divideBySource(CommonGroupEventMessage::class) +fun Flow.onlySupergroupEvents() = divideBySource(CommonSupergroupEventMessage::class) From 2bac5f0eed7f7244807e3ea02309cf1f3a6eefae Mon Sep 17 00:00:00 2001 From: InsanusMokrassar Date: Mon, 28 Sep 2020 12:54:01 +0600 Subject: [PATCH 2/5] start 0.28.4 --- CHANGELOG.md | 2 ++ gradle.properties | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2a831fab41..a67b8ea487 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -42,6 +42,8 @@ * `HttpClient#loadFile` * `PathedFile#download` +### 0.28.4 + ### 0.28.3 * Common: diff --git a/gradle.properties b/gradle.properties index b6819c45aa..4c25033d5e 100644 --- a/gradle.properties +++ b/gradle.properties @@ -15,7 +15,7 @@ ktor_version=1.4.0 javax_activation_version=1.1.1 library_group=com.github.insanusmokrassar -library_version=0.28.3 +library_version=0.28.4 gradle_bintray_plugin_version=1.8.5 github_release_plugin_version=2.2.12 From 79d0eda61d82c28dec1201acb257dfe6f7c43a2c Mon Sep 17 00:00:00 2001 From: InsanusMokrassar Date: Mon, 28 Sep 2020 13:09:58 +0600 Subject: [PATCH 3/5] add changelog --- CHANGELOG.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a67b8ea487..bf03ceab78 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -44,6 +44,16 @@ ### 0.28.4 +* `TelegramBotAPI-core` + * Interface `GroupEventMessage` has been added ([#140](https://github.com/InsanusMokrassar/TelegramBotAPI/pull/140)) + * Old `GroupEventMessage` was renamed to `CommonGroupEventMessage` ([#140](https://github.com/InsanusMokrassar/TelegramBotAPI/pull/140)) + * Interface `SupergroupEventMessage` has been added ([#140](https://github.com/InsanusMokrassar/TelegramBotAPI/pull/140)) + * Old `SupergroupEventMessage` was renamed to `CommonSupergroupEventMessage` ([#140](https://github.com/InsanusMokrassar/TelegramBotAPI/pull/140)) + * Any `GroupEventMessage` now have `from` field ([#140](https://github.com/InsanusMokrassar/TelegramBotAPI/pull/140)) +* `TelegramBotAPI-extensions-utils` + * Extensions `Flow#onlyGroupEvents` and `Flow#onlySupergroupEvents` now returns + `CommonGroupEventMessage` and `CommonSupergroupEventMessage` + ### 0.28.3 * Common: From 5e7bc96b44a9a62846c0cf203e02a9eadf0e4159 Mon Sep 17 00:00:00 2001 From: InsanusMokrassar Date: Mon, 28 Sep 2020 13:11:41 +0600 Subject: [PATCH 4/5] add deprecations --- .../TelegramBotAPI/types/message/CommonGroupEventMessage.kt | 3 +++ .../types/message/CommonSupergroupEventMessage.kt | 3 +++ 2 files changed, 6 insertions(+) diff --git a/TelegramBotAPI-core/src/commonMain/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/message/CommonGroupEventMessage.kt b/TelegramBotAPI-core/src/commonMain/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/message/CommonGroupEventMessage.kt index b43b08035f..eef3be7f87 100644 --- a/TelegramBotAPI-core/src/commonMain/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/message/CommonGroupEventMessage.kt +++ b/TelegramBotAPI-core/src/commonMain/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/message/CommonGroupEventMessage.kt @@ -7,6 +7,9 @@ import com.github.insanusmokrassar.TelegramBotAPI.types.message.ChatEvents.abstr import com.github.insanusmokrassar.TelegramBotAPI.types.message.abstracts.GroupEventMessage import com.soywiz.klock.DateTime +@Deprecated("Renamed", ReplaceWith("CommonGroupEventMessage")) +typealias GroupEventMessage = CommonGroupEventMessage + data class CommonGroupEventMessage( override val messageId: MessageIdentifier, override val user: User, diff --git a/TelegramBotAPI-core/src/commonMain/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/message/CommonSupergroupEventMessage.kt b/TelegramBotAPI-core/src/commonMain/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/message/CommonSupergroupEventMessage.kt index 541ca2d068..4333d1e0ad 100644 --- a/TelegramBotAPI-core/src/commonMain/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/message/CommonSupergroupEventMessage.kt +++ b/TelegramBotAPI-core/src/commonMain/kotlin/com/github/insanusmokrassar/TelegramBotAPI/types/message/CommonSupergroupEventMessage.kt @@ -7,6 +7,9 @@ import com.github.insanusmokrassar.TelegramBotAPI.types.message.ChatEvents.abstr import com.github.insanusmokrassar.TelegramBotAPI.types.message.abstracts.SupergroupEventMessage import com.soywiz.klock.DateTime +@Deprecated("Renamed", ReplaceWith("CommonSupergroupEventMessage")) +typealias SupergroupEventMessage = CommonSupergroupEventMessage + data class CommonSupergroupEventMessage( override val messageId: MessageIdentifier, override val user: User, From e10e257c80b6aa846fcb74b47c601bf0725293c3 Mon Sep 17 00:00:00 2001 From: InsanusMokrassar Date: Mon, 28 Sep 2020 13:18:03 +0600 Subject: [PATCH 5/5] update ktor --- CHANGELOG.md | 3 +++ gradle.properties | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bf03ceab78..eb90f1c7d6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -44,6 +44,9 @@ ### 0.28.4 +* `Common`: + * Version updates: + * `Ktor`: `1.4.0` -> `1.4.1` * `TelegramBotAPI-core` * Interface `GroupEventMessage` has been added ([#140](https://github.com/InsanusMokrassar/TelegramBotAPI/pull/140)) * Old `GroupEventMessage` was renamed to `CommonGroupEventMessage` ([#140](https://github.com/InsanusMokrassar/TelegramBotAPI/pull/140)) diff --git a/gradle.properties b/gradle.properties index 4c25033d5e..75d3e0f86f 100644 --- a/gradle.properties +++ b/gradle.properties @@ -10,7 +10,7 @@ kotlin_coroutines_version=1.3.9 kotlin_serialisation_runtime_version=1.0.0-RC2 klock_version=1.12.1 uuid_version=0.2.2 -ktor_version=1.4.0 +ktor_version=1.4.1 javax_activation_version=1.1.1