mirror of
https://github.com/InsanusMokrassar/TelegramBotAPI.git
synced 2026-03-17 08:12:23 +00:00
Compare commits
172 Commits
27.1.0
...
renovate/k
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
95ff21e07d | ||
| ba65e01c84 | |||
| 2a1bd229d6 | |||
| b30af48b8d | |||
| 083fd1b682 | |||
| a8410df038 | |||
| bd7e8ed55f | |||
| 8c6408bc2b | |||
| e5d18a421f | |||
| d3c1859338 | |||
| e6d6bbdaa0 | |||
| 75a977aebb | |||
| f48eb820bf | |||
| 9f9d890831 | |||
| da662603b0 | |||
| 2dd91f47d7 | |||
| 8eb8e5ee1f | |||
| b533bab95f | |||
| 4f97327d29 | |||
| b17d7a868a | |||
| df695ceadb | |||
| ac511d0aed | |||
| 65cd359002 | |||
| 8d7005be80 | |||
| a20368ee51 | |||
| 744149a674 | |||
| 410183e315 | |||
| 9776a2474a | |||
| aebc571307 | |||
| 26c11d9d6b | |||
| c9be5041b8 | |||
| f10cfdbe1e | |||
| 83b4d2155f | |||
| eccc687aec | |||
| 53e79b152e | |||
| b9157b1924 | |||
| e6aaa264f6 | |||
| e6cb028a71 | |||
| 10b796c88e | |||
| 62a4bf5195 | |||
| a0bb05ce4a | |||
| e02849ae5e | |||
| 4252db489a | |||
| ac05fa0fe3 | |||
| bd816b7847 | |||
| 407f2a8bf7 | |||
| 10b1c359fa | |||
| c4f2566b71 | |||
| 85fb7e42e5 | |||
| d68c70e898 | |||
| 14402f9283 | |||
| b734757062 | |||
| fd9ad8dbf1 | |||
| 734e6074ef | |||
| d642a04e01 | |||
| ecd01c9254 | |||
| 8922b80cff | |||
| 50a7c9cae2 | |||
| f7ee0828ce | |||
| 0c87cf95eb | |||
| 9fea7390e8 | |||
| 9f0ca8143c | |||
| 9d879b90bb | |||
| 2a28f8ab39 | |||
| 44ce84cb84 | |||
| cea80ccee6 | |||
| e1848aa5c9 | |||
| e40424b26a | |||
| cc5056b685 | |||
| 9713a668e2 | |||
| 90d7bdff56 | |||
| 374f6a93bd | |||
| 28b5fae760 | |||
| 97dae295d6 | |||
| 93597f3940 | |||
| f27caaecde | |||
| b71b1414b9 | |||
| f8ceab7640 | |||
| 68897c89c3 | |||
| fb08b7044e | |||
| 7ed021b5bc | |||
| 1cff533265 | |||
| 8b08e11441 | |||
| b69c8f1d8f | |||
| fdf393405c | |||
| c951fc3353 | |||
| 02f42c3f52 | |||
| 0105e46a5f | |||
| 325a189ebb | |||
| 1d021c8450 | |||
| 6eb9379e0a | |||
| 2d97d10ee1 | |||
| 4b7d052ece | |||
| df512a917b | |||
| 67cd836466 | |||
| eb1fb16117 | |||
| ee4cf7c626 | |||
| 74d8b31437 | |||
| 3f61cfdefb | |||
| 91339fc839 | |||
| 2e23f48350 | |||
| f6211d33bb | |||
| 2ff11ad73c | |||
| 2695b03968 | |||
| 03d23a938e | |||
| 719fb1f4a9 | |||
| c3c69f3e7f | |||
| 4fb662c560 | |||
| cc967c2981 | |||
| aa7bf426f1 | |||
| 0b2735ca1e | |||
| 48bfa76b9e | |||
| 79a0e202d8 | |||
| 152bf2af02 | |||
| 0163e5ce8c | |||
| 62b4a21650 | |||
| f312e04c0d | |||
| 1c36c0a2f7 | |||
| bd73852253 | |||
| fbb2511fca | |||
| f22d571484 | |||
| 9be5ebb036 | |||
| da4cd527ec | |||
| 4117288b21 | |||
| 458bdd3ee4 | |||
| 8101c4c9fb | |||
| 255416f72a | |||
| 6eb7563c70 | |||
| b9bdf7cc72 | |||
| 4a8e1ee7b7 | |||
| 23bfe02e6f | |||
| 658c19092c | |||
| d469a88791 | |||
| 514bc699dd | |||
| bec72b8cf8 | |||
| fb0014dffa | |||
| ebc1c07404 | |||
| 989d33acb8 | |||
| 5aa6ac3320 | |||
| 048f65b8d4 | |||
| b69be31362 | |||
| b92288d7cc | |||
| 6c02d57197 | |||
| e977c865ea | |||
| 18b459fdf8 | |||
| 2bbd2e0679 | |||
| bcf7e835e6 | |||
| 4dd9740fec | |||
| 2182e44bc2 | |||
| 08c885de2f | |||
| facecf35fb | |||
| b13f24153f | |||
| 12ee862dad | |||
| 0726574852 | |||
| 9a00193e59 | |||
| 0fd8c1e2f3 | |||
| c09d089707 | |||
| ff39271afd | |||
| 35a4edd643 | |||
| ba647ee5ab | |||
| d2924ce1f2 | |||
| 72781487f0 | |||
| de435e5dbc | |||
| f975754058 | |||
| 0f7536a21c | |||
| d4c085c9b6 | |||
| 667c49f13d | |||
| e1d9ebff90 | |||
| fbc7088dad | |||
| 4ba9c8ee97 | |||
| 92611b5c26 | |||
|
|
0650fc594f |
2
.github/workflows/packages_publishing.yml
vendored
2
.github/workflows/packages_publishing.yml
vendored
@@ -28,7 +28,7 @@ jobs:
|
||||
env:
|
||||
GITHUB_USER: ${{ github.actor }}
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Publish to Gitea
|
||||
- name: Publish to InmoNexus
|
||||
continue-on-error: true
|
||||
run: ./gradlew publishAllPublicationsToInmoNexusRepository
|
||||
env:
|
||||
|
||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1,4 +1,5 @@
|
||||
.idea
|
||||
.vscode/
|
||||
.kotlin
|
||||
out/*
|
||||
*.iml
|
||||
|
||||
209
CHANGELOG.md
209
CHANGELOG.md
@@ -1,5 +1,214 @@
|
||||
# TelegramBotAPI changelog
|
||||
|
||||
## 32.0.0
|
||||
|
||||
**THIS UPDATE CONTAINS BREAKING CHANGES**
|
||||
|
||||
* `Version`:
|
||||
* `Kotlin`: `2.2.21` -> `2.3.10`
|
||||
* `Kotlin Serialization`: `1.9.0` -> `1.10.0`
|
||||
* `Ktor`: `3.3.2` -> `3.4.1`
|
||||
* `KSP`: `2.3.2` -> `2.3.6`
|
||||
* `MicroUtils`: `0.26.9` -> `0.29.1`
|
||||
* `KSLog`: `1.5.2` -> `1.6.0`
|
||||
* `Core` + `API`:
|
||||
* **BREAKING CHANGES: ALL METHODS THAT PREVIOUSLY RETURNED BOOLEAN NOW RETURNS UNIT**
|
||||
* `Core`:
|
||||
* **BREAKING CHANGE** `SetChatTitle` init do not throw error in case when `title.length` is outside of `chatTitleLength`
|
||||
* **BREAKING CHANGE** `SetStickerEmojiList` init do not throw error in case when `emojis.size` is outside of `emojisInStickerLimit`
|
||||
* **BREAKING CHANGE** `DeleteMessages` init do not throw error in case when title is `messageIds.size` of `deleteMessagesLimit`
|
||||
* **BREAKING CHANGE** `ForwardMessages` init do not throw error in case when `messageIds.size` is outside of `forwardMessagesLimit`
|
||||
* **BREAKING CHANGE** `CopyMessages` init do not throw error in case when `messageIds.size` is outside of `copyMessagesLimit`
|
||||
* **BREAKING CHANGE** `SwitchInlineQueryChosenChat` init do not throw error in case when `messageIds.size` is outside of `copyMessagesLimit`
|
||||
* **BREAKING CHANGE** `SetStickerKeywords` init do not throw error in case when there are errors in `keywords`
|
||||
|
||||
## 31.2.0
|
||||
|
||||
* `Core`:
|
||||
* Potentially fix [#1027](https://github.com/InsanusMokrassar/ktgbotapi/issues/1027) - drop http request exceptions on getting updates
|
||||
* `Core` + `API`:
|
||||
* Add `supportsStreaming` in places it haven't been supported (fix of [#1026](https://github.com/InsanusMokrassar/ktgbotapi/issues/1026))
|
||||
* **PARTIALLY BREAKING CHANGE** `supportStreaming` has been renamed to `supportsStreaming`
|
||||
|
||||
## 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`:
|
||||
* In `StarTransaction` property `nanostarAmount` become nullable
|
||||
|
||||
## 31.0.0
|
||||
|
||||
**THIS UPDATE CONTAINS ADDING SUPPORT OF [Telegram Bots API 9.3](https://core.telegram.org/bots/api-changelog#december-31-2025)**
|
||||
|
||||
**THIS UPDATE CONTAINS ADDING SUPPORT OF [Telegram Bots API 9.4](https://core.telegram.org/bots/api-changelog#february-9-2026)**
|
||||
|
||||
**THIS UPDATE CONTAINS BREAKING CHANGES**
|
||||
|
||||
* `Version`:
|
||||
* `MicroUtils`: `0.26.8` -> `0.26.9`
|
||||
* `Core`:
|
||||
* **THIS IS BREAKING CHANGE** All media files with sizes changed type of `fileSize` field from `Long` to `FileSize` (value class)
|
||||
* **THIS IS BREAKING CHANGE** Class `GiftSentOrReceived` have been renamed to `GiftSentOrReceivedEvent` to clarify naming
|
||||
* **THIS IS BREAKING CHANGE** New interface `OwnedGift` have been created
|
||||
* **THIS IS BREAKING CHANGE** `OwnedGifts` have changed its generic type to `OwnedGift`
|
||||
* **THIS IS BREAKING CHANGE** For `CheclistTask` have been made several changes:
|
||||
* `ChecklistTask.Done` -> `ChecklistTask.Completed`
|
||||
* `ChecklistTask.Undone` -> `ChecklistTask.Uncompleted`
|
||||
* Added several inheritors of `ChecklistTask.Completed` - for completed by chat, by user or just completed tasks
|
||||
* **THIS IS BREAKING CHANGE** `PrivateChat.id` type changed from `UserId` to `IdChatIdentifier`
|
||||
* **THIS IS BREAKING CHANGE** `ForumChat` no longer extends `SupergroupChat`; new `SupergroupForumChat` interface created for supergroup forums
|
||||
* **THIS IS BREAKING CHANGE** Added `PrivateForumChat` and `PrivateUserChat` interfaces to support private forums
|
||||
* Added support of private forums (`ExtendedPrivateForumChatImpl`, `PrivateForumContentMessage`, `PrivateForumEventMessage`)
|
||||
* Added `ChatOwnerChanged` and `ChatOwnerLeft` chat events
|
||||
* Added `SetMyProfilePhoto` and `RemoveMyProfilePhoto` requests
|
||||
* Added `GetUserProfileAudios` request and `UserProfileAudios` type
|
||||
* Added `GetChatGifts` and `GetUserGifts` requests
|
||||
* Added `RepostStory` request
|
||||
* Added `SendMessageDraft` request with `DraftId` and `DraftIdAllocator`
|
||||
* Added `KeyboardButtonStyle` support and `iconCustomEmojiId` field to keyboard buttons
|
||||
* Added `style` and `iconCustomEmojiId` fields to `InlineKeyboardButton`
|
||||
* Added `VideoCodec` and `VideoQuality` types
|
||||
* Added `Rarity`, `GiftBackground`, `UniqueGiftName`, and `UniqueGiftColors` types for gifts
|
||||
* Added new fields to `Gift.Regular`: `personalTotalCount`, `personalRemainingCount`, `isPremium`, `hasColors`, `background`, `uniqueGiftVariantCount`
|
||||
* Added `isBurned` field support in `GiftSentOrReceivedEvent`
|
||||
* Added `UserRating` type and `rating` field to `ExtendedPrivateChat`
|
||||
* Added `Level` and `Rating` value classes
|
||||
* Added `uniqueGiftColors` field to extended chats (channel, group, private)
|
||||
* Added `paidMessageStarCount` field to `ExtendedGroupChat` and `ExtendedPrivateChat`
|
||||
* Added `firstProfileAudio` field to `ExtendedPrivateChat`
|
||||
* Added `purchased_paid_media` to updates list
|
||||
* Added `effectId` support in `CopyMessage` and `ForwardMessage`
|
||||
* Added `WithOptionalPaidMessageStarCount` interface
|
||||
* Fixed serialization of `SimpleKeyboardButton`
|
||||
* Fixed support of `paidMessageStarCount`
|
||||
* `API`:
|
||||
* Added extensions for `SetMyProfilePhoto`, `RemoveMyProfilePhoto`, `GetUserProfileAudios`
|
||||
* Added extensions for `GetChatGifts` and `GetUserGifts`
|
||||
* Added extensions for `RepostStory`
|
||||
* Added extensions for `SendMessageDraft`
|
||||
* Added `effectId` parameter to `copyMessage` and `forwardMessage` extensions
|
||||
* Added `GetBusinessAccountGifts` extensions improvements
|
||||
* `BehaviourBuilder`:
|
||||
* Updated event triggers for new chat events (`ChatOwnerChanged`, `ChatOwnerLeft`, private forum events)
|
||||
* Updated expectations for new event types
|
||||
* `Utils`:
|
||||
* Regenerated class casts extensions
|
||||
* Updated `InlineKeyboardBuilder` and `ReplyKeyboardBuilder` with `style` and `iconCustomEmojiId` support
|
||||
|
||||
## 30.0.2
|
||||
|
||||
* `Version`:
|
||||
* `Kotlin`: `2.2.20` -> `2.2.21`
|
||||
* `Ktor`: `3.3.1` -> `3.3.2`
|
||||
* `KSP`: `2.2.20-2.0.4` -> `2.3.2`
|
||||
* `MicroUtils`: `0.26.6` -> `0.26.8`
|
||||
* `KSLog`: `1.5.1` -> `1.5.2`
|
||||
* `Core`:
|
||||
* Allow to use `SetWebhook` with `maxAllowedConnections` up to `100000` (fix of [#1019](https://github.com/InsanusMokrassar/ktgbotapi/issues/1019))
|
||||
* `KSP`:
|
||||
* Fixed annotation property access for KSP2 compatibility using `withNoSuchElementWorkaround`
|
||||
* Removed `ksp.useKSP2=false` workaround from `gradle.properties` (KSP2 is now properly supported)
|
||||
* `Utils`:
|
||||
* Regenerated class casts extensions
|
||||
* Allow to use custom `GetUpdates` in `longPollingFlow`
|
||||
|
||||
## 30.0.1
|
||||
|
||||
* `Core`:
|
||||
* Potential fix of [#989](https://github.com/InsanusMokrassar/ktgbotapi/issues/989) by:
|
||||
* In long polling have been added check for causing by unresolved address exception
|
||||
* Add `TelegramBotPipelinesHandler.onRequestExceptionInLimiter` which will be triggered in ANY exception during
|
||||
request execution
|
||||
|
||||
## 30.0.0
|
||||
|
||||
**THIS UPDATE MAY CONTAINS BREAKING CHANGES**
|
||||
|
||||
* `Version`:
|
||||
* `Kotlin`: `2.2.10` -> `2.2.20`
|
||||
* `Ktor`: `3.2.3` -> `3.3.1`
|
||||
* `MicroUtils`: `0.26.3` -> `0.26.6`
|
||||
* `KSLog`: `1.5.0` -> `1.5.1`
|
||||
* `BehaviourBuilder`:
|
||||
* `DefaultCustomBehaviourContextAndTypeReceiver` now extends `suspend (BC, U) -> R` instead of `CustomBehaviourContextAndTypeReceiver<BC, R, U>` (no changes in api in fact)
|
||||
|
||||
## 29.0.1
|
||||
|
||||
* `Core`:
|
||||
* Fix of [#917](https://github.com/InsanusMokrassar/ktgbotapi/issues/917): all `OrderInfo` fields now have defaults nulls
|
||||
|
||||
## 29.0.0
|
||||
|
||||
**THIS UPDATE CONTAINS ADDING SUPPORT OF [Telegram Bots API 9.2](https://core.telegram.org/bots/api-changelog#august-15-2025)**
|
||||
|
||||
**THIS UPDATE CONTAINS BREAKING CHANGES**
|
||||
|
||||
* `Core`:
|
||||
* Add function `firstOfOrNull(vararg suspend () -> T): T?`
|
||||
* Change logic of `firstOf` - now it works based on merged flows and __do not require__ `CoroutineScope` as receiver
|
||||
|
||||
## 28.0.3
|
||||
|
||||
* `Core`:
|
||||
* Add passing of default engines in `HttpClient` constructors
|
||||
|
||||
## 28.0.2
|
||||
|
||||
* `Core`:
|
||||
* [#1001](https://github.com/InsanusMokrassar/ktgbotapi/issues/1001) - `[Bug] Invalid detection of isCausedByCancellation()`
|
||||
* [#1002](https://github.com/InsanusMokrassar/ktgbotapi/issues/1002) - `Unable to handle UnauthorizedException with buildBehaviourWithLongPolling`
|
||||
|
||||
## 28.0.1
|
||||
|
||||
* `Version`:
|
||||
* `Kotlin`: `2.2.0` -> `2.2.10`
|
||||
* `MicroUtils`: `0.26.2` -> `0.26.3`
|
||||
* `Ktor`: `3.2.2` -> `3.2.3`
|
||||
* `Core`:
|
||||
* Let all `OptionallyMessageThreadRequest` inheritors to use `@EncodeDefault` annotation to fix default value passing
|
||||
|
||||
## 28.0.0
|
||||
|
||||
**THIS UPDATE CONTAINS BREAKING CHANGES**
|
||||
|
||||
* `Core`:
|
||||
* Add `firstOf` extension
|
||||
* `BehaviourBuilder`:
|
||||
* All builders for behaviours got boolean `useDefaultSubcontextInitialAction`
|
||||
* Add opportunity to pass `BehaviourContextData` in `DefaultBehaviourContext` constructor and `copy` method
|
||||
* By default, commands to other bots will be ignored in triggers and waiters
|
||||
|
||||
## 27.1.2
|
||||
|
||||
* `Core`:
|
||||
* Try to fix cancelling on timeout for long polling
|
||||
* Since this update phrase `Something web wrong` will not happen from this library 😭
|
||||
|
||||
## 27.1.1
|
||||
|
||||
* `Version`:
|
||||
* `MicroUtils`: `0.26.1` -> `0.26.2`
|
||||
* `Core`:
|
||||
* Make `BusinessLocation#location` optional (fix of [#990](https://github.com/InsanusMokrassar/ktgbotapi/issues/990))
|
||||
|
||||
## 27.1.0
|
||||
|
||||
* `Core`:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# TelegramBotAPI [](https://maven-badges.herokuapp.com/maven-central/dev.inmo/tgbotapi) [](https://core.telegram.org/bots/api-changelog#july-3-2025)
|
||||
# TelegramBotAPI [](https://central.sonatype.com/artifact/dev.inmo/tgbotapi) [](https://core.telegram.org/bots/api-changelog#march-1-2026)
|
||||
|
||||
| Docs | [](https://tgbotapi.inmo.dev/index.html) [](https://docs.inmo.dev/tgbotapi/index.html) |
|
||||
|:----------------------:|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|
|
||||
@@ -136,4 +136,4 @@ to proxy requests for files to the server where bot api server has been hosted
|
||||
(like `systemd-journal`) or be `101` UID user (like `systemd-resolve`)
|
||||
* **OR** Use some reverse proxy (like nginx). It will allow you to broadcast your bots files without linux rights problems
|
||||
* Set [TelegramAPIUrlsKeeper](tgbotapi.core/src/commonMain/kotlin/dev/inmo/tgbotapi/utils/TelegramAPIUrlsKeeper.kt)#fileLinkUrlMapper
|
||||
to map urls to let bot execute requests to your nginx proxy
|
||||
to map urls to let bot execute requests to your nginx proxy
|
||||
|
||||
@@ -28,7 +28,7 @@ if ((project.hasProperty('SONATYPE_USER') || System.getenv('SONATYPE_USER') != n
|
||||
username = project.hasProperty('SONATYPE_USER') ? project.property('SONATYPE_USER') : System.getenv('SONATYPE_USER')
|
||||
password = project.hasProperty('SONATYPE_PASSWORD') ? project.property('SONATYPE_PASSWORD') : System.getenv('SONATYPE_PASSWORD')
|
||||
validationTimeout = Duration.ofSeconds(0)
|
||||
publishingType = "USER_MANAGED"
|
||||
publishingType = System.getenv('PUBLISHING_TYPE') != "" ? System.getenv('PUBLISHING_TYPE') : "USER_MANAGED"
|
||||
}
|
||||
|
||||
publishAllProjectsProbablyBreakingProjectIsolation()
|
||||
|
||||
@@ -5,8 +5,5 @@ kotlin.js.generate.externals=true
|
||||
kotlin.incremental=true
|
||||
kotlin.incremental.js=true
|
||||
|
||||
# https://github.com/google/ksp/issues/2491
|
||||
ksp.useKSP2=false
|
||||
|
||||
library_group=dev.inmo
|
||||
library_version=27.1.0
|
||||
library_version=32.0.0
|
||||
|
||||
@@ -1,28 +1,28 @@
|
||||
[versions]
|
||||
|
||||
kotlin = "2.2.0"
|
||||
kotlin-serialization = "1.9.0"
|
||||
kotlin = "2.3.20"
|
||||
kotlin-serialization = "1.10.0"
|
||||
kotlin-coroutines = "1.10.2"
|
||||
|
||||
javax-activation = "1.1.1"
|
||||
|
||||
korlibs = "5.4.0"
|
||||
uuid = "0.8.4"
|
||||
ktor = "3.2.2"
|
||||
ktor = "3.4.1"
|
||||
|
||||
ksp = "2.2.0-2.0.2"
|
||||
kotlin-poet = "2.0.0"
|
||||
ksp = "2.3.6"
|
||||
kotlin-poet = "2.2.0"
|
||||
|
||||
microutils = "0.26.1"
|
||||
kslog = "1.5.0"
|
||||
microutils = "0.29.1"
|
||||
kslog = "1.6.0"
|
||||
|
||||
versions = "0.52.0"
|
||||
versions = "0.53.0"
|
||||
|
||||
github-release-plugin = "2.5.2"
|
||||
dokka = "2.0.0"
|
||||
|
||||
validator = "0.18.1"
|
||||
nmcp = "1.0.2"
|
||||
nmcp = "1.4.4"
|
||||
|
||||
[libraries]
|
||||
|
||||
@@ -37,6 +37,8 @@ kotlin-test-js = { module = "org.jetbrains.kotlin:kotlin-test-js", version.ref =
|
||||
|
||||
ktor-client-core = { module = "io.ktor:ktor-client-core", version.ref = "ktor" }
|
||||
ktor-client-cio = { module = "io.ktor:ktor-client-cio", version.ref = "ktor" }
|
||||
ktor-client-java = { module = "io.ktor:ktor-client-java", version.ref = "ktor" }
|
||||
ktor-client-js = { module = "io.ktor:ktor-client-js", version.ref = "ktor" }
|
||||
ktor-client-curl = { module = "io.ktor:ktor-client-curl", version.ref = "ktor" }
|
||||
ktor-client-winhttp = { module = "io.ktor:ktor-client-winhttp", version.ref = "ktor" }
|
||||
ktor-server = { module = "io.ktor:ktor-server", version.ref = "ktor" }
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -3,6 +3,7 @@ package dev.inmo.tgbotapi.extensions.api
|
||||
import dev.inmo.tgbotapi.bot.ktor.telegramBot
|
||||
import dev.inmo.tgbotapi.bot.TelegramBot
|
||||
import dev.inmo.tgbotapi.utils.TelegramAPIUrlsKeeper
|
||||
import dev.inmo.tgbotapi.utils.defaultKtorEngine
|
||||
import dev.inmo.tgbotapi.utils.telegramBotAPIDefaultUrl
|
||||
import io.ktor.client.HttpClient
|
||||
import io.ktor.client.HttpClientConfig
|
||||
@@ -13,7 +14,7 @@ import io.ktor.client.engine.*
|
||||
*/
|
||||
public fun telegramBot(
|
||||
urlsKeeper: TelegramAPIUrlsKeeper,
|
||||
client: HttpClient = HttpClient()
|
||||
client: HttpClient = HttpClient(defaultKtorEngine)
|
||||
): TelegramBot = telegramBot(urlsKeeper) {
|
||||
this.client = client
|
||||
}
|
||||
@@ -68,7 +69,7 @@ public fun telegramBot(
|
||||
apiUrl: String = telegramBotAPIDefaultUrl,
|
||||
testServer: Boolean = false,
|
||||
fileLinkUrlMapper: TelegramAPIUrlsKeeper.(String) -> String = { "${fileBaseUrl}/$it" },
|
||||
client: HttpClient = HttpClient()
|
||||
client: HttpClient = HttpClient(defaultKtorEngine)
|
||||
): TelegramBot = telegramBot(TelegramAPIUrlsKeeper(token, testServer, apiUrl, fileLinkUrlMapper), client)
|
||||
|
||||
@Suppress("NOTHING_TO_INLINE")
|
||||
|
||||
@@ -3,4 +3,4 @@ package dev.inmo.tgbotapi.extensions.api
|
||||
import dev.inmo.tgbotapi.bot.TelegramBot
|
||||
import dev.inmo.tgbotapi.requests.local.Close
|
||||
|
||||
public suspend inline fun TelegramBot.executeClose(): Boolean = execute(Close)
|
||||
public suspend inline fun TelegramBot.executeClose(): Unit = execute(Close)
|
||||
|
||||
@@ -12,42 +12,42 @@ import dev.inmo.tgbotapi.types.message.content.MediaGroupCollectionContent
|
||||
public suspend fun TelegramBot.deleteMessage(
|
||||
chatId: ChatIdentifier,
|
||||
messageId: MessageId
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
DeleteMessage(chatId, messageId)
|
||||
)
|
||||
|
||||
public suspend fun TelegramBot.deleteMessage(
|
||||
chat: Chat,
|
||||
messageId: MessageId
|
||||
): Boolean = deleteMessage(chat.id, messageId)
|
||||
): Unit = deleteMessage(chat.id, messageId)
|
||||
|
||||
public suspend fun TelegramBot.deleteMessage(
|
||||
message: AccessibleMessage
|
||||
): Boolean {
|
||||
): Unit {
|
||||
val mediaGroupContent = ((message as? ContentMessage<*>) ?.content as? MediaGroupCollectionContent<*>)
|
||||
if (mediaGroupContent == null) {
|
||||
return deleteMessage(message.chat, message.messageId)
|
||||
deleteMessage(message.chat, message.messageId)
|
||||
} else {
|
||||
return mediaGroupContent.group.map {
|
||||
mediaGroupContent.group.forEach {
|
||||
deleteMessage(it.sourceMessage)
|
||||
}.all { it }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public suspend fun TelegramBot.delete(
|
||||
chatId: ChatIdentifier,
|
||||
messageId: MessageId
|
||||
): Boolean = deleteMessage(chatId, messageId)
|
||||
): Unit = deleteMessage(chatId, messageId)
|
||||
|
||||
public suspend fun TelegramBot.delete(
|
||||
chat: Chat,
|
||||
messageId: MessageId
|
||||
): Boolean = deleteMessage(chat, messageId)
|
||||
): Unit = deleteMessage(chat, messageId)
|
||||
|
||||
public suspend fun TelegramBot.delete(
|
||||
message: AccessibleMessage
|
||||
): Boolean = deleteMessage(message)
|
||||
): Unit = deleteMessage(message)
|
||||
|
||||
public suspend fun AccessibleMessage.delete(
|
||||
requestsExecutor: TelegramBot
|
||||
): Boolean = requestsExecutor.deleteMessage(this)
|
||||
): Unit = requestsExecutor.deleteMessage(this)
|
||||
|
||||
@@ -10,52 +10,52 @@ import kotlin.jvm.JvmName
|
||||
public suspend fun TelegramBot.deleteMessages(
|
||||
chatId: ChatIdentifier,
|
||||
messageIds: List<MessageId>
|
||||
): Boolean = messageIds.chunked(deleteMessagesLimit.last).map {
|
||||
): Unit = messageIds.chunked(deleteMessagesLimit.last).forEach {
|
||||
execute(
|
||||
DeleteMessages(
|
||||
chatId = chatId,
|
||||
messageIds = it
|
||||
)
|
||||
)
|
||||
}.all { it }
|
||||
}
|
||||
|
||||
public suspend fun TelegramBot.deleteMessages(
|
||||
chatId: ChatIdentifier,
|
||||
messageIds: Array<MessageId>
|
||||
): Boolean = deleteMessages(
|
||||
): Unit = deleteMessages(
|
||||
chatId = chatId,
|
||||
messageIds = messageIds.toList()
|
||||
)
|
||||
|
||||
public suspend fun TelegramBot.deleteMessages(
|
||||
messagesMetas: List<Message.MetaInfo>
|
||||
): Boolean = messagesMetas.groupBy { it.chatId }.map { (chatId, messages) ->
|
||||
): Unit = messagesMetas.groupBy { it.chatId }.forEach { (chatId, messages) ->
|
||||
deleteMessages(
|
||||
chatId = chatId,
|
||||
messageIds = messages.map { it.messageId }
|
||||
)
|
||||
}.all { it }
|
||||
}
|
||||
|
||||
@JvmName("deleteMessagesWithMessages")
|
||||
public suspend fun TelegramBot.deleteMessages(
|
||||
messages: List<AccessibleMessage>
|
||||
): Boolean = deleteMessages(messages.map { it.metaInfo })
|
||||
): Unit = deleteMessages(messages.map { it.metaInfo })
|
||||
|
||||
public suspend fun TelegramBot.delete(
|
||||
chatId: ChatIdentifier,
|
||||
messageIds: List<MessageId>
|
||||
): Boolean = deleteMessages(chatId = chatId, messageIds = messageIds)
|
||||
): Unit = deleteMessages(chatId = chatId, messageIds = messageIds)
|
||||
|
||||
public suspend fun TelegramBot.delete(
|
||||
chatId: ChatIdentifier,
|
||||
messageIds: Array<MessageId>
|
||||
): Boolean = deleteMessages(chatId = chatId, messageIds = messageIds)
|
||||
): Unit = deleteMessages(chatId = chatId, messageIds = messageIds)
|
||||
|
||||
public suspend fun TelegramBot.delete(
|
||||
messagesMetas: List<Message.MetaInfo>
|
||||
): Boolean = deleteMessages(messagesMetas)
|
||||
): Unit = deleteMessages(messagesMetas)
|
||||
|
||||
@JvmName("deleteWithMessages")
|
||||
public suspend fun TelegramBot.delete(
|
||||
messages: List<AccessibleMessage>
|
||||
): Boolean = deleteMessages(messages)
|
||||
): Unit = deleteMessages(messages)
|
||||
|
||||
@@ -3,12 +3,15 @@ package dev.inmo.tgbotapi.extensions.api
|
||||
import dev.inmo.tgbotapi.bot.TelegramBot
|
||||
import dev.inmo.tgbotapi.requests.ForwardMessage
|
||||
import dev.inmo.tgbotapi.types.ChatIdentifier
|
||||
import dev.inmo.tgbotapi.types.DirectMessageThreadId
|
||||
import dev.inmo.tgbotapi.types.EffectId
|
||||
import dev.inmo.tgbotapi.types.MessageId
|
||||
import dev.inmo.tgbotapi.types.MessageThreadId
|
||||
import dev.inmo.tgbotapi.types.Seconds
|
||||
import dev.inmo.tgbotapi.types.chat.Chat
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.AccessibleMessage
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.PossiblyForwardedMessage
|
||||
import dev.inmo.tgbotapi.types.directMessageThreadId
|
||||
import dev.inmo.tgbotapi.types.threadId
|
||||
|
||||
public suspend fun TelegramBot.forwardMessage(
|
||||
@@ -16,11 +19,23 @@ public suspend fun TelegramBot.forwardMessage(
|
||||
toChatId: ChatIdentifier,
|
||||
messageId: MessageId,
|
||||
threadId: MessageThreadId? = toChatId.threadId,
|
||||
directMessageThreadId: DirectMessageThreadId? = toChatId.directMessageThreadId,
|
||||
startTimestamp: Seconds? = null,
|
||||
disableNotification: Boolean = false,
|
||||
protectContent: Boolean = false
|
||||
protectContent: Boolean = false,
|
||||
effectId: EffectId? = null
|
||||
): PossiblyForwardedMessage = execute(
|
||||
ForwardMessage(fromChatId, toChatId, messageId, threadId, startTimestamp, disableNotification, protectContent)
|
||||
ForwardMessage(
|
||||
fromChatId = fromChatId,
|
||||
toChatId = toChatId,
|
||||
messageId = messageId,
|
||||
threadId = threadId,
|
||||
directMessageThreadId = directMessageThreadId,
|
||||
startTimestamp = startTimestamp,
|
||||
disableNotification = disableNotification,
|
||||
protectContent = protectContent,
|
||||
effectId = effectId
|
||||
)
|
||||
)
|
||||
|
||||
public suspend fun TelegramBot.forwardMessage(
|
||||
@@ -28,45 +43,105 @@ public suspend fun TelegramBot.forwardMessage(
|
||||
toChatId: ChatIdentifier,
|
||||
messageId: MessageId,
|
||||
threadId: MessageThreadId? = toChatId.threadId,
|
||||
directMessageThreadId: DirectMessageThreadId? = toChatId.directMessageThreadId,
|
||||
startTimestamp: Seconds? = null,
|
||||
disableNotification: Boolean = false,
|
||||
protectContent: Boolean = false
|
||||
): PossiblyForwardedMessage = forwardMessage(fromChat.id, toChatId, messageId, threadId, startTimestamp, disableNotification, protectContent)
|
||||
protectContent: Boolean = false,
|
||||
effectId: EffectId? = null
|
||||
): PossiblyForwardedMessage = forwardMessage(
|
||||
fromChatId = fromChat.id,
|
||||
toChatId = toChatId,
|
||||
messageId = messageId,
|
||||
threadId = threadId,
|
||||
directMessageThreadId = directMessageThreadId,
|
||||
startTimestamp = startTimestamp,
|
||||
disableNotification = disableNotification,
|
||||
protectContent = protectContent,
|
||||
effectId = effectId
|
||||
)
|
||||
|
||||
public suspend fun TelegramBot.forwardMessage(
|
||||
fromChatId: ChatIdentifier,
|
||||
toChat: Chat,
|
||||
messageId: MessageId,
|
||||
threadId: MessageThreadId? = toChat.id.threadId,
|
||||
directMessageThreadId: DirectMessageThreadId? = toChat.id.directMessageThreadId,
|
||||
startTimestamp: Seconds? = null,
|
||||
disableNotification: Boolean = false,
|
||||
protectContent: Boolean = false
|
||||
): PossiblyForwardedMessage = forwardMessage(fromChatId, toChat.id, messageId, threadId, startTimestamp, disableNotification, protectContent)
|
||||
protectContent: Boolean = false,
|
||||
effectId: EffectId? = null
|
||||
): PossiblyForwardedMessage = forwardMessage(
|
||||
fromChatId = fromChatId,
|
||||
toChatId = toChat.id,
|
||||
messageId = messageId,
|
||||
threadId = threadId,
|
||||
directMessageThreadId = directMessageThreadId,
|
||||
startTimestamp = startTimestamp,
|
||||
disableNotification = disableNotification,
|
||||
protectContent = protectContent,
|
||||
effectId = effectId
|
||||
)
|
||||
|
||||
public suspend fun TelegramBot.forwardMessage(
|
||||
fromChat: Chat,
|
||||
toChat: Chat,
|
||||
messageId: MessageId,
|
||||
threadId: MessageThreadId? = toChat.id.threadId,
|
||||
directMessageThreadId: DirectMessageThreadId? = toChat.id.directMessageThreadId,
|
||||
startTimestamp: Seconds? = null,
|
||||
disableNotification: Boolean = false,
|
||||
protectContent: Boolean = false
|
||||
): PossiblyForwardedMessage = forwardMessage(fromChat.id, toChat.id, messageId, threadId, startTimestamp, disableNotification, protectContent)
|
||||
protectContent: Boolean = false,
|
||||
effectId: EffectId? = null
|
||||
): PossiblyForwardedMessage = forwardMessage(
|
||||
fromChatId = fromChat.id,
|
||||
toChatId = toChat.id,
|
||||
messageId = messageId,
|
||||
threadId = threadId,
|
||||
directMessageThreadId = directMessageThreadId,
|
||||
startTimestamp = startTimestamp,
|
||||
disableNotification = disableNotification,
|
||||
protectContent = protectContent,
|
||||
effectId = effectId
|
||||
)
|
||||
|
||||
public suspend fun TelegramBot.forwardMessage(
|
||||
toChatId: ChatIdentifier,
|
||||
message: AccessibleMessage,
|
||||
threadId: MessageThreadId? = toChatId.threadId,
|
||||
directMessageThreadId: DirectMessageThreadId? = toChatId.directMessageThreadId,
|
||||
startTimestamp: Seconds? = null,
|
||||
disableNotification: Boolean = false,
|
||||
protectContent: Boolean = false
|
||||
): PossiblyForwardedMessage = forwardMessage(message.chat, toChatId, message.messageId, threadId, startTimestamp, disableNotification, protectContent)
|
||||
protectContent: Boolean = false,
|
||||
effectId: EffectId? = null
|
||||
): PossiblyForwardedMessage = forwardMessage(
|
||||
fromChat = message.chat,
|
||||
toChatId = toChatId,
|
||||
messageId = message.messageId,
|
||||
threadId = threadId,
|
||||
directMessageThreadId = directMessageThreadId,
|
||||
startTimestamp = startTimestamp,
|
||||
disableNotification = disableNotification,
|
||||
protectContent = protectContent,
|
||||
effectId = effectId
|
||||
)
|
||||
|
||||
public suspend fun TelegramBot.forwardMessage(
|
||||
toChat: Chat,
|
||||
message: AccessibleMessage,
|
||||
threadId: MessageThreadId? = toChat.id.threadId,
|
||||
directMessageThreadId: DirectMessageThreadId? = toChat.id.directMessageThreadId,
|
||||
startTimestamp: Seconds? = null,
|
||||
disableNotification: Boolean = false,
|
||||
protectContent: Boolean = false
|
||||
): PossiblyForwardedMessage = forwardMessage(message.chat, toChat, message.messageId, threadId, startTimestamp, disableNotification, protectContent)
|
||||
protectContent: Boolean = false,
|
||||
effectId: EffectId? = null
|
||||
): PossiblyForwardedMessage = forwardMessage(
|
||||
fromChat = message.chat,
|
||||
toChat = toChat,
|
||||
messageId = message.messageId,
|
||||
threadId = threadId,
|
||||
directMessageThreadId = directMessageThreadId,
|
||||
startTimestamp = startTimestamp,
|
||||
disableNotification = disableNotification,
|
||||
protectContent = protectContent,
|
||||
effectId = effectId
|
||||
)
|
||||
|
||||
@@ -13,6 +13,7 @@ public suspend fun TelegramBot.forwardMessages(
|
||||
fromChatId: ChatIdentifier,
|
||||
messageIds: List<MessageId>,
|
||||
threadId: MessageThreadId? = toChatId.threadId,
|
||||
directMessageThreadId: DirectMessageThreadId? = toChatId.directMessageThreadId,
|
||||
disableNotification: Boolean = false,
|
||||
protectContent: Boolean = false,
|
||||
removeCaption: Boolean = false
|
||||
@@ -23,6 +24,7 @@ public suspend fun TelegramBot.forwardMessages(
|
||||
fromChatId = fromChatId,
|
||||
messageIds = it,
|
||||
threadId = threadId,
|
||||
directMessageThreadId = directMessageThreadId,
|
||||
disableNotification = disableNotification,
|
||||
protectContent = protectContent,
|
||||
removeCaption = removeCaption
|
||||
@@ -35,6 +37,7 @@ public suspend fun TelegramBot.forwardMessages(
|
||||
fromChatId: ChatIdentifier,
|
||||
messageIds: Array<MessageId>,
|
||||
threadId: MessageThreadId? = toChatId.threadId,
|
||||
directMessageThreadId: DirectMessageThreadId? = toChatId.directMessageThreadId,
|
||||
disableNotification: Boolean = false,
|
||||
protectContent: Boolean = false,
|
||||
removeCaption: Boolean = false
|
||||
@@ -43,6 +46,7 @@ public suspend fun TelegramBot.forwardMessages(
|
||||
fromChatId = fromChatId,
|
||||
messageIds = messageIds.toList(),
|
||||
threadId = threadId,
|
||||
directMessageThreadId = directMessageThreadId,
|
||||
disableNotification = disableNotification,
|
||||
protectContent = protectContent,
|
||||
removeCaption = removeCaption
|
||||
@@ -52,6 +56,7 @@ public suspend fun TelegramBot.forwardMessages(
|
||||
toChatId: ChatIdentifier,
|
||||
messagesMetas: List<Message.MetaInfo>,
|
||||
threadId: MessageThreadId? = toChatId.threadId,
|
||||
directMessageThreadId: DirectMessageThreadId? = toChatId.directMessageThreadId,
|
||||
disableNotification: Boolean = false,
|
||||
protectContent: Boolean = false,
|
||||
removeCaption: Boolean = false
|
||||
@@ -61,6 +66,7 @@ public suspend fun TelegramBot.forwardMessages(
|
||||
fromChatId = chatId,
|
||||
messageIds = messages.map { it.messageId },
|
||||
threadId = threadId,
|
||||
directMessageThreadId = directMessageThreadId,
|
||||
disableNotification = disableNotification,
|
||||
protectContent = protectContent,
|
||||
removeCaption = removeCaption
|
||||
@@ -72,6 +78,7 @@ public suspend fun TelegramBot.forwardMessages(
|
||||
toChatId: ChatIdentifier,
|
||||
messages: List<AccessibleMessage>,
|
||||
threadId: MessageThreadId? = toChatId.threadId,
|
||||
directMessageThreadId: DirectMessageThreadId? = toChatId.directMessageThreadId,
|
||||
disableNotification: Boolean = false,
|
||||
protectContent: Boolean = false,
|
||||
removeCaption: Boolean = false
|
||||
@@ -79,6 +86,7 @@ public suspend fun TelegramBot.forwardMessages(
|
||||
toChatId = toChatId,
|
||||
messagesMetas = messages.map { it.metaInfo },
|
||||
threadId = threadId,
|
||||
directMessageThreadId = directMessageThreadId,
|
||||
disableNotification = disableNotification,
|
||||
protectContent = protectContent,
|
||||
removeCaption = removeCaption
|
||||
@@ -89,6 +97,7 @@ public suspend fun TelegramBot.forward(
|
||||
fromChatId: ChatIdentifier,
|
||||
messageIds: List<MessageId>,
|
||||
threadId: MessageThreadId? = toChatId.threadId,
|
||||
directMessageThreadId: DirectMessageThreadId? = toChatId.directMessageThreadId,
|
||||
disableNotification: Boolean = false,
|
||||
protectContent: Boolean = false,
|
||||
removeCaption: Boolean = false
|
||||
@@ -97,6 +106,7 @@ public suspend fun TelegramBot.forward(
|
||||
fromChatId = fromChatId,
|
||||
messageIds = messageIds,
|
||||
threadId = threadId,
|
||||
directMessageThreadId = directMessageThreadId,
|
||||
disableNotification = disableNotification,
|
||||
protectContent = protectContent,
|
||||
removeCaption = removeCaption
|
||||
@@ -107,6 +117,7 @@ public suspend fun TelegramBot.forward(
|
||||
fromChatId: ChatIdentifier,
|
||||
messageIds: Array<MessageId>,
|
||||
threadId: MessageThreadId? = toChatId.threadId,
|
||||
directMessageThreadId: DirectMessageThreadId? = toChatId.directMessageThreadId,
|
||||
disableNotification: Boolean = false,
|
||||
protectContent: Boolean = false,
|
||||
removeCaption: Boolean = false
|
||||
@@ -115,6 +126,7 @@ public suspend fun TelegramBot.forward(
|
||||
fromChatId = fromChatId,
|
||||
messageIds = messageIds,
|
||||
threadId = threadId,
|
||||
directMessageThreadId = directMessageThreadId,
|
||||
disableNotification = disableNotification,
|
||||
protectContent = protectContent,
|
||||
removeCaption = removeCaption
|
||||
@@ -124,6 +136,7 @@ public suspend fun TelegramBot.forward(
|
||||
toChatId: ChatIdentifier,
|
||||
messagesMetas: List<Message.MetaInfo>,
|
||||
threadId: MessageThreadId? = toChatId.threadId,
|
||||
directMessageThreadId: DirectMessageThreadId? = toChatId.directMessageThreadId,
|
||||
disableNotification: Boolean = false,
|
||||
protectContent: Boolean = false,
|
||||
removeCaption: Boolean = false
|
||||
@@ -131,6 +144,7 @@ public suspend fun TelegramBot.forward(
|
||||
toChatId = toChatId,
|
||||
messagesMetas = messagesMetas,
|
||||
threadId = threadId,
|
||||
directMessageThreadId = directMessageThreadId,
|
||||
disableNotification = disableNotification,
|
||||
protectContent = protectContent,
|
||||
removeCaption = removeCaption
|
||||
@@ -141,6 +155,7 @@ public suspend fun TelegramBot.forward(
|
||||
toChatId: ChatIdentifier,
|
||||
messages: List<AccessibleMessage>,
|
||||
threadId: MessageThreadId? = toChatId.threadId,
|
||||
directMessageThreadId: DirectMessageThreadId? = toChatId.directMessageThreadId,
|
||||
disableNotification: Boolean = false,
|
||||
protectContent: Boolean = false,
|
||||
removeCaption: Boolean = false
|
||||
@@ -148,6 +163,7 @@ public suspend fun TelegramBot.forward(
|
||||
toChatId = toChatId,
|
||||
messages = messages,
|
||||
threadId = threadId,
|
||||
directMessageThreadId = directMessageThreadId,
|
||||
disableNotification = disableNotification,
|
||||
protectContent = protectContent,
|
||||
removeCaption = removeCaption
|
||||
|
||||
@@ -15,6 +15,7 @@ import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
|
||||
import dev.inmo.tgbotapi.types.buttons.InlineKeyboardMarkup
|
||||
import dev.inmo.tgbotapi.types.location.LiveLocation
|
||||
import dev.inmo.tgbotapi.types.location.Location
|
||||
import dev.inmo.tgbotapi.types.message.SuggestedPostParameters
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
|
||||
import dev.inmo.tgbotapi.types.message.content.LiveLocationContent
|
||||
import dev.inmo.tgbotapi.types.message.content.LocationContent
|
||||
@@ -50,11 +51,13 @@ public suspend fun TelegramBot.handleLiveLocation(
|
||||
locationsFlow: Flow<EditLiveLocationInfo>,
|
||||
liveTimeMillis: Long = defaultLivePeriodDelayMillis,
|
||||
threadId: MessageThreadId? = chatId.threadId,
|
||||
directMessageThreadId: DirectMessageThreadId? = chatId.directMessageThreadId,
|
||||
businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
|
||||
disableNotification: Boolean = false,
|
||||
protectContent: Boolean = false,
|
||||
allowPaidBroadcast: Boolean = false,
|
||||
effectId: EffectId? = null,
|
||||
suggestedPostParameters: SuggestedPostParameters? = null,
|
||||
replyParameters: ReplyParameters? = null,
|
||||
sentMessageFlow: FlowCollector<ContentMessage<LiveLocationContent>>? = null
|
||||
) {
|
||||
@@ -76,25 +79,27 @@ public suspend fun TelegramBot.handleLiveLocation(
|
||||
if (capturedLiveLocationMessage == null) {
|
||||
updateMessageJob ?.start()
|
||||
currentLiveLocationMessage = send(
|
||||
chatId,
|
||||
it.latitude,
|
||||
it.longitude,
|
||||
if (liveTimeMillis == indefiniteLivePeriodDelayMillis) {
|
||||
chatId = chatId,
|
||||
latitude = it.latitude,
|
||||
longitude = it.longitude,
|
||||
livePeriod = if (liveTimeMillis == indefiniteLivePeriodDelayMillis) {
|
||||
LiveLocation.INDEFINITE_LIVE_PERIOD
|
||||
} else {
|
||||
ceil(liveTimeMillis.toDouble() / 1000).toInt()
|
||||
},
|
||||
it.horizontalAccuracy,
|
||||
it.heading,
|
||||
it.proximityAlertRadius,
|
||||
threadId,
|
||||
businessConnectionId,
|
||||
disableNotification,
|
||||
protectContent,
|
||||
allowPaidBroadcast,
|
||||
effectId,
|
||||
replyParameters,
|
||||
it.replyMarkup
|
||||
horizontalAccuracy = it.horizontalAccuracy,
|
||||
heading = it.heading,
|
||||
proximityAlertRadius = it.proximityAlertRadius,
|
||||
threadId = threadId,
|
||||
directMessageThreadId = directMessageThreadId,
|
||||
businessConnectionId = businessConnectionId,
|
||||
disableNotification = disableNotification,
|
||||
protectContent = protectContent,
|
||||
allowPaidBroadcast = allowPaidBroadcast,
|
||||
effectId = effectId,
|
||||
suggestedPostParameters = suggestedPostParameters,
|
||||
replyParameters = replyParameters,
|
||||
replyMarkup = it.replyMarkup
|
||||
).also {
|
||||
sentMessageFlow ?.emit(it)
|
||||
}
|
||||
@@ -125,11 +130,13 @@ public suspend fun TelegramBot.handleLiveLocation(
|
||||
locationsFlow: Flow<Location>,
|
||||
liveTimeMillis: Long = defaultLivePeriodDelayMillis,
|
||||
threadId: MessageThreadId? = chatId.threadId,
|
||||
directMessageThreadId: DirectMessageThreadId? = chatId.directMessageThreadId,
|
||||
businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
|
||||
disableNotification: Boolean = false,
|
||||
protectContent: Boolean = false,
|
||||
allowPaidBroadcast: Boolean = false,
|
||||
effectId: EffectId? = null,
|
||||
suggestedPostParameters: SuggestedPostParameters? = null,
|
||||
replyParameters: ReplyParameters? = null,
|
||||
sentMessageFlow: FlowCollector<ContentMessage<LiveLocationContent>>? = null
|
||||
) {
|
||||
@@ -147,11 +154,13 @@ public suspend fun TelegramBot.handleLiveLocation(
|
||||
},
|
||||
liveTimeMillis = liveTimeMillis,
|
||||
threadId = threadId,
|
||||
directMessageThreadId = directMessageThreadId,
|
||||
businessConnectionId = businessConnectionId,
|
||||
disableNotification = disableNotification,
|
||||
protectContent = protectContent,
|
||||
allowPaidBroadcast = allowPaidBroadcast,
|
||||
effectId = effectId,
|
||||
suggestedPostParameters = suggestedPostParameters,
|
||||
replyParameters = replyParameters,
|
||||
sentMessageFlow = sentMessageFlow
|
||||
)
|
||||
@@ -168,11 +177,13 @@ public suspend fun TelegramBot.handleLiveLocation(
|
||||
locationsFlow: Flow<Pair<Double, Double>>,
|
||||
liveTimeMillis: Long = defaultLivePeriodDelayMillis,
|
||||
threadId: MessageThreadId? = chatId.threadId,
|
||||
directMessageThreadId: DirectMessageThreadId? = chatId.directMessageThreadId,
|
||||
businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
|
||||
disableNotification: Boolean = false,
|
||||
protectContent: Boolean = false,
|
||||
allowPaidBroadcast: Boolean = false,
|
||||
effectId: EffectId? = null,
|
||||
suggestedPostParameters: SuggestedPostParameters? = null,
|
||||
replyParameters: ReplyParameters? = null,
|
||||
sentMessageFlow: FlowCollector<ContentMessage<LiveLocationContent>>? = null
|
||||
) {
|
||||
@@ -186,11 +197,13 @@ public suspend fun TelegramBot.handleLiveLocation(
|
||||
},
|
||||
liveTimeMillis = liveTimeMillis,
|
||||
threadId = threadId,
|
||||
directMessageThreadId = directMessageThreadId,
|
||||
businessConnectionId = businessConnectionId,
|
||||
disableNotification = disableNotification,
|
||||
protectContent = protectContent,
|
||||
allowPaidBroadcast = allowPaidBroadcast,
|
||||
effectId = effectId,
|
||||
suggestedPostParameters = suggestedPostParameters,
|
||||
replyParameters = replyParameters,
|
||||
sentMessageFlow = sentMessageFlow
|
||||
)
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
@file:Suppress("KDocUnresolvedReference")
|
||||
|
||||
package dev.inmo.tgbotapi.extensions.api
|
||||
|
||||
import korlibs.time.DateTime
|
||||
@@ -11,11 +13,13 @@ import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
|
||||
import dev.inmo.tgbotapi.types.buttons.InlineKeyboardMarkup
|
||||
import dev.inmo.tgbotapi.types.buttons.KeyboardMarkup
|
||||
import dev.inmo.tgbotapi.types.chat.Chat
|
||||
import dev.inmo.tgbotapi.types.message.SuggestedPostParameters
|
||||
import dev.inmo.tgbotapi.types.location.LiveLocation
|
||||
import dev.inmo.tgbotapi.types.location.StaticLocation
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
|
||||
import dev.inmo.tgbotapi.types.message.abstracts.AccessibleMessage
|
||||
import dev.inmo.tgbotapi.types.message.content.LocationContent
|
||||
import dev.inmo.tgbotapi.utils.extensions.directMessageThreadIdOrNull
|
||||
import dev.inmo.tgbotapi.utils.extensions.threadIdOrNull
|
||||
import io.ktor.utils.io.core.Closeable
|
||||
import korlibs.time.millisecondsLong
|
||||
@@ -96,11 +100,13 @@ public suspend fun TelegramBot.startLiveLocation(
|
||||
initHeading: Degrees? = null,
|
||||
initProximityAlertRadius: Meters? = null,
|
||||
threadId: MessageThreadId? = chatId.threadId,
|
||||
directMessageThreadId: DirectMessageThreadId? = chatId.directMessageThreadId,
|
||||
businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
|
||||
disableNotification: Boolean = false,
|
||||
protectContent: Boolean = false,
|
||||
allowPaidBroadcast: Boolean = false,
|
||||
effectId: EffectId? = null,
|
||||
suggestedPostParameters: SuggestedPostParameters? = null,
|
||||
replyParameters: ReplyParameters? = null,
|
||||
replyMarkup: KeyboardMarkup? = null
|
||||
): LiveLocationProvider {
|
||||
@@ -115,11 +121,13 @@ public suspend fun TelegramBot.startLiveLocation(
|
||||
heading = initHeading,
|
||||
proximityAlertRadius = initProximityAlertRadius,
|
||||
threadId = threadId,
|
||||
directMessageThreadId = directMessageThreadId,
|
||||
businessConnectionId = businessConnectionId,
|
||||
disableNotification = disableNotification,
|
||||
protectContent = protectContent,
|
||||
allowPaidBroadcast = allowPaidBroadcast,
|
||||
effectId = effectId,
|
||||
suggestedPostParameters = suggestedPostParameters,
|
||||
replyParameters = replyParameters,
|
||||
replyMarkup = replyMarkup
|
||||
)
|
||||
@@ -147,11 +155,13 @@ public suspend fun TelegramBot.startLiveLocation(
|
||||
initHeading: Degrees? = null,
|
||||
initProximityAlertRadius: Meters? = null,
|
||||
threadId: MessageThreadId? = chat.id.threadId,
|
||||
directMessageThreadId: DirectMessageThreadId? = chat.id.directMessageThreadId,
|
||||
businessConnectionId: BusinessConnectionId? = chat.id.businessConnectionId,
|
||||
disableNotification: Boolean = false,
|
||||
protectContent: Boolean = false,
|
||||
allowPaidBroadcast: Boolean = false,
|
||||
effectId: EffectId? = null,
|
||||
suggestedPostParameters: SuggestedPostParameters? = null,
|
||||
replyParameters: ReplyParameters? = null,
|
||||
replyMarkup: KeyboardMarkup? = null
|
||||
): LiveLocationProvider = startLiveLocation(
|
||||
@@ -164,11 +174,13 @@ public suspend fun TelegramBot.startLiveLocation(
|
||||
initHeading = initHeading,
|
||||
initProximityAlertRadius = initProximityAlertRadius,
|
||||
threadId = threadId,
|
||||
directMessageThreadId = directMessageThreadId,
|
||||
businessConnectionId = businessConnectionId,
|
||||
disableNotification = disableNotification,
|
||||
protectContent = protectContent,
|
||||
allowPaidBroadcast = allowPaidBroadcast,
|
||||
effectId = effectId,
|
||||
suggestedPostParameters = suggestedPostParameters,
|
||||
replyParameters = replyParameters,
|
||||
replyMarkup = replyMarkup
|
||||
)
|
||||
@@ -186,11 +198,13 @@ public suspend fun TelegramBot.startLiveLocation(
|
||||
initHeading: Degrees? = null,
|
||||
initProximityAlertRadius: Meters? = null,
|
||||
threadId: MessageThreadId? = chatId.threadId,
|
||||
directMessageThreadId: DirectMessageThreadId? = chatId.directMessageThreadId,
|
||||
businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
|
||||
disableNotification: Boolean = false,
|
||||
protectContent: Boolean = false,
|
||||
allowPaidBroadcast: Boolean = false,
|
||||
effectId: EffectId? = null,
|
||||
suggestedPostParameters: SuggestedPostParameters? = null,
|
||||
replyParameters: ReplyParameters? = null,
|
||||
replyMarkup: KeyboardMarkup? = null
|
||||
): LiveLocationProvider = startLiveLocation(
|
||||
@@ -203,11 +217,13 @@ public suspend fun TelegramBot.startLiveLocation(
|
||||
initHeading = initHeading,
|
||||
initProximityAlertRadius = initProximityAlertRadius,
|
||||
threadId = threadId,
|
||||
directMessageThreadId = directMessageThreadId,
|
||||
businessConnectionId = businessConnectionId,
|
||||
disableNotification = disableNotification,
|
||||
protectContent = protectContent,
|
||||
allowPaidBroadcast = allowPaidBroadcast,
|
||||
effectId = effectId,
|
||||
suggestedPostParameters = suggestedPostParameters,
|
||||
replyParameters = replyParameters,
|
||||
replyMarkup = replyMarkup
|
||||
)
|
||||
@@ -225,11 +241,13 @@ public suspend fun TelegramBot.startLiveLocation(
|
||||
initHeading: Degrees? = null,
|
||||
initProximityAlertRadius: Meters? = null,
|
||||
threadId: MessageThreadId? = chat.id.threadId,
|
||||
directMessageThreadId: DirectMessageThreadId? = chat.id.directMessageThreadId,
|
||||
businessConnectionId: BusinessConnectionId? = chat.id.businessConnectionId,
|
||||
disableNotification: Boolean = false,
|
||||
protectContent: Boolean = false,
|
||||
allowPaidBroadcast: Boolean = false,
|
||||
effectId: EffectId? = null,
|
||||
suggestedPostParameters: SuggestedPostParameters? = null,
|
||||
replyParameters: ReplyParameters? = null,
|
||||
replyMarkup: KeyboardMarkup? = null
|
||||
): LiveLocationProvider = startLiveLocation(
|
||||
@@ -242,11 +260,13 @@ public suspend fun TelegramBot.startLiveLocation(
|
||||
initHeading = initHeading,
|
||||
initProximityAlertRadius = initProximityAlertRadius,
|
||||
threadId = threadId,
|
||||
directMessageThreadId = directMessageThreadId,
|
||||
businessConnectionId = businessConnectionId,
|
||||
disableNotification = disableNotification,
|
||||
protectContent = protectContent,
|
||||
allowPaidBroadcast = allowPaidBroadcast,
|
||||
effectId = effectId,
|
||||
suggestedPostParameters = suggestedPostParameters,
|
||||
replyParameters = replyParameters,
|
||||
replyMarkup = replyMarkup
|
||||
)
|
||||
@@ -265,11 +285,13 @@ public suspend inline fun TelegramBot.replyWithLiveLocation(
|
||||
initHeading: Degrees? = null,
|
||||
initProximityAlertRadius: Meters? = null,
|
||||
threadId: MessageThreadId? = to.threadIdOrNull,
|
||||
directMessageThreadId: DirectMessageThreadId? = to.directMessageThreadIdOrNull,
|
||||
businessConnectionId: BusinessConnectionId? = to.businessConnectionId,
|
||||
disableNotification: Boolean = false,
|
||||
protectContent: Boolean = false,
|
||||
allowPaidBroadcast: Boolean = false,
|
||||
effectId: EffectId? = null,
|
||||
suggestedPostParameters: SuggestedPostParameters? = null,
|
||||
allowSendingWithoutReply: Boolean? = null,
|
||||
replyMarkup: KeyboardMarkup? = null
|
||||
): LiveLocationProvider = startLiveLocation(
|
||||
@@ -282,11 +304,13 @@ public suspend inline fun TelegramBot.replyWithLiveLocation(
|
||||
initHeading = initHeading,
|
||||
initProximityAlertRadius = initProximityAlertRadius,
|
||||
threadId = threadId,
|
||||
directMessageThreadId = directMessageThreadId,
|
||||
businessConnectionId = businessConnectionId,
|
||||
disableNotification = disableNotification,
|
||||
protectContent = protectContent,
|
||||
allowPaidBroadcast = allowPaidBroadcast,
|
||||
effectId = effectId,
|
||||
suggestedPostParameters = suggestedPostParameters,
|
||||
replyParameters = ReplyParameters(to.metaInfo, allowSendingWithoutReply = allowSendingWithoutReply),
|
||||
replyMarkup = replyMarkup
|
||||
)
|
||||
@@ -304,11 +328,13 @@ public suspend inline fun TelegramBot.replyWithLiveLocation(
|
||||
initHeading: Degrees? = null,
|
||||
initProximityAlertRadius: Meters? = null,
|
||||
threadId: MessageThreadId? = to.threadIdOrNull,
|
||||
directMessageThreadId: DirectMessageThreadId? = to.directMessageThreadIdOrNull,
|
||||
businessConnectionId: BusinessConnectionId? = to.businessConnectionId,
|
||||
disableNotification: Boolean = false,
|
||||
protectContent: Boolean = false,
|
||||
allowPaidBroadcast: Boolean = false,
|
||||
effectId: EffectId? = null,
|
||||
suggestedPostParameters: SuggestedPostParameters? = null,
|
||||
allowSendingWithoutReply: Boolean? = null,
|
||||
replyMarkup: KeyboardMarkup? = null
|
||||
): LiveLocationProvider = startLiveLocation(
|
||||
@@ -320,11 +346,13 @@ public suspend inline fun TelegramBot.replyWithLiveLocation(
|
||||
initHeading = initHeading,
|
||||
initProximityAlertRadius = initProximityAlertRadius,
|
||||
threadId = threadId,
|
||||
directMessageThreadId = directMessageThreadId,
|
||||
businessConnectionId = businessConnectionId,
|
||||
disableNotification = disableNotification,
|
||||
protectContent = protectContent,
|
||||
allowPaidBroadcast = allowPaidBroadcast,
|
||||
effectId = effectId,
|
||||
suggestedPostParameters = suggestedPostParameters,
|
||||
replyParameters = ReplyParameters(to.metaInfo, allowSendingWithoutReply = allowSendingWithoutReply),
|
||||
replyMarkup = replyMarkup
|
||||
)
|
||||
|
||||
@@ -3,4 +3,4 @@ package dev.inmo.tgbotapi.extensions.api
|
||||
import dev.inmo.tgbotapi.bot.TelegramBot
|
||||
import dev.inmo.tgbotapi.requests.local.LogOut
|
||||
|
||||
public suspend inline fun TelegramBot.logOut(): Boolean = execute(LogOut)
|
||||
public suspend inline fun TelegramBot.logOut(): Unit = execute(LogOut)
|
||||
|
||||
@@ -11,7 +11,7 @@ public suspend fun TelegramBot.answerCallbackQuery(
|
||||
showAlert: Boolean? = null,
|
||||
url: String? = null,
|
||||
cachedTimeSeconds: Int? = null
|
||||
): Boolean = execute(AnswerCallbackQuery(callbackQueryId, text, showAlert, url, cachedTimeSeconds))
|
||||
): Unit = execute(AnswerCallbackQuery(callbackQueryId, text, showAlert, url, cachedTimeSeconds))
|
||||
|
||||
public suspend fun TelegramBot.answerCallbackQuery(
|
||||
callbackQuery: CallbackQuery,
|
||||
@@ -19,7 +19,7 @@ public suspend fun TelegramBot.answerCallbackQuery(
|
||||
showAlert: Boolean? = null,
|
||||
url: String? = null,
|
||||
cachedTimeSeconds: Int? = null
|
||||
): Boolean = answerCallbackQuery(callbackQuery.id, text, showAlert, url, cachedTimeSeconds)
|
||||
): Unit = answerCallbackQuery(callbackQuery.id, text, showAlert, url, cachedTimeSeconds)
|
||||
|
||||
public suspend fun TelegramBot.answer(
|
||||
callbackQuery: CallbackQuery,
|
||||
@@ -27,4 +27,4 @@ public suspend fun TelegramBot.answer(
|
||||
showAlert: Boolean? = null,
|
||||
url: String? = null,
|
||||
cachedTimeSeconds: Int? = null
|
||||
): Boolean = answerCallbackQuery(callbackQuery.id, text, showAlert, url, cachedTimeSeconds)
|
||||
): Unit = answerCallbackQuery(callbackQuery.id, text, showAlert, url, cachedTimeSeconds)
|
||||
|
||||
@@ -14,7 +14,7 @@ public suspend fun TelegramBot.answerInlineQuery(
|
||||
isPersonal: Boolean? = null,
|
||||
nextOffset: String? = null,
|
||||
button: InlineQueryResultsButton? = null
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
AnswerInlineQuery(inlineQueryID, results, cachedTime, isPersonal, nextOffset, button)
|
||||
)
|
||||
|
||||
@@ -25,7 +25,7 @@ public suspend fun TelegramBot.answerInlineQuery(
|
||||
isPersonal: Boolean? = null,
|
||||
nextOffset: String? = null,
|
||||
button: InlineQueryResultsButton? = null
|
||||
): Boolean = answerInlineQuery(inlineQuery.id, results, cachedTime, isPersonal, nextOffset, button)
|
||||
): Unit = answerInlineQuery(inlineQuery.id, results, cachedTime, isPersonal, nextOffset, button)
|
||||
|
||||
public suspend fun TelegramBot.answer(
|
||||
inlineQuery: InlineQuery,
|
||||
@@ -34,7 +34,7 @@ public suspend fun TelegramBot.answer(
|
||||
isPersonal: Boolean? = null,
|
||||
nextOffset: String? = null,
|
||||
button: InlineQueryResultsButton? = null
|
||||
): Boolean = answerInlineQuery(inlineQuery.id, results, cachedTime, isPersonal, nextOffset, button)
|
||||
): Unit = answerInlineQuery(inlineQuery.id, results, cachedTime, isPersonal, nextOffset, button)
|
||||
|
||||
public suspend fun TelegramBot.answerInlineQuery(
|
||||
inlineQueryID: InlineQueryId,
|
||||
@@ -44,7 +44,7 @@ public suspend fun TelegramBot.answerInlineQuery(
|
||||
nextOffset: String? = null,
|
||||
switchPmText: String?,
|
||||
switchPmParameter: String?
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
AnswerInlineQuery(inlineQueryID, results, cachedTime, isPersonal, nextOffset, switchPmText, switchPmParameter)
|
||||
)
|
||||
|
||||
@@ -56,7 +56,7 @@ public suspend fun TelegramBot.answerInlineQuery(
|
||||
nextOffset: String? = null,
|
||||
switchPmText: String?,
|
||||
switchPmParameter: String?
|
||||
): Boolean = answerInlineQuery(inlineQuery.id, results, cachedTime, isPersonal, nextOffset, switchPmText, switchPmParameter)
|
||||
): Unit = answerInlineQuery(inlineQuery.id, results, cachedTime, isPersonal, nextOffset, switchPmText, switchPmParameter)
|
||||
|
||||
public suspend fun TelegramBot.answer(
|
||||
inlineQuery: InlineQuery,
|
||||
@@ -66,4 +66,4 @@ public suspend fun TelegramBot.answer(
|
||||
nextOffset: String? = null,
|
||||
switchPmText: String?,
|
||||
switchPmParameter: String?
|
||||
): Boolean = answerInlineQuery(inlineQuery.id, results, cachedTime, isPersonal, nextOffset, switchPmText, switchPmParameter)
|
||||
): Unit = answerInlineQuery(inlineQuery.id, results, cachedTime, isPersonal, nextOffset, switchPmText, switchPmParameter)
|
||||
|
||||
@@ -8,16 +8,16 @@ import dev.inmo.tgbotapi.types.payments.PreCheckoutQuery
|
||||
|
||||
public suspend fun TelegramBot.answerPreCheckoutQueryOk(
|
||||
id: PreCheckoutQueryId
|
||||
): Boolean = execute(AnswerPreCheckoutQueryOk(id))
|
||||
): Unit = execute(AnswerPreCheckoutQueryOk(id))
|
||||
public suspend fun TelegramBot.answerPreCheckoutQueryOk(
|
||||
preCheckoutQuery: PreCheckoutQuery
|
||||
): Boolean = answerPreCheckoutQueryOk(preCheckoutQuery.id)
|
||||
): Unit = answerPreCheckoutQueryOk(preCheckoutQuery.id)
|
||||
|
||||
public suspend fun TelegramBot.answerPreCheckoutQueryError(
|
||||
id: PreCheckoutQueryId,
|
||||
error: String
|
||||
): Boolean = execute(AnswerPreCheckoutQueryError(id, error))
|
||||
): Unit = execute(AnswerPreCheckoutQueryError(id, error))
|
||||
public suspend fun TelegramBot.answerPreCheckoutQueryError(
|
||||
preCheckoutQuery: PreCheckoutQuery,
|
||||
error: String
|
||||
): Boolean = answerPreCheckoutQueryError(preCheckoutQuery.id, error)
|
||||
): Unit = answerPreCheckoutQueryError(preCheckoutQuery.id, error)
|
||||
|
||||
@@ -10,19 +10,19 @@ import dev.inmo.tgbotapi.types.payments.ShippingQuery
|
||||
public suspend fun TelegramBot.answerShippingQueryOk(
|
||||
id: ShippingQueryId,
|
||||
shippingOptions: List<ShippingOption>
|
||||
): Boolean = execute(AnswerShippingQueryOk(id, shippingOptions))
|
||||
): Unit = execute(AnswerShippingQueryOk(id, shippingOptions))
|
||||
public suspend fun TelegramBot.answerShippingQueryOk(
|
||||
shippingQuery: ShippingQuery,
|
||||
shippingOptions: List<ShippingOption>
|
||||
): Boolean = answerShippingQueryOk(shippingQuery.id, shippingOptions)
|
||||
): Unit = answerShippingQueryOk(shippingQuery.id, shippingOptions)
|
||||
|
||||
public suspend fun TelegramBot.answerShippingQueryError(
|
||||
id: ShippingQueryId,
|
||||
error: String
|
||||
): Boolean = execute(AnswerShippingQueryError(id, error))
|
||||
): Unit = execute(AnswerShippingQueryError(id, error))
|
||||
public suspend fun TelegramBot.answerShippingQueryError(
|
||||
shippingQuery: ShippingQuery,
|
||||
error: String
|
||||
): Boolean = answerShippingQueryError(shippingQuery.id, error)
|
||||
): Unit = answerShippingQueryError(shippingQuery.id, error)
|
||||
|
||||
|
||||
|
||||
@@ -5,8 +5,8 @@ import dev.inmo.tgbotapi.requests.bot.ClearMyDefaultAdministratorRights
|
||||
|
||||
public suspend fun TelegramBot.clearMyDefaultAdministratorRights(
|
||||
forChannels: Boolean? = null
|
||||
): Boolean = execute(ClearMyDefaultAdministratorRights(forChannels))
|
||||
): Unit = execute(ClearMyDefaultAdministratorRights(forChannels))
|
||||
|
||||
public suspend fun TelegramBot.clearMyDefaultAdministratorRightsForChannels(): Boolean = clearMyDefaultAdministratorRights(forChannels = true)
|
||||
public suspend fun TelegramBot.clearMyDefaultAdministratorRightsForChannels(): Unit = clearMyDefaultAdministratorRights(forChannels = true)
|
||||
|
||||
public suspend fun TelegramBot.clearMyDefaultAdministratorRightsForGroupsAndSupergroups(): Boolean = clearMyDefaultAdministratorRights(forChannels = false)
|
||||
public suspend fun TelegramBot.clearMyDefaultAdministratorRightsForGroupsAndSupergroups(): Unit = clearMyDefaultAdministratorRights(forChannels = false)
|
||||
|
||||
@@ -9,9 +9,9 @@ import dev.inmo.tgbotapi.types.commands.BotCommandScopeDefault
|
||||
public suspend fun TelegramBot.deleteMyCommands(
|
||||
scope: BotCommandScope = BotCommandScopeDefault,
|
||||
languageCode: IetfLang?
|
||||
): Boolean = execute(DeleteMyCommands(scope, languageCode))
|
||||
): Unit = execute(DeleteMyCommands(scope, languageCode))
|
||||
|
||||
public suspend fun TelegramBot.deleteMyCommands(
|
||||
scope: BotCommandScope = BotCommandScopeDefault,
|
||||
languageCode: String? = null
|
||||
): Boolean = deleteMyCommands(scope, languageCode ?.let(::IetfLang))
|
||||
): Unit = deleteMyCommands(scope, languageCode ?.let(::IetfLang))
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
package dev.inmo.tgbotapi.extensions.api.bot
|
||||
|
||||
import dev.inmo.tgbotapi.bot.TelegramBot
|
||||
import dev.inmo.tgbotapi.requests.bot.RemoveMyProfilePhoto
|
||||
|
||||
public suspend fun TelegramBot.removeMyProfilePhoto(): Unit = execute(RemoveMyProfilePhoto)
|
||||
@@ -11,22 +11,22 @@ public suspend fun TelegramBot.setMyCommands(
|
||||
commands: List<BotCommand>,
|
||||
scope: BotCommandScope = BotCommandScopeDefault,
|
||||
languageCode: IetfLang?
|
||||
): Boolean = execute(SetMyCommands(commands, scope, languageCode))
|
||||
): Unit = execute(SetMyCommands(commands, scope, languageCode))
|
||||
|
||||
public suspend fun TelegramBot.setMyCommands(
|
||||
vararg commands: BotCommand,
|
||||
scope: BotCommandScope = BotCommandScopeDefault,
|
||||
languageCode: IetfLang?
|
||||
): Boolean = setMyCommands(commands.toList(), scope, languageCode)
|
||||
): Unit = setMyCommands(commands.toList(), scope, languageCode)
|
||||
|
||||
public suspend fun TelegramBot.setMyCommands(
|
||||
commands: List<BotCommand>,
|
||||
scope: BotCommandScope = BotCommandScopeDefault,
|
||||
languageCode: String? = null
|
||||
): Boolean = setMyCommands(commands, scope, languageCode ?.let(::IetfLang))
|
||||
): Unit = setMyCommands(commands, scope, languageCode ?.let(::IetfLang))
|
||||
|
||||
public suspend fun TelegramBot.setMyCommands(
|
||||
vararg commands: BotCommand,
|
||||
scope: BotCommandScope = BotCommandScopeDefault,
|
||||
languageCode: String? = null
|
||||
): Boolean = setMyCommands(commands.toList(), scope, languageCode)
|
||||
): Unit = setMyCommands(commands.toList(), scope, languageCode)
|
||||
|
||||
@@ -7,12 +7,12 @@ import dev.inmo.tgbotapi.types.chat.member.ChatCommonAdministratorRights
|
||||
public suspend fun TelegramBot.setMyDefaultAdministratorRights(
|
||||
rights: ChatCommonAdministratorRights,
|
||||
forChannels: Boolean? = null
|
||||
): Boolean = execute(SetMyDefaultAdministratorRights(rights, forChannels))
|
||||
): Unit = execute(SetMyDefaultAdministratorRights(rights, forChannels))
|
||||
|
||||
public suspend fun TelegramBot.setMyDefaultAdministratorRightsForChannels(
|
||||
rights: ChatCommonAdministratorRights
|
||||
): Boolean = setMyDefaultAdministratorRights(rights, forChannels = true)
|
||||
): Unit = setMyDefaultAdministratorRights(rights, forChannels = true)
|
||||
|
||||
public suspend fun TelegramBot.setMyDefaultAdministratorRightsForGroupsAndSupergroups(
|
||||
rights: ChatCommonAdministratorRights
|
||||
): Boolean = setMyDefaultAdministratorRights(rights, forChannels = false)
|
||||
): Unit = setMyDefaultAdministratorRights(rights, forChannels = false)
|
||||
|
||||
@@ -11,9 +11,9 @@ import dev.inmo.tgbotapi.types.commands.BotCommandScopeDefault
|
||||
public suspend fun TelegramBot.setMyDescription(
|
||||
description: String? = null,
|
||||
languageCode: IetfLang? = null
|
||||
): Boolean = execute(SetMyDescription(description, languageCode))
|
||||
): Unit = execute(SetMyDescription(description, languageCode))
|
||||
|
||||
public suspend fun TelegramBot.setMyDescription(
|
||||
description: String?,
|
||||
languageCode: String?
|
||||
): Boolean = setMyDescription(description, languageCode ?.let(::IetfLang))
|
||||
): Unit = setMyDescription(description, languageCode ?.let(::IetfLang))
|
||||
|
||||
@@ -11,9 +11,9 @@ import dev.inmo.tgbotapi.types.commands.BotCommandScopeDefault
|
||||
public suspend fun TelegramBot.setMyName(
|
||||
name: String? = null,
|
||||
languageCode: IetfLang? = null
|
||||
): Boolean = execute(SetMyName(name, languageCode))
|
||||
): Unit = execute(SetMyName(name, languageCode))
|
||||
|
||||
public suspend fun TelegramBot.setMyName(
|
||||
name: String?,
|
||||
languageCode: String?
|
||||
): Boolean = setMyName(name, languageCode ?.let(::IetfLang))
|
||||
): Unit = setMyName(name, languageCode ?.let(::IetfLang))
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
package dev.inmo.tgbotapi.extensions.api.bot
|
||||
|
||||
import dev.inmo.tgbotapi.bot.TelegramBot
|
||||
import dev.inmo.tgbotapi.requests.bot.SetMyProfilePhoto
|
||||
import dev.inmo.tgbotapi.requests.business_connection.InputProfilePhoto
|
||||
|
||||
public suspend fun TelegramBot.setMyProfilePhoto(
|
||||
photo: InputProfilePhoto
|
||||
): Unit = execute(SetMyProfilePhoto(photo))
|
||||
@@ -7,9 +7,9 @@ import dev.inmo.tgbotapi.requests.bot.SetMyShortDescription
|
||||
public suspend fun TelegramBot.setMyShortDescription(
|
||||
shortDescription: String? = null,
|
||||
languageCode: IetfLang? = null
|
||||
): Boolean = execute(SetMyShortDescription(shortDescription, languageCode))
|
||||
): Unit = execute(SetMyShortDescription(shortDescription, languageCode))
|
||||
|
||||
public suspend fun TelegramBot.setMyShortDescription(
|
||||
shortDescription: String?,
|
||||
languageCode: String?
|
||||
): Boolean = setMyShortDescription(shortDescription, languageCode ?.let(::IetfLang))
|
||||
): Unit = setMyShortDescription(shortDescription, languageCode ?.let(::IetfLang))
|
||||
|
||||
@@ -11,14 +11,14 @@ import dev.inmo.tgbotapi.types.gifts.Gift
|
||||
public suspend fun TelegramBot.convertGiftToStars(
|
||||
businessConnectionId: BusinessConnectionId,
|
||||
ownedGiftId: GiftId
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
ConvertGiftToStars(businessConnectionId, ownedGiftId)
|
||||
)
|
||||
|
||||
public suspend fun TelegramBot.convertGiftToStars(
|
||||
businessConnectionId: BusinessConnectionId,
|
||||
gift: Gift.Regular
|
||||
): Boolean = convertGiftToStars(
|
||||
): Unit = convertGiftToStars(
|
||||
businessConnectionId = businessConnectionId,
|
||||
ownedGiftId = with(gift) {id}
|
||||
)
|
||||
|
||||
@@ -15,6 +15,6 @@ public suspend fun TelegramBot.deleteBusinessMessages(
|
||||
businessConnectionId: BusinessConnectionId,
|
||||
@GenerationVariant(List::class, "messages.map { it.messageId }", "messages", AccessibleMessage::class)
|
||||
messageIds: List<MessageId>
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
DeleteBusinessMessages(businessConnectionId, messageIds)
|
||||
)
|
||||
|
||||
@@ -10,7 +10,7 @@ import kotlin.Boolean
|
||||
import kotlin.collections.List
|
||||
|
||||
public suspend fun TelegramBot.deleteBusinessMessages(businessConnectionId: BusinessConnectionId,
|
||||
messages: List<AccessibleMessage>): Boolean = deleteBusinessMessages(
|
||||
messages: List<AccessibleMessage>): Unit = deleteBusinessMessages(
|
||||
businessConnectionId = businessConnectionId, messageIds = with(messages) {messages.map {
|
||||
it.messageId }}
|
||||
)
|
||||
|
||||
@@ -4,7 +4,8 @@ import dev.inmo.tgbotapi.bot.TelegramBot
|
||||
import dev.inmo.tgbotapi.requests.business_connection.GetBusinessAccountGifts
|
||||
import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
|
||||
import dev.inmo.tgbotapi.types.OwnedGifts
|
||||
import dev.inmo.tgbotapi.types.gifts.GiftSentOrReceived
|
||||
import dev.inmo.tgbotapi.types.gifts.GiftSentOrReceivedEvent
|
||||
import dev.inmo.tgbotapi.types.gifts.OwnedGift
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import kotlinx.coroutines.flow.flow
|
||||
import kotlin.runCatching
|
||||
@@ -14,19 +15,23 @@ public suspend fun TelegramBot.getBusinessAccountGifts(
|
||||
excludeUnsaved: Boolean = false,
|
||||
excludeSaved: Boolean = false,
|
||||
excludeUnlimited: Boolean = false,
|
||||
excludeLimited: Boolean = false,
|
||||
excludeLimitedUpgradable: Boolean = false,
|
||||
excludeLimitedNonUpgradable: Boolean = false,
|
||||
excludeUnique: Boolean = false,
|
||||
excludeFromBlockchain: Boolean = false,
|
||||
sortByPrice: Boolean = false,
|
||||
offset: String? = null,
|
||||
limit: Int? = null
|
||||
): OwnedGifts<GiftSentOrReceived.ReceivedInBusinessAccount> = execute(
|
||||
): OwnedGifts<OwnedGift.OwnedByBusinessAccount> = execute(
|
||||
GetBusinessAccountGifts(
|
||||
businessConnectionId,
|
||||
excludeUnsaved,
|
||||
excludeSaved,
|
||||
excludeUnlimited,
|
||||
excludeLimited,
|
||||
excludeLimitedUpgradable,
|
||||
excludeLimitedNonUpgradable,
|
||||
excludeUnique,
|
||||
excludeFromBlockchain,
|
||||
sortByPrice,
|
||||
offset,
|
||||
limit
|
||||
@@ -43,8 +48,10 @@ public suspend fun TelegramBot.getBusinessAccountGifts(
|
||||
* @param excludeUnsaved Whether to exclude unsaved gifts
|
||||
* @param excludeSaved Whether to exclude saved gifts
|
||||
* @param excludeUnlimited Whether to exclude unlimited gifts
|
||||
* @param excludeLimited Whether to exclude limited gifts
|
||||
* @param excludeLimitedUpgradable Whether to exclude limited upgradable gifts
|
||||
* @param excludeLimitedNonUpgradable Whether to exclude limited non-upgradable gifts
|
||||
* @param excludeUnique Whether to exclude unique gifts
|
||||
* @param excludeFromBlockchain Whether to exclude gifts from blockchain
|
||||
* @param sortByPrice Whether to sort gifts by price
|
||||
* @param initialOffset The initial offset to start fetching from. If null, starts from the beginning
|
||||
* @param limit The maximum number of gifts to fetch per request
|
||||
@@ -57,13 +64,15 @@ public fun TelegramBot.getBusinessAccountGiftsFlow(
|
||||
excludeUnsaved: Boolean = false,
|
||||
excludeSaved: Boolean = false,
|
||||
excludeUnlimited: Boolean = false,
|
||||
excludeLimited: Boolean = false,
|
||||
excludeLimitedUpgradable: Boolean = false,
|
||||
excludeLimitedNonUpgradable: Boolean = false,
|
||||
excludeUnique: Boolean = false,
|
||||
excludeFromBlockchain: Boolean = false,
|
||||
sortByPrice: Boolean = false,
|
||||
initialOffset: String? = null,
|
||||
limit: Int? = null,
|
||||
onErrorContinueChecker: suspend (Throwable?) -> Boolean = { false }
|
||||
): Flow<OwnedGifts<GiftSentOrReceived.ReceivedInBusinessAccount>> = flow {
|
||||
): Flow<OwnedGifts<OwnedGift.OwnedByBusinessAccount>> = flow {
|
||||
var currentOffset = initialOffset
|
||||
do {
|
||||
val response = runCatching {
|
||||
@@ -72,8 +81,10 @@ public fun TelegramBot.getBusinessAccountGiftsFlow(
|
||||
excludeUnsaved,
|
||||
excludeSaved,
|
||||
excludeUnlimited,
|
||||
excludeLimited,
|
||||
excludeLimitedUpgradable,
|
||||
excludeLimitedNonUpgradable,
|
||||
excludeUnique,
|
||||
excludeFromBlockchain,
|
||||
sortByPrice,
|
||||
currentOffset,
|
||||
limit
|
||||
|
||||
@@ -17,11 +17,11 @@ public suspend fun TelegramBot.readBusinessMessage(
|
||||
@GenerationVariant(Chat::class, "chat.id.toChatId()", "chat")
|
||||
chatId: ChatId,
|
||||
messageId: MessageId
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
ReadBusinessMessage(businessConnectionId, chatId, messageId)
|
||||
)
|
||||
|
||||
public suspend fun TelegramBot.readBusinessMessage(
|
||||
businessConnectionId: BusinessConnectionId,
|
||||
message: AccessibleMessage
|
||||
): Boolean = readBusinessMessage(businessConnectionId, message.chat.id.toChatId(), message.messageId)
|
||||
): Unit = readBusinessMessage(businessConnectionId, message.chat.id.toChatId(), message.messageId)
|
||||
@@ -14,7 +14,7 @@ public suspend fun TelegramBot.readBusinessMessage(
|
||||
businessConnectionId: BusinessConnectionId,
|
||||
chat: Chat,
|
||||
messageId: MessageId,
|
||||
): Boolean = readBusinessMessage(
|
||||
): Unit = readBusinessMessage(
|
||||
businessConnectionId = businessConnectionId, chatId = with(chat) {chat.id.toChatId()}, messageId
|
||||
= messageId
|
||||
)
|
||||
|
||||
@@ -7,6 +7,6 @@ import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
|
||||
public suspend fun TelegramBot.removeBusinessAccountProfilePhoto(
|
||||
businessConnectionId: BusinessConnectionId,
|
||||
isPublic: Boolean = false
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
RemoveBusinessAccountProfilePhoto(businessConnectionId = businessConnectionId, isPublic = isPublic)
|
||||
)
|
||||
@@ -7,6 +7,6 @@ import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
|
||||
public suspend fun TelegramBot.setBusinessAccountBio(
|
||||
businessConnectionId: BusinessConnectionId,
|
||||
bio: String
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
SetBusinessAccountBio(businessConnectionId, bio)
|
||||
)
|
||||
@@ -13,7 +13,7 @@ public suspend fun TelegramBot.setBusinessAccountGiftSettings(
|
||||
businessConnectionId: BusinessConnectionId,
|
||||
showGiftButton: Boolean,
|
||||
acceptedGiftTypes: AcceptedGiftTypes
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
SetBusinessAccountGiftSettings(
|
||||
businessConnectionId = businessConnectionId,
|
||||
showGiftButton = showGiftButton,
|
||||
@@ -28,7 +28,7 @@ public suspend fun TelegramBot.setBusinessAccountGiftSettings(
|
||||
message: BusinessContentMessage<*>,
|
||||
showGiftButton: Boolean,
|
||||
acceptedGiftTypes: AcceptedGiftTypes
|
||||
): Boolean = setBusinessAccountGiftSettings(
|
||||
): Unit = setBusinessAccountGiftSettings(
|
||||
businessConnectionId = message.businessConnectionId,
|
||||
showGiftButton = showGiftButton,
|
||||
acceptedGiftTypes = acceptedGiftTypes
|
||||
|
||||
@@ -8,6 +8,6 @@ public suspend fun TelegramBot.setBusinessAccountName(
|
||||
businessConnectionId: BusinessConnectionId,
|
||||
firstName: String,
|
||||
lastName: String? = null
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
SetBusinessAccountName(businessConnectionId, firstName, lastName)
|
||||
)
|
||||
@@ -9,6 +9,6 @@ public suspend fun TelegramBot.setBusinessAccountProfilePhoto(
|
||||
businessConnectionId: BusinessConnectionId,
|
||||
photo: InputProfilePhoto,
|
||||
isPublic: Boolean = false
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
SetBusinessAccountProfilePhoto(businessConnectionId, photo, isPublic)
|
||||
)
|
||||
@@ -7,11 +7,9 @@ import dev.inmo.tgbotapi.requests.business_connection.SetBusinessAccountUsername
|
||||
import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
|
||||
import dev.inmo.tgbotapi.types.Username
|
||||
|
||||
@GenerateVariations
|
||||
public suspend fun TelegramBot.setBusinessAccountUsername(
|
||||
businessConnectionId: BusinessConnectionId,
|
||||
@GenerationVariant(String::class, "Username(username)", "username")
|
||||
username: Username
|
||||
): Boolean = execute(
|
||||
username: Username? = null
|
||||
): Unit = execute(
|
||||
SetBusinessAccountUsername(businessConnectionId, username)
|
||||
)
|
||||
@@ -9,8 +9,10 @@ import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
|
||||
import kotlin.Boolean
|
||||
import kotlin.String
|
||||
|
||||
public suspend
|
||||
fun TelegramBot.setBusinessAccountUsername(businessConnectionId: BusinessConnectionId,
|
||||
username: String): Boolean = setBusinessAccountUsername(
|
||||
businessConnectionId = businessConnectionId, username = with(username) { Username.prepare(username) }
|
||||
public suspend fun TelegramBot.setBusinessAccountUsername(
|
||||
businessConnectionId: BusinessConnectionId,
|
||||
username: String?
|
||||
): Unit = setBusinessAccountUsername(
|
||||
businessConnectionId = businessConnectionId,
|
||||
username = username ?.let { Username.prepare(username) }
|
||||
)
|
||||
|
||||
@@ -7,6 +7,6 @@ import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
|
||||
public suspend fun TelegramBot.transferBusinessAccountStars(
|
||||
businessConnectionId: BusinessConnectionId,
|
||||
amount: Int
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
TransferBusinessAccountStars(businessConnectionId, amount)
|
||||
)
|
||||
@@ -21,7 +21,7 @@ public suspend fun TelegramBot.transferGift(
|
||||
ownedGiftId: GiftId,
|
||||
newOwnerChatId: ChatId,
|
||||
transferPaymentStarCount: Int? = null,
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
TransferGift(
|
||||
businessConnectionId = businessConnectionId,
|
||||
ownedGiftId = ownedGiftId,
|
||||
@@ -35,7 +35,7 @@ public suspend fun TelegramBot.transferGift(
|
||||
gift: Gift.Regular,
|
||||
newOwnerChatId: ChatId,
|
||||
transferPaymentStarCount: Int? = null,
|
||||
): Boolean = transferGift(
|
||||
): Unit = transferGift(
|
||||
businessConnectionId = businessConnectionId,
|
||||
ownedGiftId = gift.id,
|
||||
newOwnerChatId = newOwnerChatId,
|
||||
|
||||
@@ -19,7 +19,7 @@ public suspend fun TelegramBot.convertGiftToStars(
|
||||
ownedGiftId: GiftId,
|
||||
keepOriginalDetails: Boolean = false,
|
||||
starCount: Int? = null
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
UpgradeGift(
|
||||
businessConnectionId = businessConnectionId,
|
||||
ownedGiftId = ownedGiftId,
|
||||
@@ -32,7 +32,7 @@ public suspend fun TelegramBot.convertGiftToStars(
|
||||
businessConnectionId: BusinessConnectionId,
|
||||
gift: Gift.Regular,
|
||||
keepOriginalDetails: Boolean = false,
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
UpgradeGift(
|
||||
businessConnectionId = businessConnectionId,
|
||||
ownedGiftId = gift.id,
|
||||
|
||||
@@ -7,8 +7,8 @@ import dev.inmo.tgbotapi.types.chat.PublicChat
|
||||
|
||||
public suspend fun TelegramBot.leaveChat(
|
||||
chatId: ChatIdentifier
|
||||
): Boolean = execute(LeaveChat(chatId))
|
||||
): Unit = execute(LeaveChat(chatId))
|
||||
|
||||
public suspend fun TelegramBot.leaveChat(
|
||||
chat: PublicChat
|
||||
): Boolean = leaveChat(chat.id)
|
||||
): Unit = leaveChat(chat.id)
|
||||
|
||||
@@ -10,7 +10,7 @@ import dev.inmo.tgbotapi.types.chat.Chat
|
||||
public suspend fun TelegramBot.closeForumTopic(
|
||||
chatId: ChatIdentifier,
|
||||
messageThreadId: MessageThreadId
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
CloseForumTopic(
|
||||
chatId,
|
||||
messageThreadId
|
||||
@@ -20,9 +20,9 @@ public suspend fun TelegramBot.closeForumTopic(
|
||||
public suspend fun TelegramBot.closeForumTopic(
|
||||
chat: Chat,
|
||||
messageThreadId: MessageThreadId
|
||||
): Boolean = closeForumTopic(chat.id, messageThreadId)
|
||||
): Unit = closeForumTopic(chat.id, messageThreadId)
|
||||
|
||||
public suspend fun TelegramBot.closeForumTopic(
|
||||
chat: Chat,
|
||||
forumTopic: ForumTopic
|
||||
): Boolean = closeForumTopic(chat.id, forumTopic.messageThreadId)
|
||||
): Unit = closeForumTopic(chat.id, forumTopic.messageThreadId)
|
||||
|
||||
@@ -10,10 +10,10 @@ import dev.inmo.tgbotapi.types.chat.Chat
|
||||
|
||||
public suspend fun TelegramBot.closeGeneralForumTopic(
|
||||
chatId: ChatIdentifier
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
CloseGeneralForumTopic(chatId)
|
||||
)
|
||||
|
||||
public suspend fun TelegramBot.closeGeneralForumTopic(
|
||||
chat: Chat
|
||||
): Boolean = closeGeneralForumTopic(chat.id)
|
||||
): Unit = closeGeneralForumTopic(chat.id)
|
||||
|
||||
@@ -10,7 +10,7 @@ import dev.inmo.tgbotapi.types.chat.Chat
|
||||
public suspend fun TelegramBot.deleteForumTopic(
|
||||
chatId: ChatIdentifier,
|
||||
messageThreadId: MessageThreadId
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
DeleteForumTopic(
|
||||
chatId,
|
||||
messageThreadId
|
||||
@@ -20,14 +20,14 @@ public suspend fun TelegramBot.deleteForumTopic(
|
||||
public suspend fun TelegramBot.deleteForumTopic(
|
||||
chatId: ChatIdentifier,
|
||||
forumTopic: ForumTopic
|
||||
): Boolean = deleteForumTopic(chatId, forumTopic.messageThreadId)
|
||||
): Unit = deleteForumTopic(chatId, forumTopic.messageThreadId)
|
||||
|
||||
public suspend fun TelegramBot.deleteForumTopic(
|
||||
chat: Chat,
|
||||
messageThreadId: MessageThreadId
|
||||
): Boolean = deleteForumTopic(chat.id, messageThreadId)
|
||||
): Unit = deleteForumTopic(chat.id, messageThreadId)
|
||||
|
||||
public suspend fun TelegramBot.deleteForumTopic(
|
||||
chat: Chat,
|
||||
forumTopic: ForumTopic
|
||||
): Boolean = deleteForumTopic(chat.id, forumTopic.messageThreadId)
|
||||
): Unit = deleteForumTopic(chat.id, forumTopic.messageThreadId)
|
||||
|
||||
@@ -13,7 +13,7 @@ public suspend fun TelegramBot.editForumTopic(
|
||||
messageThreadId: MessageThreadId,
|
||||
name: String? = null,
|
||||
iconEmojiId: CustomEmojiId? = null
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
EditForumTopic(
|
||||
chatId,
|
||||
messageThreadId,
|
||||
@@ -27,10 +27,10 @@ public suspend fun TelegramBot.editForumTopic(
|
||||
messageThreadId: MessageThreadId,
|
||||
name: String? = null,
|
||||
iconEmojiId: CustomEmojiId? = null
|
||||
): Boolean = editForumTopic(chat.id, messageThreadId, name, iconEmojiId)
|
||||
): Unit = editForumTopic(chat.id, messageThreadId, name, iconEmojiId)
|
||||
|
||||
public suspend fun TelegramBot.editForumTopic(
|
||||
chatIdentifier: ChatIdentifier,
|
||||
forumTopic: ForumTopic,
|
||||
iconEmojiId: CustomEmojiId? = forumTopic.iconEmojiId
|
||||
): Boolean = editForumTopic(chatIdentifier, forumTopic.messageThreadId, forumTopic.name, iconEmojiId)
|
||||
): Unit = editForumTopic(chatIdentifier, forumTopic.messageThreadId, forumTopic.name, iconEmojiId)
|
||||
|
||||
@@ -12,7 +12,7 @@ import dev.inmo.tgbotapi.types.chat.Chat
|
||||
public suspend fun TelegramBot.editGeneralForumTopic(
|
||||
chatId: ChatIdentifier,
|
||||
name: String
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
EditGeneralForumTopic(
|
||||
chatId,
|
||||
name
|
||||
@@ -22,9 +22,9 @@ public suspend fun TelegramBot.editGeneralForumTopic(
|
||||
public suspend fun TelegramBot.editGeneralForumTopic(
|
||||
chat: Chat,
|
||||
name: String
|
||||
): Boolean = editGeneralForumTopic(chat.id, name)
|
||||
): Unit = editGeneralForumTopic(chat.id, name)
|
||||
|
||||
public suspend fun TelegramBot.editGeneralForumTopic(
|
||||
chatIdentifier: ChatIdentifier,
|
||||
forumTopic: ForumTopic,
|
||||
): Boolean = editGeneralForumTopic(chatIdentifier, forumTopic.name)
|
||||
): Unit = editGeneralForumTopic(chatIdentifier, forumTopic.name)
|
||||
|
||||
@@ -11,10 +11,10 @@ import dev.inmo.tgbotapi.types.chat.Chat
|
||||
|
||||
public suspend fun TelegramBot.hideGeneralForumTopic(
|
||||
chatId: ChatIdentifier
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
HideGeneralForumTopic(chatId)
|
||||
)
|
||||
|
||||
public suspend fun TelegramBot.hideGeneralForumTopic(
|
||||
chat: Chat
|
||||
): Boolean = hideGeneralForumTopic(chat.id)
|
||||
): Unit = hideGeneralForumTopic(chat.id)
|
||||
|
||||
@@ -10,7 +10,7 @@ import dev.inmo.tgbotapi.types.chat.Chat
|
||||
public suspend fun TelegramBot.reopenForumTopic(
|
||||
chatId: ChatIdentifier,
|
||||
messageThreadId: MessageThreadId
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
ReopenForumTopic(
|
||||
chatId,
|
||||
messageThreadId
|
||||
@@ -20,9 +20,9 @@ public suspend fun TelegramBot.reopenForumTopic(
|
||||
public suspend fun TelegramBot.reopenForumTopic(
|
||||
chat: Chat,
|
||||
messageThreadId: MessageThreadId
|
||||
): Boolean = reopenForumTopic(chat.id, messageThreadId)
|
||||
): Unit = reopenForumTopic(chat.id, messageThreadId)
|
||||
|
||||
public suspend fun TelegramBot.reopenForumTopic(
|
||||
chat: Chat,
|
||||
forumTopic: ForumTopic
|
||||
): Boolean = reopenForumTopic(chat.id, forumTopic.messageThreadId)
|
||||
): Unit = reopenForumTopic(chat.id, forumTopic.messageThreadId)
|
||||
|
||||
@@ -10,10 +10,10 @@ import dev.inmo.tgbotapi.types.chat.Chat
|
||||
|
||||
public suspend fun TelegramBot.reopenGeneralForumTopic(
|
||||
chatId: ChatIdentifier
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
ReopenGeneralForumTopic(chatId)
|
||||
)
|
||||
|
||||
public suspend fun TelegramBot.reopenGeneralForumTopic(
|
||||
chat: Chat
|
||||
): Boolean = reopenGeneralForumTopic(chat.id)
|
||||
): Unit = reopenGeneralForumTopic(chat.id)
|
||||
|
||||
@@ -12,10 +12,10 @@ import dev.inmo.tgbotapi.types.chat.Chat
|
||||
|
||||
public suspend fun TelegramBot.unhideGeneralForumTopic(
|
||||
chatId: ChatIdentifier
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
UnhideGeneralForumTopic(chatId)
|
||||
)
|
||||
|
||||
public suspend fun TelegramBot.unhideGeneralForumTopic(
|
||||
chat: Chat
|
||||
): Boolean = unhideGeneralForumTopic(chat.id)
|
||||
): Unit = unhideGeneralForumTopic(chat.id)
|
||||
|
||||
@@ -10,7 +10,7 @@ import dev.inmo.tgbotapi.types.chat.Chat
|
||||
public suspend fun TelegramBot.unpinAllForumTopicMessages(
|
||||
chatId: ChatIdentifier,
|
||||
messageThreadId: MessageThreadId
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
UnpinAllForumTopicMessages(
|
||||
chatId,
|
||||
messageThreadId
|
||||
@@ -20,9 +20,9 @@ public suspend fun TelegramBot.unpinAllForumTopicMessages(
|
||||
public suspend fun TelegramBot.unpinAllForumTopicMessages(
|
||||
chat: Chat,
|
||||
messageThreadId: MessageThreadId
|
||||
): Boolean = unpinAllForumTopicMessages(chat.id, messageThreadId)
|
||||
): Unit = unpinAllForumTopicMessages(chat.id, messageThreadId)
|
||||
|
||||
public suspend fun TelegramBot.unpinAllForumTopicMessages(
|
||||
chat: Chat,
|
||||
forumTopic: ForumTopic
|
||||
): Boolean = unpinAllForumTopicMessages(chat.id, forumTopic.messageThreadId)
|
||||
): Unit = unpinAllForumTopicMessages(chat.id, forumTopic.messageThreadId)
|
||||
|
||||
@@ -10,7 +10,7 @@ import dev.inmo.tgbotapi.types.chat.Chat
|
||||
|
||||
public suspend fun TelegramBot.unpinAllGeneralForumTopicMessages(
|
||||
chatId: ChatIdentifier
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
UnpinAllGeneralForumTopicMessages(
|
||||
chatId
|
||||
)
|
||||
@@ -18,4 +18,4 @@ public suspend fun TelegramBot.unpinAllGeneralForumTopicMessages(
|
||||
|
||||
public suspend fun TelegramBot.unpinAllGeneralForumTopicMessages(
|
||||
chat: Chat
|
||||
): Boolean = unpinAllGeneralForumTopicMessages(chat.id)
|
||||
): Unit = unpinAllGeneralForumTopicMessages(chat.id)
|
||||
|
||||
@@ -117,6 +117,17 @@ public suspend fun TelegramBot.getChat(
|
||||
chat: PrivateChatImpl
|
||||
): ExtendedPrivateChatImpl = getChat(chat.id) as ExtendedPrivateChatImpl
|
||||
|
||||
/**
|
||||
* Will cast incoming [dev.inmo.tgbotapi.types.chat.ExtendedChat] to a
|
||||
* [ExtendedPrivateForumChatImpl] with unsafe operator "as"
|
||||
*
|
||||
* @throws ClassCastException
|
||||
*/
|
||||
@PreviewFeature
|
||||
public suspend fun TelegramBot.getChat(
|
||||
chat: PrivateForumChatImpl
|
||||
): ExtendedPrivateForumChatImpl = getChat(chat.id) as ExtendedPrivateForumChatImpl
|
||||
|
||||
/**
|
||||
* Will cast incoming [dev.inmo.tgbotapi.types.chat.ExtendedChat] to a
|
||||
* [ExtendedUser] with unsafe operator "as"
|
||||
|
||||
@@ -12,31 +12,31 @@ import dev.inmo.tgbotapi.types.update.ChatJoinRequestUpdate
|
||||
public suspend fun TelegramBot.approveChatJoinRequest(
|
||||
chatId: ChatIdentifier,
|
||||
userId: UserId
|
||||
): Boolean = execute(ApproveChatJoinRequest(chatId, userId))
|
||||
): Unit = execute(ApproveChatJoinRequest(chatId, userId))
|
||||
|
||||
public suspend fun TelegramBot.approveChatJoinRequest(
|
||||
chat: PublicChat,
|
||||
userId: UserId
|
||||
): Boolean = approveChatJoinRequest(chat.id, userId)
|
||||
): Unit = approveChatJoinRequest(chat.id, userId)
|
||||
|
||||
public suspend fun TelegramBot.approveChatJoinRequest(
|
||||
chatId: ChatIdentifier,
|
||||
user: User
|
||||
): Boolean = approveChatJoinRequest(chatId, user.id)
|
||||
): Unit = approveChatJoinRequest(chatId, user.id)
|
||||
|
||||
public suspend fun TelegramBot.approveChatJoinRequest(
|
||||
chat: PublicChat,
|
||||
user: User
|
||||
): Boolean = approveChatJoinRequest(chat.id, user.id)
|
||||
): Unit = approveChatJoinRequest(chat.id, user.id)
|
||||
|
||||
public suspend fun TelegramBot.approveChatJoinRequest(
|
||||
chatJoinRequest: ChatJoinRequest
|
||||
): Boolean = approveChatJoinRequest(chatJoinRequest.chat, chatJoinRequest.user)
|
||||
): Unit = approveChatJoinRequest(chatJoinRequest.chat, chatJoinRequest.user)
|
||||
|
||||
public suspend fun TelegramBot.approve(
|
||||
chatJoinRequest: ChatJoinRequest
|
||||
): Boolean = approveChatJoinRequest(chatJoinRequest)
|
||||
): Unit = approveChatJoinRequest(chatJoinRequest)
|
||||
|
||||
public suspend fun TelegramBot.approveChatJoinRequest(
|
||||
chatJoinRequestUpdate: ChatJoinRequestUpdate
|
||||
): Boolean = approveChatJoinRequest(chatJoinRequestUpdate.data)
|
||||
): Unit = approveChatJoinRequest(chatJoinRequestUpdate.data)
|
||||
|
||||
@@ -12,31 +12,31 @@ import dev.inmo.tgbotapi.types.update.ChatJoinRequestUpdate
|
||||
public suspend fun TelegramBot.declineChatJoinRequest(
|
||||
chatId: ChatIdentifier,
|
||||
userId: UserId
|
||||
): Boolean = execute(DeclineChatJoinRequest(chatId, userId))
|
||||
): Unit = execute(DeclineChatJoinRequest(chatId, userId))
|
||||
|
||||
public suspend fun TelegramBot.declineChatJoinRequest(
|
||||
chat: PublicChat,
|
||||
userId: UserId
|
||||
): Boolean = declineChatJoinRequest(chat.id, userId)
|
||||
): Unit = declineChatJoinRequest(chat.id, userId)
|
||||
|
||||
public suspend fun TelegramBot.declineChatJoinRequest(
|
||||
chatId: ChatIdentifier,
|
||||
user: User
|
||||
): Boolean = declineChatJoinRequest(chatId, user.id)
|
||||
): Unit = declineChatJoinRequest(chatId, user.id)
|
||||
|
||||
public suspend fun TelegramBot.declineChatJoinRequest(
|
||||
chat: PublicChat,
|
||||
user: User
|
||||
): Boolean = declineChatJoinRequest(chat.id, user.id)
|
||||
): Unit = declineChatJoinRequest(chat.id, user.id)
|
||||
|
||||
public suspend fun TelegramBot.declineChatJoinRequest(
|
||||
chatJoinRequest: ChatJoinRequest
|
||||
): Boolean = declineChatJoinRequest(chatJoinRequest.chat, chatJoinRequest.user)
|
||||
): Unit = declineChatJoinRequest(chatJoinRequest.chat, chatJoinRequest.user)
|
||||
|
||||
public suspend fun TelegramBot.decline(
|
||||
chatJoinRequest: ChatJoinRequest
|
||||
): Boolean = declineChatJoinRequest(chatJoinRequest)
|
||||
): Unit = declineChatJoinRequest(chatJoinRequest)
|
||||
|
||||
public suspend fun TelegramBot.declineChatJoinRequest(
|
||||
chatJoinRequestUpdate: ChatJoinRequestUpdate
|
||||
): Boolean = declineChatJoinRequest(chatJoinRequestUpdate.data)
|
||||
): Unit = declineChatJoinRequest(chatJoinRequestUpdate.data)
|
||||
|
||||
@@ -14,25 +14,25 @@ public suspend fun TelegramBot.banChatMember(
|
||||
userId: UserId,
|
||||
untilDate: TelegramDate? = null,
|
||||
revokeMessages: Boolean? = null
|
||||
): Boolean = execute(BanChatMember(chatId, userId, untilDate, revokeMessages))
|
||||
): Unit = execute(BanChatMember(chatId, userId, untilDate, revokeMessages))
|
||||
|
||||
public suspend fun TelegramBot.banChatMember(
|
||||
chat: PublicChat,
|
||||
userId: UserId,
|
||||
untilDate: TelegramDate? = null,
|
||||
revokeMessages: Boolean? = null
|
||||
): Boolean = banChatMember(chat.id, userId, untilDate, revokeMessages)
|
||||
): Unit = banChatMember(chat.id, userId, untilDate, revokeMessages)
|
||||
|
||||
public suspend fun TelegramBot.banChatMember(
|
||||
chatId: IdChatIdentifier,
|
||||
user: User,
|
||||
untilDate: TelegramDate? = null,
|
||||
revokeMessages: Boolean? = null
|
||||
): Boolean = banChatMember(chatId, user.id, untilDate, revokeMessages)
|
||||
): Unit = banChatMember(chatId, user.id, untilDate, revokeMessages)
|
||||
|
||||
public suspend fun TelegramBot.banChatMember(
|
||||
chat: PublicChat,
|
||||
user: User,
|
||||
untilDate: TelegramDate? = null,
|
||||
revokeMessages: Boolean? = null
|
||||
): Boolean = banChatMember(chat.id, user.id, untilDate, revokeMessages)
|
||||
): Unit = banChatMember(chat.id, user.id, untilDate, revokeMessages)
|
||||
|
||||
@@ -9,19 +9,19 @@ import dev.inmo.tgbotapi.types.chat.PublicChat
|
||||
public suspend fun TelegramBot.banChatSenderChat(
|
||||
chatId: ChatIdentifier,
|
||||
senderChatId: IdChatIdentifier
|
||||
): Boolean = execute(BanChatSenderChat(chatId, senderChatId))
|
||||
): Unit = execute(BanChatSenderChat(chatId, senderChatId))
|
||||
|
||||
public suspend fun TelegramBot.banChatSenderChat(
|
||||
chat: PublicChat,
|
||||
senderChatId: IdChatIdentifier
|
||||
): Boolean = banChatSenderChat(chat.id, senderChatId)
|
||||
): Unit = banChatSenderChat(chat.id, senderChatId)
|
||||
|
||||
public suspend fun TelegramBot.banChatSenderChat(
|
||||
chatId: IdChatIdentifier,
|
||||
senderChat: PublicChat
|
||||
): Boolean = banChatSenderChat(chatId, senderChat.id)
|
||||
): Unit = banChatSenderChat(chatId, senderChat.id)
|
||||
|
||||
public suspend fun TelegramBot.banChatSenderChat(
|
||||
chat: PublicChat,
|
||||
senderChat: PublicChat,
|
||||
): Boolean = banChatSenderChat(chat.id, senderChat)
|
||||
): Unit = banChatSenderChat(chat.id, senderChat)
|
||||
|
||||
@@ -2,7 +2,6 @@ package dev.inmo.tgbotapi.extensions.api.chat.members
|
||||
|
||||
import dev.inmo.tgbotapi.bot.TelegramBot
|
||||
import dev.inmo.tgbotapi.requests.chat.members.PromoteChannelAdministrator
|
||||
import dev.inmo.tgbotapi.requests.chat.members.PromoteChatMember
|
||||
import dev.inmo.tgbotapi.types.IdChatIdentifier
|
||||
import dev.inmo.tgbotapi.types.ChatIdentifier
|
||||
import dev.inmo.tgbotapi.types.TelegramDate
|
||||
@@ -26,8 +25,9 @@ public suspend fun TelegramBot.promoteChannelAdministrator(
|
||||
canManageChat: Boolean? = null,
|
||||
canPostStories: Boolean? = null,
|
||||
canEditStories: Boolean? = null,
|
||||
canDeleteStories: Boolean? = null
|
||||
): Boolean = execute(
|
||||
canDeleteStories: Boolean? = null,
|
||||
canManageDirectMessages: Boolean? = null,
|
||||
): Unit = execute(
|
||||
PromoteChannelAdministrator(
|
||||
chatId = chatId,
|
||||
userId = userId,
|
||||
@@ -44,7 +44,8 @@ public suspend fun TelegramBot.promoteChannelAdministrator(
|
||||
canManageChat = canManageChat,
|
||||
canPostStories = canPostStories,
|
||||
canEditStories = canEditStories,
|
||||
canDeleteStories = canDeleteStories
|
||||
canDeleteStories = canDeleteStories,
|
||||
canManageDirectMessages = canManageDirectMessages,
|
||||
)
|
||||
)
|
||||
|
||||
@@ -64,8 +65,9 @@ public suspend fun TelegramBot.promoteChannelAdministrator(
|
||||
canManageChat: Boolean? = null,
|
||||
canPostStories: Boolean? = null,
|
||||
canEditStories: Boolean? = null,
|
||||
canDeleteStories: Boolean? = null
|
||||
): Boolean = promoteChannelAdministrator(
|
||||
canDeleteStories: Boolean? = null,
|
||||
canManageDirectMessages: Boolean? = null,
|
||||
): Unit = promoteChannelAdministrator(
|
||||
chat.id,
|
||||
userId,
|
||||
untilDate = untilDate,
|
||||
@@ -81,7 +83,8 @@ public suspend fun TelegramBot.promoteChannelAdministrator(
|
||||
canManageChat = canManageChat,
|
||||
canPostStories = canPostStories,
|
||||
canEditStories = canEditStories,
|
||||
canDeleteStories = canDeleteStories
|
||||
canDeleteStories = canDeleteStories,
|
||||
canManageDirectMessages = canManageDirectMessages,
|
||||
)
|
||||
|
||||
public suspend fun TelegramBot.promoteChannelAdministrator(
|
||||
@@ -100,8 +103,9 @@ public suspend fun TelegramBot.promoteChannelAdministrator(
|
||||
canManageChat: Boolean? = null,
|
||||
canPostStories: Boolean? = null,
|
||||
canEditStories: Boolean? = null,
|
||||
canDeleteStories: Boolean? = null
|
||||
): Boolean = promoteChannelAdministrator(
|
||||
canDeleteStories: Boolean? = null,
|
||||
canManageDirectMessages: Boolean? = null,
|
||||
): Unit = promoteChannelAdministrator(
|
||||
chatId,
|
||||
user.id,
|
||||
untilDate = untilDate,
|
||||
@@ -117,7 +121,8 @@ public suspend fun TelegramBot.promoteChannelAdministrator(
|
||||
canManageChat = canManageChat,
|
||||
canPostStories = canPostStories,
|
||||
canEditStories = canEditStories,
|
||||
canDeleteStories = canDeleteStories
|
||||
canDeleteStories = canDeleteStories,
|
||||
canManageDirectMessages = canManageDirectMessages,
|
||||
)
|
||||
|
||||
public suspend fun TelegramBot.promoteChannelAdministrator(
|
||||
@@ -136,8 +141,9 @@ public suspend fun TelegramBot.promoteChannelAdministrator(
|
||||
canManageChat: Boolean? = null,
|
||||
canPostStories: Boolean? = null,
|
||||
canEditStories: Boolean? = null,
|
||||
canDeleteStories: Boolean? = null
|
||||
): Boolean = promoteChannelAdministrator(
|
||||
canDeleteStories: Boolean? = null,
|
||||
canManageDirectMessages: Boolean? = null,
|
||||
): Unit = promoteChannelAdministrator(
|
||||
chat.id,
|
||||
user.id,
|
||||
untilDate = untilDate,
|
||||
@@ -153,5 +159,6 @@ public suspend fun TelegramBot.promoteChannelAdministrator(
|
||||
canManageChat = canManageChat,
|
||||
canPostStories = canPostStories,
|
||||
canEditStories = canEditStories,
|
||||
canDeleteStories = canDeleteStories
|
||||
canDeleteStories = canDeleteStories,
|
||||
canManageDirectMessages = canManageDirectMessages,
|
||||
)
|
||||
|
||||
@@ -21,19 +21,21 @@ public suspend fun TelegramBot.promoteChatAdministrator(
|
||||
canPromoteMembers: Boolean? = null,
|
||||
canManageVideoChats: Boolean? = null,
|
||||
canManageChat: Boolean? = null,
|
||||
): Boolean = execute(
|
||||
canManageTags: Boolean? = null,
|
||||
): Unit = 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,
|
||||
): Boolean = promoteChatAdministrator(
|
||||
chat.id,
|
||||
userId,
|
||||
untilDate,
|
||||
isAnonymous,
|
||||
canChangeInfo,
|
||||
canDeleteMessages,
|
||||
canInviteUsers,
|
||||
canRestrictMembers,
|
||||
canPromoteMembers,
|
||||
canManageVideoChats,
|
||||
canManageChat
|
||||
canManageTags: Boolean? = null,
|
||||
): Unit = promoteChatAdministrator(
|
||||
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,
|
||||
): Boolean = promoteChatAdministrator(
|
||||
chatId,
|
||||
user.id,
|
||||
untilDate,
|
||||
isAnonymous,
|
||||
canChangeInfo,
|
||||
canDeleteMessages,
|
||||
canInviteUsers,
|
||||
canRestrictMembers,
|
||||
canPromoteMembers,
|
||||
canManageVideoChats,
|
||||
canManageChat
|
||||
canManageTags: Boolean? = null,
|
||||
): Unit = promoteChatAdministrator(
|
||||
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,
|
||||
): Boolean = promoteChatAdministrator(
|
||||
chat.id,
|
||||
user.id,
|
||||
untilDate,
|
||||
isAnonymous,
|
||||
canChangeInfo,
|
||||
canDeleteMessages,
|
||||
canInviteUsers,
|
||||
canRestrictMembers,
|
||||
canPromoteMembers,
|
||||
canManageVideoChats,
|
||||
canManageChat
|
||||
canManageTags: Boolean? = null,
|
||||
): Unit = promoteChatAdministrator(
|
||||
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
|
||||
)
|
||||
|
||||
@@ -26,8 +26,10 @@ public suspend fun TelegramBot.promoteChatMember(
|
||||
canManageTopics: Boolean? = null,
|
||||
canPostStories: Boolean? = null,
|
||||
canEditStories: Boolean? = null,
|
||||
canDeleteStories: Boolean? = null
|
||||
): Boolean = execute(
|
||||
canDeleteStories: Boolean? = null,
|
||||
canManageDirectMessages: Boolean? = null,
|
||||
canManageTags: Boolean? = null
|
||||
): Unit = execute(
|
||||
PromoteChatMember(
|
||||
chatId = chatId,
|
||||
userId = userId,
|
||||
@@ -46,7 +48,9 @@ public suspend fun TelegramBot.promoteChatMember(
|
||||
canManageTopics = canManageTopics,
|
||||
canPostStories = canPostStories,
|
||||
canEditStories = canEditStories,
|
||||
canDeleteStories = canDeleteStories
|
||||
canDeleteStories = canDeleteStories,
|
||||
canManageDirectMessages = canManageDirectMessages,
|
||||
canManageTags = canManageTags,
|
||||
)
|
||||
)
|
||||
|
||||
@@ -69,8 +73,10 @@ public suspend fun TelegramBot.promoteChatMember(
|
||||
canManageTopics: Boolean? = null,
|
||||
canPostStories: Boolean? = null,
|
||||
canEditStories: Boolean? = null,
|
||||
canDeleteStories: Boolean? = null
|
||||
): Boolean = promoteChatMember(
|
||||
canDeleteStories: Boolean? = null,
|
||||
canManageDirectMessages: Boolean? = null,
|
||||
canManageTags: Boolean? = null
|
||||
): Unit = promoteChatMember(
|
||||
chat.id,
|
||||
userId,
|
||||
untilDate = untilDate,
|
||||
@@ -88,7 +94,9 @@ public suspend fun TelegramBot.promoteChatMember(
|
||||
canManageTopics = canManageTopics,
|
||||
canPostStories = canPostStories,
|
||||
canEditStories = canEditStories,
|
||||
canDeleteStories = canDeleteStories
|
||||
canDeleteStories = canDeleteStories,
|
||||
canManageDirectMessages = canManageDirectMessages,
|
||||
canManageTags = canManageTags,
|
||||
)
|
||||
|
||||
@Warning("This method is too common. Use it with caution")
|
||||
@@ -110,8 +118,10 @@ public suspend fun TelegramBot.promoteChatMember(
|
||||
canManageTopics: Boolean? = null,
|
||||
canPostStories: Boolean? = null,
|
||||
canEditStories: Boolean? = null,
|
||||
canDeleteStories: Boolean? = null
|
||||
): Boolean = promoteChatMember(
|
||||
canDeleteStories: Boolean? = null,
|
||||
canManageDirectMessages: Boolean? = null,
|
||||
canManageTags: Boolean? = null
|
||||
): Unit = promoteChatMember(
|
||||
chatId,
|
||||
user.id,
|
||||
untilDate = untilDate,
|
||||
@@ -129,7 +139,9 @@ public suspend fun TelegramBot.promoteChatMember(
|
||||
canManageTopics = canManageTopics,
|
||||
canPostStories = canPostStories,
|
||||
canEditStories = canEditStories,
|
||||
canDeleteStories = canDeleteStories
|
||||
canDeleteStories = canDeleteStories,
|
||||
canManageDirectMessages = canManageDirectMessages,
|
||||
canManageTags = canManageTags,
|
||||
)
|
||||
|
||||
@Warning("This method is too common. Use it with caution")
|
||||
@@ -151,8 +163,10 @@ public suspend fun TelegramBot.promoteChatMember(
|
||||
canManageTopics: Boolean? = null,
|
||||
canPostStories: Boolean? = null,
|
||||
canEditStories: Boolean? = null,
|
||||
canDeleteStories: Boolean? = null
|
||||
): Boolean = promoteChatMember(
|
||||
canDeleteStories: Boolean? = null,
|
||||
canManageDirectMessages: Boolean? = null,
|
||||
canManageTags: Boolean? = null
|
||||
): Unit = promoteChatMember(
|
||||
chat.id,
|
||||
user.id,
|
||||
untilDate = untilDate,
|
||||
@@ -170,5 +184,7 @@ public suspend fun TelegramBot.promoteChatMember(
|
||||
canManageTopics = canManageTopics,
|
||||
canPostStories = canPostStories,
|
||||
canEditStories = canEditStories,
|
||||
canDeleteStories = canDeleteStories
|
||||
canDeleteStories = canDeleteStories,
|
||||
canManageDirectMessages = canManageDirectMessages,
|
||||
canManageTags = canManageTags,
|
||||
)
|
||||
|
||||
@@ -24,7 +24,7 @@ public suspend fun TelegramBot.promoteSupergroupAdministrator(
|
||||
canManageVideoChats: Boolean? = null,
|
||||
canManageChat: Boolean? = null,
|
||||
canManageTopics: Boolean? = null,
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
PromoteSupergroupAdministrator(
|
||||
chatId = chatId,
|
||||
userId = userId,
|
||||
@@ -56,7 +56,7 @@ public suspend fun TelegramBot.promoteSupergroupAdministrator(
|
||||
canManageVideoChats: Boolean? = null,
|
||||
canManageChat: Boolean? = null,
|
||||
canManageTopics: Boolean? = null,
|
||||
): Boolean = promoteSupergroupAdministrator(
|
||||
): Unit = promoteSupergroupAdministrator(
|
||||
chat.id,
|
||||
userId,
|
||||
untilDate = untilDate,
|
||||
@@ -86,7 +86,7 @@ public suspend fun TelegramBot.promoteSupergroupAdministrator(
|
||||
canManageVideoChats: Boolean? = null,
|
||||
canManageChat: Boolean? = null,
|
||||
canManageTopics: Boolean? = null,
|
||||
): Boolean = promoteSupergroupAdministrator(
|
||||
): Unit = promoteSupergroupAdministrator(
|
||||
chatId,
|
||||
user.id,
|
||||
untilDate = untilDate,
|
||||
@@ -116,7 +116,7 @@ public suspend fun TelegramBot.promoteSupergroupAdministrator(
|
||||
canManageVideoChats: Boolean? = null,
|
||||
canManageChat: Boolean? = null,
|
||||
canManageTopics: Boolean? = null,
|
||||
): Boolean = promoteSupergroupAdministrator(
|
||||
): Unit = promoteSupergroupAdministrator(
|
||||
chat.id,
|
||||
user.id,
|
||||
untilDate = untilDate,
|
||||
|
||||
@@ -16,7 +16,7 @@ public suspend fun TelegramBot.restrictChatMember(
|
||||
untilDate: TelegramDate? = null,
|
||||
permissions: ChatPermissions = ChatPermissions(),
|
||||
useIndependentChatPermissions: Boolean? = permissions.isGranular.takeIf { it }
|
||||
): Boolean = execute(RestrictChatMember(chatId, userId, untilDate, permissions, useIndependentChatPermissions))
|
||||
): Unit = execute(RestrictChatMember(chatId, userId, untilDate, permissions, useIndependentChatPermissions))
|
||||
|
||||
public suspend fun TelegramBot.restrictChatMember(
|
||||
chat: PublicChat,
|
||||
@@ -24,7 +24,7 @@ public suspend fun TelegramBot.restrictChatMember(
|
||||
untilDate: TelegramDate? = null,
|
||||
permissions: ChatPermissions = ChatPermissions(),
|
||||
useIndependentChatPermissions: Boolean? = permissions.isGranular.takeIf { it }
|
||||
): Boolean = restrictChatMember(chat.id, userId, untilDate, permissions, useIndependentChatPermissions)
|
||||
): Unit = restrictChatMember(chat.id, userId, untilDate, permissions, useIndependentChatPermissions)
|
||||
|
||||
public suspend fun TelegramBot.restrictChatMember(
|
||||
chatId: IdChatIdentifier,
|
||||
@@ -32,7 +32,7 @@ public suspend fun TelegramBot.restrictChatMember(
|
||||
untilDate: TelegramDate? = null,
|
||||
permissions: ChatPermissions = ChatPermissions(),
|
||||
useIndependentChatPermissions: Boolean? = permissions.isGranular.takeIf { it }
|
||||
): Boolean = restrictChatMember(chatId, user.id, untilDate, permissions, useIndependentChatPermissions)
|
||||
): Unit = restrictChatMember(chatId, user.id, untilDate, permissions, useIndependentChatPermissions)
|
||||
|
||||
public suspend fun TelegramBot.restrictChatMember(
|
||||
chat: PublicChat,
|
||||
@@ -40,5 +40,5 @@ public suspend fun TelegramBot.restrictChatMember(
|
||||
untilDate: TelegramDate? = null,
|
||||
permissions: ChatPermissions = ChatPermissions(),
|
||||
useIndependentChatPermissions: Boolean? = permissions.isGranular.takeIf { it }
|
||||
): Boolean = restrictChatMember(chat.id, user.id, untilDate, permissions, useIndependentChatPermissions)
|
||||
): Unit = restrictChatMember(chat.id, user.id, untilDate, permissions, useIndependentChatPermissions)
|
||||
|
||||
|
||||
@@ -11,22 +11,22 @@ public suspend fun TelegramBot.setChatAdministratorCustomTitle(
|
||||
chatId: IdChatIdentifier,
|
||||
userId: UserId,
|
||||
customTitle: String
|
||||
): Boolean = execute(SetChatAdministratorCustomTitle(chatId, userId, customTitle))
|
||||
): Unit = execute(SetChatAdministratorCustomTitle(chatId, userId, customTitle))
|
||||
|
||||
public suspend fun TelegramBot.setChatAdministratorCustomTitle(
|
||||
chat: PublicChat,
|
||||
userId: UserId,
|
||||
customTitle: String
|
||||
): Boolean = setChatAdministratorCustomTitle(chat.id, userId, customTitle)
|
||||
): Unit = setChatAdministratorCustomTitle(chat.id, userId, customTitle)
|
||||
|
||||
public suspend fun TelegramBot.setChatAdministratorCustomTitle(
|
||||
chatId: IdChatIdentifier,
|
||||
user: User,
|
||||
customTitle: String
|
||||
): Boolean = setChatAdministratorCustomTitle(chatId, user.id, customTitle)
|
||||
): Unit = setChatAdministratorCustomTitle(chatId, user.id, customTitle)
|
||||
|
||||
public suspend fun TelegramBot.setChatAdministratorCustomTitle(
|
||||
chat: PublicChat,
|
||||
user: User,
|
||||
customTitle: String
|
||||
): Boolean = setChatAdministratorCustomTitle(chat.id, user.id, customTitle)
|
||||
): Unit = setChatAdministratorCustomTitle(chat.id, user.id, customTitle)
|
||||
|
||||
@@ -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)
|
||||
@@ -12,23 +12,23 @@ public suspend fun TelegramBot.unbanChatMember(
|
||||
chatId: ChatIdentifier,
|
||||
userId: UserId,
|
||||
onlyIfBanned: Boolean? = null
|
||||
): Boolean = execute(UnbanChatMember(chatId, userId, onlyIfBanned))
|
||||
): Unit = execute(UnbanChatMember(chatId, userId, onlyIfBanned))
|
||||
|
||||
public suspend fun TelegramBot.unbanChatMember(
|
||||
chat: PublicChat,
|
||||
userId: UserId,
|
||||
onlyIfBanned: Boolean? = null
|
||||
): Boolean = unbanChatMember(chat.id, userId, onlyIfBanned)
|
||||
): Unit = unbanChatMember(chat.id, userId, onlyIfBanned)
|
||||
|
||||
public suspend fun TelegramBot.unbanChatMember(
|
||||
chatId: IdChatIdentifier,
|
||||
user: User,
|
||||
onlyIfBanned: Boolean? = null
|
||||
): Boolean = unbanChatMember(chatId, user.id, onlyIfBanned)
|
||||
): Unit = unbanChatMember(chatId, user.id, onlyIfBanned)
|
||||
|
||||
public suspend fun TelegramBot.unbanChatMember(
|
||||
chat: PublicChat,
|
||||
user: User,
|
||||
onlyIfBanned: Boolean? = null
|
||||
): Boolean = unbanChatMember(chat.id, user.id, onlyIfBanned)
|
||||
): Unit = unbanChatMember(chat.id, user.id, onlyIfBanned)
|
||||
|
||||
|
||||
@@ -9,19 +9,19 @@ import dev.inmo.tgbotapi.types.chat.PublicChat
|
||||
public suspend fun TelegramBot.unbanChatSenderChat(
|
||||
chatId: ChatIdentifier,
|
||||
senderChatId: IdChatIdentifier
|
||||
): Boolean = execute(UnbanChatSenderChat(chatId, senderChatId))
|
||||
): Unit = execute(UnbanChatSenderChat(chatId, senderChatId))
|
||||
|
||||
public suspend fun TelegramBot.unbanChatSenderChat(
|
||||
chat: PublicChat,
|
||||
senderChatId: IdChatIdentifier
|
||||
): Boolean = unbanChatSenderChat(chat.id, senderChatId)
|
||||
): Unit = unbanChatSenderChat(chat.id, senderChatId)
|
||||
|
||||
public suspend fun TelegramBot.unbanChatSenderChat(
|
||||
chatId: IdChatIdentifier,
|
||||
senderChat: PublicChat
|
||||
): Boolean = unbanChatSenderChat(chatId, senderChat.id)
|
||||
): Unit = unbanChatSenderChat(chatId, senderChat.id)
|
||||
|
||||
public suspend fun TelegramBot.unbanChatSenderChat(
|
||||
chat: PublicChat,
|
||||
senderChat: PublicChat,
|
||||
): Boolean = unbanChatSenderChat(chat.id, senderChat)
|
||||
): Unit = unbanChatSenderChat(chat.id, senderChat)
|
||||
|
||||
@@ -7,8 +7,8 @@ import dev.inmo.tgbotapi.types.chat.PublicChat
|
||||
|
||||
public suspend fun TelegramBot.deleteChatPhoto(
|
||||
chatId: ChatIdentifier
|
||||
): Boolean = execute(DeleteChatPhoto(chatId))
|
||||
): Unit = execute(DeleteChatPhoto(chatId))
|
||||
|
||||
public suspend fun TelegramBot.deleteChatPhoto(
|
||||
chat: PublicChat
|
||||
): Boolean = deleteChatPhoto(chat.id)
|
||||
): Unit = deleteChatPhoto(chat.id)
|
||||
|
||||
@@ -14,17 +14,17 @@ public suspend fun TelegramBot.pinChatMessage(
|
||||
messageId: MessageId,
|
||||
businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
|
||||
disableNotification: Boolean = false
|
||||
): Boolean = execute(PinChatMessage(chatId, messageId, businessConnectionId, disableNotification))
|
||||
): Unit = execute(PinChatMessage(chatId, messageId, businessConnectionId, disableNotification))
|
||||
|
||||
public suspend fun TelegramBot.pinChatMessage(
|
||||
chat: Chat,
|
||||
messageId: MessageId,
|
||||
businessConnectionId: BusinessConnectionId? = chat.id.businessConnectionId,
|
||||
disableNotification: Boolean = false
|
||||
): Boolean = pinChatMessage(chat.id, messageId, businessConnectionId, disableNotification)
|
||||
): Unit = pinChatMessage(chat.id, messageId, businessConnectionId, disableNotification)
|
||||
|
||||
public suspend fun TelegramBot.pinChatMessage(
|
||||
message: AccessibleMessage,
|
||||
businessConnectionId: BusinessConnectionId? = message.chat.id.businessConnectionId,
|
||||
disableNotification: Boolean = false
|
||||
): Boolean = pinChatMessage(message.chat.id, message.messageId, businessConnectionId, disableNotification)
|
||||
): Unit = pinChatMessage(message.chat.id, message.messageId, businessConnectionId, disableNotification)
|
||||
|
||||
@@ -8,9 +8,9 @@ import dev.inmo.tgbotapi.types.chat.PublicChat
|
||||
public suspend fun TelegramBot.setChatDescription(
|
||||
chatId: ChatIdentifier,
|
||||
description: String
|
||||
): Boolean = execute(SetChatDescription(chatId, description))
|
||||
): Unit = execute(SetChatDescription(chatId, description))
|
||||
|
||||
public suspend fun TelegramBot.setChatDescription(
|
||||
chat: PublicChat,
|
||||
description: String
|
||||
): Boolean = setChatDescription(chat.id, description)
|
||||
): Unit = setChatDescription(chat.id, description)
|
||||
|
||||
@@ -9,9 +9,9 @@ import dev.inmo.tgbotapi.types.chat.PrivateChat
|
||||
public suspend fun TelegramBot.setChatMenuButton(
|
||||
chatId: IdChatIdentifier,
|
||||
menuButton: MenuButton
|
||||
): Boolean = execute(SetChatMenuButton(chatId, menuButton))
|
||||
): Unit = execute(SetChatMenuButton(chatId, menuButton))
|
||||
|
||||
public suspend fun TelegramBot.setChatMenuButton(
|
||||
chat: PrivateChat,
|
||||
menuButton: MenuButton
|
||||
): Boolean = setChatMenuButton(chat.id, menuButton)
|
||||
): Unit = setChatMenuButton(chat.id, menuButton)
|
||||
|
||||
@@ -10,10 +10,10 @@ public suspend fun TelegramBot.setDefaultChatMembersPermissions(
|
||||
chatId: ChatIdentifier,
|
||||
permissions: ChatPermissions,
|
||||
useIndependentChatPermissions: Boolean? = permissions.isGranular.takeIf { it }
|
||||
): Boolean = execute(SetChatPermissions(chatId, permissions, useIndependentChatPermissions))
|
||||
): Unit = execute(SetChatPermissions(chatId, permissions, useIndependentChatPermissions))
|
||||
|
||||
public suspend fun TelegramBot.setDefaultChatMembersPermissions(
|
||||
chat: PublicChat,
|
||||
permissions: ChatPermissions,
|
||||
useIndependentChatPermissions: Boolean? = permissions.isGranular.takeIf { it }
|
||||
): Boolean = setDefaultChatMembersPermissions(chat.id, permissions, useIndependentChatPermissions)
|
||||
): Unit = setDefaultChatMembersPermissions(chat.id, permissions, useIndependentChatPermissions)
|
||||
|
||||
@@ -9,9 +9,9 @@ import dev.inmo.tgbotapi.types.chat.PublicChat
|
||||
public suspend fun TelegramBot.setChatPhoto(
|
||||
chatId: ChatIdentifier,
|
||||
photo: MultipartFile
|
||||
): Boolean = execute(SetChatPhoto(chatId, photo))
|
||||
): Unit = execute(SetChatPhoto(chatId, photo))
|
||||
|
||||
public suspend fun TelegramBot.setChatPhoto(
|
||||
chat: PublicChat,
|
||||
photo: MultipartFile
|
||||
): Boolean = setChatPhoto(chat.id, photo)
|
||||
): Unit = setChatPhoto(chat.id, photo)
|
||||
|
||||
@@ -8,9 +8,9 @@ import dev.inmo.tgbotapi.types.chat.PublicChat
|
||||
public suspend fun TelegramBot.setChatTitle(
|
||||
chatId: ChatIdentifier,
|
||||
title: String
|
||||
): Boolean = execute(SetChatTitle(chatId, title))
|
||||
): Unit = execute(SetChatTitle(chatId, title))
|
||||
|
||||
public suspend fun TelegramBot.setChatTitle(
|
||||
chat: PublicChat,
|
||||
title: String
|
||||
): Boolean = setChatTitle(chat.id, title)
|
||||
): Unit = setChatTitle(chat.id, title)
|
||||
|
||||
@@ -6,4 +6,4 @@ import dev.inmo.tgbotapi.types.MenuButton
|
||||
|
||||
public suspend fun TelegramBot.setDefaultChatMenuButton(
|
||||
menuButton: MenuButton
|
||||
): Boolean = execute(SetDefaultChatMenuButton(menuButton))
|
||||
): Unit = execute(SetDefaultChatMenuButton(menuButton))
|
||||
|
||||
@@ -7,8 +7,8 @@ import dev.inmo.tgbotapi.types.chat.Chat
|
||||
|
||||
public suspend fun TelegramBot.unpinAllChatMessages(
|
||||
chatId: ChatIdentifier
|
||||
): Boolean = execute(UnpinAllChatMessages(chatId))
|
||||
): Unit = execute(UnpinAllChatMessages(chatId))
|
||||
|
||||
public suspend fun TelegramBot.unpinAllChatMessages(
|
||||
chat: Chat
|
||||
): Boolean = unpinAllChatMessages(chat.id)
|
||||
): Unit = unpinAllChatMessages(chat.id)
|
||||
|
||||
@@ -13,15 +13,15 @@ public suspend fun TelegramBot.unpinChatMessage(
|
||||
chatId: ChatIdentifier,
|
||||
messageId: MessageId? = null,
|
||||
businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId
|
||||
): Boolean = execute(UnpinChatMessage(chatId, messageId, businessConnectionId))
|
||||
): Unit = execute(UnpinChatMessage(chatId, messageId, businessConnectionId))
|
||||
|
||||
public suspend fun TelegramBot.unpinChatMessage(
|
||||
chat: Chat,
|
||||
messageId: MessageId? = null,
|
||||
businessConnectionId: BusinessConnectionId? = chat.id.businessConnectionId
|
||||
): Boolean = unpinChatMessage(chat.id, messageId, businessConnectionId)
|
||||
): Unit = unpinChatMessage(chat.id, messageId, businessConnectionId)
|
||||
|
||||
public suspend fun TelegramBot.unpinChatMessage(
|
||||
message: AccessibleMessage,
|
||||
businessConnectionId: BusinessConnectionId? = message.chat.id.businessConnectionId,
|
||||
): Boolean = unpinChatMessage(message.chat.id, message.messageId, businessConnectionId)
|
||||
): Unit = unpinChatMessage(message.chat.id, message.messageId, businessConnectionId)
|
||||
|
||||
@@ -7,8 +7,8 @@ import dev.inmo.tgbotapi.types.chat.SupergroupChat
|
||||
|
||||
public suspend fun TelegramBot.deleteChatStickerSet(
|
||||
chatId: ChatIdentifier
|
||||
): Boolean = execute(DeleteChatStickerSet(chatId))
|
||||
): Unit = execute(DeleteChatStickerSet(chatId))
|
||||
|
||||
public suspend fun TelegramBot.deleteChatStickerSet(
|
||||
chat: SupergroupChat
|
||||
): Boolean = deleteChatStickerSet(chat.id)
|
||||
): Unit = deleteChatStickerSet(chat.id)
|
||||
|
||||
@@ -9,9 +9,9 @@ import dev.inmo.tgbotapi.types.chat.SupergroupChat
|
||||
public suspend fun TelegramBot.setChatStickerSet(
|
||||
chatId: ChatIdentifier,
|
||||
stickerSetName: StickerSetName
|
||||
): Boolean = execute(SetChatStickerSet(chatId, stickerSetName))
|
||||
): Unit = execute(SetChatStickerSet(chatId, stickerSetName))
|
||||
|
||||
public suspend fun TelegramBot.setChatStickerSet(
|
||||
chat: SupergroupChat,
|
||||
stickerSetName: StickerSetName
|
||||
): Boolean = setChatStickerSet(chat.id, stickerSetName)
|
||||
): Unit = setChatStickerSet(chat.id, stickerSetName)
|
||||
|
||||
@@ -27,7 +27,7 @@ public suspend fun TelegramBot.edit(
|
||||
heading: Degrees? = null,
|
||||
proximityAlertRadius: Meters? = null,
|
||||
replyMarkup: InlineKeyboardMarkup? = null
|
||||
): Boolean = editLiveLocation(messageId, latitude, longitude, horizontalAccuracy, heading, proximityAlertRadius, replyMarkup)
|
||||
): Unit = editLiveLocation(messageId, latitude, longitude, horizontalAccuracy, heading, proximityAlertRadius, replyMarkup)
|
||||
|
||||
/**
|
||||
* @param replyMarkup Some [InlineKeyboardMarkup]. See [dev.inmo.tgbotapi.extensions.utils.types.buttons.inlineKeyboard]
|
||||
@@ -37,7 +37,7 @@ public suspend fun TelegramBot.edit(
|
||||
messageId: InlineMessageId,
|
||||
location: LiveLocation,
|
||||
replyMarkup: InlineKeyboardMarkup? = null
|
||||
): Boolean = editLiveLocation(
|
||||
): Unit = editLiveLocation(
|
||||
messageId, location, replyMarkup
|
||||
)
|
||||
|
||||
@@ -49,7 +49,7 @@ public suspend fun TelegramBot.edit(
|
||||
messageId: InlineMessageId,
|
||||
media: TelegramFreeMedia,
|
||||
replyMarkup: InlineKeyboardMarkup? = null
|
||||
): Boolean = editMessageMedia(messageId, media, replyMarkup)
|
||||
): Unit = editMessageMedia(messageId, media, replyMarkup)
|
||||
|
||||
/**
|
||||
* @param replyMarkup Some [InlineKeyboardMarkup]. See [dev.inmo.tgbotapi.extensions.utils.types.buttons.inlineKeyboard]
|
||||
@@ -58,7 +58,7 @@ public suspend fun TelegramBot.edit(
|
||||
public suspend fun TelegramBot.edit(
|
||||
messageId: InlineMessageId,
|
||||
replyMarkup: InlineKeyboardMarkup? = null
|
||||
): Boolean = editMessageReplyMarkup(messageId, replyMarkup)
|
||||
): Unit = editMessageReplyMarkup(messageId, replyMarkup)
|
||||
|
||||
/**
|
||||
* @param replyMarkup Some [InlineKeyboardMarkup]. See [dev.inmo.tgbotapi.extensions.utils.types.buttons.inlineKeyboard]
|
||||
@@ -71,7 +71,7 @@ public suspend fun TelegramBot.edit(
|
||||
showCaptionAboveMedia: Boolean = false,
|
||||
linkPreviewOptions: LinkPreviewOptions? = null,
|
||||
replyMarkup: InlineKeyboardMarkup? = null
|
||||
): Boolean = editMessageText(messageId, text, parseMode, showCaptionAboveMedia, linkPreviewOptions, replyMarkup)
|
||||
): Unit = editMessageText(messageId, text, parseMode, showCaptionAboveMedia, linkPreviewOptions, replyMarkup)
|
||||
|
||||
/**
|
||||
* @param replyMarkup Some [InlineKeyboardMarkup]. See [dev.inmo.tgbotapi.extensions.utils.types.buttons.inlineKeyboard]
|
||||
@@ -83,7 +83,7 @@ public suspend fun TelegramBot.edit(
|
||||
showCaptionAboveMedia: Boolean = false,
|
||||
linkPreviewOptions: LinkPreviewOptions? = null,
|
||||
replyMarkup: InlineKeyboardMarkup? = null
|
||||
): Boolean = editMessageText(messageId, entities, showCaptionAboveMedia, linkPreviewOptions, replyMarkup)
|
||||
): Unit = editMessageText(messageId, entities, showCaptionAboveMedia, linkPreviewOptions, replyMarkup)
|
||||
|
||||
/**
|
||||
* @param replyMarkup Some [InlineKeyboardMarkup]. See [dev.inmo.tgbotapi.extensions.utils.types.buttons.inlineKeyboard]
|
||||
@@ -96,7 +96,7 @@ public suspend fun TelegramBot.edit(
|
||||
linkPreviewOptions: LinkPreviewOptions? = null,
|
||||
replyMarkup: InlineKeyboardMarkup? = null,
|
||||
builderBody: EntitiesBuilderBody
|
||||
): Boolean = edit(messageId, buildEntities(separator, builderBody), showCaptionAboveMedia, linkPreviewOptions, replyMarkup)
|
||||
): Unit = edit(messageId, buildEntities(separator, builderBody), showCaptionAboveMedia, linkPreviewOptions, replyMarkup)
|
||||
|
||||
/**
|
||||
* @param replyMarkup Some [InlineKeyboardMarkup]. See [dev.inmo.tgbotapi.extensions.utils.types.buttons.inlineKeyboard]
|
||||
@@ -109,4 +109,4 @@ public suspend fun TelegramBot.edit(
|
||||
linkPreviewOptions: LinkPreviewOptions? = null,
|
||||
replyMarkup: InlineKeyboardMarkup? = null,
|
||||
builderBody: EntitiesBuilderBody
|
||||
): Boolean = edit(messageId, buildEntities(separator, builderBody), showCaptionAboveMedia, linkPreviewOptions, replyMarkup)
|
||||
): Unit = edit(messageId, buildEntities(separator, builderBody), showCaptionAboveMedia, linkPreviewOptions, replyMarkup)
|
||||
|
||||
@@ -16,7 +16,7 @@ public suspend fun TelegramBot.editMessageCaption(
|
||||
text: String,
|
||||
parseMode: ParseMode? = null,
|
||||
replyMarkup: InlineKeyboardMarkup? = null
|
||||
): Boolean = execute(EditInlineMessageCaption(inlineMessageId, text, parseMode, replyMarkup))
|
||||
): Unit = execute(EditInlineMessageCaption(inlineMessageId, text, parseMode, replyMarkup))
|
||||
|
||||
/**
|
||||
* @param replyMarkup Some [InlineKeyboardMarkup]. See [dev.inmo.tgbotapi.extensions.utils.types.buttons.inlineKeyboard]
|
||||
@@ -26,4 +26,4 @@ public suspend fun TelegramBot.editMessageCaption(
|
||||
inlineMessageId: InlineMessageId,
|
||||
entities: TextSourcesList,
|
||||
replyMarkup: InlineKeyboardMarkup? = null
|
||||
): Boolean = execute(EditInlineMessageCaption(inlineMessageId, entities, replyMarkup))
|
||||
): Unit = execute(EditInlineMessageCaption(inlineMessageId, entities, replyMarkup))
|
||||
|
||||
@@ -14,7 +14,7 @@ public suspend fun TelegramBot.editLiveLocation(
|
||||
heading: Degrees? = null,
|
||||
proximityAlertRadius: Meters? = null,
|
||||
replyMarkup: InlineKeyboardMarkup? = null
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
EditInlineMessageLiveLocation(
|
||||
inlineMessageId, latitude, longitude, horizontalAccuracy, heading, proximityAlertRadius, replyMarkup
|
||||
)
|
||||
@@ -23,4 +23,4 @@ public suspend fun TelegramBot.editLiveLocation(
|
||||
inlineMessageId: InlineMessageId,
|
||||
location: LiveLocation,
|
||||
replyMarkup: InlineKeyboardMarkup? = null
|
||||
): Boolean = editLiveLocation(inlineMessageId, location.latitude, location.longitude, location.horizontalAccuracy, location.heading, location.proximityAlertRadius, replyMarkup)
|
||||
): Unit = editLiveLocation(inlineMessageId, location.latitude, location.longitude, location.horizontalAccuracy, location.heading, location.proximityAlertRadius, replyMarkup)
|
||||
|
||||
@@ -12,7 +12,7 @@ import dev.inmo.tgbotapi.types.buttons.InlineKeyboardMarkup
|
||||
public suspend fun TelegramBot.stopLiveLocation(
|
||||
inlineMessageId: InlineMessageId,
|
||||
replyMarkup: InlineKeyboardMarkup? = null
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
StopInlineMessageLiveLocation(
|
||||
inlineMessageId, replyMarkup
|
||||
)
|
||||
|
||||
@@ -14,4 +14,4 @@ public suspend fun TelegramBot.editMessageMedia(
|
||||
inlineMessageId: InlineMessageId,
|
||||
media: TelegramFreeMedia,
|
||||
replyMarkup: InlineKeyboardMarkup? = null
|
||||
): Boolean = execute(EditInlineMessageMedia(inlineMessageId, media, replyMarkup))
|
||||
): Unit = execute(EditInlineMessageMedia(inlineMessageId, media, replyMarkup))
|
||||
|
||||
@@ -10,7 +10,7 @@ public suspend fun TelegramBot.editUserStarSubscription(
|
||||
userId: UserId,
|
||||
telegramPaymentChargeId: TelegramPaymentChargeId,
|
||||
isCanceled: Boolean
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
EditUserStarSubscription(
|
||||
userId = userId,
|
||||
telegramPaymentChargeId = telegramPaymentChargeId,
|
||||
@@ -22,7 +22,7 @@ public suspend fun TelegramBot.editUserStarSubscription(
|
||||
user: User,
|
||||
telegramPaymentChargeId: TelegramPaymentChargeId,
|
||||
isCanceled: Boolean
|
||||
): Boolean = editUserStarSubscription(
|
||||
): Unit = editUserStarSubscription(
|
||||
userId = user.id,
|
||||
telegramPaymentChargeId = telegramPaymentChargeId,
|
||||
isCanceled = isCanceled
|
||||
@@ -31,7 +31,7 @@ public suspend fun TelegramBot.editUserStarSubscription(
|
||||
public suspend fun TelegramBot.cancelUserStarSubscription(
|
||||
userId: UserId,
|
||||
telegramPaymentChargeId: TelegramPaymentChargeId,
|
||||
): Boolean = editUserStarSubscription(
|
||||
): Unit = editUserStarSubscription(
|
||||
userId = userId,
|
||||
telegramPaymentChargeId = telegramPaymentChargeId,
|
||||
isCanceled = true
|
||||
@@ -40,7 +40,7 @@ public suspend fun TelegramBot.cancelUserStarSubscription(
|
||||
public suspend fun TelegramBot.cancelUserStarSubscription(
|
||||
user: User,
|
||||
telegramPaymentChargeId: TelegramPaymentChargeId,
|
||||
): Boolean = editUserStarSubscription(
|
||||
): Unit = editUserStarSubscription(
|
||||
user = user,
|
||||
telegramPaymentChargeId = telegramPaymentChargeId,
|
||||
isCanceled = true
|
||||
@@ -49,7 +49,7 @@ public suspend fun TelegramBot.cancelUserStarSubscription(
|
||||
public suspend fun TelegramBot.enableUserStarSubscription(
|
||||
userId: UserId,
|
||||
telegramPaymentChargeId: TelegramPaymentChargeId,
|
||||
): Boolean = editUserStarSubscription(
|
||||
): Unit = editUserStarSubscription(
|
||||
userId = userId,
|
||||
telegramPaymentChargeId = telegramPaymentChargeId,
|
||||
isCanceled = false
|
||||
@@ -58,7 +58,7 @@ public suspend fun TelegramBot.enableUserStarSubscription(
|
||||
public suspend fun TelegramBot.enableUserStarSubscription(
|
||||
user: User,
|
||||
telegramPaymentChargeId: TelegramPaymentChargeId,
|
||||
): Boolean = editUserStarSubscription(
|
||||
): Unit = editUserStarSubscription(
|
||||
user = user,
|
||||
telegramPaymentChargeId = telegramPaymentChargeId,
|
||||
isCanceled = false
|
||||
|
||||
@@ -12,4 +12,4 @@ import dev.inmo.tgbotapi.types.buttons.InlineKeyboardMarkup
|
||||
public suspend fun TelegramBot.editMessageReplyMarkup(
|
||||
inlineMessageId: InlineMessageId,
|
||||
replyMarkup: InlineKeyboardMarkup? = null
|
||||
): Boolean = execute(EditInlineMessageReplyMarkup(inlineMessageId, replyMarkup))
|
||||
): Unit = execute(EditInlineMessageReplyMarkup(inlineMessageId, replyMarkup))
|
||||
|
||||
@@ -22,7 +22,7 @@ public suspend fun TelegramBot.editMessageText(
|
||||
showCaptionAboveMedia: Boolean = false,
|
||||
linkPreviewOptions: LinkPreviewOptions? = null,
|
||||
replyMarkup: InlineKeyboardMarkup? = null
|
||||
): Boolean = execute(EditInlineMessageText(inlineMessageId, text, parseMode, showCaptionAboveMedia, linkPreviewOptions, replyMarkup))
|
||||
): Unit = execute(EditInlineMessageText(inlineMessageId, text, parseMode, showCaptionAboveMedia, linkPreviewOptions, replyMarkup))
|
||||
|
||||
/**
|
||||
* @param replyMarkup Some [InlineKeyboardMarkup]. See [dev.inmo.tgbotapi.extensions.utils.types.buttons.inlineKeyboard]
|
||||
@@ -34,7 +34,7 @@ public suspend fun TelegramBot.editMessageText(
|
||||
showCaptionAboveMedia: Boolean = false,
|
||||
linkPreviewOptions: LinkPreviewOptions? = null,
|
||||
replyMarkup: InlineKeyboardMarkup? = null
|
||||
): Boolean = execute(EditInlineMessageText(inlineMessageId, entities, showCaptionAboveMedia, linkPreviewOptions, replyMarkup))
|
||||
): Unit = execute(EditInlineMessageText(inlineMessageId, entities, showCaptionAboveMedia, linkPreviewOptions, replyMarkup))
|
||||
|
||||
/**
|
||||
* @param replyMarkup Some [InlineKeyboardMarkup]. See [dev.inmo.tgbotapi.extensions.utils.types.buttons.inlineKeyboard]
|
||||
@@ -47,7 +47,7 @@ public suspend fun TelegramBot.editMessageText(
|
||||
linkPreviewOptions: LinkPreviewOptions? = null,
|
||||
replyMarkup: InlineKeyboardMarkup? = null,
|
||||
builderBody: EntitiesBuilderBody
|
||||
): Boolean = editMessageText(inlineMessageId, buildEntities(separator, builderBody), showCaptionAboveMedia, linkPreviewOptions, replyMarkup)
|
||||
): Unit = editMessageText(inlineMessageId, buildEntities(separator, builderBody), showCaptionAboveMedia, linkPreviewOptions, replyMarkup)
|
||||
|
||||
/**
|
||||
* @param replyMarkup Some [InlineKeyboardMarkup]. See [dev.inmo.tgbotapi.extensions.utils.types.buttons.inlineKeyboard]
|
||||
@@ -60,4 +60,4 @@ public suspend fun TelegramBot.editMessageText(
|
||||
linkPreviewOptions: LinkPreviewOptions? = null,
|
||||
replyMarkup: InlineKeyboardMarkup? = null,
|
||||
builderBody: EntitiesBuilderBody
|
||||
): Boolean = editMessageText(inlineMessageId, buildEntities(separator, builderBody), showCaptionAboveMedia, linkPreviewOptions, replyMarkup)
|
||||
): Unit = editMessageText(inlineMessageId, buildEntities(separator, builderBody), showCaptionAboveMedia, linkPreviewOptions, replyMarkup)
|
||||
|
||||
@@ -15,7 +15,7 @@ public suspend fun TelegramBot.setGameScore(
|
||||
messageId: MessageId,
|
||||
force: Boolean = false,
|
||||
disableEditMessage: Boolean = false
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
SetGameScoreByChatId(userId, score, chatId, messageId, force, disableEditMessage)
|
||||
)
|
||||
|
||||
@@ -26,7 +26,7 @@ public suspend fun TelegramBot.setGameScore(
|
||||
messageId: MessageId,
|
||||
force: Boolean = false,
|
||||
disableEditMessage: Boolean = false
|
||||
): Boolean = setGameScore(
|
||||
): Unit = setGameScore(
|
||||
user.id, score, chatId, messageId, force, disableEditMessage
|
||||
)
|
||||
|
||||
@@ -37,7 +37,7 @@ public suspend fun TelegramBot.setGameScore(
|
||||
messageId: MessageId,
|
||||
force: Boolean = false,
|
||||
disableEditMessage: Boolean = false
|
||||
): Boolean = setGameScore(
|
||||
): Unit = setGameScore(
|
||||
userId, score, chat.id, messageId, force, disableEditMessage
|
||||
)
|
||||
|
||||
@@ -48,7 +48,7 @@ public suspend fun TelegramBot.setGameScore(
|
||||
messageId: MessageId,
|
||||
force: Boolean = false,
|
||||
disableEditMessage: Boolean = false
|
||||
): Boolean = setGameScore(
|
||||
): Unit = setGameScore(
|
||||
user.id, score, chat.id, messageId, force, disableEditMessage
|
||||
)
|
||||
|
||||
@@ -58,7 +58,7 @@ public suspend fun TelegramBot.setGameScore(
|
||||
message: ContentMessage<GameContent>,
|
||||
force: Boolean = false,
|
||||
disableEditMessage: Boolean = false
|
||||
): Boolean = setGameScore(
|
||||
): Unit = setGameScore(
|
||||
userId, score, message.chat.id, message.messageId, force, disableEditMessage
|
||||
)
|
||||
|
||||
@@ -68,6 +68,6 @@ public suspend fun TelegramBot.setGameScore(
|
||||
message: ContentMessage<GameContent>,
|
||||
force: Boolean = false,
|
||||
disableEditMessage: Boolean = false
|
||||
): Boolean = setGameScore(
|
||||
): Unit = setGameScore(
|
||||
user.id, score, message.chat.id, message.messageId, force, disableEditMessage
|
||||
)
|
||||
|
||||
@@ -11,7 +11,7 @@ public suspend fun TelegramBot.setGameScore(
|
||||
inlineMessageId: InlineMessageId,
|
||||
force: Boolean = false,
|
||||
disableEditMessage: Boolean = false
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
SetGameScoreByInlineMessageId(
|
||||
userId, score, inlineMessageId, force, disableEditMessage
|
||||
)
|
||||
@@ -23,4 +23,4 @@ public suspend fun TelegramBot.setGameScore(
|
||||
inlineMessageId: InlineMessageId,
|
||||
force: Boolean = false,
|
||||
disableEditMessage: Boolean = false
|
||||
): Boolean = setGameScore(user.id, score, inlineMessageId, force, disableEditMessage)
|
||||
): Unit = setGameScore(user.id, score, inlineMessageId, force, disableEditMessage)
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
package dev.inmo.tgbotapi.extensions.api.get
|
||||
|
||||
import dev.inmo.tgbotapi.bot.TelegramBot
|
||||
import dev.inmo.tgbotapi.requests.get.GetUserProfileAudios
|
||||
import dev.inmo.tgbotapi.types.chat.CommonUser
|
||||
import dev.inmo.tgbotapi.types.UserId
|
||||
import dev.inmo.tgbotapi.types.UserProfileAudios
|
||||
|
||||
public suspend fun TelegramBot.getUserProfileAudios(
|
||||
userId: UserId,
|
||||
offset: Int? = null,
|
||||
limit: Int? = null
|
||||
): UserProfileAudios = execute(
|
||||
GetUserProfileAudios(
|
||||
userId = userId, offset = offset, limit = limit
|
||||
)
|
||||
)
|
||||
|
||||
public suspend fun TelegramBot.getUserProfileAudios(
|
||||
user: CommonUser,
|
||||
offset: Int? = null,
|
||||
limit: Int? = null
|
||||
): UserProfileAudios = getUserProfileAudios(userId = user.id, offset = offset, limit = limit)
|
||||
@@ -0,0 +1,83 @@
|
||||
package dev.inmo.tgbotapi.extensions.api.gifts
|
||||
|
||||
import dev.inmo.tgbotapi.bot.TelegramBot
|
||||
import dev.inmo.tgbotapi.requests.gifts.GetChatGifts
|
||||
import dev.inmo.tgbotapi.types.ChatIdentifier
|
||||
import dev.inmo.tgbotapi.types.OwnedGifts
|
||||
import dev.inmo.tgbotapi.types.gifts.GiftSentOrReceivedEvent
|
||||
import dev.inmo.tgbotapi.types.gifts.OwnedGift
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import kotlinx.coroutines.flow.flow
|
||||
|
||||
public suspend fun TelegramBot.getChatGifts(
|
||||
chatId: ChatIdentifier,
|
||||
excludeUnsaved: Boolean = false,
|
||||
excludeSaved: Boolean = false,
|
||||
excludeUnlimited: Boolean = false,
|
||||
excludeLimitedUpgradable: Boolean = false,
|
||||
excludeLimitedNonUpgradable: Boolean = false,
|
||||
excludeFromBlockchain: Boolean = false,
|
||||
excludeUnique: Boolean = false,
|
||||
sortByPrice: Boolean = false,
|
||||
offset: String? = null,
|
||||
limit: Int? = null
|
||||
): OwnedGifts<OwnedGift.Common> = execute(
|
||||
GetChatGifts(
|
||||
chatId,
|
||||
excludeUnsaved,
|
||||
excludeSaved,
|
||||
excludeUnlimited,
|
||||
excludeLimitedUpgradable,
|
||||
excludeLimitedNonUpgradable,
|
||||
excludeFromBlockchain,
|
||||
excludeUnique,
|
||||
sortByPrice,
|
||||
offset,
|
||||
limit
|
||||
)
|
||||
)
|
||||
|
||||
public fun TelegramBot.getChatGiftsFlow(
|
||||
chatId: ChatIdentifier,
|
||||
excludeUnsaved: Boolean = false,
|
||||
excludeSaved: Boolean = false,
|
||||
excludeUnlimited: Boolean = false,
|
||||
excludeLimitedUpgradable: Boolean = false,
|
||||
excludeLimitedNonUpgradable: Boolean = false,
|
||||
excludeFromBlockchain: Boolean = false,
|
||||
excludeUnique: Boolean = false,
|
||||
sortByPrice: Boolean = false,
|
||||
initialOffset: String? = null,
|
||||
limit: Int? = null,
|
||||
onErrorContinueChecker: suspend (Throwable?) -> Boolean = { false }
|
||||
): Flow<OwnedGifts<OwnedGift.Common>> = flow {
|
||||
var currentOffset = initialOffset
|
||||
do {
|
||||
val response = runCatching {
|
||||
getChatGifts(
|
||||
chatId,
|
||||
excludeUnsaved,
|
||||
excludeSaved,
|
||||
excludeUnlimited,
|
||||
excludeLimitedUpgradable,
|
||||
excludeLimitedNonUpgradable,
|
||||
excludeFromBlockchain,
|
||||
excludeUnique,
|
||||
sortByPrice,
|
||||
currentOffset,
|
||||
limit
|
||||
)
|
||||
}
|
||||
if (response.isSuccess) {
|
||||
val result = response.getOrThrow()
|
||||
emit(result)
|
||||
currentOffset = result.nextOffset
|
||||
} else {
|
||||
if (onErrorContinueChecker(response.exceptionOrNull())) {
|
||||
continue
|
||||
} else {
|
||||
break
|
||||
}
|
||||
}
|
||||
} while (currentOffset != null)
|
||||
}
|
||||
@@ -0,0 +1,75 @@
|
||||
package dev.inmo.tgbotapi.extensions.api.gifts
|
||||
|
||||
import dev.inmo.tgbotapi.bot.TelegramBot
|
||||
import dev.inmo.tgbotapi.requests.gifts.GetUserGifts
|
||||
import dev.inmo.tgbotapi.types.OwnedGifts
|
||||
import dev.inmo.tgbotapi.types.UserId
|
||||
import dev.inmo.tgbotapi.types.gifts.GiftSentOrReceivedEvent
|
||||
import dev.inmo.tgbotapi.types.gifts.OwnedGift
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import kotlinx.coroutines.flow.flow
|
||||
|
||||
public suspend fun TelegramBot.getUserGifts(
|
||||
userId: UserId,
|
||||
excludeUnlimited: Boolean = false,
|
||||
excludeLimitedUpgradable: Boolean = false,
|
||||
excludeLimitedNonUpgradable: Boolean = false,
|
||||
excludeFromBlockchain: Boolean = false,
|
||||
excludeUnique: Boolean = false,
|
||||
sortByPrice: Boolean = false,
|
||||
offset: String? = null,
|
||||
limit: Int? = null
|
||||
): OwnedGifts<OwnedGift.Common> = execute(
|
||||
GetUserGifts(
|
||||
userId,
|
||||
excludeUnlimited,
|
||||
excludeLimitedUpgradable,
|
||||
excludeLimitedNonUpgradable,
|
||||
excludeFromBlockchain,
|
||||
excludeUnique,
|
||||
sortByPrice,
|
||||
offset,
|
||||
limit
|
||||
)
|
||||
)
|
||||
|
||||
public fun TelegramBot.getUserGiftsFlow(
|
||||
userId: UserId,
|
||||
excludeUnlimited: Boolean = false,
|
||||
excludeLimitedUpgradable: Boolean = false,
|
||||
excludeLimitedNonUpgradable: Boolean = false,
|
||||
excludeFromBlockchain: Boolean = false,
|
||||
excludeUnique: Boolean = false,
|
||||
sortByPrice: Boolean = false,
|
||||
initialOffset: String? = null,
|
||||
limit: Int? = null,
|
||||
onErrorContinueChecker: suspend (Throwable?) -> Boolean = { false }
|
||||
): Flow<OwnedGifts<OwnedGift.Common>> = flow {
|
||||
var currentOffset = initialOffset
|
||||
do {
|
||||
val response = runCatching {
|
||||
getUserGifts(
|
||||
userId,
|
||||
excludeUnlimited,
|
||||
excludeLimitedUpgradable,
|
||||
excludeLimitedNonUpgradable,
|
||||
excludeFromBlockchain,
|
||||
excludeUnique,
|
||||
sortByPrice,
|
||||
currentOffset,
|
||||
limit
|
||||
)
|
||||
}
|
||||
if (response.isSuccess) {
|
||||
val result = response.getOrThrow()
|
||||
emit(result)
|
||||
currentOffset = result.nextOffset
|
||||
} else {
|
||||
if (onErrorContinueChecker(response.exceptionOrNull())) {
|
||||
continue
|
||||
} else {
|
||||
break
|
||||
}
|
||||
}
|
||||
} while (currentOffset != null)
|
||||
}
|
||||
@@ -15,7 +15,7 @@ public suspend fun TelegramBot.giftPremiumSubscription(
|
||||
starCount: Int,
|
||||
text: String,
|
||||
parseMode: ParseMode? = null
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
GiftPremiumSubscription(
|
||||
userId = userId,
|
||||
monthCount = monthCount,
|
||||
@@ -30,7 +30,7 @@ public suspend fun TelegramBot.giftPremiumSubscription(
|
||||
monthCount: Int,
|
||||
starCount: Int,
|
||||
textSources: TextSourcesList? = null,
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
GiftPremiumSubscription(
|
||||
userId = userId,
|
||||
monthCount = monthCount,
|
||||
@@ -45,7 +45,7 @@ public suspend fun TelegramBot.giftPremiumSubscription(
|
||||
starCount: Int,
|
||||
separator: TextSource? = null,
|
||||
textBuilder: EntitiesBuilderBody
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
GiftPremiumSubscription(
|
||||
userId = userId,
|
||||
monthCount = monthCount,
|
||||
|
||||
@@ -30,7 +30,7 @@ public suspend fun TelegramBot.sendGift(
|
||||
text: String,
|
||||
parseMode: ParseMode?,
|
||||
upgradableToUnique: Boolean = false
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
SendGift.toUser(
|
||||
userId = userId,
|
||||
giftId = giftId,
|
||||
@@ -57,7 +57,7 @@ public suspend fun TelegramBot.sendGiftToChat(
|
||||
text: String,
|
||||
parseMode: ParseMode?,
|
||||
upgradableToUnique: Boolean = false
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
SendGift.toChat(
|
||||
chatId = chatId,
|
||||
giftId = giftId,
|
||||
@@ -83,7 +83,7 @@ public suspend fun TelegramBot.sendGift(
|
||||
giftId: GiftId,
|
||||
textSources: TextSourcesList,
|
||||
upgradableToUnique: Boolean = false,
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
SendGift.toUser(
|
||||
userId = userId,
|
||||
giftId = giftId,
|
||||
@@ -108,7 +108,7 @@ public suspend fun TelegramBot.sendGiftToChat(
|
||||
giftId: GiftId,
|
||||
textSources: TextSourcesList,
|
||||
upgradableToUnique: Boolean = false,
|
||||
): Boolean = execute(
|
||||
): Unit = execute(
|
||||
SendGift.toChat(
|
||||
chatId = chatId,
|
||||
giftId = giftId,
|
||||
|
||||
@@ -17,7 +17,7 @@ public suspend fun TelegramBot.sendGift(
|
||||
giftId: GiftId,
|
||||
text: String,
|
||||
parseMode: ParseMode?,
|
||||
): Boolean = sendGift(
|
||||
): Unit = sendGift(
|
||||
userId = with(user) {id}, giftId = giftId, text = text, parseMode = parseMode
|
||||
)
|
||||
|
||||
@@ -27,7 +27,7 @@ public suspend fun TelegramBot.sendGift(
|
||||
text: String,
|
||||
parseMode: ParseMode?,
|
||||
upgradableToUnique: Boolean,
|
||||
): Boolean = sendGift(
|
||||
): Unit = sendGift(
|
||||
userId = with(user) {id}, giftId = giftId, text = text, parseMode = parseMode,
|
||||
upgradableToUnique = upgradableToUnique
|
||||
)
|
||||
@@ -37,7 +37,7 @@ public suspend fun TelegramBot.sendGift(
|
||||
gift: Gift.Regular,
|
||||
text: String,
|
||||
parseMode: ParseMode?,
|
||||
): Boolean = sendGift(
|
||||
): Unit = sendGift(
|
||||
userId = userId, giftId = with(gift) {id}, text = text, parseMode = parseMode
|
||||
)
|
||||
|
||||
@@ -47,7 +47,7 @@ public suspend fun TelegramBot.sendGift(
|
||||
text: String,
|
||||
parseMode: ParseMode?,
|
||||
upgradableToUnique: Boolean,
|
||||
): Boolean = sendGift(
|
||||
): Unit = sendGift(
|
||||
userId = userId, giftId = with(gift) {id}, text = text, parseMode = parseMode,
|
||||
upgradableToUnique = upgradableToUnique
|
||||
)
|
||||
@@ -57,7 +57,7 @@ public suspend fun TelegramBot.sendGift(
|
||||
gift: Gift.Regular,
|
||||
text: String,
|
||||
parseMode: ParseMode?,
|
||||
): Boolean = sendGift(
|
||||
): Unit = sendGift(
|
||||
user = user, giftId = with(gift) {id}, text = text, parseMode = parseMode
|
||||
)
|
||||
|
||||
@@ -67,7 +67,7 @@ public suspend fun TelegramBot.sendGift(
|
||||
text: String,
|
||||
parseMode: ParseMode?,
|
||||
upgradableToUnique: Boolean,
|
||||
): Boolean = sendGift(
|
||||
): Unit = sendGift(
|
||||
user = user, giftId = with(gift) {id}, text = text, parseMode = parseMode, upgradableToUnique =
|
||||
upgradableToUnique
|
||||
)
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user