diff --git a/CHANGELOG.md b/CHANGELOG.md index 72e725d6a2..8c6f52ed7f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,16 @@ # TelegramBotAPI changelog +## 0.30.11 + +* `Common`: + * `Version`: + * `MicroUtils`: `0.4.11` -> `0.4.15` + * `Klock`: `2.0.1` -> `2.0.3` + * `Ktor`: `1.4.3` -> `1.5.0` +* `Core`: + * All bot actions got functions for short calling, like `recordVideo` for `RecordVideoNote` + * All bot actions got class-cast shortcuts + ## 0.30.10 * `Common`: diff --git a/gradle.properties b/gradle.properties index 717d1a7045..23af372a53 100644 --- a/gradle.properties +++ b/gradle.properties @@ -8,15 +8,15 @@ kotlin.incremental.js=true kotlin_version=1.4.21 kotlin_coroutines_version=1.4.2 kotlin_serialisation_runtime_version=1.0.1 -klock_version=2.0.1 +klock_version=2.0.3 uuid_version=0.2.3 -ktor_version=1.4.3 +ktor_version=1.5.0 -micro_utils_version=0.4.11 +micro_utils_version=0.4.15 javax_activation_version=1.1.1 library_group=dev.inmo -library_version=0.30.10 +library_version=0.30.11 github_release_plugin_version=2.2.12 diff --git a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/actions/BotAction.kt b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/actions/BotAction.kt index 7c405e8c8b..6732f68fad 100644 --- a/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/actions/BotAction.kt +++ b/tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/types/actions/BotAction.kt @@ -42,6 +42,9 @@ internal object BotActionSerializer: KSerializer { object TypingAction : BotAction() { override val actionName: String = "typing" } +inline val typing + get() = TypingAction +inline fun BotAction.asTyping() = this as? TypingAction /** * Will notify user that bot is uploading some photo @@ -50,6 +53,9 @@ object TypingAction : BotAction() { object UploadPhotoAction : BotAction() { override val actionName: String = "upload_photo" } +inline val uploadPhoto + get() = UploadPhotoAction +inline fun BotAction.asUploadPhoto() = this as? UploadPhotoAction /** * Will notify user that bot is recording some video @@ -58,6 +64,9 @@ object UploadPhotoAction : BotAction() { object RecordVideoAction : BotAction() { override val actionName: String = "record_video" } +inline val recordVideo + get() = RecordVideoAction +inline fun BotAction.asRecordVideo() = this as? RecordVideoAction /** * Will notify user that bot is uploading some photo @@ -66,6 +75,9 @@ object RecordVideoAction : BotAction() { object UploadVideoAction : BotAction() { override val actionName: String = "upload_video" } +inline val uploadVideo + get() = UploadVideoAction +inline fun BotAction.asUploadVideo() = this as? UploadVideoAction /** * Will notify user that bot is recording some audio @@ -74,6 +86,9 @@ object UploadVideoAction : BotAction() { object RecordAudioAction : BotAction() { override val actionName: String = "record_audio" } +inline val recordAudio + get() = RecordAudioAction +inline fun BotAction.asRecordAudio() = this as? RecordAudioAction /** * Will notify user that bot is uploading some audio @@ -82,6 +97,9 @@ object RecordAudioAction : BotAction() { object UploadAudioAction : BotAction() { override val actionName: String = "upload_audio" } +inline val uploadAudio + get() = UploadAudioAction +inline fun BotAction.asUploadAudio() = this as? UploadAudioAction /** * Will notify user that bot is uploading some document @@ -90,6 +108,9 @@ object UploadAudioAction : BotAction() { object UploadDocumentAction : BotAction() { override val actionName: String = "upload_document" } +inline val uploadDocument + get() = UploadDocumentAction +inline fun BotAction.asUploadDocument() = this as? UploadDocumentAction /** * Will notify user that bot is trying to find location @@ -98,6 +119,9 @@ object UploadDocumentAction : BotAction() { object FindLocationAction : BotAction() { override val actionName: String = "find_location" } +inline val findLocation + get() = FindLocationAction +inline fun BotAction.asFindLocation() = this as? FindLocationAction /** * Will notify user that bot is recording video note @@ -106,6 +130,9 @@ object FindLocationAction : BotAction() { object RecordVideoNoteAction : BotAction() { override val actionName: String = "record_video_note" } +inline val recordVideoNote + get() = RecordVideoNoteAction +inline fun BotAction.asRecordVideoNote() = this as? RecordVideoNoteAction /** * Will notify user that bot is uploading video note @@ -114,3 +141,6 @@ object RecordVideoNoteAction : BotAction() { object UploadVideoNoteAction : BotAction() { override val actionName: String = "upload_video_note" } +inline val uploadVideoNote + get() = UploadVideoNoteAction +inline fun BotAction.asUploadVideoNote() = this as? UploadVideoNoteAction