diff --git a/CHANGELOG.md b/CHANGELOG.md index 8eb65d99d5..3b7491f2f9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,24 @@ # TelegramBotAPI changelog +## 31.1.0 + +**THIS UPDATE CONTAINS ADDING SUPPORT OF [Telegram Bots API 9.5](https://core.telegram.org/bots/api-changelog#march-1-2026)** + +* `Core`: + * Added `UserTag` value class and `senderTag` field to messages + * Added `SetChatMemberTag` request and `UserTag` support in `PromoteChatMember` and `ChatPermissions` + * Added `DateTimeTextSource` for `tg://time` links support + * Added `DateTimeFormatPart` and `TgDateTimeFormatBuilder` for building date-time format strings + * Added `UnitFromBooleanSerializer` +* `API`: + * Added `setChatMemberTag` extensions +* `Utils`: + * Added `dateTime` and `dateTimeln` extensions to `EntitiesBuilder` + * Added `dateTimeMarkdown`, `dateTimeMarkdownV2`, and `dateTimeHTML` string formatting extensions + * Regenerated class casts extensions +* `WebApps`: + * Added `iconCustomEmojiId` support to `BottomButton` and `BottomButtonParams` + ## 31.0.1 * `Core`: diff --git a/README.md b/README.md index e73ad53b37..5f658c3798 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# TelegramBotAPI [![Maven Central Version](https://img.shields.io/maven-central/v/dev.inmo/tgbotapi)](https://central.sonatype.com/artifact/dev.inmo/tgbotapi) [![Supported version](https://img.shields.io/badge/Telegram%20Bot%20API-9.4-blue)](https://core.telegram.org/bots/api-changelog#february-9-2026) +# TelegramBotAPI [![Maven Central Version](https://img.shields.io/maven-central/v/dev.inmo/tgbotapi)](https://central.sonatype.com/artifact/dev.inmo/tgbotapi) [![Supported version](https://img.shields.io/badge/Telegram%20Bot%20API-9.5-blue)](https://core.telegram.org/bots/api-changelog#march-1-2026) | Docs | [![KDocs](https://img.shields.io/static/v1?label=Dokka&message=KDocs&color=blue&logo=kotlin)](https://tgbotapi.inmo.dev/index.html) [![Mini tutorial](https://img.shields.io/static/v1?label=Mk&message=Docs&color=blue&logo=mkdocs)](https://docs.inmo.dev/tgbotapi/index.html) | |:----------------------:|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:| diff --git a/gradle.properties b/gradle.properties index 5b7f070294..4ab949a6c5 100644 --- a/gradle.properties +++ b/gradle.properties @@ -6,4 +6,4 @@ kotlin.incremental=true kotlin.incremental.js=true library_group=dev.inmo -library_version=31.0.1 +library_version=31.1.0 diff --git a/tgbotapi.api/api/tgbotapi.api.api b/tgbotapi.api/api/tgbotapi.api.api index a737ee7fcb..9ef3de3509 100644 --- a/tgbotapi.api/api/tgbotapi.api.api +++ b/tgbotapi.api/api/tgbotapi.api.api @@ -707,25 +707,25 @@ public final class dev/inmo/tgbotapi/extensions/api/chat/members/PromoteChannelA } public final class dev/inmo/tgbotapi/extensions/api/chat/members/PromoteChatAdministratorKt { - public static final fun promoteChatAdministrator (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/IdChatIdentifier;Ldev/inmo/tgbotapi/types/TelegramDate;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static final fun promoteChatAdministrator (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/IdChatIdentifier;Ldev/inmo/tgbotapi/types/chat/User;Ldev/inmo/tgbotapi/types/TelegramDate;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static final fun promoteChatAdministrator (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/PublicChat;Ldev/inmo/tgbotapi/types/IdChatIdentifier;Ldev/inmo/tgbotapi/types/TelegramDate;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static final fun promoteChatAdministrator (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/PublicChat;Ldev/inmo/tgbotapi/types/chat/User;Ldev/inmo/tgbotapi/types/TelegramDate;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static synthetic fun promoteChatAdministrator$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/IdChatIdentifier;Ldev/inmo/tgbotapi/types/TelegramDate;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; - public static synthetic fun promoteChatAdministrator$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/IdChatIdentifier;Ldev/inmo/tgbotapi/types/chat/User;Ldev/inmo/tgbotapi/types/TelegramDate;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; - public static synthetic fun promoteChatAdministrator$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/PublicChat;Ldev/inmo/tgbotapi/types/IdChatIdentifier;Ldev/inmo/tgbotapi/types/TelegramDate;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; - public static synthetic fun promoteChatAdministrator$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/PublicChat;Ldev/inmo/tgbotapi/types/chat/User;Ldev/inmo/tgbotapi/types/TelegramDate;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static final fun promoteChatAdministrator (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/IdChatIdentifier;Ldev/inmo/tgbotapi/types/TelegramDate;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun promoteChatAdministrator (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/IdChatIdentifier;Ldev/inmo/tgbotapi/types/chat/User;Ldev/inmo/tgbotapi/types/TelegramDate;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun promoteChatAdministrator (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/PublicChat;Ldev/inmo/tgbotapi/types/IdChatIdentifier;Ldev/inmo/tgbotapi/types/TelegramDate;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun promoteChatAdministrator (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/PublicChat;Ldev/inmo/tgbotapi/types/chat/User;Ldev/inmo/tgbotapi/types/TelegramDate;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun promoteChatAdministrator$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/IdChatIdentifier;Ldev/inmo/tgbotapi/types/TelegramDate;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static synthetic fun promoteChatAdministrator$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/IdChatIdentifier;Ldev/inmo/tgbotapi/types/chat/User;Ldev/inmo/tgbotapi/types/TelegramDate;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static synthetic fun promoteChatAdministrator$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/PublicChat;Ldev/inmo/tgbotapi/types/IdChatIdentifier;Ldev/inmo/tgbotapi/types/TelegramDate;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static synthetic fun promoteChatAdministrator$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/PublicChat;Ldev/inmo/tgbotapi/types/chat/User;Ldev/inmo/tgbotapi/types/TelegramDate;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; } public final class dev/inmo/tgbotapi/extensions/api/chat/members/PromoteChatMemberKt { - public static final fun promoteChatMember (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/IdChatIdentifier;Ldev/inmo/tgbotapi/types/TelegramDate;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static final fun promoteChatMember (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/IdChatIdentifier;Ldev/inmo/tgbotapi/types/chat/User;Ldev/inmo/tgbotapi/types/TelegramDate;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static final fun promoteChatMember (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/PublicChat;Ldev/inmo/tgbotapi/types/IdChatIdentifier;Ldev/inmo/tgbotapi/types/TelegramDate;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static final fun promoteChatMember (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/PublicChat;Ldev/inmo/tgbotapi/types/chat/User;Ldev/inmo/tgbotapi/types/TelegramDate;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static synthetic fun promoteChatMember$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/IdChatIdentifier;Ldev/inmo/tgbotapi/types/TelegramDate;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; - public static synthetic fun promoteChatMember$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/IdChatIdentifier;Ldev/inmo/tgbotapi/types/chat/User;Ldev/inmo/tgbotapi/types/TelegramDate;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; - public static synthetic fun promoteChatMember$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/PublicChat;Ldev/inmo/tgbotapi/types/IdChatIdentifier;Ldev/inmo/tgbotapi/types/TelegramDate;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; - public static synthetic fun promoteChatMember$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/PublicChat;Ldev/inmo/tgbotapi/types/chat/User;Ldev/inmo/tgbotapi/types/TelegramDate;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static final fun promoteChatMember (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/IdChatIdentifier;Ldev/inmo/tgbotapi/types/TelegramDate;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun promoteChatMember (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/IdChatIdentifier;Ldev/inmo/tgbotapi/types/chat/User;Ldev/inmo/tgbotapi/types/TelegramDate;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun promoteChatMember (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/PublicChat;Ldev/inmo/tgbotapi/types/IdChatIdentifier;Ldev/inmo/tgbotapi/types/TelegramDate;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun promoteChatMember (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/PublicChat;Ldev/inmo/tgbotapi/types/chat/User;Ldev/inmo/tgbotapi/types/TelegramDate;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun promoteChatMember$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/IdChatIdentifier;Ldev/inmo/tgbotapi/types/TelegramDate;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static synthetic fun promoteChatMember$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/IdChatIdentifier;Ldev/inmo/tgbotapi/types/chat/User;Ldev/inmo/tgbotapi/types/TelegramDate;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static synthetic fun promoteChatMember$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/PublicChat;Ldev/inmo/tgbotapi/types/IdChatIdentifier;Ldev/inmo/tgbotapi/types/TelegramDate;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static synthetic fun promoteChatMember$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/PublicChat;Ldev/inmo/tgbotapi/types/chat/User;Ldev/inmo/tgbotapi/types/TelegramDate;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; } public final class dev/inmo/tgbotapi/extensions/api/chat/members/PromoteSupergroupAdministratorKt { @@ -757,6 +757,17 @@ public final class dev/inmo/tgbotapi/extensions/api/chat/members/SetChatAdminist public static final fun setChatAdministratorCustomTitle (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/PublicChat;Ldev/inmo/tgbotapi/types/chat/User;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; } +public final class dev/inmo/tgbotapi/extensions/api/chat/members/SetChatMemberTagKt { + public static final fun setChatMemberTag-IPSxYbI (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/IdChatIdentifier;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun setChatMemberTag-IPSxYbI (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/chat/User;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun setChatMemberTag-IPSxYbI (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/PublicChat;Ldev/inmo/tgbotapi/types/IdChatIdentifier;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun setChatMemberTag-IPSxYbI (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/PublicChat;Ldev/inmo/tgbotapi/types/chat/User;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun setChatMemberTag-IPSxYbI$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/IdChatIdentifier;Ljava/lang/String;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static synthetic fun setChatMemberTag-IPSxYbI$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/chat/User;Ljava/lang/String;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static synthetic fun setChatMemberTag-IPSxYbI$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/PublicChat;Ldev/inmo/tgbotapi/types/IdChatIdentifier;Ljava/lang/String;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static synthetic fun setChatMemberTag-IPSxYbI$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/PublicChat;Ldev/inmo/tgbotapi/types/chat/User;Ljava/lang/String;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; +} + public final class dev/inmo/tgbotapi/extensions/api/chat/members/UnbanChatMemberKt { public static final fun unbanChatMember (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/IdChatIdentifier;Ljava/lang/Boolean;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static final fun unbanChatMember (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/IdChatIdentifier;Ldev/inmo/tgbotapi/types/chat/User;Ljava/lang/Boolean;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; diff --git a/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/chat/members/PromoteChatAdministrator.kt b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/chat/members/PromoteChatAdministrator.kt index b728a9190c..8f54e63ed4 100644 --- a/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/chat/members/PromoteChatAdministrator.kt +++ b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/chat/members/PromoteChatAdministrator.kt @@ -21,19 +21,21 @@ public suspend fun TelegramBot.promoteChatAdministrator( canPromoteMembers: Boolean? = null, canManageVideoChats: Boolean? = null, canManageChat: Boolean? = null, + canManageTags: Boolean? = null, ): Boolean = execute( PromoteChatMember( - chatId, - userId, - untilDate, - isAnonymous, - canChangeInfo, - canDeleteMessages, - canInviteUsers, - canRestrictMembers, - canPromoteMembers, - canManageVideoChats, - canManageChat + chatId = chatId, + userId = userId, + untilDate = untilDate, + isAnonymous = isAnonymous, + canChangeInfo = canChangeInfo, + canDeleteMessages = canDeleteMessages, + canInviteUsers = canInviteUsers, + canRestrictMembers = canRestrictMembers, + canPromoteMembers = canPromoteMembers, + canManageVideoChats = canManageVideoChats, + canManageChat = canManageChat, + canManageTags = canManageTags ) ) @@ -49,18 +51,20 @@ public suspend fun TelegramBot.promoteChatAdministrator( canPromoteMembers: Boolean? = null, canManageVideoChats: Boolean? = null, canManageChat: Boolean? = null, + canManageTags: Boolean? = null, ): Boolean = promoteChatAdministrator( - chat.id, - userId, - untilDate, - isAnonymous, - canChangeInfo, - canDeleteMessages, - canInviteUsers, - canRestrictMembers, - canPromoteMembers, - canManageVideoChats, - canManageChat + chatId = chat.id, + userId = userId, + untilDate = untilDate, + isAnonymous = isAnonymous, + canChangeInfo = canChangeInfo, + canDeleteMessages = canDeleteMessages, + canInviteUsers = canInviteUsers, + canRestrictMembers = canRestrictMembers, + canPromoteMembers = canPromoteMembers, + canManageVideoChats = canManageVideoChats, + canManageChat = canManageChat, + canManageTags = canManageTags ) public suspend fun TelegramBot.promoteChatAdministrator( @@ -75,18 +79,20 @@ public suspend fun TelegramBot.promoteChatAdministrator( canPromoteMembers: Boolean? = null, canManageVideoChats: Boolean? = null, canManageChat: Boolean? = null, + canManageTags: Boolean? = null, ): Boolean = promoteChatAdministrator( - chatId, - user.id, - untilDate, - isAnonymous, - canChangeInfo, - canDeleteMessages, - canInviteUsers, - canRestrictMembers, - canPromoteMembers, - canManageVideoChats, - canManageChat + chatId = chatId, + userId = user.id, + untilDate = untilDate, + isAnonymous = isAnonymous, + canChangeInfo = canChangeInfo, + canDeleteMessages = canDeleteMessages, + canInviteUsers = canInviteUsers, + canRestrictMembers = canRestrictMembers, + canPromoteMembers = canPromoteMembers, + canManageVideoChats = canManageVideoChats, + canManageChat = canManageChat, + canManageTags = canManageTags ) public suspend fun TelegramBot.promoteChatAdministrator( @@ -101,16 +107,18 @@ public suspend fun TelegramBot.promoteChatAdministrator( canPromoteMembers: Boolean? = null, canManageVideoChats: Boolean? = null, canManageChat: Boolean? = null, + canManageTags: Boolean? = null, ): Boolean = promoteChatAdministrator( - chat.id, - user.id, - untilDate, - isAnonymous, - canChangeInfo, - canDeleteMessages, - canInviteUsers, - canRestrictMembers, - canPromoteMembers, - canManageVideoChats, - canManageChat + chatId = chat.id, + userId = user.id, + untilDate = untilDate, + isAnonymous = isAnonymous, + canChangeInfo = canChangeInfo, + canDeleteMessages = canDeleteMessages, + canInviteUsers = canInviteUsers, + canRestrictMembers = canRestrictMembers, + canPromoteMembers = canPromoteMembers, + canManageVideoChats = canManageVideoChats, + canManageChat = canManageChat, + canManageTags = canManageTags ) diff --git a/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/chat/members/PromoteChatMember.kt b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/chat/members/PromoteChatMember.kt index 3fa5cea47d..133c6c3c09 100644 --- a/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/chat/members/PromoteChatMember.kt +++ b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/chat/members/PromoteChatMember.kt @@ -27,7 +27,8 @@ public suspend fun TelegramBot.promoteChatMember( canPostStories: Boolean? = null, canEditStories: Boolean? = null, canDeleteStories: Boolean? = null, - canManageDirectMessages: Boolean? = null + canManageDirectMessages: Boolean? = null, + canManageTags: Boolean? = null ): Boolean = execute( PromoteChatMember( chatId = chatId, @@ -49,6 +50,7 @@ public suspend fun TelegramBot.promoteChatMember( canEditStories = canEditStories, canDeleteStories = canDeleteStories, canManageDirectMessages = canManageDirectMessages, + canManageTags = canManageTags, ) ) @@ -72,7 +74,8 @@ public suspend fun TelegramBot.promoteChatMember( canPostStories: Boolean? = null, canEditStories: Boolean? = null, canDeleteStories: Boolean? = null, - canManageDirectMessages: Boolean? = null + canManageDirectMessages: Boolean? = null, + canManageTags: Boolean? = null ): Boolean = promoteChatMember( chat.id, userId, @@ -93,6 +96,7 @@ public suspend fun TelegramBot.promoteChatMember( canEditStories = canEditStories, canDeleteStories = canDeleteStories, canManageDirectMessages = canManageDirectMessages, + canManageTags = canManageTags, ) @Warning("This method is too common. Use it with caution") @@ -115,7 +119,8 @@ public suspend fun TelegramBot.promoteChatMember( canPostStories: Boolean? = null, canEditStories: Boolean? = null, canDeleteStories: Boolean? = null, - canManageDirectMessages: Boolean? = null + canManageDirectMessages: Boolean? = null, + canManageTags: Boolean? = null ): Boolean = promoteChatMember( chatId, user.id, @@ -136,6 +141,7 @@ public suspend fun TelegramBot.promoteChatMember( canEditStories = canEditStories, canDeleteStories = canDeleteStories, canManageDirectMessages = canManageDirectMessages, + canManageTags = canManageTags, ) @Warning("This method is too common. Use it with caution") @@ -158,7 +164,8 @@ public suspend fun TelegramBot.promoteChatMember( canPostStories: Boolean? = null, canEditStories: Boolean? = null, canDeleteStories: Boolean? = null, - canManageDirectMessages: Boolean? = null + canManageDirectMessages: Boolean? = null, + canManageTags: Boolean? = null ): Boolean = promoteChatMember( chat.id, user.id, @@ -179,4 +186,5 @@ public suspend fun TelegramBot.promoteChatMember( canEditStories = canEditStories, canDeleteStories = canDeleteStories, canManageDirectMessages = canManageDirectMessages, + canManageTags = canManageTags, ) diff --git a/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/chat/members/SetChatMemberTag.kt b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/chat/members/SetChatMemberTag.kt new file mode 100644 index 0000000000..ee954d435b --- /dev/null +++ b/tgbotapi.api/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/api/chat/members/SetChatMemberTag.kt @@ -0,0 +1,31 @@ +package dev.inmo.tgbotapi.extensions.api.chat.members + +import dev.inmo.tgbotapi.bot.TelegramBot +import dev.inmo.tgbotapi.requests.chat.members.SetChatMemberTag +import dev.inmo.tgbotapi.types.* +import dev.inmo.tgbotapi.types.chat.PublicChat +import dev.inmo.tgbotapi.types.chat.User + +public suspend fun TelegramBot.setChatMemberTag( + chatId: ChatIdentifier, + userId: UserId, + tag: UserTag? = null +): Unit = execute(SetChatMemberTag(chatId, userId, tag)) + +public suspend fun TelegramBot.setChatMemberTag( + chat: PublicChat, + userId: UserId, + tag: UserTag? = null +): Unit = setChatMemberTag(chat.id, userId, tag) + +public suspend fun TelegramBot.setChatMemberTag( + chatId: ChatIdentifier, + user: User, + tag: UserTag? = null +): Unit = setChatMemberTag(chatId, user.id, tag) + +public suspend fun TelegramBot.setChatMemberTag( + chat: PublicChat, + user: User, + tag: UserTag? = null +): Unit = setChatMemberTag(chat.id, user.id, tag) diff --git a/tgbotapi.core/api/tgbotapi.core.api b/tgbotapi.core/api/tgbotapi.core.api index 9a526572b9..bc01535313 100644 --- a/tgbotapi.core/api/tgbotapi.core.api +++ b/tgbotapi.core/api/tgbotapi.core.api @@ -92,6 +92,10 @@ public final class dev/inmo/tgbotapi/abstracts/OptionallyFromUser$DefaultImpls { public static fun getUser (Ldev/inmo/tgbotapi/abstracts/OptionallyFromUser;)Ldev/inmo/tgbotapi/types/chat/User; } +public abstract interface class dev/inmo/tgbotapi/abstracts/OptionallyTagged { + public abstract fun getTag-AVO4CDE ()Ljava/lang/String; +} + public abstract interface class dev/inmo/tgbotapi/abstracts/OptionallyWithUser { public abstract fun getUser ()Ldev/inmo/tgbotapi/types/chat/User; } @@ -3784,13 +3788,13 @@ public final class dev/inmo/tgbotapi/requests/chat/members/GetChatMember$Compani public final class dev/inmo/tgbotapi/requests/chat/members/PromoteChatMember : dev/inmo/tgbotapi/abstracts/types/UntilDate, dev/inmo/tgbotapi/requests/chat/abstracts/ChatMemberRequest { public static final field Companion Ldev/inmo/tgbotapi/requests/chat/members/PromoteChatMember$Companion; - public fun (Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/IdChatIdentifier;Ldev/inmo/tgbotapi/types/TelegramDate;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;)V - public synthetic fun (Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/IdChatIdentifier;Ldev/inmo/tgbotapi/types/TelegramDate;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public fun (Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/IdChatIdentifier;Ldev/inmo/tgbotapi/types/TelegramDate;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;)V + public synthetic fun (Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/IdChatIdentifier;Ldev/inmo/tgbotapi/types/TelegramDate;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;ILkotlin/jvm/internal/DefaultConstructorMarker;)V public final fun component1 ()Ldev/inmo/tgbotapi/types/ChatIdentifier; public final fun component2 ()Ldev/inmo/tgbotapi/types/IdChatIdentifier; public final fun component3 ()Ldev/inmo/tgbotapi/types/TelegramDate; - public final fun copy (Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/IdChatIdentifier;Ldev/inmo/tgbotapi/types/TelegramDate;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;)Ldev/inmo/tgbotapi/requests/chat/members/PromoteChatMember; - public static synthetic fun copy$default (Ldev/inmo/tgbotapi/requests/chat/members/PromoteChatMember;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/IdChatIdentifier;Ldev/inmo/tgbotapi/types/TelegramDate;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;ILjava/lang/Object;)Ldev/inmo/tgbotapi/requests/chat/members/PromoteChatMember; + public final fun copy (Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/IdChatIdentifier;Ldev/inmo/tgbotapi/types/TelegramDate;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;)Ldev/inmo/tgbotapi/requests/chat/members/PromoteChatMember; + public static synthetic fun copy$default (Ldev/inmo/tgbotapi/requests/chat/members/PromoteChatMember;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/IdChatIdentifier;Ldev/inmo/tgbotapi/types/TelegramDate;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;ILjava/lang/Object;)Ldev/inmo/tgbotapi/requests/chat/members/PromoteChatMember; public fun equals (Ljava/lang/Object;)Z public fun getChatId ()Ldev/inmo/tgbotapi/types/ChatIdentifier; public fun getRequestSerializer ()Lkotlinx/serialization/SerializationStrategy; @@ -3820,10 +3824,10 @@ public final class dev/inmo/tgbotapi/requests/chat/members/PromoteChatMember$Com public final class dev/inmo/tgbotapi/requests/chat/members/PromoteChatMemberKt { public static final fun PromoteChannelAdministrator (Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/IdChatIdentifier;Ldev/inmo/tgbotapi/types/TelegramDate;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;)Ldev/inmo/tgbotapi/requests/chat/members/PromoteChatMember; public static synthetic fun PromoteChannelAdministrator$default (Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/IdChatIdentifier;Ldev/inmo/tgbotapi/types/TelegramDate;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;ILjava/lang/Object;)Ldev/inmo/tgbotapi/requests/chat/members/PromoteChatMember; - public static final fun PromoteChatMember (Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/IdChatIdentifier;Ldev/inmo/tgbotapi/types/TelegramDate;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;)Ldev/inmo/tgbotapi/requests/chat/members/PromoteChatMember; - public static synthetic fun PromoteChatMember$default (Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/IdChatIdentifier;Ldev/inmo/tgbotapi/types/TelegramDate;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;ILjava/lang/Object;)Ldev/inmo/tgbotapi/requests/chat/members/PromoteChatMember; - public static final fun PromoteSupergroupAdministrator (Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/IdChatIdentifier;Ldev/inmo/tgbotapi/types/TelegramDate;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;)Ldev/inmo/tgbotapi/requests/chat/members/PromoteChatMember; - public static synthetic fun PromoteSupergroupAdministrator$default (Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/IdChatIdentifier;Ldev/inmo/tgbotapi/types/TelegramDate;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;ILjava/lang/Object;)Ldev/inmo/tgbotapi/requests/chat/members/PromoteChatMember; + public static final fun PromoteChatMember (Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/IdChatIdentifier;Ldev/inmo/tgbotapi/types/TelegramDate;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;)Ldev/inmo/tgbotapi/requests/chat/members/PromoteChatMember; + public static synthetic fun PromoteChatMember$default (Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/IdChatIdentifier;Ldev/inmo/tgbotapi/types/TelegramDate;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;ILjava/lang/Object;)Ldev/inmo/tgbotapi/requests/chat/members/PromoteChatMember; + public static final fun PromoteSupergroupAdministrator (Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/IdChatIdentifier;Ldev/inmo/tgbotapi/types/TelegramDate;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;)Ldev/inmo/tgbotapi/requests/chat/members/PromoteChatMember; + public static synthetic fun PromoteSupergroupAdministrator$default (Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/IdChatIdentifier;Ldev/inmo/tgbotapi/types/TelegramDate;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;ILjava/lang/Object;)Ldev/inmo/tgbotapi/requests/chat/members/PromoteChatMember; } public final class dev/inmo/tgbotapi/requests/chat/members/RestrictChatMember : dev/inmo/tgbotapi/abstracts/types/UntilDate, dev/inmo/tgbotapi/requests/chat/abstracts/ChatMemberRequest { @@ -3899,6 +3903,41 @@ public final class dev/inmo/tgbotapi/requests/chat/members/SetChatAdministratorC public final fun serializer ()Lkotlinx/serialization/KSerializer; } +public final class dev/inmo/tgbotapi/requests/chat/members/SetChatMemberTag : dev/inmo/tgbotapi/requests/chat/abstracts/ChatMemberRequest { + public static final field Companion Ldev/inmo/tgbotapi/requests/chat/members/SetChatMemberTag$Companion; + public synthetic fun (Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/IdChatIdentifier;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public synthetic fun (Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/IdChatIdentifier;Ljava/lang/String;Lkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ldev/inmo/tgbotapi/types/ChatIdentifier; + public final fun component2 ()Ldev/inmo/tgbotapi/types/IdChatIdentifier; + public final fun component3-AVO4CDE ()Ljava/lang/String; + public final fun copy-XLDAstM (Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/IdChatIdentifier;Ljava/lang/String;)Ldev/inmo/tgbotapi/requests/chat/members/SetChatMemberTag; + public static synthetic fun copy-XLDAstM$default (Ldev/inmo/tgbotapi/requests/chat/members/SetChatMemberTag;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/IdChatIdentifier;Ljava/lang/String;ILjava/lang/Object;)Ldev/inmo/tgbotapi/requests/chat/members/SetChatMemberTag; + public fun equals (Ljava/lang/Object;)Z + public fun getChatId ()Ldev/inmo/tgbotapi/types/ChatIdentifier; + public fun getRequestSerializer ()Lkotlinx/serialization/SerializationStrategy; + public fun getResultDeserializer ()Lkotlinx/serialization/DeserializationStrategy; + public final fun getTag-AVO4CDE ()Ljava/lang/String; + public fun getUserId ()Ldev/inmo/tgbotapi/types/IdChatIdentifier; + public fun hashCode ()I + public fun method ()Ljava/lang/String; + public fun toString ()Ljava/lang/String; +} + +public final synthetic class dev/inmo/tgbotapi/requests/chat/members/SetChatMemberTag$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/requests/chat/members/SetChatMemberTag$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/requests/chat/members/SetChatMemberTag; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Ldev/inmo/tgbotapi/requests/chat/members/SetChatMemberTag;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/requests/chat/members/SetChatMemberTag$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + public final class dev/inmo/tgbotapi/requests/chat/members/UnbanChatMember : dev/inmo/tgbotapi/requests/chat/abstracts/ChatMemberRequest { public static final field Companion Ldev/inmo/tgbotapi/requests/chat/members/UnbanChatMember$Companion; public fun (Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/IdChatIdentifier;Ljava/lang/Boolean;)V @@ -10395,12 +10434,14 @@ public final class dev/inmo/tgbotapi/types/CommonKt { public static final field canEditNameField Ljava/lang/String; public static final field canEditProfilePhotoField Ljava/lang/String; public static final field canEditStoriesField Ljava/lang/String; + public static final field canEditTagField Ljava/lang/String; public static final field canEditUsernameField Ljava/lang/String; public static final field canInviteUsersField Ljava/lang/String; public static final field canJoinGroupsField Ljava/lang/String; public static final field canManageChatField Ljava/lang/String; public static final field canManageDirectMessagesField Ljava/lang/String; public static final field canManageStoriesField Ljava/lang/String; + public static final field canManageTagsField Ljava/lang/String; public static final field canManageTopicsField Ljava/lang/String; public static final field canManageVideoChatsField Ljava/lang/String; public static final field canManageVoiceChatsField Ljava/lang/String; @@ -10830,6 +10871,7 @@ public final class dev/inmo/tgbotapi/types/CommonKt { public static final field sendDateField Ljava/lang/String; public static final field senderChatField Ljava/lang/String; public static final field senderChatIdField Ljava/lang/String; + public static final field senderTagField Ljava/lang/String; public static final field senderUserField Ljava/lang/String; public static final field senderUserNameField Ljava/lang/String; public static final field shippingAddressField Ljava/lang/String; @@ -10883,6 +10925,7 @@ public final class dev/inmo/tgbotapi/types/CommonKt { public static final field symbolColorField Ljava/lang/String; public static final field symbolCustomEmojiIdField Ljava/lang/String; public static final field symbolField Ljava/lang/String; + public static final field tagField Ljava/lang/String; public static final field tasksField Ljava/lang/String; public static final field telegramPaymentChargeIdField Ljava/lang/String; public static final field temperatureField Ljava/lang/String; @@ -11006,6 +11049,7 @@ public final class dev/inmo/tgbotapi/types/CommonKt { public static final fun getKeywordsInStickerLimit ()Lkotlin/ranges/IntRange; public static final fun getLivePeriodLimit ()Lkotlin/ranges/IntRange; public static final fun getMediaCountInMediaGroup ()Lkotlin/ranges/IntRange; + public static final fun getMemberTagLength ()Lkotlin/ranges/IntRange; public static final fun getMembersLimit ()Lkotlin/ranges/IntRange; public static final fun getOpenPeriodPollSecondsLimit ()Lkotlin/ranges/IntRange; public static final fun getPollOptionTextLength ()Lkotlin/ranges/IntRange; @@ -11090,6 +11134,89 @@ public final class dev/inmo/tgbotapi/types/CustomEmojiId$Companion { public final fun serializer ()Lkotlinx/serialization/KSerializer; } +public abstract interface class dev/inmo/tgbotapi/types/DateTimeFormatPart { + public static final field Companion Ldev/inmo/tgbotapi/types/DateTimeFormatPart$Companion; + public abstract fun getControlCharacter ()Ljava/lang/String; +} + +public final class dev/inmo/tgbotapi/types/DateTimeFormatPart$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public abstract interface class dev/inmo/tgbotapi/types/DateTimeFormatPart$Date : dev/inmo/tgbotapi/types/DateTimeFormatPart { + public static final field Companion Ldev/inmo/tgbotapi/types/DateTimeFormatPart$Date$Companion; +} + +public final class dev/inmo/tgbotapi/types/DateTimeFormatPart$Date$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/DateTimeFormatPart$Date$Long : dev/inmo/tgbotapi/types/DateTimeFormatPart$Date { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/DateTimeFormatPart$Date$Long; + public fun equals (Ljava/lang/Object;)Z + public fun getControlCharacter ()Ljava/lang/String; + public fun hashCode ()I + public final fun serializer ()Lkotlinx/serialization/KSerializer; + public fun toString ()Ljava/lang/String; +} + +public final class dev/inmo/tgbotapi/types/DateTimeFormatPart$Date$Short : dev/inmo/tgbotapi/types/DateTimeFormatPart$Date { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/DateTimeFormatPart$Date$Short; + public fun equals (Ljava/lang/Object;)Z + public fun getControlCharacter ()Ljava/lang/String; + public fun hashCode ()I + public final fun serializer ()Lkotlinx/serialization/KSerializer; + public fun toString ()Ljava/lang/String; +} + +public final class dev/inmo/tgbotapi/types/DateTimeFormatPart$Relative : dev/inmo/tgbotapi/types/DateTimeFormatPart { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/DateTimeFormatPart$Relative; + public fun equals (Ljava/lang/Object;)Z + public fun getControlCharacter ()Ljava/lang/String; + public fun hashCode ()I + public final fun serializer ()Lkotlinx/serialization/KSerializer; + public fun toString ()Ljava/lang/String; +} + +public abstract interface class dev/inmo/tgbotapi/types/DateTimeFormatPart$Time : dev/inmo/tgbotapi/types/DateTimeFormatPart { + public static final field Companion Ldev/inmo/tgbotapi/types/DateTimeFormatPart$Time$Companion; +} + +public final class dev/inmo/tgbotapi/types/DateTimeFormatPart$Time$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/DateTimeFormatPart$Time$Long : dev/inmo/tgbotapi/types/DateTimeFormatPart$Time { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/DateTimeFormatPart$Time$Long; + public fun equals (Ljava/lang/Object;)Z + public fun getControlCharacter ()Ljava/lang/String; + public fun hashCode ()I + public final fun serializer ()Lkotlinx/serialization/KSerializer; + public fun toString ()Ljava/lang/String; +} + +public final class dev/inmo/tgbotapi/types/DateTimeFormatPart$Time$Short : dev/inmo/tgbotapi/types/DateTimeFormatPart$Time { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/DateTimeFormatPart$Time$Short; + public fun equals (Ljava/lang/Object;)Z + public fun getControlCharacter ()Ljava/lang/String; + public fun hashCode ()I + public final fun serializer ()Lkotlinx/serialization/KSerializer; + public fun toString ()Ljava/lang/String; +} + +public final class dev/inmo/tgbotapi/types/DateTimeFormatPart$WeekDay : dev/inmo/tgbotapi/types/DateTimeFormatPart { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/DateTimeFormatPart$WeekDay; + public fun equals (Ljava/lang/Object;)Z + public fun getControlCharacter ()Ljava/lang/String; + public fun hashCode ()I + public final fun serializer ()Lkotlinx/serialization/KSerializer; + public fun toString ()Ljava/lang/String; +} + +public final class dev/inmo/tgbotapi/types/DateTimeFormatPartKt { + public static final fun buildDateTimeFormat (Lkotlin/jvm/functions/Function1;)Ljava/lang/String; +} + public final class dev/inmo/tgbotapi/types/DirectMessageThreadId { public static final field Companion Ldev/inmo/tgbotapi/types/DirectMessageThreadId$Companion; public static final synthetic fun box-impl (J)Ldev/inmo/tgbotapi/types/DirectMessageThreadId; @@ -14335,6 +14462,17 @@ public final class dev/inmo/tgbotapi/types/TextQuote$Companion { public final fun serializer ()Lkotlinx/serialization/KSerializer; } +public final class dev/inmo/tgbotapi/types/TgDateTimeFormatBuilder { + public fun ()V + public final fun build ()Ljava/lang/String; + public final fun dateLong ()Ldev/inmo/tgbotapi/types/TgDateTimeFormatBuilder; + public final fun dateShort ()Ldev/inmo/tgbotapi/types/TgDateTimeFormatBuilder; + public final fun relative ()Ldev/inmo/tgbotapi/types/TgDateTimeFormatBuilder; + public final fun timeLong ()Ldev/inmo/tgbotapi/types/TgDateTimeFormatBuilder; + public final fun timeShort ()Ldev/inmo/tgbotapi/types/TgDateTimeFormatBuilder; + public final fun weekDay ()Ldev/inmo/tgbotapi/types/TgDateTimeFormatBuilder; +} + public final class dev/inmo/tgbotapi/types/TgFileUniqueId { public static final field Companion Ldev/inmo/tgbotapi/types/TgFileUniqueId$Companion; public static final synthetic fun box-impl (Ljava/lang/String;)Ldev/inmo/tgbotapi/types/TgFileUniqueId; @@ -14500,6 +14638,36 @@ public final class dev/inmo/tgbotapi/types/UserProfilePhotosPhotosSerializer : k public fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/util/List;)V } +public final class dev/inmo/tgbotapi/types/UserTag { + public static final field Companion Ldev/inmo/tgbotapi/types/UserTag$Companion; + public static final synthetic fun box-impl (Ljava/lang/String;)Ldev/inmo/tgbotapi/types/UserTag; + public static fun constructor-impl (Ljava/lang/String;)Ljava/lang/String; + public fun equals (Ljava/lang/Object;)Z + public static fun equals-impl (Ljava/lang/String;Ljava/lang/Object;)Z + public static final fun equals-impl0 (Ljava/lang/String;Ljava/lang/String;)Z + public final fun getString ()Ljava/lang/String; + public fun hashCode ()I + public static fun hashCode-impl (Ljava/lang/String;)I + public fun toString ()Ljava/lang/String; + public static fun toString-impl (Ljava/lang/String;)Ljava/lang/String; + public final synthetic fun unbox-impl ()Ljava/lang/String; +} + +public final synthetic class dev/inmo/tgbotapi/types/UserTag$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/UserTag$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun deserialize-Al2hbCY (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/String; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public final fun serialize-Ko55Urg (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/String;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/UserTag$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + public final class dev/inmo/tgbotapi/types/Username : dev/inmo/tgbotapi/types/ChatIdentifier { public static final field Companion Ldev/inmo/tgbotapi/types/Username$Companion; public static final synthetic fun box-impl (Ljava/lang/String;)Ldev/inmo/tgbotapi/types/Username; @@ -17105,6 +17273,7 @@ public abstract interface class dev/inmo/tgbotapi/types/chat/ChatPermissions { public static synthetic fun copyGranular$default (Ldev/inmo/tgbotapi/types/chat/ChatPermissions;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/chat/ChatPermissions; public abstract fun getCanAddWebPagePreviews ()Ljava/lang/Boolean; public abstract fun getCanChangeInfo ()Ljava/lang/Boolean; + public abstract fun getCanEditTag ()Ljava/lang/Boolean; public abstract fun getCanInviteUsers ()Ljava/lang/Boolean; public abstract fun getCanPinMessages ()Ljava/lang/Boolean; public abstract fun getCanSendAudios ()Ljava/lang/Boolean; @@ -17124,21 +17293,23 @@ public abstract interface class dev/inmo/tgbotapi/types/chat/ChatPermissions { public final class dev/inmo/tgbotapi/types/chat/ChatPermissions$Common : dev/inmo/tgbotapi/types/chat/ChatPermissions { public static final field Companion Ldev/inmo/tgbotapi/types/chat/ChatPermissions$Common$Companion; public fun ()V - public fun (Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;)V - public synthetic fun (Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public fun (Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Z)V + public synthetic fun (Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;ZILkotlin/jvm/internal/DefaultConstructorMarker;)V public final fun component1 ()Ljava/lang/Boolean; public final fun component2 ()Ljava/lang/Boolean; public final fun component3 ()Ljava/lang/Boolean; public final fun component4 ()Ljava/lang/Boolean; public final fun component5 ()Ljava/lang/Boolean; public final fun component6 ()Ljava/lang/Boolean; - public final fun copy (Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;)Ldev/inmo/tgbotapi/types/chat/ChatPermissions$Common; - public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/chat/ChatPermissions$Common;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/chat/ChatPermissions$Common; + public final fun component7 ()Z + public final fun copy (Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Z)Ldev/inmo/tgbotapi/types/chat/ChatPermissions$Common; + public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/chat/ChatPermissions$Common;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;ZILjava/lang/Object;)Ldev/inmo/tgbotapi/types/chat/ChatPermissions$Common; public fun copyCommon (Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;)Ldev/inmo/tgbotapi/types/chat/ChatPermissions; public fun copyGranular (Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;)Ldev/inmo/tgbotapi/types/chat/ChatPermissions; public fun equals (Ljava/lang/Object;)Z public fun getCanAddWebPagePreviews ()Ljava/lang/Boolean; public fun getCanChangeInfo ()Ljava/lang/Boolean; + public fun getCanEditTag ()Ljava/lang/Boolean; public fun getCanInviteUsers ()Ljava/lang/Boolean; public fun getCanPinMessages ()Ljava/lang/Boolean; public fun getCanSendAudios ()Ljava/lang/Boolean; @@ -17196,13 +17367,14 @@ public final class dev/inmo/tgbotapi/types/chat/ChatPermissions$DefaultImpls { public final class dev/inmo/tgbotapi/types/chat/ChatPermissions$Granular : dev/inmo/tgbotapi/types/chat/ChatPermissions { public static final field Companion Ldev/inmo/tgbotapi/types/chat/ChatPermissions$Granular$Companion; public fun ()V - public fun (Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;)V - public synthetic fun (Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public fun (Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Z)V + public synthetic fun (Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;ZILkotlin/jvm/internal/DefaultConstructorMarker;)V public final fun component1 ()Ljava/lang/Boolean; public final fun component10 ()Ljava/lang/Boolean; public final fun component11 ()Ljava/lang/Boolean; public final fun component12 ()Ljava/lang/Boolean; public final fun component13 ()Ljava/lang/Boolean; + public final fun component14 ()Z public final fun component2 ()Ljava/lang/Boolean; public final fun component3 ()Ljava/lang/Boolean; public final fun component4 ()Ljava/lang/Boolean; @@ -17211,13 +17383,14 @@ public final class dev/inmo/tgbotapi/types/chat/ChatPermissions$Granular : dev/i public final fun component7 ()Ljava/lang/Boolean; public final fun component8 ()Ljava/lang/Boolean; public final fun component9 ()Ljava/lang/Boolean; - public final fun copy (Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;)Ldev/inmo/tgbotapi/types/chat/ChatPermissions$Granular; - public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/chat/ChatPermissions$Granular;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/chat/ChatPermissions$Granular; + public final fun copy (Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Z)Ldev/inmo/tgbotapi/types/chat/ChatPermissions$Granular; + public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/chat/ChatPermissions$Granular;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;ZILjava/lang/Object;)Ldev/inmo/tgbotapi/types/chat/ChatPermissions$Granular; public fun copyCommon (Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;)Ldev/inmo/tgbotapi/types/chat/ChatPermissions; public fun copyGranular (Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;)Ldev/inmo/tgbotapi/types/chat/ChatPermissions; public fun equals (Ljava/lang/Object;)Z public fun getCanAddWebPagePreviews ()Ljava/lang/Boolean; public fun getCanChangeInfo ()Ljava/lang/Boolean; + public fun getCanEditTag ()Ljava/lang/Boolean; public fun getCanInviteUsers ()Ljava/lang/Boolean; public fun getCanPinMessages ()Ljava/lang/Boolean; public fun getCanSendAudios ()Ljava/lang/Boolean; @@ -18953,8 +19126,8 @@ public final class dev/inmo/tgbotapi/types/chat/member/AdministratorChatMember$D public final class dev/inmo/tgbotapi/types/chat/member/AdministratorChatMemberImpl : dev/inmo/tgbotapi/types/chat/member/AdministratorChatMember { public static final field Companion Ldev/inmo/tgbotapi/types/chat/member/AdministratorChatMemberImpl$Companion; - public fun (Ldev/inmo/tgbotapi/types/chat/PreviewUser;ZZZZZZZZZZZZLjava/lang/String;ZZZZZ)V - public synthetic fun (Ldev/inmo/tgbotapi/types/chat/PreviewUser;ZZZZZZZZZZZZLjava/lang/String;ZZZZZILkotlin/jvm/internal/DefaultConstructorMarker;)V + public fun (Ldev/inmo/tgbotapi/types/chat/PreviewUser;ZZZZZZZZZZZZLjava/lang/String;ZZZZZZ)V + public synthetic fun (Ldev/inmo/tgbotapi/types/chat/PreviewUser;ZZZZZZZZZZZZLjava/lang/String;ZZZZZZILkotlin/jvm/internal/DefaultConstructorMarker;)V public final fun component1 ()Ldev/inmo/tgbotapi/types/chat/PreviewUser; public final fun component10 ()Z public final fun component11 ()Z @@ -18967,6 +19140,7 @@ public final class dev/inmo/tgbotapi/types/chat/member/AdministratorChatMemberIm public final fun component18 ()Z public final fun component19 ()Z public final fun component2 ()Z + public final fun component20 ()Z public final fun component3 ()Z public final fun component4 ()Z public final fun component5 ()Z @@ -18974,8 +19148,8 @@ public final class dev/inmo/tgbotapi/types/chat/member/AdministratorChatMemberIm public final fun component7 ()Z public final fun component8 ()Z public final fun component9 ()Z - public final fun copy (Ldev/inmo/tgbotapi/types/chat/PreviewUser;ZZZZZZZZZZZZLjava/lang/String;ZZZZZ)Ldev/inmo/tgbotapi/types/chat/member/AdministratorChatMemberImpl; - public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/chat/member/AdministratorChatMemberImpl;Ldev/inmo/tgbotapi/types/chat/PreviewUser;ZZZZZZZZZZZZLjava/lang/String;ZZZZZILjava/lang/Object;)Ldev/inmo/tgbotapi/types/chat/member/AdministratorChatMemberImpl; + public final fun copy (Ldev/inmo/tgbotapi/types/chat/PreviewUser;ZZZZZZZZZZZZLjava/lang/String;ZZZZZZ)Ldev/inmo/tgbotapi/types/chat/member/AdministratorChatMemberImpl; + public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/chat/member/AdministratorChatMemberImpl;Ldev/inmo/tgbotapi/types/chat/PreviewUser;ZZZZZZZZZZZZLjava/lang/String;ZZZZZZILjava/lang/Object;)Ldev/inmo/tgbotapi/types/chat/member/AdministratorChatMemberImpl; public fun equals (Ljava/lang/Object;)Z public fun getCanBeEdited ()Z public fun getCanChangeInfo ()Z @@ -18985,6 +19159,7 @@ public final class dev/inmo/tgbotapi/types/chat/member/AdministratorChatMemberIm public fun getCanInviteUsers ()Z public fun getCanManageChat ()Z public fun getCanManageDirectMessages ()Z + public fun getCanManageTags ()Z public fun getCanManageTopics ()Z public fun getCanManageVideoChats ()Z public fun getCanManageVoiceChats ()Z @@ -19034,6 +19209,7 @@ public abstract interface class dev/inmo/tgbotapi/types/chat/member/ChatAdminist public abstract fun getCanEditStories ()Z public abstract fun getCanManageChat ()Z public abstract fun getCanManageDirectMessages ()Z + public abstract fun getCanManageTags ()Z public abstract fun getCanManageVideoChats ()Z public abstract fun getCanPostMessages ()Z public abstract fun getCanPostStories ()Z @@ -19051,8 +19227,8 @@ public final class dev/inmo/tgbotapi/types/chat/member/ChatAdministratorRights$C public final class dev/inmo/tgbotapi/types/chat/member/ChatCommonAdministratorRights : dev/inmo/tgbotapi/types/chat/member/ChatAdministratorRights { public static final field Companion Ldev/inmo/tgbotapi/types/chat/member/ChatCommonAdministratorRights$Companion; public fun ()V - public fun (ZZZZZZZZZZZZZZZZ)V - public synthetic fun (ZZZZZZZZZZZZZZZZILkotlin/jvm/internal/DefaultConstructorMarker;)V + public fun (ZZZZZZZZZZZZZZZZZ)V + public synthetic fun (ZZZZZZZZZZZZZZZZZILkotlin/jvm/internal/DefaultConstructorMarker;)V public final fun component1 ()Z public final fun component10 ()Z public final fun component11 ()Z @@ -19061,6 +19237,7 @@ public final class dev/inmo/tgbotapi/types/chat/member/ChatCommonAdministratorRi public final fun component14 ()Z public final fun component15 ()Z public final fun component16 ()Z + public final fun component17 ()Z public final fun component2 ()Z public final fun component3 ()Z public final fun component4 ()Z @@ -19069,8 +19246,8 @@ public final class dev/inmo/tgbotapi/types/chat/member/ChatCommonAdministratorRi public final fun component7 ()Z public final fun component8 ()Z public final fun component9 ()Z - public final fun copy (ZZZZZZZZZZZZZZZZ)Ldev/inmo/tgbotapi/types/chat/member/ChatCommonAdministratorRights; - public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/chat/member/ChatCommonAdministratorRights;ZZZZZZZZZZZZZZZZILjava/lang/Object;)Ldev/inmo/tgbotapi/types/chat/member/ChatCommonAdministratorRights; + public final fun copy (ZZZZZZZZZZZZZZZZZ)Ldev/inmo/tgbotapi/types/chat/member/ChatCommonAdministratorRights; + public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/chat/member/ChatCommonAdministratorRights;ZZZZZZZZZZZZZZZZZILjava/lang/Object;)Ldev/inmo/tgbotapi/types/chat/member/ChatCommonAdministratorRights; public fun equals (Ljava/lang/Object;)Z public fun getCanChangeInfo ()Z public fun getCanDeleteStories ()Z @@ -19079,6 +19256,7 @@ public final class dev/inmo/tgbotapi/types/chat/member/ChatCommonAdministratorRi public fun getCanInviteUsers ()Z public fun getCanManageChat ()Z public fun getCanManageDirectMessages ()Z + public fun getCanManageTags ()Z public fun getCanManageTopics ()Z public fun getCanManageVideoChats ()Z public fun getCanPinMessages ()Z @@ -19202,14 +19380,16 @@ public final class dev/inmo/tgbotapi/types/chat/member/ChatMemberUpdated$Compani public final class dev/inmo/tgbotapi/types/chat/member/KickedChatMember : dev/inmo/tgbotapi/types/chat/member/RestrictedChatMember { public static final field Companion Ldev/inmo/tgbotapi/types/chat/member/KickedChatMember$Companion; - public fun (Ldev/inmo/tgbotapi/types/chat/PreviewUser;Ldev/inmo/tgbotapi/types/TelegramDate;)V - public synthetic fun (Ldev/inmo/tgbotapi/types/chat/PreviewUser;Ldev/inmo/tgbotapi/types/TelegramDate;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public synthetic fun (Ldev/inmo/tgbotapi/types/chat/PreviewUser;Ldev/inmo/tgbotapi/types/TelegramDate;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public synthetic fun (Ldev/inmo/tgbotapi/types/chat/PreviewUser;Ldev/inmo/tgbotapi/types/TelegramDate;Ljava/lang/String;Lkotlin/jvm/internal/DefaultConstructorMarker;)V public final fun component1 ()Ldev/inmo/tgbotapi/types/chat/PreviewUser; public final fun component2 ()Ldev/inmo/tgbotapi/types/TelegramDate; - public final fun copy (Ldev/inmo/tgbotapi/types/chat/PreviewUser;Ldev/inmo/tgbotapi/types/TelegramDate;)Ldev/inmo/tgbotapi/types/chat/member/KickedChatMember; - public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/chat/member/KickedChatMember;Ldev/inmo/tgbotapi/types/chat/PreviewUser;Ldev/inmo/tgbotapi/types/TelegramDate;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/chat/member/KickedChatMember; + public final fun component3-AVO4CDE ()Ljava/lang/String; + public final fun copy-XLDAstM (Ldev/inmo/tgbotapi/types/chat/PreviewUser;Ldev/inmo/tgbotapi/types/TelegramDate;Ljava/lang/String;)Ldev/inmo/tgbotapi/types/chat/member/KickedChatMember; + public static synthetic fun copy-XLDAstM$default (Ldev/inmo/tgbotapi/types/chat/member/KickedChatMember;Ldev/inmo/tgbotapi/types/chat/PreviewUser;Ldev/inmo/tgbotapi/types/TelegramDate;Ljava/lang/String;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/chat/member/KickedChatMember; public fun equals (Ljava/lang/Object;)Z public fun getStatus ()Ldev/inmo/tgbotapi/types/chat/member/ChatMember$Status; + public fun getTag-AVO4CDE ()Ljava/lang/String; public fun getUntilDate ()Ldev/inmo/tgbotapi/types/TelegramDate; public fun getUser ()Ldev/inmo/tgbotapi/types/chat/PreviewUser; public synthetic fun getUser ()Ldev/inmo/tgbotapi/types/chat/User; @@ -19269,7 +19449,7 @@ public final class dev/inmo/tgbotapi/types/chat/member/LeftChatMemberImpl$Compan public final fun serializer ()Lkotlinx/serialization/KSerializer; } -public abstract interface class dev/inmo/tgbotapi/types/chat/member/MemberChatMember : dev/inmo/tgbotapi/types/chat/member/ChatMember { +public abstract interface class dev/inmo/tgbotapi/types/chat/member/MemberChatMember : dev/inmo/tgbotapi/abstracts/OptionallyTagged, dev/inmo/tgbotapi/types/chat/member/ChatMember { public static final field Companion Ldev/inmo/tgbotapi/types/chat/member/MemberChatMember$Companion; } @@ -19279,12 +19459,15 @@ public final class dev/inmo/tgbotapi/types/chat/member/MemberChatMember$Companio public final class dev/inmo/tgbotapi/types/chat/member/MemberChatMemberImpl : dev/inmo/tgbotapi/types/chat/member/MemberChatMember { public static final field Companion Ldev/inmo/tgbotapi/types/chat/member/MemberChatMemberImpl$Companion; - public fun (Ldev/inmo/tgbotapi/types/chat/PreviewUser;)V + public synthetic fun (Ldev/inmo/tgbotapi/types/chat/PreviewUser;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public synthetic fun (Ldev/inmo/tgbotapi/types/chat/PreviewUser;Ljava/lang/String;Lkotlin/jvm/internal/DefaultConstructorMarker;)V public final fun component1 ()Ldev/inmo/tgbotapi/types/chat/PreviewUser; - public final fun copy (Ldev/inmo/tgbotapi/types/chat/PreviewUser;)Ldev/inmo/tgbotapi/types/chat/member/MemberChatMemberImpl; - public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/chat/member/MemberChatMemberImpl;Ldev/inmo/tgbotapi/types/chat/PreviewUser;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/chat/member/MemberChatMemberImpl; + public final fun component2-AVO4CDE ()Ljava/lang/String; + public final fun copy-YRaHl8Q (Ldev/inmo/tgbotapi/types/chat/PreviewUser;Ljava/lang/String;)Ldev/inmo/tgbotapi/types/chat/member/MemberChatMemberImpl; + public static synthetic fun copy-YRaHl8Q$default (Ldev/inmo/tgbotapi/types/chat/member/MemberChatMemberImpl;Ldev/inmo/tgbotapi/types/chat/PreviewUser;Ljava/lang/String;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/chat/member/MemberChatMemberImpl; public fun equals (Ljava/lang/Object;)Z public fun getStatus ()Ldev/inmo/tgbotapi/types/chat/member/ChatMember$Status; + public fun getTag-AVO4CDE ()Ljava/lang/String; public fun getUser ()Ldev/inmo/tgbotapi/types/chat/PreviewUser; public synthetic fun getUser ()Ldev/inmo/tgbotapi/types/chat/User; public fun hashCode ()I @@ -19324,6 +19507,7 @@ public final class dev/inmo/tgbotapi/types/chat/member/OwnerChatMember : dev/inm public fun getCanInviteUsers ()Z public fun getCanManageChat ()Z public fun getCanManageDirectMessages ()Z + public fun getCanManageTags ()Z public fun getCanManageTopics ()Z public fun getCanManageVideoChats ()Z public fun getCanManageVoiceChats ()Z @@ -19357,7 +19541,7 @@ public final class dev/inmo/tgbotapi/types/chat/member/OwnerChatMember$Companion public final fun serializer ()Lkotlinx/serialization/KSerializer; } -public abstract interface class dev/inmo/tgbotapi/types/chat/member/RestrictedChatMember : dev/inmo/tgbotapi/abstracts/types/UntilDate, dev/inmo/tgbotapi/types/chat/member/ChatMember { +public abstract interface class dev/inmo/tgbotapi/types/chat/member/RestrictedChatMember : dev/inmo/tgbotapi/abstracts/OptionallyTagged, dev/inmo/tgbotapi/abstracts/types/UntilDate, dev/inmo/tgbotapi/types/chat/member/ChatMember { public static final field Companion Ldev/inmo/tgbotapi/types/chat/member/RestrictedChatMember$Companion; } @@ -19369,8 +19553,8 @@ public final class dev/inmo/tgbotapi/types/chat/member/RestrictedChatMember$Comp public final class dev/inmo/tgbotapi/types/chat/member/RestrictedMemberChatMember : dev/inmo/tgbotapi/types/chat/ChatPermissions, dev/inmo/tgbotapi/types/chat/member/MemberChatMember, dev/inmo/tgbotapi/types/chat/member/RestrictedChatMember, dev/inmo/tgbotapi/types/chat/member/SpecialRightsChatMember { public static final field Companion Ldev/inmo/tgbotapi/types/chat/member/RestrictedMemberChatMember$Companion; - public fun (Ldev/inmo/tgbotapi/types/chat/PreviewUser;Ldev/inmo/tgbotapi/types/TelegramDate;ZZZZZZZZZZZZZZZ)V - public synthetic fun (Ldev/inmo/tgbotapi/types/chat/PreviewUser;Ldev/inmo/tgbotapi/types/TelegramDate;ZZZZZZZZZZZZZZZILkotlin/jvm/internal/DefaultConstructorMarker;)V + public synthetic fun (Ldev/inmo/tgbotapi/types/chat/PreviewUser;Ldev/inmo/tgbotapi/types/TelegramDate;ZZZZZZZZZZZZZZZZLjava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public synthetic fun (Ldev/inmo/tgbotapi/types/chat/PreviewUser;Ldev/inmo/tgbotapi/types/TelegramDate;ZZZZZZZZZZZZZZZZLjava/lang/String;Lkotlin/jvm/internal/DefaultConstructorMarker;)V public final fun component1 ()Ldev/inmo/tgbotapi/types/chat/PreviewUser; public final fun component10 ()Z public final fun component11 ()Z @@ -19380,6 +19564,8 @@ public final class dev/inmo/tgbotapi/types/chat/member/RestrictedMemberChatMembe public final fun component15 ()Z public final fun component16 ()Z public final fun component17 ()Z + public final fun component18 ()Z + public final fun component19-AVO4CDE ()Ljava/lang/String; public final fun component2 ()Ldev/inmo/tgbotapi/types/TelegramDate; public final fun component3 ()Z public final fun component4 ()Z @@ -19388,14 +19574,15 @@ public final class dev/inmo/tgbotapi/types/chat/member/RestrictedMemberChatMembe public final fun component7 ()Z public final fun component8 ()Z public final fun component9 ()Z - public final fun copy (Ldev/inmo/tgbotapi/types/chat/PreviewUser;Ldev/inmo/tgbotapi/types/TelegramDate;ZZZZZZZZZZZZZZZ)Ldev/inmo/tgbotapi/types/chat/member/RestrictedMemberChatMember; - public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/chat/member/RestrictedMemberChatMember;Ldev/inmo/tgbotapi/types/chat/PreviewUser;Ldev/inmo/tgbotapi/types/TelegramDate;ZZZZZZZZZZZZZZZILjava/lang/Object;)Ldev/inmo/tgbotapi/types/chat/member/RestrictedMemberChatMember; + public final fun copy-uBvMSU0 (Ldev/inmo/tgbotapi/types/chat/PreviewUser;Ldev/inmo/tgbotapi/types/TelegramDate;ZZZZZZZZZZZZZZZZLjava/lang/String;)Ldev/inmo/tgbotapi/types/chat/member/RestrictedMemberChatMember; + public static synthetic fun copy-uBvMSU0$default (Ldev/inmo/tgbotapi/types/chat/member/RestrictedMemberChatMember;Ldev/inmo/tgbotapi/types/chat/PreviewUser;Ldev/inmo/tgbotapi/types/TelegramDate;ZZZZZZZZZZZZZZZZLjava/lang/String;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/chat/member/RestrictedMemberChatMember; public fun copyCommon (Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;)Ldev/inmo/tgbotapi/types/chat/ChatPermissions; public fun copyGranular (Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;)Ldev/inmo/tgbotapi/types/chat/ChatPermissions; public fun equals (Ljava/lang/Object;)Z public fun getCanAddWebPagePreviews ()Ljava/lang/Boolean; public fun getCanChangeInfo ()Ljava/lang/Boolean; public synthetic fun getCanChangeInfo ()Z + public fun getCanEditTag ()Ljava/lang/Boolean; public fun getCanInviteUsers ()Ljava/lang/Boolean; public synthetic fun getCanInviteUsers ()Z public fun getCanManageTopics ()Z @@ -19413,6 +19600,7 @@ public final class dev/inmo/tgbotapi/types/chat/member/RestrictedMemberChatMembe public fun getCanSendVideos ()Ljava/lang/Boolean; public fun getCanSendVoiceNotes ()Ljava/lang/Boolean; public fun getStatus ()Ldev/inmo/tgbotapi/types/chat/member/ChatMember$Status; + public fun getTag-AVO4CDE ()Ljava/lang/String; public fun getUntilDate ()Ldev/inmo/tgbotapi/types/TelegramDate; public fun getUser ()Ldev/inmo/tgbotapi/types/chat/PreviewUser; public synthetic fun getUser ()Ldev/inmo/tgbotapi/types/chat/User; @@ -19468,13 +19656,16 @@ public final class dev/inmo/tgbotapi/types/chat/member/SubscriptionMemberChatMem public final class dev/inmo/tgbotapi/types/chat/member/SubscriptionMemberChatMemberImpl : dev/inmo/tgbotapi/types/chat/member/SubscriptionMemberChatMember { public static final field Companion Ldev/inmo/tgbotapi/types/chat/member/SubscriptionMemberChatMemberImpl$Companion; - public fun (Ldev/inmo/tgbotapi/types/chat/PreviewUser;Ldev/inmo/tgbotapi/types/TelegramDate;)V + public synthetic fun (Ldev/inmo/tgbotapi/types/chat/PreviewUser;Ldev/inmo/tgbotapi/types/TelegramDate;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public synthetic fun (Ldev/inmo/tgbotapi/types/chat/PreviewUser;Ldev/inmo/tgbotapi/types/TelegramDate;Ljava/lang/String;Lkotlin/jvm/internal/DefaultConstructorMarker;)V public final fun component1 ()Ldev/inmo/tgbotapi/types/chat/PreviewUser; public final fun component2 ()Ldev/inmo/tgbotapi/types/TelegramDate; - public final fun copy (Ldev/inmo/tgbotapi/types/chat/PreviewUser;Ldev/inmo/tgbotapi/types/TelegramDate;)Ldev/inmo/tgbotapi/types/chat/member/SubscriptionMemberChatMemberImpl; - public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/chat/member/SubscriptionMemberChatMemberImpl;Ldev/inmo/tgbotapi/types/chat/PreviewUser;Ldev/inmo/tgbotapi/types/TelegramDate;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/chat/member/SubscriptionMemberChatMemberImpl; + public final fun component3-AVO4CDE ()Ljava/lang/String; + public final fun copy-XLDAstM (Ldev/inmo/tgbotapi/types/chat/PreviewUser;Ldev/inmo/tgbotapi/types/TelegramDate;Ljava/lang/String;)Ldev/inmo/tgbotapi/types/chat/member/SubscriptionMemberChatMemberImpl; + public static synthetic fun copy-XLDAstM$default (Ldev/inmo/tgbotapi/types/chat/member/SubscriptionMemberChatMemberImpl;Ldev/inmo/tgbotapi/types/chat/PreviewUser;Ldev/inmo/tgbotapi/types/TelegramDate;Ljava/lang/String;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/chat/member/SubscriptionMemberChatMemberImpl; public fun equals (Ljava/lang/Object;)Z public fun getStatus ()Ldev/inmo/tgbotapi/types/chat/member/ChatMember$Status; + public fun getTag-AVO4CDE ()Ljava/lang/String; public fun getUntil-Wg0KzQs ()D public fun getUntilDate ()Ldev/inmo/tgbotapi/types/TelegramDate; public fun getUser ()Ldev/inmo/tgbotapi/types/chat/PreviewUser; @@ -24819,8 +25010,8 @@ public final class dev/inmo/tgbotapi/types/message/ChatEvents/voice/VideoChatSta public final class dev/inmo/tgbotapi/types/message/CommonChannelDirectMessagesContentMessageImpl : dev/inmo/tgbotapi/types/message/abstracts/CommonChannelDirectMessagesContentMessage { public synthetic fun (Ldev/inmo/tgbotapi/types/chat/PreviewChannelDirectMessagesChat;JLdev/inmo/tgbotapi/types/chat/User;DLdev/inmo/tgbotapi/types/chat/DirectMessagesTopic;Ldev/inmo/tgbotapi/types/message/ForwardInfo;Lkorlibs/time/DateTime;ZLdev/inmo/tgbotapi/types/message/abstracts/AccessibleMessage;Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;Ldev/inmo/tgbotapi/types/message/content/MessageContent;Ldev/inmo/tgbotapi/types/chat/CommonBot;Ljava/lang/String;Ljava/lang/Integer;ZLjava/lang/Integer;ILkotlin/jvm/internal/DefaultConstructorMarker;)V public synthetic fun (Ldev/inmo/tgbotapi/types/chat/PreviewChannelDirectMessagesChat;JLdev/inmo/tgbotapi/types/chat/User;DLdev/inmo/tgbotapi/types/chat/DirectMessagesTopic;Ldev/inmo/tgbotapi/types/message/ForwardInfo;Lkorlibs/time/DateTime;ZLdev/inmo/tgbotapi/types/message/abstracts/AccessibleMessage;Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;Ldev/inmo/tgbotapi/types/message/content/MessageContent;Ldev/inmo/tgbotapi/types/chat/CommonBot;Ljava/lang/String;Ljava/lang/Integer;ZLjava/lang/Integer;Lkotlin/jvm/internal/DefaultConstructorMarker;)V - public synthetic fun (Ldev/inmo/tgbotapi/types/chat/PreviewChannelDirectMessagesChat;JLdev/inmo/tgbotapi/types/chat/User;DLdev/inmo/tgbotapi/types/chat/DirectMessagesTopic;Ldev/inmo/tgbotapi/types/message/MessageOrigin;Lkorlibs/time/DateTime;ZLdev/inmo/tgbotapi/types/ReplyInfo;Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;Ldev/inmo/tgbotapi/types/message/content/MessageContent;Ldev/inmo/tgbotapi/types/chat/CommonBot;Ljava/lang/String;Ljava/lang/Integer;ZLjava/lang/Integer;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public synthetic fun (Ldev/inmo/tgbotapi/types/chat/PreviewChannelDirectMessagesChat;JLdev/inmo/tgbotapi/types/chat/User;DLdev/inmo/tgbotapi/types/chat/DirectMessagesTopic;Ldev/inmo/tgbotapi/types/message/MessageOrigin;Lkorlibs/time/DateTime;ZLdev/inmo/tgbotapi/types/ReplyInfo;Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;Ldev/inmo/tgbotapi/types/message/content/MessageContent;Ldev/inmo/tgbotapi/types/chat/CommonBot;Ljava/lang/String;Ljava/lang/Integer;ZLjava/lang/Integer;Lkotlin/jvm/internal/DefaultConstructorMarker;)V + public synthetic fun (Ldev/inmo/tgbotapi/types/chat/PreviewChannelDirectMessagesChat;JLdev/inmo/tgbotapi/types/chat/User;DLdev/inmo/tgbotapi/types/chat/DirectMessagesTopic;Ldev/inmo/tgbotapi/types/message/MessageOrigin;Lkorlibs/time/DateTime;ZLdev/inmo/tgbotapi/types/ReplyInfo;Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;Ldev/inmo/tgbotapi/types/message/content/MessageContent;Ldev/inmo/tgbotapi/types/chat/CommonBot;Ljava/lang/String;Ljava/lang/Integer;ZLjava/lang/Integer;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public synthetic fun (Ldev/inmo/tgbotapi/types/chat/PreviewChannelDirectMessagesChat;JLdev/inmo/tgbotapi/types/chat/User;DLdev/inmo/tgbotapi/types/chat/DirectMessagesTopic;Ldev/inmo/tgbotapi/types/message/MessageOrigin;Lkorlibs/time/DateTime;ZLdev/inmo/tgbotapi/types/ReplyInfo;Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;Ldev/inmo/tgbotapi/types/message/content/MessageContent;Ldev/inmo/tgbotapi/types/chat/CommonBot;Ljava/lang/String;Ljava/lang/Integer;ZLjava/lang/Integer;Ljava/lang/String;Lkotlin/jvm/internal/DefaultConstructorMarker;)V public final fun component1 ()Ldev/inmo/tgbotapi/types/chat/PreviewChannelDirectMessagesChat; public final fun component10 ()Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup; public final fun component11 ()Ldev/inmo/tgbotapi/types/message/content/MessageContent; @@ -24829,6 +25020,7 @@ public final class dev/inmo/tgbotapi/types/message/CommonChannelDirectMessagesCo public final fun component14 ()Ljava/lang/Integer; public final fun component15 ()Z public final fun component16 ()Ljava/lang/Integer; + public final fun component17-AVO4CDE ()Ljava/lang/String; public final fun component2-APLFQys ()J public final fun component3 ()Ldev/inmo/tgbotapi/types/chat/User; public final fun component4-Wg0KzQs ()D @@ -24837,8 +25029,8 @@ public final class dev/inmo/tgbotapi/types/message/CommonChannelDirectMessagesCo public final fun component7-Ivn3T5g ()Lkorlibs/time/DateTime; public final fun component8 ()Z public final fun component9 ()Ldev/inmo/tgbotapi/types/ReplyInfo; - public final fun copy-ZKlzU5U (Ldev/inmo/tgbotapi/types/chat/PreviewChannelDirectMessagesChat;JLdev/inmo/tgbotapi/types/chat/User;DLdev/inmo/tgbotapi/types/chat/DirectMessagesTopic;Ldev/inmo/tgbotapi/types/message/MessageOrigin;Lkorlibs/time/DateTime;ZLdev/inmo/tgbotapi/types/ReplyInfo;Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;Ldev/inmo/tgbotapi/types/message/content/MessageContent;Ldev/inmo/tgbotapi/types/chat/CommonBot;Ljava/lang/String;Ljava/lang/Integer;ZLjava/lang/Integer;)Ldev/inmo/tgbotapi/types/message/CommonChannelDirectMessagesContentMessageImpl; - public static synthetic fun copy-ZKlzU5U$default (Ldev/inmo/tgbotapi/types/message/CommonChannelDirectMessagesContentMessageImpl;Ldev/inmo/tgbotapi/types/chat/PreviewChannelDirectMessagesChat;JLdev/inmo/tgbotapi/types/chat/User;DLdev/inmo/tgbotapi/types/chat/DirectMessagesTopic;Ldev/inmo/tgbotapi/types/message/MessageOrigin;Lkorlibs/time/DateTime;ZLdev/inmo/tgbotapi/types/ReplyInfo;Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;Ldev/inmo/tgbotapi/types/message/content/MessageContent;Ldev/inmo/tgbotapi/types/chat/CommonBot;Ljava/lang/String;Ljava/lang/Integer;ZLjava/lang/Integer;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/message/CommonChannelDirectMessagesContentMessageImpl; + public final fun copy-9Z86bYY (Ldev/inmo/tgbotapi/types/chat/PreviewChannelDirectMessagesChat;JLdev/inmo/tgbotapi/types/chat/User;DLdev/inmo/tgbotapi/types/chat/DirectMessagesTopic;Ldev/inmo/tgbotapi/types/message/MessageOrigin;Lkorlibs/time/DateTime;ZLdev/inmo/tgbotapi/types/ReplyInfo;Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;Ldev/inmo/tgbotapi/types/message/content/MessageContent;Ldev/inmo/tgbotapi/types/chat/CommonBot;Ljava/lang/String;Ljava/lang/Integer;ZLjava/lang/Integer;Ljava/lang/String;)Ldev/inmo/tgbotapi/types/message/CommonChannelDirectMessagesContentMessageImpl; + public static synthetic fun copy-9Z86bYY$default (Ldev/inmo/tgbotapi/types/message/CommonChannelDirectMessagesContentMessageImpl;Ldev/inmo/tgbotapi/types/chat/PreviewChannelDirectMessagesChat;JLdev/inmo/tgbotapi/types/chat/User;DLdev/inmo/tgbotapi/types/chat/DirectMessagesTopic;Ldev/inmo/tgbotapi/types/message/MessageOrigin;Lkorlibs/time/DateTime;ZLdev/inmo/tgbotapi/types/ReplyInfo;Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;Ldev/inmo/tgbotapi/types/message/content/MessageContent;Ldev/inmo/tgbotapi/types/chat/CommonBot;Ljava/lang/String;Ljava/lang/Integer;ZLjava/lang/Integer;Ljava/lang/String;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/message/CommonChannelDirectMessagesContentMessageImpl; public fun equals (Ljava/lang/Object;)Z public fun getBusinessConnectionId-nXr5wdE ()Ljava/lang/String; public fun getChat ()Ldev/inmo/tgbotapi/types/chat/PreviewChannelDirectMessagesChat; @@ -24865,6 +25057,7 @@ public final class dev/inmo/tgbotapi/types/message/CommonChannelDirectMessagesCo public fun getReplyTo ()Ldev/inmo/tgbotapi/types/message/abstracts/Message; public fun getSenderBoostsCount ()Ljava/lang/Integer; public fun getSenderBot ()Ldev/inmo/tgbotapi/types/chat/CommonBot; + public fun getSenderTag-AVO4CDE ()Ljava/lang/String; public fun getUser ()Ldev/inmo/tgbotapi/types/chat/User; public fun hashCode ()I public fun toString ()Ljava/lang/String; @@ -24898,8 +25091,8 @@ public final class dev/inmo/tgbotapi/types/message/CommonChannelDirectMessagesEv public final class dev/inmo/tgbotapi/types/message/CommonForumContentMessageImpl : dev/inmo/tgbotapi/types/message/abstracts/CommonForumContentMessage { public synthetic fun (Ldev/inmo/tgbotapi/types/chat/PreviewForumChat;JJLdev/inmo/tgbotapi/types/chat/User;DLdev/inmo/tgbotapi/types/message/ForwardInfo;Lkorlibs/time/DateTime;ZLdev/inmo/tgbotapi/types/message/abstracts/AccessibleMessage;Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;Ldev/inmo/tgbotapi/types/message/content/MessageContent;Ldev/inmo/tgbotapi/types/chat/CommonBot;Ljava/lang/String;Ljava/lang/Integer;ZLjava/lang/Integer;ILkotlin/jvm/internal/DefaultConstructorMarker;)V public synthetic fun (Ldev/inmo/tgbotapi/types/chat/PreviewForumChat;JJLdev/inmo/tgbotapi/types/chat/User;DLdev/inmo/tgbotapi/types/message/ForwardInfo;Lkorlibs/time/DateTime;ZLdev/inmo/tgbotapi/types/message/abstracts/AccessibleMessage;Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;Ldev/inmo/tgbotapi/types/message/content/MessageContent;Ldev/inmo/tgbotapi/types/chat/CommonBot;Ljava/lang/String;Ljava/lang/Integer;ZLjava/lang/Integer;Lkotlin/jvm/internal/DefaultConstructorMarker;)V - public synthetic fun (Ldev/inmo/tgbotapi/types/chat/PreviewForumChat;JJLdev/inmo/tgbotapi/types/chat/User;DLdev/inmo/tgbotapi/types/message/MessageOrigin;Lkorlibs/time/DateTime;ZLdev/inmo/tgbotapi/types/ReplyInfo;Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;Ldev/inmo/tgbotapi/types/message/content/MessageContent;Ldev/inmo/tgbotapi/types/chat/CommonBot;Ljava/lang/String;Ljava/lang/Integer;ZLjava/lang/Integer;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public synthetic fun (Ldev/inmo/tgbotapi/types/chat/PreviewForumChat;JJLdev/inmo/tgbotapi/types/chat/User;DLdev/inmo/tgbotapi/types/message/MessageOrigin;Lkorlibs/time/DateTime;ZLdev/inmo/tgbotapi/types/ReplyInfo;Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;Ldev/inmo/tgbotapi/types/message/content/MessageContent;Ldev/inmo/tgbotapi/types/chat/CommonBot;Ljava/lang/String;Ljava/lang/Integer;ZLjava/lang/Integer;Lkotlin/jvm/internal/DefaultConstructorMarker;)V + public synthetic fun (Ldev/inmo/tgbotapi/types/chat/PreviewForumChat;JJLdev/inmo/tgbotapi/types/chat/User;DLdev/inmo/tgbotapi/types/message/MessageOrigin;Lkorlibs/time/DateTime;ZLdev/inmo/tgbotapi/types/ReplyInfo;Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;Ldev/inmo/tgbotapi/types/message/content/MessageContent;Ldev/inmo/tgbotapi/types/chat/CommonBot;Ljava/lang/String;Ljava/lang/Integer;ZLjava/lang/Integer;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public synthetic fun (Ldev/inmo/tgbotapi/types/chat/PreviewForumChat;JJLdev/inmo/tgbotapi/types/chat/User;DLdev/inmo/tgbotapi/types/message/MessageOrigin;Lkorlibs/time/DateTime;ZLdev/inmo/tgbotapi/types/ReplyInfo;Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;Ldev/inmo/tgbotapi/types/message/content/MessageContent;Ldev/inmo/tgbotapi/types/chat/CommonBot;Ljava/lang/String;Ljava/lang/Integer;ZLjava/lang/Integer;Ljava/lang/String;Lkotlin/jvm/internal/DefaultConstructorMarker;)V public final fun component1 ()Ldev/inmo/tgbotapi/types/chat/PreviewForumChat; public final fun component10 ()Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup; public final fun component11 ()Ldev/inmo/tgbotapi/types/message/content/MessageContent; @@ -24908,6 +25101,7 @@ public final class dev/inmo/tgbotapi/types/message/CommonForumContentMessageImpl public final fun component14 ()Ljava/lang/Integer; public final fun component15 ()Z public final fun component16 ()Ljava/lang/Integer; + public final fun component17-AVO4CDE ()Ljava/lang/String; public final fun component2-APLFQys ()J public final fun component3-hDmiKeI ()J public final fun component4 ()Ldev/inmo/tgbotapi/types/chat/User; @@ -24916,8 +25110,8 @@ public final class dev/inmo/tgbotapi/types/message/CommonForumContentMessageImpl public final fun component7-Ivn3T5g ()Lkorlibs/time/DateTime; public final fun component8 ()Z public final fun component9 ()Ldev/inmo/tgbotapi/types/ReplyInfo; - public final fun copy-_c83v58 (Ldev/inmo/tgbotapi/types/chat/PreviewForumChat;JJLdev/inmo/tgbotapi/types/chat/User;DLdev/inmo/tgbotapi/types/message/MessageOrigin;Lkorlibs/time/DateTime;ZLdev/inmo/tgbotapi/types/ReplyInfo;Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;Ldev/inmo/tgbotapi/types/message/content/MessageContent;Ldev/inmo/tgbotapi/types/chat/CommonBot;Ljava/lang/String;Ljava/lang/Integer;ZLjava/lang/Integer;)Ldev/inmo/tgbotapi/types/message/CommonForumContentMessageImpl; - public static synthetic fun copy-_c83v58$default (Ldev/inmo/tgbotapi/types/message/CommonForumContentMessageImpl;Ldev/inmo/tgbotapi/types/chat/PreviewForumChat;JJLdev/inmo/tgbotapi/types/chat/User;DLdev/inmo/tgbotapi/types/message/MessageOrigin;Lkorlibs/time/DateTime;ZLdev/inmo/tgbotapi/types/ReplyInfo;Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;Ldev/inmo/tgbotapi/types/message/content/MessageContent;Ldev/inmo/tgbotapi/types/chat/CommonBot;Ljava/lang/String;Ljava/lang/Integer;ZLjava/lang/Integer;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/message/CommonForumContentMessageImpl; + public final fun copy-KV_Ri-M (Ldev/inmo/tgbotapi/types/chat/PreviewForumChat;JJLdev/inmo/tgbotapi/types/chat/User;DLdev/inmo/tgbotapi/types/message/MessageOrigin;Lkorlibs/time/DateTime;ZLdev/inmo/tgbotapi/types/ReplyInfo;Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;Ldev/inmo/tgbotapi/types/message/content/MessageContent;Ldev/inmo/tgbotapi/types/chat/CommonBot;Ljava/lang/String;Ljava/lang/Integer;ZLjava/lang/Integer;Ljava/lang/String;)Ldev/inmo/tgbotapi/types/message/CommonForumContentMessageImpl; + public static synthetic fun copy-KV_Ri-M$default (Ldev/inmo/tgbotapi/types/message/CommonForumContentMessageImpl;Ldev/inmo/tgbotapi/types/chat/PreviewForumChat;JJLdev/inmo/tgbotapi/types/chat/User;DLdev/inmo/tgbotapi/types/message/MessageOrigin;Lkorlibs/time/DateTime;ZLdev/inmo/tgbotapi/types/ReplyInfo;Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;Ldev/inmo/tgbotapi/types/message/content/MessageContent;Ldev/inmo/tgbotapi/types/chat/CommonBot;Ljava/lang/String;Ljava/lang/Integer;ZLjava/lang/Integer;Ljava/lang/String;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/message/CommonForumContentMessageImpl; public fun equals (Ljava/lang/Object;)Z public fun getBusinessConnectionId-nXr5wdE ()Ljava/lang/String; public synthetic fun getChat ()Ldev/inmo/tgbotapi/types/chat/PreviewChat; @@ -24942,6 +25136,7 @@ public final class dev/inmo/tgbotapi/types/message/CommonForumContentMessageImpl public fun getReplyTo ()Ldev/inmo/tgbotapi/types/message/abstracts/Message; public fun getSenderBoostsCount ()Ljava/lang/Integer; public fun getSenderBot ()Ldev/inmo/tgbotapi/types/chat/CommonBot; + public fun getSenderTag-AVO4CDE ()Ljava/lang/String; public fun getThreadCreatingInfo ()Ldev/inmo/tgbotapi/types/message/ChatEvents/forum/ForumTopicCreated; public synthetic fun getThreadId-S3HF-10 ()Ldev/inmo/tgbotapi/types/MessageThreadId; public fun getThreadId-hDmiKeI ()J @@ -24953,8 +25148,8 @@ public final class dev/inmo/tgbotapi/types/message/CommonForumContentMessageImpl public final class dev/inmo/tgbotapi/types/message/CommonGroupContentMessageImpl : dev/inmo/tgbotapi/types/message/abstracts/CommonGroupContentMessage { public synthetic fun (Ldev/inmo/tgbotapi/types/chat/PreviewGroupChat;JLdev/inmo/tgbotapi/types/chat/User;DLdev/inmo/tgbotapi/types/message/ForwardInfo;Lkorlibs/time/DateTime;ZLdev/inmo/tgbotapi/types/message/abstracts/AccessibleMessage;Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;Ldev/inmo/tgbotapi/types/message/content/MessageContent;Ldev/inmo/tgbotapi/types/chat/CommonBot;Ljava/lang/String;Ljava/lang/Integer;ZLjava/lang/Integer;ILkotlin/jvm/internal/DefaultConstructorMarker;)V public synthetic fun (Ldev/inmo/tgbotapi/types/chat/PreviewGroupChat;JLdev/inmo/tgbotapi/types/chat/User;DLdev/inmo/tgbotapi/types/message/ForwardInfo;Lkorlibs/time/DateTime;ZLdev/inmo/tgbotapi/types/message/abstracts/AccessibleMessage;Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;Ldev/inmo/tgbotapi/types/message/content/MessageContent;Ldev/inmo/tgbotapi/types/chat/CommonBot;Ljava/lang/String;Ljava/lang/Integer;ZLjava/lang/Integer;Lkotlin/jvm/internal/DefaultConstructorMarker;)V - public synthetic fun (Ldev/inmo/tgbotapi/types/chat/PreviewGroupChat;JLdev/inmo/tgbotapi/types/chat/User;DLdev/inmo/tgbotapi/types/message/MessageOrigin;Lkorlibs/time/DateTime;ZLdev/inmo/tgbotapi/types/ReplyInfo;Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;Ldev/inmo/tgbotapi/types/message/content/MessageContent;Ldev/inmo/tgbotapi/types/chat/CommonBot;Ljava/lang/String;Ljava/lang/Integer;ZLjava/lang/Integer;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public synthetic fun (Ldev/inmo/tgbotapi/types/chat/PreviewGroupChat;JLdev/inmo/tgbotapi/types/chat/User;DLdev/inmo/tgbotapi/types/message/MessageOrigin;Lkorlibs/time/DateTime;ZLdev/inmo/tgbotapi/types/ReplyInfo;Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;Ldev/inmo/tgbotapi/types/message/content/MessageContent;Ldev/inmo/tgbotapi/types/chat/CommonBot;Ljava/lang/String;Ljava/lang/Integer;ZLjava/lang/Integer;Lkotlin/jvm/internal/DefaultConstructorMarker;)V + public synthetic fun (Ldev/inmo/tgbotapi/types/chat/PreviewGroupChat;JLdev/inmo/tgbotapi/types/chat/User;DLdev/inmo/tgbotapi/types/message/MessageOrigin;Lkorlibs/time/DateTime;ZLdev/inmo/tgbotapi/types/ReplyInfo;Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;Ldev/inmo/tgbotapi/types/message/content/MessageContent;Ldev/inmo/tgbotapi/types/chat/CommonBot;Ljava/lang/String;Ljava/lang/Integer;ZLjava/lang/Integer;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public synthetic fun (Ldev/inmo/tgbotapi/types/chat/PreviewGroupChat;JLdev/inmo/tgbotapi/types/chat/User;DLdev/inmo/tgbotapi/types/message/MessageOrigin;Lkorlibs/time/DateTime;ZLdev/inmo/tgbotapi/types/ReplyInfo;Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;Ldev/inmo/tgbotapi/types/message/content/MessageContent;Ldev/inmo/tgbotapi/types/chat/CommonBot;Ljava/lang/String;Ljava/lang/Integer;ZLjava/lang/Integer;Ljava/lang/String;Lkotlin/jvm/internal/DefaultConstructorMarker;)V public final fun component1 ()Ldev/inmo/tgbotapi/types/chat/PreviewGroupChat; public final fun component10 ()Ldev/inmo/tgbotapi/types/message/content/MessageContent; public final fun component11 ()Ldev/inmo/tgbotapi/types/chat/CommonBot; @@ -24962,6 +25157,7 @@ public final class dev/inmo/tgbotapi/types/message/CommonGroupContentMessageImpl public final fun component13 ()Ljava/lang/Integer; public final fun component14 ()Z public final fun component15 ()Ljava/lang/Integer; + public final fun component16-AVO4CDE ()Ljava/lang/String; public final fun component2-APLFQys ()J public final fun component3 ()Ldev/inmo/tgbotapi/types/chat/User; public final fun component4-Wg0KzQs ()D @@ -24970,8 +25166,8 @@ public final class dev/inmo/tgbotapi/types/message/CommonGroupContentMessageImpl public final fun component7 ()Z public final fun component8 ()Ldev/inmo/tgbotapi/types/ReplyInfo; public final fun component9 ()Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup; - public final fun copy-vFzrh-s (Ldev/inmo/tgbotapi/types/chat/PreviewGroupChat;JLdev/inmo/tgbotapi/types/chat/User;DLdev/inmo/tgbotapi/types/message/MessageOrigin;Lkorlibs/time/DateTime;ZLdev/inmo/tgbotapi/types/ReplyInfo;Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;Ldev/inmo/tgbotapi/types/message/content/MessageContent;Ldev/inmo/tgbotapi/types/chat/CommonBot;Ljava/lang/String;Ljava/lang/Integer;ZLjava/lang/Integer;)Ldev/inmo/tgbotapi/types/message/CommonGroupContentMessageImpl; - public static synthetic fun copy-vFzrh-s$default (Ldev/inmo/tgbotapi/types/message/CommonGroupContentMessageImpl;Ldev/inmo/tgbotapi/types/chat/PreviewGroupChat;JLdev/inmo/tgbotapi/types/chat/User;DLdev/inmo/tgbotapi/types/message/MessageOrigin;Lkorlibs/time/DateTime;ZLdev/inmo/tgbotapi/types/ReplyInfo;Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;Ldev/inmo/tgbotapi/types/message/content/MessageContent;Ldev/inmo/tgbotapi/types/chat/CommonBot;Ljava/lang/String;Ljava/lang/Integer;ZLjava/lang/Integer;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/message/CommonGroupContentMessageImpl; + public final fun copy-2zVoErM (Ldev/inmo/tgbotapi/types/chat/PreviewGroupChat;JLdev/inmo/tgbotapi/types/chat/User;DLdev/inmo/tgbotapi/types/message/MessageOrigin;Lkorlibs/time/DateTime;ZLdev/inmo/tgbotapi/types/ReplyInfo;Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;Ldev/inmo/tgbotapi/types/message/content/MessageContent;Ldev/inmo/tgbotapi/types/chat/CommonBot;Ljava/lang/String;Ljava/lang/Integer;ZLjava/lang/Integer;Ljava/lang/String;)Ldev/inmo/tgbotapi/types/message/CommonGroupContentMessageImpl; + public static synthetic fun copy-2zVoErM$default (Ldev/inmo/tgbotapi/types/message/CommonGroupContentMessageImpl;Ldev/inmo/tgbotapi/types/chat/PreviewGroupChat;JLdev/inmo/tgbotapi/types/chat/User;DLdev/inmo/tgbotapi/types/message/MessageOrigin;Lkorlibs/time/DateTime;ZLdev/inmo/tgbotapi/types/ReplyInfo;Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;Ldev/inmo/tgbotapi/types/message/content/MessageContent;Ldev/inmo/tgbotapi/types/chat/CommonBot;Ljava/lang/String;Ljava/lang/Integer;ZLjava/lang/Integer;Ljava/lang/String;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/message/CommonGroupContentMessageImpl; public fun equals (Ljava/lang/Object;)Z public fun getBusinessConnectionId-nXr5wdE ()Ljava/lang/String; public synthetic fun getChat ()Ldev/inmo/tgbotapi/types/chat/PreviewChat; @@ -24995,6 +25191,7 @@ public final class dev/inmo/tgbotapi/types/message/CommonGroupContentMessageImpl public fun getReplyTo ()Ldev/inmo/tgbotapi/types/message/abstracts/Message; public fun getSenderBoostsCount ()Ljava/lang/Integer; public fun getSenderBot ()Ldev/inmo/tgbotapi/types/chat/CommonBot; + public fun getSenderTag-AVO4CDE ()Ljava/lang/String; public fun getUser ()Ldev/inmo/tgbotapi/types/chat/User; public fun hashCode ()I public fun toString ()Ljava/lang/String; @@ -25027,8 +25224,8 @@ public final class dev/inmo/tgbotapi/types/message/CommonGroupEventMessage : dev public final class dev/inmo/tgbotapi/types/message/CommonSuggestedChannelDirectMessagesContentMessageImpl : dev/inmo/tgbotapi/types/message/abstracts/CommonSuggestedChannelDirectMessagesContentMessage { public synthetic fun (Ldev/inmo/tgbotapi/types/chat/PreviewChannelDirectMessagesChat;JLdev/inmo/tgbotapi/types/chat/User;DLdev/inmo/tgbotapi/types/chat/DirectMessagesTopic;Ldev/inmo/tgbotapi/types/message/ForwardInfo;Lkorlibs/time/DateTime;ZLdev/inmo/tgbotapi/types/message/abstracts/AccessibleMessage;Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;Ldev/inmo/tgbotapi/types/message/content/MessageContent;Ldev/inmo/tgbotapi/types/chat/CommonBot;Ljava/lang/String;Ljava/lang/Integer;ZLdev/inmo/tgbotapi/types/message/ChatEvents/suggested/SuggestedPostInfo;Ljava/lang/Integer;ILkotlin/jvm/internal/DefaultConstructorMarker;)V public synthetic fun (Ldev/inmo/tgbotapi/types/chat/PreviewChannelDirectMessagesChat;JLdev/inmo/tgbotapi/types/chat/User;DLdev/inmo/tgbotapi/types/chat/DirectMessagesTopic;Ldev/inmo/tgbotapi/types/message/ForwardInfo;Lkorlibs/time/DateTime;ZLdev/inmo/tgbotapi/types/message/abstracts/AccessibleMessage;Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;Ldev/inmo/tgbotapi/types/message/content/MessageContent;Ldev/inmo/tgbotapi/types/chat/CommonBot;Ljava/lang/String;Ljava/lang/Integer;ZLdev/inmo/tgbotapi/types/message/ChatEvents/suggested/SuggestedPostInfo;Ljava/lang/Integer;Lkotlin/jvm/internal/DefaultConstructorMarker;)V - public synthetic fun (Ldev/inmo/tgbotapi/types/chat/PreviewChannelDirectMessagesChat;JLdev/inmo/tgbotapi/types/chat/User;DLdev/inmo/tgbotapi/types/chat/DirectMessagesTopic;Ldev/inmo/tgbotapi/types/message/MessageOrigin;Lkorlibs/time/DateTime;ZLdev/inmo/tgbotapi/types/ReplyInfo;Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;Ldev/inmo/tgbotapi/types/message/content/MessageContent;Ldev/inmo/tgbotapi/types/chat/CommonBot;Ljava/lang/String;Ljava/lang/Integer;ZLdev/inmo/tgbotapi/types/message/ChatEvents/suggested/SuggestedPostInfo;Ljava/lang/Integer;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public synthetic fun (Ldev/inmo/tgbotapi/types/chat/PreviewChannelDirectMessagesChat;JLdev/inmo/tgbotapi/types/chat/User;DLdev/inmo/tgbotapi/types/chat/DirectMessagesTopic;Ldev/inmo/tgbotapi/types/message/MessageOrigin;Lkorlibs/time/DateTime;ZLdev/inmo/tgbotapi/types/ReplyInfo;Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;Ldev/inmo/tgbotapi/types/message/content/MessageContent;Ldev/inmo/tgbotapi/types/chat/CommonBot;Ljava/lang/String;Ljava/lang/Integer;ZLdev/inmo/tgbotapi/types/message/ChatEvents/suggested/SuggestedPostInfo;Ljava/lang/Integer;Lkotlin/jvm/internal/DefaultConstructorMarker;)V + public synthetic fun (Ldev/inmo/tgbotapi/types/chat/PreviewChannelDirectMessagesChat;JLdev/inmo/tgbotapi/types/chat/User;DLdev/inmo/tgbotapi/types/chat/DirectMessagesTopic;Ldev/inmo/tgbotapi/types/message/MessageOrigin;Lkorlibs/time/DateTime;ZLdev/inmo/tgbotapi/types/ReplyInfo;Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;Ldev/inmo/tgbotapi/types/message/content/MessageContent;Ldev/inmo/tgbotapi/types/chat/CommonBot;Ljava/lang/String;Ljava/lang/Integer;ZLdev/inmo/tgbotapi/types/message/ChatEvents/suggested/SuggestedPostInfo;Ljava/lang/Integer;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public synthetic fun (Ldev/inmo/tgbotapi/types/chat/PreviewChannelDirectMessagesChat;JLdev/inmo/tgbotapi/types/chat/User;DLdev/inmo/tgbotapi/types/chat/DirectMessagesTopic;Ldev/inmo/tgbotapi/types/message/MessageOrigin;Lkorlibs/time/DateTime;ZLdev/inmo/tgbotapi/types/ReplyInfo;Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;Ldev/inmo/tgbotapi/types/message/content/MessageContent;Ldev/inmo/tgbotapi/types/chat/CommonBot;Ljava/lang/String;Ljava/lang/Integer;ZLdev/inmo/tgbotapi/types/message/ChatEvents/suggested/SuggestedPostInfo;Ljava/lang/Integer;Ljava/lang/String;Lkotlin/jvm/internal/DefaultConstructorMarker;)V public final fun component1 ()Ldev/inmo/tgbotapi/types/chat/PreviewChannelDirectMessagesChat; public final fun component10 ()Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup; public final fun component11 ()Ldev/inmo/tgbotapi/types/message/content/MessageContent; @@ -25038,6 +25235,7 @@ public final class dev/inmo/tgbotapi/types/message/CommonSuggestedChannelDirectM public final fun component15 ()Z public final fun component16 ()Ldev/inmo/tgbotapi/types/message/ChatEvents/suggested/SuggestedPostInfo; public final fun component17 ()Ljava/lang/Integer; + public final fun component18-AVO4CDE ()Ljava/lang/String; public final fun component2-APLFQys ()J public final fun component3 ()Ldev/inmo/tgbotapi/types/chat/User; public final fun component4-Wg0KzQs ()D @@ -25046,8 +25244,8 @@ public final class dev/inmo/tgbotapi/types/message/CommonSuggestedChannelDirectM public final fun component7-Ivn3T5g ()Lkorlibs/time/DateTime; public final fun component8 ()Z public final fun component9 ()Ldev/inmo/tgbotapi/types/ReplyInfo; - public final fun copy-Yt8lx4I (Ldev/inmo/tgbotapi/types/chat/PreviewChannelDirectMessagesChat;JLdev/inmo/tgbotapi/types/chat/User;DLdev/inmo/tgbotapi/types/chat/DirectMessagesTopic;Ldev/inmo/tgbotapi/types/message/MessageOrigin;Lkorlibs/time/DateTime;ZLdev/inmo/tgbotapi/types/ReplyInfo;Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;Ldev/inmo/tgbotapi/types/message/content/MessageContent;Ldev/inmo/tgbotapi/types/chat/CommonBot;Ljava/lang/String;Ljava/lang/Integer;ZLdev/inmo/tgbotapi/types/message/ChatEvents/suggested/SuggestedPostInfo;Ljava/lang/Integer;)Ldev/inmo/tgbotapi/types/message/CommonSuggestedChannelDirectMessagesContentMessageImpl; - public static synthetic fun copy-Yt8lx4I$default (Ldev/inmo/tgbotapi/types/message/CommonSuggestedChannelDirectMessagesContentMessageImpl;Ldev/inmo/tgbotapi/types/chat/PreviewChannelDirectMessagesChat;JLdev/inmo/tgbotapi/types/chat/User;DLdev/inmo/tgbotapi/types/chat/DirectMessagesTopic;Ldev/inmo/tgbotapi/types/message/MessageOrigin;Lkorlibs/time/DateTime;ZLdev/inmo/tgbotapi/types/ReplyInfo;Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;Ldev/inmo/tgbotapi/types/message/content/MessageContent;Ldev/inmo/tgbotapi/types/chat/CommonBot;Ljava/lang/String;Ljava/lang/Integer;ZLdev/inmo/tgbotapi/types/message/ChatEvents/suggested/SuggestedPostInfo;Ljava/lang/Integer;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/message/CommonSuggestedChannelDirectMessagesContentMessageImpl; + public final fun copy-bhtxuCc (Ldev/inmo/tgbotapi/types/chat/PreviewChannelDirectMessagesChat;JLdev/inmo/tgbotapi/types/chat/User;DLdev/inmo/tgbotapi/types/chat/DirectMessagesTopic;Ldev/inmo/tgbotapi/types/message/MessageOrigin;Lkorlibs/time/DateTime;ZLdev/inmo/tgbotapi/types/ReplyInfo;Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;Ldev/inmo/tgbotapi/types/message/content/MessageContent;Ldev/inmo/tgbotapi/types/chat/CommonBot;Ljava/lang/String;Ljava/lang/Integer;ZLdev/inmo/tgbotapi/types/message/ChatEvents/suggested/SuggestedPostInfo;Ljava/lang/Integer;Ljava/lang/String;)Ldev/inmo/tgbotapi/types/message/CommonSuggestedChannelDirectMessagesContentMessageImpl; + public static synthetic fun copy-bhtxuCc$default (Ldev/inmo/tgbotapi/types/message/CommonSuggestedChannelDirectMessagesContentMessageImpl;Ldev/inmo/tgbotapi/types/chat/PreviewChannelDirectMessagesChat;JLdev/inmo/tgbotapi/types/chat/User;DLdev/inmo/tgbotapi/types/chat/DirectMessagesTopic;Ldev/inmo/tgbotapi/types/message/MessageOrigin;Lkorlibs/time/DateTime;ZLdev/inmo/tgbotapi/types/ReplyInfo;Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;Ldev/inmo/tgbotapi/types/message/content/MessageContent;Ldev/inmo/tgbotapi/types/chat/CommonBot;Ljava/lang/String;Ljava/lang/Integer;ZLdev/inmo/tgbotapi/types/message/ChatEvents/suggested/SuggestedPostInfo;Ljava/lang/Integer;Ljava/lang/String;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/message/CommonSuggestedChannelDirectMessagesContentMessageImpl; public fun equals (Ljava/lang/Object;)Z public fun getBusinessConnectionId-nXr5wdE ()Ljava/lang/String; public fun getChat ()Ldev/inmo/tgbotapi/types/chat/PreviewChannelDirectMessagesChat; @@ -25074,6 +25272,7 @@ public final class dev/inmo/tgbotapi/types/message/CommonSuggestedChannelDirectM public fun getReplyTo ()Ldev/inmo/tgbotapi/types/message/abstracts/Message; public fun getSenderBoostsCount ()Ljava/lang/Integer; public fun getSenderBot ()Ldev/inmo/tgbotapi/types/chat/CommonBot; + public fun getSenderTag-AVO4CDE ()Ljava/lang/String; public fun getSuggestedPostInfo ()Ldev/inmo/tgbotapi/types/message/ChatEvents/suggested/SuggestedPostInfo; public fun getUser ()Ldev/inmo/tgbotapi/types/chat/User; public fun hashCode ()I @@ -25808,8 +26007,8 @@ public final class dev/inmo/tgbotapi/types/message/PrivateForumEventMessage : de public final class dev/inmo/tgbotapi/types/message/RawMessageEntity { public static final field Companion Ldev/inmo/tgbotapi/types/message/RawMessageEntity$Companion; - public synthetic fun (Ljava/lang/String;IILjava/lang/String;Ldev/inmo/tgbotapi/types/chat/User;Ljava/lang/String;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public synthetic fun (Ljava/lang/String;IILjava/lang/String;Ldev/inmo/tgbotapi/types/chat/User;Ljava/lang/String;Ljava/lang/String;Lkotlin/jvm/internal/DefaultConstructorMarker;)V + public synthetic fun (Ljava/lang/String;IILjava/lang/String;Ldev/inmo/tgbotapi/types/chat/User;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Long;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public synthetic fun (Ljava/lang/String;IILjava/lang/String;Ldev/inmo/tgbotapi/types/chat/User;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Long;Ljava/lang/String;Lkotlin/jvm/internal/DefaultConstructorMarker;)V public final fun component1 ()Ljava/lang/String; public final fun component2 ()I public final fun component3 ()I @@ -25817,15 +26016,19 @@ public final class dev/inmo/tgbotapi/types/message/RawMessageEntity { public final fun component5 ()Ldev/inmo/tgbotapi/types/chat/User; public final fun component6 ()Ljava/lang/String; public final fun component7-GbmMWyQ ()Ljava/lang/String; - public final fun copy-SbQeJ6M (Ljava/lang/String;IILjava/lang/String;Ldev/inmo/tgbotapi/types/chat/User;Ljava/lang/String;Ljava/lang/String;)Ldev/inmo/tgbotapi/types/message/RawMessageEntity; - public static synthetic fun copy-SbQeJ6M$default (Ldev/inmo/tgbotapi/types/message/RawMessageEntity;Ljava/lang/String;IILjava/lang/String;Ldev/inmo/tgbotapi/types/chat/User;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/message/RawMessageEntity; + public final fun component8 ()Ljava/lang/Long; + public final fun component9 ()Ljava/lang/String; + public final fun copy-w5b-Tf8 (Ljava/lang/String;IILjava/lang/String;Ldev/inmo/tgbotapi/types/chat/User;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Long;Ljava/lang/String;)Ldev/inmo/tgbotapi/types/message/RawMessageEntity; + public static synthetic fun copy-w5b-Tf8$default (Ldev/inmo/tgbotapi/types/message/RawMessageEntity;Ljava/lang/String;IILjava/lang/String;Ldev/inmo/tgbotapi/types/chat/User;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Long;Ljava/lang/String;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/message/RawMessageEntity; public fun equals (Ljava/lang/Object;)Z public final fun getCustom_emoji_id-GbmMWyQ ()Ljava/lang/String; + public final fun getDate_time_format ()Ljava/lang/String; public final fun getLanguage ()Ljava/lang/String; public final fun getLength ()I public final fun getOffset ()I public final fun getPriority ()I public final fun getType ()Ljava/lang/String; + public final fun getUnix_time ()Ljava/lang/Long; public final fun getUrl ()Ljava/lang/String; public final fun getUser ()Ldev/inmo/tgbotapi/types/chat/User; public fun hashCode ()I @@ -26447,6 +26650,7 @@ public final class dev/inmo/tgbotapi/types/message/abstracts/PossiblyWithEffectM public abstract interface class dev/inmo/tgbotapi/types/message/abstracts/PotentiallyFromUserGroupContentMessage : dev/inmo/tgbotapi/types/message/abstracts/GroupContentMessage { public abstract fun getSenderBoostsCount ()Ljava/lang/Integer; + public abstract fun getSenderTag-AVO4CDE ()Ljava/lang/String; } public final class dev/inmo/tgbotapi/types/message/abstracts/PotentiallyFromUserGroupContentMessage$DefaultImpls { @@ -27947,6 +28151,45 @@ public final class dev/inmo/tgbotapi/types/message/textsources/CustomEmojiTextSo public static final fun customEmojiTextSource-R1fjqgo (Ljava/lang/String;[Ldev/inmo/tgbotapi/types/message/textsources/TextSource;)Ldev/inmo/tgbotapi/types/message/textsources/CustomEmojiTextSource; } +public final class dev/inmo/tgbotapi/types/message/textsources/DateTimeTextSource : dev/inmo/tgbotapi/types/message/textsources/TextSource { + public static final field Companion Ldev/inmo/tgbotapi/types/message/textsources/DateTimeTextSource$Companion; + public fun (Ljava/lang/String;JLjava/lang/String;)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()J + public final fun component3 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;JLjava/lang/String;)Ldev/inmo/tgbotapi/types/message/textsources/DateTimeTextSource; + public static synthetic fun copy$default (Ldev/inmo/tgbotapi/types/message/textsources/DateTimeTextSource;Ljava/lang/String;JLjava/lang/String;ILjava/lang/Object;)Ldev/inmo/tgbotapi/types/message/textsources/DateTimeTextSource; + public fun equals (Ljava/lang/Object;)Z + public fun getAsText ()Ljava/lang/String; + public final fun getDateTimeFormat ()Ljava/lang/String; + public fun getHtml ()Ljava/lang/String; + public fun getMarkdown ()Ljava/lang/String; + public fun getMarkdownV2 ()Ljava/lang/String; + public fun getSource ()Ljava/lang/String; + public final fun getUnixTimeStamp ()J + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class dev/inmo/tgbotapi/types/message/textsources/DateTimeTextSource$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/types/message/textsources/DateTimeTextSource$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ldev/inmo/tgbotapi/types/message/textsources/DateTimeTextSource; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Ldev/inmo/tgbotapi/types/message/textsources/DateTimeTextSource;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/message/textsources/DateTimeTextSource$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class dev/inmo/tgbotapi/types/message/textsources/DateTimeTextSourceKt { + public static final fun dateTimeTextSource (Ljava/lang/String;JLjava/lang/String;)Ldev/inmo/tgbotapi/types/message/textsources/DateTimeTextSource; +} + public final class dev/inmo/tgbotapi/types/message/textsources/EMailTextSource : dev/inmo/tgbotapi/types/message/textsources/MultilevelTextSource { public static final field Companion Ldev/inmo/tgbotapi/types/message/textsources/EMailTextSource$Companion; public fun (Ljava/lang/String;Ljava/util/List;)V @@ -33756,6 +33999,8 @@ public final class dev/inmo/tgbotapi/utils/EntitiesBuilderKt { public static final fun customEmojiln-fRZnA7w (Ldev/inmo/tgbotapi/utils/EntitiesBuilder;Ljava/lang/String;Ljava/util/List;)Ldev/inmo/tgbotapi/utils/EntitiesBuilder; public static final fun customEmojiln-fRZnA7w (Ldev/inmo/tgbotapi/utils/EntitiesBuilder;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Ldev/inmo/tgbotapi/utils/EntitiesBuilder; public static final fun customEmojiln-fRZnA7w (Ldev/inmo/tgbotapi/utils/EntitiesBuilder;Ljava/lang/String;[Ldev/inmo/tgbotapi/types/message/textsources/TextSource;)Ldev/inmo/tgbotapi/utils/EntitiesBuilder; + public static final fun dateTime (Ldev/inmo/tgbotapi/utils/EntitiesBuilder;Ljava/lang/String;JLjava/lang/String;)Ldev/inmo/tgbotapi/utils/EntitiesBuilder; + public static final fun dateTimeln (Ldev/inmo/tgbotapi/utils/EntitiesBuilder;Ljava/lang/String;JLjava/lang/String;)Ldev/inmo/tgbotapi/utils/EntitiesBuilder; public static final fun email (Ldev/inmo/tgbotapi/utils/EntitiesBuilder;Ljava/lang/String;)Ldev/inmo/tgbotapi/utils/EntitiesBuilder; public static final fun email (Ldev/inmo/tgbotapi/utils/EntitiesBuilder;Ljava/util/List;)Ldev/inmo/tgbotapi/utils/EntitiesBuilder; public static final fun email (Ldev/inmo/tgbotapi/utils/EntitiesBuilder;Lkotlin/jvm/functions/Function1;)Ldev/inmo/tgbotapi/utils/EntitiesBuilder; @@ -34239,3 +34484,12 @@ public abstract interface class dev/inmo/tgbotapi/utils/serializers/Customizable public abstract interface class dev/inmo/tgbotapi/utils/serializers/CustomizableSerializer : dev/inmo/tgbotapi/utils/serializers/CustomizableDeserializationStrategy, dev/inmo/tgbotapi/utils/serializers/CustomizableSerializationStrategy, kotlinx/serialization/KSerializer { } +public final class dev/inmo/tgbotapi/utils/serializers/UnitFromBooleanSerializer : kotlinx/serialization/KSerializer { + public static final field INSTANCE Ldev/inmo/tgbotapi/utils/serializers/UnitFromBooleanSerializer; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)V + public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lkotlin/Unit;)V +} + diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/abstracts/OptionallyTagged.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/abstracts/OptionallyTagged.kt new file mode 100644 index 0000000000..7bfb7c7b5c --- /dev/null +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/abstracts/OptionallyTagged.kt @@ -0,0 +1,7 @@ +package dev.inmo.tgbotapi.abstracts + +import dev.inmo.tgbotapi.types.UserTag + +interface OptionallyTagged { + val tag: UserTag? +} \ No newline at end of file diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/bot/ktor/base/AbstractRequestCallFactory.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/bot/ktor/base/AbstractRequestCallFactory.kt index af0521f3c9..0707f2b4c1 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/bot/ktor/base/AbstractRequestCallFactory.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/bot/ktor/base/AbstractRequestCallFactory.kt @@ -16,6 +16,7 @@ import io.ktor.client.request.* import io.ktor.client.statement.bodyAsText import io.ktor.http.ContentType import io.ktor.http.content.* +import kotlinx.serialization.builtins.serializer import kotlinx.serialization.json.Json import kotlin.collections.set diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/chat/members/PromoteChatMember.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/chat/members/PromoteChatMember.kt index 9386026218..b6d8015db6 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/chat/members/PromoteChatMember.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/chat/members/PromoteChatMember.kt @@ -49,6 +49,8 @@ data class PromoteChatMember( private val canDeleteStories: Boolean? = null, @SerialName(canManageDirectMessagesField) private val canManageDirectMessages: Boolean? = null, + @SerialName(canManageTagsField) + private val canManageTags: Boolean? = null, ) : ChatMemberRequest, UntilDate { override fun method(): String = "promoteChatMember" override val resultDeserializer: DeserializationStrategy @@ -69,6 +71,7 @@ fun PromoteChatMember( canPromoteMembers: Boolean? = null, canManageVideoChats: Boolean? = null, canManageChat: Boolean? = null, + canManageTags: Boolean? = null, ) = PromoteChatMember( chatId = chatId, userId = userId, @@ -84,6 +87,7 @@ fun PromoteChatMember( canPromoteMembers = canPromoteMembers, canManageVideoChats = canManageVideoChats, canManageChat = canManageChat, + canManageTags = canManageTags, canManageTopics = null, canPostStories = null, canEditStories = null, @@ -144,6 +148,7 @@ fun PromoteSupergroupAdministrator( canManageVideoChats: Boolean? = null, canManageChat: Boolean? = null, canManageTopics: Boolean? = null, + canManageTags: Boolean? = null, ) = PromoteChatMember( chatId = chatId, userId = userId, @@ -160,6 +165,7 @@ fun PromoteSupergroupAdministrator( canManageVideoChats = canManageVideoChats, canManageChat = canManageChat, canManageTopics = canManageTopics, + canManageTags = canManageTags, canPostStories = null, canEditStories = null, canDeleteStories = null diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/chat/members/SetChatMemberTag.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/chat/members/SetChatMemberTag.kt new file mode 100644 index 0000000000..f39730428a --- /dev/null +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/requests/chat/members/SetChatMemberTag.kt @@ -0,0 +1,23 @@ +package dev.inmo.tgbotapi.requests.chat.members + +import dev.inmo.tgbotapi.requests.chat.abstracts.ChatMemberRequest +import dev.inmo.tgbotapi.types.* +import dev.inmo.tgbotapi.utils.serializers.UnitFromBooleanSerializer +import kotlinx.serialization.* + +@Serializable +data class SetChatMemberTag( + @SerialName(chatIdField) + override val chatId: ChatIdentifier, + @Suppress("SERIALIZER_TYPE_INCOMPATIBLE") + @SerialName(userIdField) + override val userId: UserId, + @SerialName(tagField) + val tag: UserTag? = null +) : ChatMemberRequest { + override fun method(): String = "setChatMemberTag" + override val resultDeserializer: DeserializationStrategy + get() = UnitFromBooleanSerializer + override val requestSerializer: SerializationStrategy<*> + get() = serializer() +} diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/Common.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/Common.kt index 414d72e1be..6aa0efa911 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/Common.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/Common.kt @@ -80,6 +80,7 @@ val livePeriodLimit = 60 .. LiveLocation.INDEFINITE_LIVE_PERIOD val inlineQueryAnswerResultsLimit = 0 .. 50 val customTitleLength = 0 .. 16 +val memberTagLength = 0 .. 16 val dartsCubeAndBowlingDiceResultLimit = 1 .. 6 val basketballAndFootballDiceResultLimit = 1 .. 5 @@ -272,10 +273,12 @@ const val correctOptionIdField = "correct_option_id" const val allowsMultipleAnswersField = "allows_multiple_answers" const val isAnonymousField = "is_anonymous" const val canManageTopicsField = "can_manage_topics" +const val canEditTagField = "can_edit_tag" const val canPostStoriesField = "can_post_stories" const val canEditStoriesField = "can_edit_stories" const val canDeleteStoriesField = "can_delete_stories" const val canManageDirectMessagesField = "can_manage_direct_messages" +const val canManageTagsField = "can_manage_tags" const val captionEntitiesField = "caption_entities" const val hasSpoilerField = "has_spoiler" const val showCaptionAboveMediaField = "show_caption_above_media" @@ -488,6 +491,7 @@ const val headingField = "heading" const val fromField = "from" const val userChatIdField = "user_chat_id" const val userField = "user" +const val tagField = "tag" const val newOwnerField = "new_owner" const val dateField = "date" const val reactionsField = "reactions" @@ -666,6 +670,7 @@ const val mainFrameTimestampField = "main_frame_timestamp" const val firstProfileAudioField = "first_profile_audio" const val paidMessageStarCountField = "paid_message_star_count" +const val senderTagField = "sender_tag" const val countField = "count" const val ratingField = "rating" const val uniqueGiftColorsField = "unique_gift_colors" diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/DateTimeFormatPart.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/DateTimeFormatPart.kt new file mode 100644 index 0000000000..a770d6a9b2 --- /dev/null +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/DateTimeFormatPart.kt @@ -0,0 +1,113 @@ +package dev.inmo.tgbotapi.types + +import kotlinx.serialization.Serializable + +/** + * Common interface for parts of date time format. Used for [dev.inmo.tgbotapi.types.message.textsources.DateTimeTextSource] + * + * @see TgDateTimeFormatBuilder + * @see buildDateTimeFormat + */ +@Serializable +sealed interface DateTimeFormatPart { + /** + * Character that represents this part in the format string. Used by [TgDateTimeFormatBuilder.build] + */ + val controlCharacter: String + /** + * Represents relative time format (e.g. "2 hours ago"). Control character: "r" + */ + @Serializable + data object Relative : DateTimeFormatPart { override val controlCharacter: String get() = "r" } + /** + * Represents day of the week format (e.g. "Monday"). Control character: "w" + */ + @Serializable + data object WeekDay : DateTimeFormatPart { override val controlCharacter: String get() = "w" } + /** + * Group for date-related format parts + */ + @Serializable + sealed interface Date : DateTimeFormatPart { + /** + * Represents short date format (e.g. "01.01.2023"). Control character: "d" + */ + @Serializable + data object Short : Date { override val controlCharacter: String get() = "d" } + /** + * Represents long date format (e.g. "January 1, 2023"). Control character: "D" + */ + @Serializable + data object Long : Date { override val controlCharacter: String get() = "D" } + } + /** + * Group for time-related format parts + */ + @Serializable + sealed interface Time : DateTimeFormatPart { + /** + * Represents short time format (e.g. "12:00"). Control character: "t" + */ + @Serializable + data object Short : Time { override val controlCharacter: String get() = "t" } + /** + * Represents long time format (e.g. "12:00:00"). Control character: "T" + */ + @Serializable + data object Long : Time { override val controlCharacter: String get() = "T" } + } +} + +/** + * Builder for date time format string. Use [buildDateTimeFormat] for convenience + */ +class TgDateTimeFormatBuilder { + private val parts = mutableSetOf() + + /** + * Adds [DateTimeFormatPart.Relative] to the format + */ + fun relative() = apply { parts.add(DateTimeFormatPart.Relative) } + /** + * Adds [DateTimeFormatPart.WeekDay] to the format + */ + fun weekDay() = apply { parts.add(DateTimeFormatPart.WeekDay) } + /** + * Adds [DateTimeFormatPart.Date.Short] to the format. Removes any other [DateTimeFormatPart.Date] parts + */ + fun dateShort() = apply { + parts.removeAll { it is DateTimeFormatPart.Date } + parts.add(DateTimeFormatPart.Date.Short) + } + /** + * Adds [DateTimeFormatPart.Time.Short] to the format. Removes any other [DateTimeFormatPart.Time] parts + */ + fun timeShort() = apply { + parts.removeAll { it is DateTimeFormatPart.Time } + parts.add(DateTimeFormatPart.Time.Short) + } + /** + * Adds [DateTimeFormatPart.Date.Long] to the format. Removes any other [DateTimeFormatPart.Date] parts + */ + fun dateLong() = apply { + parts.removeAll { it is DateTimeFormatPart.Date } + parts.add(DateTimeFormatPart.Date.Long) + } + /** + * Adds [DateTimeFormatPart.Time.Long] to the format. Removes any other [DateTimeFormatPart.Time] parts + */ + fun timeLong() = apply { + parts.removeAll { it is DateTimeFormatPart.Time } + parts.add(DateTimeFormatPart.Time.Long) + } + + /** + * Joins all added parts into a single format string + */ + fun build() = parts.joinToString("") +} + +/** + * Convenient way to build date time format string + */ +fun buildDateTimeFormat(block: TgDateTimeFormatBuilder.() -> Unit): String = TgDateTimeFormatBuilder().apply(block).build() diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/UserTag.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/UserTag.kt new file mode 100644 index 0000000000..1c25ae7e53 --- /dev/null +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/UserTag.kt @@ -0,0 +1,16 @@ +package dev.inmo.tgbotapi.types + +import dev.inmo.kslog.common.w +import dev.inmo.tgbotapi.utils.DefaultKTgBotAPIKSLog +import kotlinx.serialization.Serializable +import kotlin.jvm.JvmInline + +@Serializable +@JvmInline +value class UserTag(val string: String) { + init { + if (string.length !in memberTagLength) { + DefaultKTgBotAPIKSLog.w("UserTag", "Tag length must be in range $memberTagLength, but was ${string.length} ($string)") + } + } +} diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/ChatPermissions.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/ChatPermissions.kt index b0e5227262..ea6647158f 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/ChatPermissions.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/ChatPermissions.kt @@ -33,6 +33,7 @@ interface ChatPermissions { val canChangeInfo: Boolean? val canInviteUsers: Boolean? val canPinMessages: Boolean? + val canEditTag: Boolean? @Transient val isGranular get() = canSendAudios != null || @@ -73,7 +74,9 @@ interface ChatPermissions { @SerialName(canInviteUsersField) override val canInviteUsers: Boolean? = null, @SerialName(canPinMessagesField) - override val canPinMessages: Boolean? = null + override val canPinMessages: Boolean? = null, + @SerialName(canEditTagField) + override val canEditTag: Boolean = false, ) : ChatPermissions { @Transient override val isGranular: Boolean @@ -93,7 +96,9 @@ interface ChatPermissions { @SerialName(canInviteUsersField) override val canInviteUsers: Boolean? = null, @SerialName(canPinMessagesField) - override val canPinMessages: Boolean? = null + override val canPinMessages: Boolean? = null, + @SerialName(canEditTagField) + override val canEditTag: Boolean = false, ) : ChatPermissions { @Transient override val isGranular: Boolean diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/member/AdministratorChatMemberImpl.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/member/AdministratorChatMemberImpl.kt index daebfd3a3a..ead864ce5d 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/member/AdministratorChatMemberImpl.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/member/AdministratorChatMemberImpl.kt @@ -48,6 +48,8 @@ data class AdministratorChatMemberImpl( override val canDeleteStories: Boolean = false, @SerialName(canManageDirectMessagesField) override val canManageDirectMessages: Boolean = false, + @SerialName(canManageTagsField) + override val canManageTags: Boolean = false, ) : AdministratorChatMember { @SerialName(statusField) @Required diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/member/ChatAdministratorRights.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/member/ChatAdministratorRights.kt index 7efad0ffaf..ea397635c1 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/member/ChatAdministratorRights.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/member/ChatAdministratorRights.kt @@ -20,6 +20,7 @@ sealed interface ChatAdministratorRights : SpecialChatAdministratorRights { val canEditStories: Boolean val canDeleteStories: Boolean val canManageDirectMessages: Boolean + val canManageTags: Boolean companion object { operator fun invoke( diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/member/ChatCommonAdministratorRights.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/member/ChatCommonAdministratorRights.kt index fccbfa0d77..d332fd8724 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/member/ChatCommonAdministratorRights.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/member/ChatCommonAdministratorRights.kt @@ -38,4 +38,6 @@ data class ChatCommonAdministratorRights( override val canDeleteStories: Boolean = false, @SerialName(canManageDirectMessagesField) override val canManageDirectMessages: Boolean = false, + @SerialName(canManageTagsField) + override val canManageTags: Boolean = false, ) : ChatAdministratorRights diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/member/KickedChatMember.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/member/KickedChatMember.kt index 449341fc55..6708b15730 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/member/KickedChatMember.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/member/KickedChatMember.kt @@ -13,7 +13,9 @@ data class KickedChatMember( @SerialName(userField) override val user: PreviewUser, @SerialName(untilDateField) - override val untilDate: TelegramDate? = null + override val untilDate: TelegramDate? = null, + @SerialName(tagField) + override val tag: UserTag? = null, ) : RestrictedChatMember { @SerialName(statusField) @Required diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/member/MemberChatMember.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/member/MemberChatMember.kt index 1061be5d01..c255281a62 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/member/MemberChatMember.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/member/MemberChatMember.kt @@ -1,7 +1,8 @@ package dev.inmo.tgbotapi.types.chat.member +import dev.inmo.tgbotapi.abstracts.OptionallyTagged import kotlinx.serialization.Serializable @Suppress("SERIALIZER_TYPE_INCOMPATIBLE") @Serializable(ChatMemberSerializer::class) -sealed interface MemberChatMember : ChatMember +sealed interface MemberChatMember : ChatMember, OptionallyTagged diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/member/MemberChatMemberImpl.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/member/MemberChatMemberImpl.kt index a9b9a396b1..3a782b9033 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/member/MemberChatMemberImpl.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/member/MemberChatMemberImpl.kt @@ -10,7 +10,9 @@ import kotlinx.serialization.* data class MemberChatMemberImpl( @Suppress("SERIALIZER_TYPE_INCOMPATIBLE") @SerialName(userField) - override val user: PreviewUser + override val user: PreviewUser, + @SerialName(tagField) + override val tag: UserTag? = null ) : MemberChatMember { @SerialName(statusField) @Required diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/member/OwnerChatMember.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/member/OwnerChatMember.kt index c8f1217590..2cbdfe9f80 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/member/OwnerChatMember.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/member/OwnerChatMember.kt @@ -48,6 +48,8 @@ data class OwnerChatMember( override val canDeleteStories: Boolean = true @Transient override val canManageDirectMessages: Boolean = true + @Transient + override val canManageTags: Boolean = true @SerialName(statusField) @Required diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/member/RestrictedChatMember.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/member/RestrictedChatMember.kt index 41e20ca455..865d73cb85 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/member/RestrictedChatMember.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/member/RestrictedChatMember.kt @@ -1,5 +1,6 @@ package dev.inmo.tgbotapi.types.chat.member +import dev.inmo.tgbotapi.abstracts.OptionallyTagged import dev.inmo.tgbotapi.abstracts.types.UntilDate import dev.inmo.tgbotapi.types.* import dev.inmo.tgbotapi.types.chat.PreviewUser @@ -8,7 +9,7 @@ import kotlinx.serialization.Serializable @Suppress("SERIALIZER_TYPE_INCOMPATIBLE") @Serializable(ChatMemberSerializer::class) -sealed interface RestrictedChatMember : ChatMember, UntilDate { +sealed interface RestrictedChatMember : ChatMember, UntilDate, OptionallyTagged { companion object { // backward compatibility fun @Deprecated( diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/member/RestrictedMemberChatMember.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/member/RestrictedMemberChatMember.kt index b0e81c7b97..3dd21334b4 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/member/RestrictedMemberChatMember.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/member/RestrictedMemberChatMember.kt @@ -5,7 +5,6 @@ package dev.inmo.tgbotapi.types.chat.member import dev.inmo.tgbotapi.types.* import dev.inmo.tgbotapi.types.chat.ChatPermissions import dev.inmo.tgbotapi.types.chat.PreviewUser -import dev.inmo.tgbotapi.types.chat.User import kotlinx.serialization.* /** @@ -48,7 +47,11 @@ data class RestrictedMemberChatMember( @SerialName(canPinMessagesField) override val canPinMessages: Boolean = false, @SerialName(canManageTopicsField) - override val canManageTopics: Boolean = false + override val canManageTopics: Boolean = false, + @SerialName(canEditTagField) + override val canEditTag: Boolean = false, + @SerialName(tagField) + override val tag: UserTag? = null, ) : RestrictedChatMember, SpecialRightsChatMember, MemberChatMember, ChatPermissions { @SerialName(statusField) @Required diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/member/SubscriptionMemberChatMemberImpl.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/member/SubscriptionMemberChatMemberImpl.kt index 7a5d6b3ee5..06873b58e6 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/member/SubscriptionMemberChatMemberImpl.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/chat/member/SubscriptionMemberChatMemberImpl.kt @@ -13,7 +13,9 @@ data class SubscriptionMemberChatMemberImpl( override val user: PreviewUser, @SerialName(untilDateField) @Serializable(TelegramDateSerializer::class) - override val untilDate: TelegramDate + override val untilDate: TelegramDate, + @SerialName(tagField) + override val tag: UserTag? = null ) : SubscriptionMemberChatMember { @SerialName(statusField) @Required diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/GroupMessages.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/GroupMessages.kt index c75e101a34..02f6c39675 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/GroupMessages.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/GroupMessages.kt @@ -185,6 +185,8 @@ data class CommonGroupContentMessageImpl( override val fromOffline: Boolean, @SerialName(paidMessageStarCountField) override val cost: Int? = null, + @SerialName(senderTagField) + override val senderTag: UserTag? = null, ) : CommonGroupContentMessage { constructor( chat: PreviewGroupChat, @@ -463,6 +465,8 @@ data class CommonForumContentMessageImpl( override val fromOffline: Boolean, @SerialName(paidMessageStarCountField) override val cost: Int? = null, + @SerialName(senderTagField) + override val senderTag: UserTag? = null, ) : CommonForumContentMessage { constructor( chat: PreviewForumChat, @@ -520,6 +524,8 @@ data class CommonChannelDirectMessagesContentMessageImpl( override val fromOffline: Boolean, @SerialName(paidMessageStarCountField) override val cost: Int? = null, + @SerialName(senderTagField) + override val senderTag: UserTag? = null ) : CommonChannelDirectMessagesContentMessage { constructor( chat: PreviewChannelDirectMessagesChat, @@ -577,7 +583,9 @@ data class CommonSuggestedChannelDirectMessagesContentMessageImpl { constructor( chat: PreviewChannelDirectMessagesChat, diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/RawMessage.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/RawMessage.kt index e7100a9dbc..c7faa7c853 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/RawMessage.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/RawMessage.kt @@ -65,6 +65,7 @@ internal data class RawMessage( private val direct_messages_topic: DirectMessagesTopic? = null, @Suppress("SERIALIZER_TYPE_INCOMPATIBLE") private val from: PreviewUser? = null, + private val sender_tag: UserTag? = null, @Suppress("SERIALIZER_TYPE_INCOMPATIBLE") private val sender_chat: PreviewPublicChat? = null, private val forward_origin: MessageOrigin? = null, @@ -476,6 +477,7 @@ internal data class RawMessage( senderBoostsCount = sender_boost_count, fromOffline = is_from_offline, cost = paid_star_count, + senderTag = sender_tag, ) } } @@ -519,6 +521,7 @@ internal data class RawMessage( fromOffline = is_from_offline, suggestedPostInfo = suggested_post_info, cost = paid_star_count, + senderTag = sender_tag, ) } } @@ -625,6 +628,7 @@ internal data class RawMessage( senderBoostsCount = sender_boost_count, fromOffline = is_from_offline, cost = paid_star_count, + senderTag = sender_tag, ) } } else { @@ -698,6 +702,7 @@ internal data class RawMessage( senderBoostsCount = sender_boost_count, fromOffline = is_from_offline, cost = paid_star_count, + senderTag = sender_tag ) } } @@ -773,6 +778,7 @@ internal data class RawMessage( senderBoostsCount = sender_boost_count, fromOffline = is_from_offline, cost = paid_star_count, + senderTag = sender_tag, ) } } diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/RawMessageEntity.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/RawMessageEntity.kt index 90a580bd51..656346ea47 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/RawMessageEntity.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/RawMessageEntity.kt @@ -2,6 +2,7 @@ package dev.inmo.tgbotapi.types.message import dev.inmo.micro_utils.common.Warning import dev.inmo.tgbotapi.types.CustomEmojiId +import dev.inmo.tgbotapi.types.UnixTimeStamp import dev.inmo.tgbotapi.types.chat.User import dev.inmo.tgbotapi.types.message.textsources.* import kotlinx.serialization.Serializable @@ -15,7 +16,9 @@ data class RawMessageEntity( val url: String? = null, val user: User? = null, val language: String? = null, - val custom_emoji_id: CustomEmojiId? = null + val custom_emoji_id: CustomEmojiId? = null, + val unix_time: UnixTimeStamp? = null, + val date_time_format: String? = null ) { internal val range by lazy { offset until (offset + length) @@ -43,6 +46,7 @@ data class RawMessageEntity( "code" -> 2 "pre" -> 2 "text_link" -> 2 + "date_time" -> 2 else -> 2 } } @@ -75,6 +79,11 @@ fun RawMessageEntity.asTextSource( sourceSubstring, url ?: throw IllegalStateException("URL must not be null for text link") ) + "date_time" -> DateTimeTextSource( + sourceSubstring, + unix_time ?: throw IllegalStateException("Unix time must not be null for date_time"), + date_time_format + ) "text_mention" -> TextMentionTextSource( sourceSubstring, user ?: throw IllegalStateException("User must not be null for text mention"), @@ -200,6 +209,7 @@ fun TextSource.toRawMessageEntities(offset: Int = 0): List { is StrikethroughTextSource -> RawMessageEntity("strikethrough", offset, length) is SpoilerTextSource -> RawMessageEntity("spoiler", offset, length) is CustomEmojiTextSource -> RawMessageEntity("custom_emoji", offset, length, custom_emoji_id = customEmojiId) + is DateTimeTextSource -> RawMessageEntity("date_time", offset, length, unix_time = unixTimeStamp, date_time_format = dateTimeFormat) is RegularTextSource -> null } ) + if (this is MultilevelTextSource) { diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/abstracts/GroupMessages.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/abstracts/GroupMessages.kt index 05e590ad7b..a2528637ce 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/abstracts/GroupMessages.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/abstracts/GroupMessages.kt @@ -1,8 +1,8 @@ package dev.inmo.tgbotapi.types.message.abstracts -import dev.inmo.tgbotapi.requests.chat.forum.CreateForumTopic import dev.inmo.tgbotapi.types.DirectMessageThreadId import dev.inmo.tgbotapi.types.MessageThreadId +import dev.inmo.tgbotapi.types.UserTag import dev.inmo.tgbotapi.types.chat.* import dev.inmo.tgbotapi.types.message.ChatEvents.forum.ForumTopicCreated import dev.inmo.tgbotapi.types.message.ChatEvents.suggested.SuggestedPostInfo @@ -14,6 +14,7 @@ sealed interface GroupContentMessage : PublicContentMessage< sealed interface PotentiallyFromUserGroupContentMessage : GroupContentMessage { val senderBoostsCount: Int? + val senderTag: UserTag? } sealed interface ForumContentMessage : GroupContentMessage, PossiblyTopicMessage { diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/textsources/DateTimeTextSource.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/textsources/DateTimeTextSource.kt new file mode 100644 index 0000000000..c819fac960 --- /dev/null +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/textsources/DateTimeTextSource.kt @@ -0,0 +1,26 @@ +package dev.inmo.tgbotapi.types.message.textsources + +import dev.inmo.tgbotapi.types.UnixTimeStamp +import dev.inmo.tgbotapi.utils.RiskFeature +import dev.inmo.tgbotapi.utils.internal.* +import kotlinx.serialization.Serializable + +/** + * @see linkTextSource + */ +@Serializable +data class DateTimeTextSource @RiskFeature(DirectInvocationOfTextSourceConstructor) constructor ( + override val source: String, + val unixTimeStamp: UnixTimeStamp, + val dateTimeFormat: String? +) : TextSource { + override val markdown: String by lazy { source.dateTimeMarkdown(unixTimeStamp, dateTimeFormat) } + override val markdownV2: String by lazy { source.dateTimeMarkdownV2(unixTimeStamp, dateTimeFormat) } + override val html: String by lazy { source.dateTimeHTML(unixTimeStamp, dateTimeFormat) } +} + +fun dateTimeTextSource( + text: String, + unixTimeStamp: UnixTimeStamp, + dateTimeFormat: String? +) = DateTimeTextSource(text, unixTimeStamp, dateTimeFormat) diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/textsources/TextSourceSerializer.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/textsources/TextSourceSerializer.kt index 7034b9ae92..464271b93d 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/textsources/TextSourceSerializer.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/message/textsources/TextSourceSerializer.kt @@ -28,6 +28,7 @@ object TextSourceSerializer : TypedSerializer(TextSource::class, emp "cashtag" to CashTagTextSource.serializer(), "spoiler" to SpoilerTextSource.serializer(), "custom_emoji" to CustomEmojiTextSource.serializer(), + "date_time" to DateTimeTextSource.serializer(), "blockquote" to BlockquoteTextSource.serializer(), "expandable_blockquote" to ExpandableBlockquoteTextSource.serializer(), ).also { diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/utils/EntitiesBuilder.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/utils/EntitiesBuilder.kt index 50c8075f82..7f548e6913 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/utils/EntitiesBuilder.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/utils/EntitiesBuilder.kt @@ -5,6 +5,7 @@ package dev.inmo.tgbotapi.utils import dev.inmo.micro_utils.common.joinTo import dev.inmo.tgbotapi.types.BotCommand import dev.inmo.tgbotapi.types.CustomEmojiId +import dev.inmo.tgbotapi.types.UnixTimeStamp import dev.inmo.tgbotapi.types.UserId import dev.inmo.tgbotapi.types.chat.User import dev.inmo.tgbotapi.types.message.textsources.* @@ -654,6 +655,16 @@ inline fun EntitiesBuilder.link(url: String) = add(dev.inmo.tgbotapi.types.messa inline fun EntitiesBuilder.linkln(url: String) = link(url) + newLine +/** + * Add [DateTimeTextSource] using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.dateTimeTextSource] + */ +inline fun EntitiesBuilder.dateTime(text: String, unixTimeStamp: UnixTimeStamp, dateTimeFormat: String?) = add(dev.inmo.tgbotapi.types.message.textsources.dateTimeTextSource(text, unixTimeStamp, dateTimeFormat)) +/** + * Version of [EntitiesBuilder.dateTime] with new line at the end + */ +inline fun EntitiesBuilder.dateTimeln(text: String, unixTimeStamp: UnixTimeStamp, dateTimeFormat: String?) = dateTime(text, unixTimeStamp, dateTimeFormat) + newLine + + /** * Add underline using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.underlineTextSource] */ diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/utils/extensions/MediaGroupContentMessageCreator.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/utils/extensions/MediaGroupContentMessageCreator.kt index 19c1219b57..833277516a 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/utils/extensions/MediaGroupContentMessageCreator.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/utils/extensions/MediaGroupContentMessageCreator.kt @@ -99,6 +99,7 @@ fun List>.asMedia senderBoostsCount = sourceMessage.senderBoostsCount, fromOffline = sourceMessage.fromOffline, cost = sourceMessage.cost, + senderTag = sourceMessage.senderTag, ) is ConnectedFromChannelGroupContentMessage -> ConnectedFromChannelGroupContentMessageImpl( chat = sourceMessage.chat, @@ -168,6 +169,7 @@ fun List>.asMedia senderBoostsCount = sourceMessage.senderBoostsCount, fromOffline = sourceMessage.fromOffline, cost = sourceMessage.cost, + senderTag = sourceMessage.senderTag, ) is CommonChannelDirectMessagesContentMessage -> CommonChannelDirectMessagesContentMessageImpl( chat = sourceMessage.chat, @@ -186,6 +188,7 @@ fun List>.asMedia senderBoostsCount = sourceMessage.senderBoostsCount, fromOffline = sourceMessage.fromOffline, cost = sourceMessage.cost, + senderTag = sourceMessage.senderTag, ) is FromChannelForumContentMessage -> FromChannelForumContentMessageImpl( chat = sourceMessage.chat, @@ -243,6 +246,7 @@ fun List>.asMedia fromOffline = sourceMessage.fromOffline, suggestedPostInfo = sourceMessage.suggestedPostInfo, cost = sourceMessage.cost, + senderTag = sourceMessage.senderTag, ) is FromChannelSuggestedChannelDirectMessagesContentMessage<*> -> FromChannelSuggestedChannelDirectMessagesContentMessageImpl( chat = sourceMessage.chat, diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/utils/internal/StringFormatting.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/utils/internal/StringFormatting.kt index 73d2b7d1d5..bd6bea2a15 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/utils/internal/StringFormatting.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/utils/internal/StringFormatting.kt @@ -50,6 +50,10 @@ internal fun String.linkMarkdown(link: String): String = "[${toMarkdown()}](${li internal fun String.linkMarkdownV2(link: String): String = "[${escapeMarkdownV2Common()}](${link.escapeMarkdownV2Link()})" internal fun String.linkHTML(link: String): String = "${toHtml()}" +internal fun String.dateTimeMarkdown(unixTimeStamp: UnixTimeStamp, dateTimeFormat: String?): String = "![${toMarkdown()}](tg://time?unix=$unixTimeStamp${dateTimeFormat ?.let { "&format=${dateTimeFormat.toMarkdown()}" } ?: ""})" +internal fun String.dateTimeMarkdownV2(unixTimeStamp: UnixTimeStamp, dateTimeFormat: String?): String = "![${escapeMarkdownV2Common()}](tg://time?unix=$unixTimeStamp${dateTimeFormat?.let { "&format=${dateTimeFormat.escapeMarkdownV2Link()}" } ?: ""})" +internal fun String.dateTimeHTML(unixTimeStamp: UnixTimeStamp, dateTimeFormat: String?): String = "${toHtml()}" + internal fun String.boldMarkdown(): String = markdownDefault(markdownBoldControl) internal fun String.blockquoteMarkdown(): String = regularMarkdown() diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/utils/serializers/UnitFromBooleanSerializer.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/utils/serializers/UnitFromBooleanSerializer.kt new file mode 100644 index 0000000000..ea795b460f --- /dev/null +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/utils/serializers/UnitFromBooleanSerializer.kt @@ -0,0 +1,24 @@ +package dev.inmo.tgbotapi.utils.serializers + +import kotlinx.serialization.KSerializer +import kotlinx.serialization.builtins.serializer +import kotlinx.serialization.descriptors.SerialDescriptor +import kotlinx.serialization.encoding.Decoder +import kotlinx.serialization.encoding.Encoder + +object UnitFromBooleanSerializer : KSerializer { + override val descriptor: SerialDescriptor + get() = Boolean.serializer().descriptor + + override fun serialize(encoder: Encoder, value: Unit) { + encoder.encodeBoolean(true) + } + + override fun deserialize(decoder: Decoder) { + return if (decoder.decodeBoolean()) { + Unit + } else { + throw IllegalStateException("Can't deserialize Unit from false") + } + } +} \ No newline at end of file diff --git a/tgbotapi.core/src/commonTest/kotlin/dev/inmo/tgbotapi/types/message/textsources/DateTimeTextSourceTests.kt b/tgbotapi.core/src/commonTest/kotlin/dev/inmo/tgbotapi/types/message/textsources/DateTimeTextSourceTests.kt new file mode 100644 index 0000000000..b3d9cd97d9 --- /dev/null +++ b/tgbotapi.core/src/commonTest/kotlin/dev/inmo/tgbotapi/types/message/textsources/DateTimeTextSourceTests.kt @@ -0,0 +1,105 @@ +package dev.inmo.tgbotapi.types.message.textsources + +import dev.inmo.tgbotapi.types.message.RawMessageEntity +import dev.inmo.tgbotapi.types.message.asTextSources +import dev.inmo.tgbotapi.types.message.toRawMessageEntities +import dev.inmo.tgbotapi.utils.buildEntities +import dev.inmo.tgbotapi.utils.dateTime +import kotlin.test.* + +class DateTimeTextSourceTests { + @Test + fun testDateTimeTextSourceFormatting() { + val unix = 1714560000L + val format = "r" + val text = "some date" + val source = DateTimeTextSource(text, unix, format) + + assertEquals("![$text](tg://time?unix=$unix&format=$format)", source.markdown) + assertEquals("![$text](tg://time?unix=$unix&format=$format)", source.markdownV2) + assertEquals("$text", source.html) + } + @Test + fun testDateTimeTextSourceFormattingWithoutFormat() { + val unix = 1714560000L + val format = null + val text = "some date" + val source = DateTimeTextSource(text, unix, format) + + assertEquals("![$text](tg://time?unix=$unix)", source.markdown) + assertEquals("![$text](tg://time?unix=$unix)", source.markdownV2) + assertEquals("$text", source.html) + } + + @Test + fun testDateTimeTextSourceInRawMessageEntity() { + val sourceText = "date: 2024-05-01" + val unix = 1714560000L + val format = "wd" + val entities = listOf( + RawMessageEntity("date_time", 6, 10, unix_time = unix, date_time_format = format) + ) + val textSources = entities.asTextSources(sourceText) + + assertEquals(2, textSources.size) + assertTrue(textSources[0] is RegularTextSource) + assertTrue(textSources[1] is DateTimeTextSource) + + val dateTimeSource = textSources[1] as DateTimeTextSource + assertEquals("2024-05-01", dateTimeSource.source) + assertEquals(unix, dateTimeSource.unixTimeStamp) + assertEquals(format, dateTimeSource.dateTimeFormat) + + val backToEntities = dateTimeSource.toRawMessageEntities(6) + assertEquals(1, backToEntities.size) + val entity = backToEntities[0] + assertEquals("date_time", entity.type) + assertEquals(6, entity.offset) + assertEquals(10, entity.length) + assertEquals(unix, entity.unix_time) + assertEquals(format, entity.date_time_format) + } + + @Test + fun testDateTimeTextSourceInRawMessageEntityWithNullFormat() { + val sourceText = "date: 2024-05-01" + val unix = 1714560000L + val format = null + val entities = listOf( + RawMessageEntity("date_time", 6, 10, unix_time = unix, date_time_format = format) + ) + val textSources = entities.asTextSources(sourceText) + + assertEquals(2, textSources.size) + assertTrue(textSources[0] is RegularTextSource) + assertTrue(textSources[1] is DateTimeTextSource) + + val dateTimeSource = textSources[1] as DateTimeTextSource + assertEquals("2024-05-01", dateTimeSource.source) + assertEquals(unix, dateTimeSource.unixTimeStamp) + assertEquals(format, dateTimeSource.dateTimeFormat) + + val backToEntities = dateTimeSource.toRawMessageEntities(6) + assertEquals(1, backToEntities.size) + val entity = backToEntities[0] + assertEquals("date_time", entity.type) + assertEquals(6, entity.offset) + assertEquals(10, entity.length) + assertEquals(unix, entity.unix_time) + assertEquals(format, entity.date_time_format) + } + + @Test + fun testDateTimeInEntitiesBuilder() { + val unix = 1714560000L + val format = "D" + val sources = buildEntities { + dateTime("today", unix, format) + } + assertEquals(1, sources.size) + val source = sources[0] as DateTimeTextSource + assertEquals("today", source.source) + assertEquals(unix, source.unixTimeStamp) + assertEquals(format, source.dateTimeFormat) + } +} diff --git a/tgbotapi.utils/api/tgbotapi.utils.api b/tgbotapi.utils/api/tgbotapi.utils.api index 32490811ee..22e2db5c35 100644 --- a/tgbotapi.utils/api/tgbotapi.utils.api +++ b/tgbotapi.utils/api/tgbotapi.utils.api @@ -71,6 +71,7 @@ public final class dev/inmo/tgbotapi/extensions/utils/ClassCastsKt { public static final fun asCustomDiceAnimationType (Ldev/inmo/tgbotapi/types/dice/DiceAnimationType;)Ldev/inmo/tgbotapi/types/dice/CustomDiceAnimationType; public static final fun asDartsDiceAnimationType (Ldev/inmo/tgbotapi/types/dice/DiceAnimationType;)Ldev/inmo/tgbotapi/types/dice/DartsDiceAnimationType; public static final fun asDataCallbackQuery (Ldev/inmo/tgbotapi/types/queries/callback/CallbackQuery;)Ldev/inmo/tgbotapi/types/queries/callback/DataCallbackQuery; + public static final fun asDateTimeTextSource (Ldev/inmo/tgbotapi/types/message/textsources/TextSource;)Ldev/inmo/tgbotapi/types/message/textsources/DateTimeTextSource; public static final fun asDeleteChatPhoto (Ldev/inmo/tgbotapi/types/message/ChatEvents/abstracts/ChatEvent;)Ldev/inmo/tgbotapi/types/message/ChatEvents/DeleteChatPhoto; public static final fun asDescribedInlineQueryResult (Ldev/inmo/tgbotapi/types/InlineQueries/InlineQueryResult/abstracts/InlineQueryResult;)Ldev/inmo/tgbotapi/types/InlineQueries/InlineQueryResult/abstracts/DescribedInlineQueryResult; public static final fun asDiceContent (Ldev/inmo/tgbotapi/types/message/content/ResendableContent;)Ldev/inmo/tgbotapi/types/message/content/DiceContent; @@ -416,6 +417,7 @@ public final class dev/inmo/tgbotapi/extensions/utils/ClassCastsKt { public static final fun requireCustomDiceAnimationType (Ldev/inmo/tgbotapi/types/dice/DiceAnimationType;)Ldev/inmo/tgbotapi/types/dice/CustomDiceAnimationType; public static final fun requireDartsDiceAnimationType (Ldev/inmo/tgbotapi/types/dice/DiceAnimationType;)Ldev/inmo/tgbotapi/types/dice/DartsDiceAnimationType; public static final fun requireDataCallbackQuery (Ldev/inmo/tgbotapi/types/queries/callback/CallbackQuery;)Ldev/inmo/tgbotapi/types/queries/callback/DataCallbackQuery; + public static final fun requireDateTimeTextSource (Ldev/inmo/tgbotapi/types/message/textsources/TextSource;)Ldev/inmo/tgbotapi/types/message/textsources/DateTimeTextSource; public static final fun requireDeleteChatPhoto (Ldev/inmo/tgbotapi/types/message/ChatEvents/abstracts/ChatEvent;)Ldev/inmo/tgbotapi/types/message/ChatEvents/DeleteChatPhoto; public static final fun requireDescribedInlineQueryResult (Ldev/inmo/tgbotapi/types/InlineQueries/InlineQueryResult/abstracts/InlineQueryResult;)Ldev/inmo/tgbotapi/types/InlineQueries/InlineQueryResult/abstracts/DescribedInlineQueryResult; public static final fun requireDiceContent (Ldev/inmo/tgbotapi/types/message/content/ResendableContent;)Ldev/inmo/tgbotapi/types/message/content/DiceContent; @@ -761,6 +763,7 @@ public final class dev/inmo/tgbotapi/extensions/utils/ClassCastsKt { public static final fun whenCustomDiceAnimationType (Ldev/inmo/tgbotapi/types/dice/DiceAnimationType;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; public static final fun whenDartsDiceAnimationType (Ldev/inmo/tgbotapi/types/dice/DiceAnimationType;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; public static final fun whenDataCallbackQuery (Ldev/inmo/tgbotapi/types/queries/callback/CallbackQuery;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; + public static final fun whenDateTimeTextSource (Ldev/inmo/tgbotapi/types/message/textsources/TextSource;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; public static final fun whenDeleteChatPhoto (Ldev/inmo/tgbotapi/types/message/ChatEvents/abstracts/ChatEvent;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; public static final fun whenDescribedInlineQueryResult (Ldev/inmo/tgbotapi/types/InlineQueries/InlineQueryResult/abstracts/InlineQueryResult;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; public static final fun whenDiceContent (Ldev/inmo/tgbotapi/types/message/content/ResendableContent;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; @@ -1337,6 +1340,8 @@ public final class dev/inmo/tgbotapi/extensions/utils/ClassCastsNewKt { public static final fun dartsDiceAnimationTypeOrThrow (Ldev/inmo/tgbotapi/types/dice/DiceAnimationType;)Ldev/inmo/tgbotapi/types/dice/DartsDiceAnimationType; public static final fun dataCallbackQueryOrNull (Ldev/inmo/tgbotapi/abstracts/OptionallyWithUser;)Ldev/inmo/tgbotapi/types/queries/callback/DataCallbackQuery; public static final fun dataCallbackQueryOrThrow (Ldev/inmo/tgbotapi/abstracts/OptionallyWithUser;)Ldev/inmo/tgbotapi/types/queries/callback/DataCallbackQuery; + public static final fun dateTimeTextSourceOrNull (Ldev/inmo/tgbotapi/types/message/textsources/TextSource;)Ldev/inmo/tgbotapi/types/message/textsources/DateTimeTextSource; + public static final fun dateTimeTextSourceOrThrow (Ldev/inmo/tgbotapi/types/message/textsources/TextSource;)Ldev/inmo/tgbotapi/types/message/textsources/DateTimeTextSource; public static final fun deleteChatPhotoOrNull (Ldev/inmo/tgbotapi/types/message/ChatEvents/abstracts/ChatEvent;)Ldev/inmo/tgbotapi/types/message/ChatEvents/DeleteChatPhoto; public static final fun deleteChatPhotoOrThrow (Ldev/inmo/tgbotapi/types/message/ChatEvents/abstracts/ChatEvent;)Ldev/inmo/tgbotapi/types/message/ChatEvents/DeleteChatPhoto; public static final fun deletedBusinessMessageUpdateOrNull (Ldev/inmo/tgbotapi/types/update/abstracts/Update;)Ldev/inmo/tgbotapi/types/update/DeletedBusinessMessageUpdate; @@ -1710,6 +1715,7 @@ public final class dev/inmo/tgbotapi/extensions/utils/ClassCastsNewKt { public static final fun ifCustomEmojiVideoSticker (Ldev/inmo/tgbotapi/types/files/TelegramMediaFile;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; public static final fun ifDartsDiceAnimationType (Ldev/inmo/tgbotapi/types/dice/DiceAnimationType;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; public static final fun ifDataCallbackQuery (Ldev/inmo/tgbotapi/abstracts/OptionallyWithUser;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; + public static final fun ifDateTimeTextSource (Ldev/inmo/tgbotapi/types/message/textsources/TextSource;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; public static final fun ifDeleteChatPhoto (Ldev/inmo/tgbotapi/types/message/ChatEvents/abstracts/ChatEvent;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; public static final fun ifDeletedBusinessMessageUpdate (Ldev/inmo/tgbotapi/types/update/abstracts/Update;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; public static final fun ifDescribedInlineQueryResult (Ldev/inmo/tgbotapi/types/InlineQueries/InlineQueryResult/abstracts/InlineQueryResult;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; @@ -3159,6 +3165,7 @@ public final class dev/inmo/tgbotapi/extensions/utils/extensions/raw/MessageKt { public static final fun getReply_markup (Ldev/inmo/tgbotapi/types/message/abstracts/Message;)Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup; public static final fun getReply_to_message (Ldev/inmo/tgbotapi/types/message/abstracts/Message;)Ldev/inmo/tgbotapi/types/message/abstracts/Message; public static final fun getSender_chat (Ldev/inmo/tgbotapi/types/message/abstracts/Message;)Ldev/inmo/tgbotapi/types/chat/PreviewChat; + public static final fun getSender_tag (Ldev/inmo/tgbotapi/types/message/abstracts/Message;)Ljava/lang/String; public static final fun getSticker (Ldev/inmo/tgbotapi/types/message/abstracts/Message;)Ldev/inmo/tgbotapi/types/files/Sticker; public static final fun getSuccessful_payment (Ldev/inmo/tgbotapi/types/message/abstracts/Message;)Ldev/inmo/tgbotapi/types/payments/SuccessfulPayment; public static final fun getSupergroup_chat_created (Ldev/inmo/tgbotapi/types/message/abstracts/Message;)Z diff --git a/tgbotapi.utils/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/utils/ClassCasts.kt b/tgbotapi.utils/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/utils/ClassCasts.kt index 38f11d836e..d52ea1f3d8 100644 --- a/tgbotapi.utils/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/utils/ClassCasts.kt +++ b/tgbotapi.utils/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/utils/ClassCasts.kt @@ -3036,6 +3036,15 @@ inline fun TextSource.asTextMentionTextSource(): TextMentionTextSource? = this a @PreviewFeature inline fun TextSource.requireTextMentionTextSource(): TextMentionTextSource = this as TextMentionTextSource +@PreviewFeature +inline fun TextSource.whenDateTimeTextSource(block: (DateTimeTextSource) -> T) = asDateTimeTextSource()?.let(block) + +@PreviewFeature +inline fun TextSource.asDateTimeTextSource(): DateTimeTextSource? = this as? DateTimeTextSource + +@PreviewFeature +inline fun TextSource.requireDateTimeTextSource(): DateTimeTextSource = this as DateTimeTextSource + @PreviewFeature inline fun TextSource.whenURLTextSource(block: (URLTextSource) -> T) = asURLTextSource()?.let(block) diff --git a/tgbotapi.utils/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/utils/ClassCastsNew.kt b/tgbotapi.utils/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/utils/ClassCastsNew.kt index 49b4af8b4b..16f2bf8132 100644 --- a/tgbotapi.utils/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/utils/ClassCastsNew.kt +++ b/tgbotapi.utils/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/utils/ClassCastsNew.kt @@ -402,6 +402,7 @@ import dev.inmo.tgbotapi.types.message.textsources.BotCommandTextSource import dev.inmo.tgbotapi.types.message.textsources.CashTagTextSource import dev.inmo.tgbotapi.types.message.textsources.CodeTextSource import dev.inmo.tgbotapi.types.message.textsources.CustomEmojiTextSource +import dev.inmo.tgbotapi.types.message.textsources.DateTimeTextSource import dev.inmo.tgbotapi.types.message.textsources.EMailTextSource import dev.inmo.tgbotapi.types.message.textsources.ExpandableBlockquoteTextSource import dev.inmo.tgbotapi.types.message.textsources.HashTagTextSource @@ -2805,6 +2806,12 @@ public inline fun TextSource.italicTextSourceOrThrow(): ItalicTextSource = this public inline fun TextSource.ifItalicTextSource(block: (ItalicTextSource) -> T): T? = italicTextSourceOrNull() ?.let(block) +public inline fun TextSource.dateTimeTextSourceOrNull(): DateTimeTextSource? = this as? dev.inmo.tgbotapi.types.message.textsources.DateTimeTextSource + +public inline fun TextSource.dateTimeTextSourceOrThrow(): DateTimeTextSource = this as dev.inmo.tgbotapi.types.message.textsources.DateTimeTextSource + +public inline fun TextSource.ifDateTimeTextSource(block: (DateTimeTextSource) -> T): T? = dateTimeTextSourceOrNull() ?.let(block) + public inline fun TextSource.textMentionTextSourceOrNull(): TextMentionTextSource? = this as? dev.inmo.tgbotapi.types.message.textsources.TextMentionTextSource public inline fun TextSource.textMentionTextSourceOrThrow(): TextMentionTextSource = this as dev.inmo.tgbotapi.types.message.textsources.TextMentionTextSource diff --git a/tgbotapi.utils/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/utils/extensions/raw/Message.kt b/tgbotapi.utils/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/utils/extensions/raw/Message.kt index 0a627f1aef..1b9ba7f042 100644 --- a/tgbotapi.utils/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/utils/extensions/raw/Message.kt +++ b/tgbotapi.utils/src/commonMain/kotlin/dev/inmo/tgbotapi/extensions/utils/extensions/raw/Message.kt @@ -28,6 +28,9 @@ inline val Message.from: User? inline val Message.sender_chat: PreviewChat? get() = withSenderChatMessageOrNull() ?.senderChat @RiskFeature(RawFieldsUsageWarning) +inline val Message.sender_tag: UserTag? + get() = potentiallyFromUserGroupContentMessageOrNull() ?.senderTag +@RiskFeature(RawFieldsUsageWarning) inline val Message.forward_from: User? get() = asPossiblyForwardedMessage() ?.forwardInfo ?.asUserForwardInfo() ?.from @RiskFeature(RawFieldsUsageWarning) diff --git a/tgbotapi.webapps/src/jsMain/kotlin/dev/inmo/tgbotapi/webapps/BottomButton.kt b/tgbotapi.webapps/src/jsMain/kotlin/dev/inmo/tgbotapi/webapps/BottomButton.kt index 32701afb68..ffca3f76e7 100644 --- a/tgbotapi.webapps/src/jsMain/kotlin/dev/inmo/tgbotapi/webapps/BottomButton.kt +++ b/tgbotapi.webapps/src/jsMain/kotlin/dev/inmo/tgbotapi/webapps/BottomButton.kt @@ -1,10 +1,13 @@ package dev.inmo.tgbotapi.webapps +import dev.inmo.tgbotapi.types.CustomEmojiId import kotlin.js.Json import kotlin.js.json external class BottomButton { + val text: String + val iconCustomEmojiId: CustomEmojiId? fun setText(text: String): BottomButton var color: String @@ -32,6 +35,7 @@ external class BottomButton { } data class BottomButtonParams( + val iconCustomEmojiId: CustomEmojiId? = null, val text: String? = null, val color: String? = null, val textColor: String? = null, @@ -42,6 +46,7 @@ data class BottomButtonParams( fun BottomButton.setParams(params: BottomButtonParams) = setParams( json( *listOfNotNull( + params.iconCustomEmojiId ?.let { "icon_custom_emoji_id" to params.iconCustomEmojiId }, params.text ?.let { "text" to params.text }, params.color ?.let { "color" to params.color }, params.textColor ?.let { "text_color" to params.textColor },