mirror of
https://github.com/InsanusMokrassar/TelegramBotAPI.git
synced 2025-11-20 06:15:49 +00:00
Compare commits
244 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 35e28c00cb | |||
| 1913f1a900 | |||
| cbfd34098d | |||
| e5618f4705 | |||
| c9f2166e7d | |||
| eb960290c6 | |||
| 100f8b564a | |||
| 8e1ad9ffbc | |||
| 8875e2a986 | |||
| 7478b151eb | |||
| 959136479e | |||
| a52a62837e | |||
| 17dd694044 | |||
| 34fcfe2e20 | |||
| 64862ecd2d | |||
| c9edbbf7af | |||
| a2f9a5a432 | |||
| 8337da34ca | |||
| f45956b554 | |||
| bec1255d67 | |||
| 39ca29279f | |||
| 70b592baad | |||
| 403aa684a8 | |||
| e10e257c80 | |||
| 5e7bc96b44 | |||
| 79d0eda61d | |||
| 9916b3f469 | |||
| 2bac5f0eed | |||
|
|
01eb072caa | ||
| 496af479b0 | |||
| 386e91e28b | |||
| 91dbcecefc | |||
| 2d743e4c19 | |||
| 8804a24013 | |||
| 8b5244d8df | |||
| 034901a479 | |||
| 7043647584 | |||
| acd9505a5d | |||
| 46c33d5ec4 | |||
| 89dc7a4b2a | |||
| e4f305b3ec | |||
| d56c132201 | |||
| d336e177dd | |||
| 15e29286fb | |||
| 314ceed78e | |||
| 3fa3aa50d9 | |||
| 571296b9a0 | |||
| 3f13e5d062 | |||
| 1874023c05 | |||
| dc0fda2066 | |||
| c0d4a4f01b | |||
| 603762bc22 | |||
| 4db82d6ce2 | |||
| 9bf8f56254 | |||
| 9c926a2265 | |||
| 747854f4f4 | |||
| dcfb14553d | |||
| 6eaa9d699b | |||
| 6788c4d1dd | |||
| 6420737a82 | |||
| 4c36750431 | |||
| fd022742aa | |||
| 0472e35752 | |||
| 768d00eedd | |||
| e9347075ed | |||
|
|
3da74b0c66 | ||
|
|
8b79c5c76b | ||
|
|
a1b471d2ca | ||
|
|
e2c7125f6c | ||
| ec8df3c31c | |||
| 94a35349aa | |||
| 046402454f | |||
| c3978f2dab | |||
| 1019fd4d19 | |||
| 76a9fd1a55 | |||
| aec4c7323a | |||
| 7bdfd5cf69 | |||
| ce95a60fbc | |||
| 3c17a67b01 | |||
| 35bf5b9e9d | |||
| 0087d02b5f | |||
| 212d8946c8 | |||
| 319e43901a | |||
| da01955507 | |||
| 095382040c | |||
| 5545708d38 | |||
| 5d06d86549 | |||
| c081e5c457 | |||
| 555c2ffa04 | |||
| bcee64c103 | |||
| 44a35bd26e | |||
| 1f5c719294 | |||
| 6013c3ba86 | |||
| d4551490f7 | |||
| cc0498a89a | |||
| 0b78c0382f | |||
| c91426a910 | |||
| 5d1c59ff75 | |||
| d2228e274c | |||
| 790959ea49 | |||
| ce9f7f35dc | |||
| 4f984d1dbc | |||
| c83da6be70 | |||
|
|
710438489c | ||
| 6f650f6d6c | |||
| 2d15e13ae6 | |||
| d60ee7b8a5 | |||
| 8f882e9825 | |||
| 48e946c2d0 | |||
| 1758d80020 | |||
| 63b2bd61b5 | |||
| ff2c70fc76 | |||
| e3bfc4472a | |||
| 1cff6f616f | |||
| 1dfe4bf276 | |||
| e4b09032cd | |||
| e8e54a0aea | |||
| 8f85b4cba3 | |||
| 46d65a271d | |||
| e088329ce1 | |||
| 8d9ebb754b | |||
| c0a43077ad | |||
| 1811a63a13 | |||
| cba0e30710 | |||
| ff0b7faa48 | |||
| 975898660c | |||
| cfb7f35d20 | |||
| 147889a66a | |||
| ed9ed715a0 | |||
| a9a3f55c8d | |||
| 58943f2504 | |||
| 5f7633a57e | |||
| 65cfc3220d | |||
| 36d30ef91b | |||
| 41e5c579a2 | |||
| bbf63c51ec | |||
| fb91199f83 | |||
| d76c09ffb2 | |||
| acfb7066d2 | |||
| 7507c107b4 | |||
| 2acb177ad6 | |||
| b5a14077fd | |||
| 5f60bf003f | |||
| f9b2c4c403 | |||
| c909774403 | |||
| 670cfcca13 | |||
| 130e00b62b | |||
| ca4beee95f | |||
| ca784e67df | |||
| 835b8b34f9 | |||
| e6430a729c | |||
| 6c4c9f2fc6 | |||
| 310a7e6e82 | |||
| 7375894645 | |||
| 69973c597b | |||
| 22e8b06fda | |||
| 7ede53fdbb | |||
| ca9051920d | |||
| b477e8d585 | |||
| 8ae2f57d55 | |||
| 1fb2ecf15f | |||
| 6073d914d5 | |||
| 16f55d70af | |||
| b484a31a4a | |||
| 0a162c4129 | |||
| 648f1b488b | |||
| 5fbde4bc06 | |||
| 2a276d9272 | |||
| 9ae252717d | |||
| 456143a266 | |||
| 0bcc98e126 | |||
| ab9ceba41c | |||
| 7cd5666e88 | |||
| 35dcd6ada7 | |||
| ec37df82a9 | |||
| 220cb47615 | |||
| d79b8a337a | |||
| cef6a6f741 | |||
| 9471df1f2d | |||
| f121e5f9c3 | |||
| 7f4fe318c5 | |||
| dbf5c2dbb2 | |||
| 105415873d | |||
| ff32fd1dfc | |||
| 006251ed07 | |||
| 9307582654 | |||
| fe11a2119e | |||
| c31403c1a2 | |||
| 0260e7bedc | |||
| fa43a55f26 | |||
| e9e1f4b9cf | |||
| e7b5b9184d | |||
| 81aa3f2307 | |||
| a9fe584504 | |||
| 4c8861ba79 | |||
| 0ec18cbf06 | |||
| 7008f312dc | |||
| 85317a510e | |||
| d629aa206e | |||
| 6394e1a52b | |||
| 23dca3d307 | |||
| 3032aa8474 | |||
| db19b69ca0 | |||
| f3827f81a7 | |||
| 0532dbb1ae | |||
| efc2681da8 | |||
| 735ed9fd86 | |||
| e856dc4754 | |||
| 0706ff1f95 | |||
| 336b830b0b | |||
| 1a638fe0a5 | |||
| 45467e5bd7 | |||
| 8419b0ab6a | |||
| 49573607fb | |||
| 35fe48db35 | |||
| 590db3e672 | |||
| ea40474c47 | |||
| 7354389f2d | |||
| 1f20ae16aa | |||
| 095c91bf39 | |||
| dc173d752c | |||
| a1788e35b2 | |||
| ea224fd765 | |||
| 7f51544bb9 | |||
| dfb22b0e89 | |||
| e675e841da | |||
| dea43aad8e | |||
| 52e25e934d | |||
| acc067585d | |||
| 47aa1a0795 | |||
| b40cc0c1ea | |||
| b5632626ad | |||
| 67fafdac00 | |||
| 738e628a89 | |||
| 420b846466 | |||
| 05e8c9c90d | |||
| e776c5182f | |||
| be5b3745b9 | |||
| 0de1d9cfda | |||
| 01da98d2fe | |||
| e985100c21 | |||
| 671faabef9 | |||
| bb9c9e22a2 | |||
| 42228f0eaa |
10
.github/labeler.yml
vendored
Normal file
10
.github/labeler.yml
vendored
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
api: "TelegramBotAPI-extensions-api/**"
|
||||||
|
utils: "TelegramBotAPI-extensions-utils/**"
|
||||||
|
core: "TelegramBotAPI/**" # currently not work
|
||||||
|
|
||||||
|
code: "**/*.kt"
|
||||||
|
gradle: "**/*.gradle"
|
||||||
|
versions: "**/gradle.properties"
|
||||||
|
markdown:
|
||||||
|
- "**/*.md"
|
||||||
|
- "!CHANGELOG.md"
|
||||||
13
.github/workflows/greetings.yml
vendored
Normal file
13
.github/workflows/greetings.yml
vendored
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
name: Greetings
|
||||||
|
|
||||||
|
on: [pull_request, issues]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
greeting:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/first-interaction@v1
|
||||||
|
with:
|
||||||
|
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
issue-message: 'Welcome with your first issue'
|
||||||
|
pr-message: 'Welcome with your first PullRequest'
|
||||||
18
.github/workflows/label.yml
vendored
Normal file
18
.github/workflows/label.yml
vendored
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
# This workflow will triage pull requests and apply a label based on the
|
||||||
|
# paths that are modified in the pull request.
|
||||||
|
#
|
||||||
|
# To use this workflow, you will need to set up a .github/labeler.yml
|
||||||
|
# file with configuration. For more information, see:
|
||||||
|
# https://github.com/actions/labeler/blob/master/README.md
|
||||||
|
|
||||||
|
name: "Pull Request Labeler"
|
||||||
|
on:
|
||||||
|
- pull_request
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
triage:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/labeler@v2
|
||||||
|
with:
|
||||||
|
repo-token: "${{ secrets.GITHUB_TOKEN }}"
|
||||||
3
.gitignore
vendored
3
.gitignore
vendored
@@ -8,3 +8,6 @@ settings.xml
|
|||||||
.gradle/
|
.gradle/
|
||||||
build/
|
build/
|
||||||
out/
|
out/
|
||||||
|
|
||||||
|
local.properties
|
||||||
|
secret.gradle
|
||||||
|
|||||||
@@ -5,6 +5,9 @@ os: linux
|
|||||||
dist: trusty
|
dist: trusty
|
||||||
jdk: oraclejdk8
|
jdk: oraclejdk8
|
||||||
|
|
||||||
script:
|
jobs:
|
||||||
- ./gradlew build -s
|
include:
|
||||||
|
- stage: build
|
||||||
|
script: ./gradlew build -s -x jvmTest -x jsIrTest -x jsIrBrowserTest -x jsIrNodeTest -x jsLegacyTest -x jsLegacyBrowserTest -x jsLegacyNodeTest
|
||||||
|
- state: test
|
||||||
|
script: ./gradlew allTests
|
||||||
|
|||||||
324
CHANGELOG.md
324
CHANGELOG.md
@@ -1,5 +1,132 @@
|
|||||||
# TelegramBotAPI changelog
|
# TelegramBotAPI changelog
|
||||||
|
|
||||||
|
## 0.29.0
|
||||||
|
|
||||||
|
* **THIS VERSION CONTAINS BREAKING CHANGES**
|
||||||
|
* ***PROJECT PACKAGES WERE CHANGED***
|
||||||
|
* Packages in the whole project were changed `com.github.insanusmokrassar.TelegramBotAPI` -> `dev.inmo.tgbotapi`
|
||||||
|
* Project group in repositories were changed: `com.github.insanusmokrassar` -> `dev.inmo`
|
||||||
|
* Migration ([Examples migration](https://github.com/InsanusMokrassar/TelegramBotAPI-examples/pull/11)):
|
||||||
|
1. Change implementation in your gradle files:
|
||||||
|
* `implementation "com.github.insanusmokrassar:TelegramBotAPI-core:*"` -> `implementation "dev.inmo:tgbotapi.core:*"`
|
||||||
|
* `implementation "com.github.insanusmokrassar:TelegramBotAPI-extensions-utils:*"` -> `implementation "dev.inmo:tgbotapi.extensions.utils:*"`
|
||||||
|
* `implementation "com.github.insanusmokrassar:TelegramBotAPI-extensions-api:*"` -> `implementation "dev.inmo:tgbotapi.extensions.api:*"`
|
||||||
|
* `implementation "com.github.insanusmokrassar:TelegramBotAPI:*"` -> `implementation "dev.inmo:tgbotapi:*"`
|
||||||
|
2. Replace packages `com.github.insanusmokrassar.TelegramBotAPI` in the whole project by `dev.inmo.tgbotapi`
|
||||||
|
|
||||||
|
|
||||||
|
* `TelegramBotAPI-core`:
|
||||||
|
* Now in forward info you can get `ForwardFromSupergroupInfo`
|
||||||
|
* **BREAKING CHANGE** `SendVoice` factory function has changed its signature: now it have now `thumb`
|
||||||
|
(according to the [documentation](https://core.telegram.org/bots/api#sendvoice))
|
||||||
|
* `TelegramBotAPI-extensions-api`:
|
||||||
|
* ALL REQUESTS EXECUTOR USAGES WERE REPLACED WITH `TelegramBot` TYPEALIAS. It should not bring any break changes
|
||||||
|
* Internal changes of `sendRegularPoll` and `sendQuizPoll` extensions
|
||||||
|
* Variable `defaultLivePeriodDelayMillis` now is public
|
||||||
|
* All `send` extensions for `TelegramBot` got their `reply` variations (issue [#144](https://github.com/InsanusMokrassar/TelegramBotAPI/issues/144))
|
||||||
|
* A lot of `send` extensions for `TelegramBot` got their variation with `Chat` instead of `ChatIdentifier`
|
||||||
|
|
||||||
|
## 0.28.0
|
||||||
|
|
||||||
|
* **THIS VERSION CONTAINS BREAKING CHANGES**
|
||||||
|
* ***PROJECT PACKAGES WERE CHANGED***
|
||||||
|
* Project `TelegramBotAPI` -> `TelegramBotAPI-core`
|
||||||
|
* Project `TelegramBotAPI-all` -> `TelegramBotAPI`
|
||||||
|
|
||||||
|
* `Common`:
|
||||||
|
* Version updates:
|
||||||
|
* `Kotlin`: `1.3.72` -> `1.4.0`
|
||||||
|
* `Coroutines`: `1.3.8` -> `1.3.9`
|
||||||
|
* `Serialization`: `0.20.0` -> `1.0.0-RC`
|
||||||
|
* `Klock`: `1.11.14` -> `1.12.0`
|
||||||
|
* `UUID`: `0.1.1` -> `0.2.1`
|
||||||
|
* `Ktor`: `1.3.2` -> `1.4.0`
|
||||||
|
* `buildMimeType` function now is cache-oriented getter which will save already got mime types into internal map
|
||||||
|
* All deprecations from previous versions were removed
|
||||||
|
* `TelegramBotAPI-core`:
|
||||||
|
* Typealias `TelegramBot` was added
|
||||||
|
* Fully rebuilt `KtorCallFactory` interface to be able to handle custom answers from telegram bot api system
|
||||||
|
* New implementation of `KtorCallFactory` was added: `DownloadFileRequestCallFactory`
|
||||||
|
* `DownloadFile` request was added
|
||||||
|
* All included `KtorCallFactory` realizations (except of abstract) now are objects:
|
||||||
|
* `MultipartRequestCallFactory`
|
||||||
|
* `SimpleRequestCallFactory`
|
||||||
|
* `MediaGroupMemberInputMedia` members now will not have `arguments` property due to redundancy and buggy of that
|
||||||
|
* Field `media` now is common for all `InputMedia` objects
|
||||||
|
* `TelegramBotAPI-extensions-api`:
|
||||||
|
* Extensions `TelegramBot#downloadFile` were added
|
||||||
|
* `TelegramBotAPI-extensions-utils`:
|
||||||
|
* All extensions for media groups (except of `mediaGroupId`) have changed their context: `List<MediaGroupMessage>`
|
||||||
|
-> `List<CommonMessage<MediaGroupContent>>`
|
||||||
|
* `forwardInfo`
|
||||||
|
* `replyTo`
|
||||||
|
* `chat`
|
||||||
|
* `createResend` (several extensions)
|
||||||
|
* Several extensions for downloading of files:
|
||||||
|
* `HttpClient#loadFile`
|
||||||
|
* `PathedFile#download`
|
||||||
|
|
||||||
|
### 0.28.4
|
||||||
|
|
||||||
|
* `Common`:
|
||||||
|
* Version updates:
|
||||||
|
* `Ktor`: `1.4.0` -> `1.4.1`
|
||||||
|
* `TelegramBotAPI-core`
|
||||||
|
* Interface `GroupEventMessage` has been added ([#140](https://github.com/InsanusMokrassar/TelegramBotAPI/pull/140))
|
||||||
|
* Old `GroupEventMessage` was renamed to `CommonGroupEventMessage` ([#140](https://github.com/InsanusMokrassar/TelegramBotAPI/pull/140))
|
||||||
|
* Interface `SupergroupEventMessage` has been added ([#140](https://github.com/InsanusMokrassar/TelegramBotAPI/pull/140))
|
||||||
|
* Old `SupergroupEventMessage` was renamed to `CommonSupergroupEventMessage` ([#140](https://github.com/InsanusMokrassar/TelegramBotAPI/pull/140))
|
||||||
|
* Any `GroupEventMessage` now have `from` field ([#140](https://github.com/InsanusMokrassar/TelegramBotAPI/pull/140))
|
||||||
|
* `TelegramBotAPI-extensions-utils`
|
||||||
|
* Extensions `Flow<ChatEventMessage>#onlyGroupEvents` and `Flow<ChatEventMessage>#onlySupergroupEvents` now returns
|
||||||
|
`CommonGroupEventMessage` and `CommonSupergroupEventMessage`
|
||||||
|
|
||||||
|
### 0.28.3
|
||||||
|
|
||||||
|
* Common:
|
||||||
|
* Version updates:
|
||||||
|
* `Klock`: `0.12.0` -> `0.12.1`
|
||||||
|
* `Kotlin serialization`: `1.0.0-RC` -> `1.0.0-RC2` (dependency `kotlinx-serialization-core` was replaced with
|
||||||
|
`kotlinx-serialization-json` due to [kotlinx.serialization library update](https://github.com/Kotlin/kotlinx.serialization/blob/master/CHANGELOG.md#100-rc2--2020-09-21))
|
||||||
|
* `TelegramBotAPI-core`:
|
||||||
|
* All `InlineQueryResult` has changed their type of id for more obvious relation between `InlineQueryResult#id` and
|
||||||
|
`ChosenInlineResult#resultId`: `String` -> `InlineQueryIdentifier`
|
||||||
|
* `TelegramBotAPI-extensions-utils`:
|
||||||
|
* Several extensions for updates flows based on `InlineQueryUpdate` has been added:
|
||||||
|
* `Flow<InlineQueryUpdate>#onlyBaseInlineQueriesWithUpdates`
|
||||||
|
* `Flow<InlineQueryUpdate>#onlyBaseInlineQueries`
|
||||||
|
* `Flow<InlineQueryUpdate>#onlyLocationInlineQueriesWithUpdates`
|
||||||
|
* `Flow<InlineQueryUpdate>#onlyLocationInlineQueries`
|
||||||
|
* Several extensions for updates flows based on `ChosenInlineResultUpdate` has been added:
|
||||||
|
* `Flow<ChosenInlineResultUpdate>.onlyBaseChosenInlineResultsWithUpdates`
|
||||||
|
* `Flow<ChosenInlineResultUpdate>.onlyBaseChosenInlineResults`
|
||||||
|
* `Flow<ChosenInlineResultUpdate>.onlyLocationChosenInlineResultsWithUpdates`
|
||||||
|
* `Flow<ChosenInlineResultUpdate>.onlyLocationChosenInlineResults`
|
||||||
|
|
||||||
|
### 0.28.2
|
||||||
|
|
||||||
|
* `TelegramBotAPI-extensions-utils`:
|
||||||
|
* Several commands shortcuts for `Flow<ContentMessage<TextContent>>` has been added:
|
||||||
|
* `filterExactCommands`
|
||||||
|
* `filterCommandsInsideTextMessages`
|
||||||
|
* `filterCommandsWithArgs`
|
||||||
|
* Extension `Flow<BaseSentMessageUpdate>.filterCommandsWithArgs` has changed its signature: now it will also have
|
||||||
|
original message paired with list of text sources
|
||||||
|
* Shortcut method `commonMessages` for `onlyCommonMessages`
|
||||||
|
* Shortcuts `onlySentViaBot` and `withoutSentViaBot` now are extensions for any `Flow` with types which implementing
|
||||||
|
`ContentMessage`
|
||||||
|
|
||||||
|
### 0.28.1
|
||||||
|
|
||||||
|
* Common:
|
||||||
|
* Versions updates:
|
||||||
|
* `Kotlin`: `1.4.0` -> `1.4.10`
|
||||||
|
* `UUID`: `0.2.1` -> `0.2.2`
|
||||||
|
* `TelegramBotAPI-core`:
|
||||||
|
* `ExceptionHandler` has changed its incoming type: `Exception` -> `Throwable`
|
||||||
|
* `handleSafely` has changed its signature
|
||||||
|
* `executeUnsafe` has changed its signature
|
||||||
|
|
||||||
## 0.27.0
|
## 0.27.0
|
||||||
|
|
||||||
* `Common`:
|
* `Common`:
|
||||||
@@ -49,6 +176,203 @@
|
|||||||
* `closePollExactAfter`
|
* `closePollExactAfter`
|
||||||
* `closePollAfter`
|
* `closePollAfter`
|
||||||
|
|
||||||
|
### 0.27.11
|
||||||
|
|
||||||
|
* `TelegramBotAPI`:
|
||||||
|
* Extension `String#filenameFromUrl` was created
|
||||||
|
* Extension `PathedFile#filename` was created
|
||||||
|
* `TelegramBotAPI-extensions-utils`:
|
||||||
|
* `Flow<Iterable<T>>.flatMap` extension was added
|
||||||
|
* Extensions for `FlowUpdatesFilter` were added:
|
||||||
|
* `FlowsUpdatesFilter#allSentMessagesFlow` (combination of `messageFlow` and `channelPostFlow`)
|
||||||
|
* `FlowsUpdatesFilter#allSentMediaGroupsFlow` (combination of `messageMediaGroupFlow` and `channelPostMediaGroupFlow`)
|
||||||
|
* `FlowsUpdatesFilter#sentMessages`
|
||||||
|
* `FlowsUpdatesFilter#sentMessagesWithMediaGroups`
|
||||||
|
* `FlowsUpdatesFilter#photoMessagesWithMediaGroups`
|
||||||
|
* `FlowsUpdatesFilter#imageMessagesWithMediaGroups`
|
||||||
|
* `FlowsUpdatesFilter#videoMessagesWithMediaGroups`
|
||||||
|
* `FlowsUpdatesFilter#mediaGroupMessages`
|
||||||
|
* `FlowsUpdatesFilter#mediaGroupPhotosMessages`
|
||||||
|
* `FlowsUpdatesFilter#mediaGroupVideosMessages`
|
||||||
|
* A lot of extensions like `Flow<BaseSentMessageUpdate>#textMessages` were added:
|
||||||
|
* `Flow<BaseSentMessageUpdate>#animationMessages`
|
||||||
|
* `Flow<BaseSentMessageUpdate>#audioMessages`
|
||||||
|
* `Flow<BaseSentMessageUpdate>#contactMessages`
|
||||||
|
* `Flow<BaseSentMessageUpdate>#diceMessages`
|
||||||
|
* `Flow<BaseSentMessageUpdate>#documentMessages`
|
||||||
|
* `Flow<BaseSentMessageUpdate>#gameMessages`
|
||||||
|
* `Flow<BaseSentMessageUpdate>#invoiceMessages`
|
||||||
|
* `Flow<BaseSentMessageUpdate>#locationMessages`
|
||||||
|
* `Flow<BaseSentMessageUpdate>#photoMessages`
|
||||||
|
* `Flow<BaseSentMessageUpdate>#imageMessages`
|
||||||
|
* `Flow<BaseSentMessageUpdate>#pollMessages`
|
||||||
|
* `Flow<BaseSentMessageUpdate>#stickerMessages`
|
||||||
|
* `Flow<BaseSentMessageUpdate>#textMessages`
|
||||||
|
* `Flow<BaseSentMessageUpdate>#venueMessages`
|
||||||
|
* `Flow<BaseSentMessageUpdate>#videoMessages`
|
||||||
|
* `Flow<BaseSentMessageUpdate>#videoNoteMessages`
|
||||||
|
* `Flow<BaseSentMessageUpdate>#voiceMessages`
|
||||||
|
* `Flow<BaseSentMessageUpdate>#mediaGroupMessages`
|
||||||
|
* `Flow<BaseSentMessageUpdate>#mediaGroupPhotosMessages`
|
||||||
|
* `Flow<BaseSentMessageUpdate>#mediaGroupVideosMessages`
|
||||||
|
|
||||||
|
### 0.27.10
|
||||||
|
|
||||||
|
* `TelegramBotAPI-extensions-api`:
|
||||||
|
* Function `telegramBot(TelegramAPIUrlsKeeper)` was added
|
||||||
|
* `TelegramBotAPI-extensions-utils`:
|
||||||
|
* Extension `Route#includeWebhookHandlingInRouteWithFlows` was added
|
||||||
|
* A lot of extensions like `FlowsUpdatesFilter#textMessages` were added:
|
||||||
|
* `FlowsUpdatesFilter#animationMessages`
|
||||||
|
* `FlowsUpdatesFilter#audioMessages`
|
||||||
|
* `FlowsUpdatesFilter#contactMessages`
|
||||||
|
* `FlowsUpdatesFilter#diceMessages`
|
||||||
|
* `FlowsUpdatesFilter#documentMessages`
|
||||||
|
* `FlowsUpdatesFilter#gameMessages`
|
||||||
|
* `FlowsUpdatesFilter#invoiceMessages`
|
||||||
|
* `FlowsUpdatesFilter#locationMessages`
|
||||||
|
* `FlowsUpdatesFilter#photoMessages`
|
||||||
|
* `FlowsUpdatesFilter#imageMessages`
|
||||||
|
* `FlowsUpdatesFilter#pollMessages`
|
||||||
|
* `FlowsUpdatesFilter#stickerMessages`
|
||||||
|
* `FlowsUpdatesFilter#textMessages`
|
||||||
|
* `FlowsUpdatesFilter#venueMessages`
|
||||||
|
* `FlowsUpdatesFilter#videoMessages`
|
||||||
|
* `FlowsUpdatesFilter#videoNoteMessages`
|
||||||
|
* `FlowsUpdatesFilter#voiceMessages`
|
||||||
|
|
||||||
|
### 0.27.9
|
||||||
|
|
||||||
|
* `Common`
|
||||||
|
* Versions updates:
|
||||||
|
* `Gradle Wrapper`: `6.5-all` -> `6.5.1-bin`
|
||||||
|
* `Coroutines`: `1.3.7` -> `1.3.8`
|
||||||
|
* `Klock`: `1.11.3` -> `1.11.14`
|
||||||
|
* `UUID`: `0.1.0` -> `0.1.1`
|
||||||
|
|
||||||
|
### 0.27.8
|
||||||
|
|
||||||
|
* `TelegramBotAPI`:
|
||||||
|
* `UnknownUpdateType` was renamed to `UnknownUpdate`
|
||||||
|
* Refactoring and optimization of `FlowsUpdatesFilter`
|
||||||
|
* `Venue` type was replaced to a new package: `com.github.insanusmokrassar.TelegramBotAPI.types.venue.Venue`
|
||||||
|
* `Venue` type now implements `Locationed` and delegate realisation to its `location` field
|
||||||
|
* `FoursquareId` and `FoursquareType` typealiases were added
|
||||||
|
* `TelegramBotAPI-extensions-utils`:
|
||||||
|
* Several new functions `makeLinkToMessage` was added
|
||||||
|
* `Foursquare` data class was added
|
||||||
|
* Extension `Venue#foursquare` was added
|
||||||
|
* Factory function `Venue` with `Foursquare` parameter was added
|
||||||
|
|
||||||
|
### 0.27.7
|
||||||
|
|
||||||
|
* `TelegramBotAPI`:
|
||||||
|
* Operator function `unaryPlus` was added to `RowBuilder`. Now it is possible to write `row { +button }`
|
||||||
|
* Function `flatMatrix` was added for single-row columns
|
||||||
|
* Operator extension `RowBuilder#plus` was added to be able to write things like `row { this + button }`
|
||||||
|
* `TelegramBotAPI-extensions-api`:
|
||||||
|
* Extensions `RequestsExecutor#sendVenue` with `Location` args were added
|
||||||
|
* `TelegramBotAPI-extensions-utils`:
|
||||||
|
* Function `InlineKeyboardMarkup` for flat keyboards was added
|
||||||
|
* Function `ReplyKeyboardMarkup` for flat keyboards was added
|
||||||
|
|
||||||
|
### 0.27.6
|
||||||
|
|
||||||
|
* `Common`:
|
||||||
|
* Versions:
|
||||||
|
* `Kotlin Coroutines`: `1.3.6` -> `1.3.7`
|
||||||
|
* `TelegramBotAPI`:
|
||||||
|
* Interface `PossiblySentViaBot` has been added
|
||||||
|
* Additional interface `PossiblySentViaBotCommonMessage` was added for more explicit typing declaration for
|
||||||
|
compiler
|
||||||
|
* Currently, only `ChannelMessage` and `CommonMessageImpl` are implementing the interface
|
||||||
|
`PossiblySentViaBotCommonMessage`. It could be changed in future
|
||||||
|
* Factory `buildMimeType` was added
|
||||||
|
* `BuiltinMimeTypes` was added
|
||||||
|
* Abstraction `ThumbedWithMimeTypeInlineQueryResult` with `thumbMimeType` field was added
|
||||||
|
* `InlineQueryResultGif` and `InlineQueryResultMpeg4Gif` now extend `ThumbedWithMimeTypeInlineQueryResult`
|
||||||
|
instead of `ThumbedInlineQueryResult`
|
||||||
|
* `TelegramBotAPI-extensions-utils`:
|
||||||
|
* New extensions `onlyCommonMessages`, `onlySentViaBot` and `withoutSentViaBot` was added
|
||||||
|
|
||||||
|
### 0.27.5
|
||||||
|
|
||||||
|
* `Common`:
|
||||||
|
* Versions:
|
||||||
|
* `Klock`: `1.11.1` -> `1.11.3`
|
||||||
|
* `TelegramotAPI`:
|
||||||
|
* Fix: for sending requests caption and text lengths limits were updated
|
||||||
|
* New variant of `row` was added
|
||||||
|
* `makeLinkToMessage` extensions has been deprecated (replaced into `TelegramBotAPI-extensions-utils`)
|
||||||
|
* Next things was deprecated and replaced into `TelegramBotAPI-extensions-utils`:
|
||||||
|
* All `String` formatting public extensions and functions
|
||||||
|
* All extensions like `CaptionedInput#toHtmlCaptions`
|
||||||
|
* All helper extensions for `List<BaseMessageUpdate>`
|
||||||
|
* All `RequestsExecutor#executeAsync` and `RequestsExecutor#executeUnsafe`
|
||||||
|
* `BotCommand` now more strictly check commands which passed to it
|
||||||
|
* Regex `BotCommandNameRegex` was added
|
||||||
|
* `TelegramBotAPI-extensions-api`:
|
||||||
|
* A lot of `RequesstExecutor#getChat` extensions was added for more explicit types showing
|
||||||
|
* New `RequesstExecutor#setMyCommands` extension was added
|
||||||
|
* New field `BotBuilder#ktorClientEngineFactory` introduced
|
||||||
|
* Field `BotBuilder#ktorClientEngine` now is deprecated
|
||||||
|
* `TelegramBotAPI-extensions-utils`:
|
||||||
|
* `safely` function was introduced. It is in `PreviewFeature` state currently
|
||||||
|
* `makeLinkToMessage` extensions has been added
|
||||||
|
* `makeLinkToAddStickerSet` function and its variations were added
|
||||||
|
* Next tools was added from `TelegramBotAPI`:
|
||||||
|
* All `String` formatting extensions and functions
|
||||||
|
* All extensions like `CaptionedInput#toHtmlCaptions`
|
||||||
|
* All helper extensions for `List<BaseMessageUpdate>`
|
||||||
|
* Several new extensions for `SentMediaGroupUpdate` were added:
|
||||||
|
* `SentMediaGroupUpdate#forwardInfo`
|
||||||
|
* `SentMediaGroupUpdate#replyTo`
|
||||||
|
* `SentMediaGroupUpdate#chat`
|
||||||
|
* `SentMediaGroupUpdate#mediaGroupId`
|
||||||
|
* Several `List<MediaGroupMessage>.createResend` extensions were added
|
||||||
|
* `RequestsExecutor#executeAsync` and `RequestsExecutor#executeUnsafe`
|
||||||
|
|
||||||
|
### 0.27.4
|
||||||
|
|
||||||
|
* `TelegramBotAPI-extensions-utils`:
|
||||||
|
* Several extensions for updates was added:
|
||||||
|
* `onlyBaseMessageUpdates`
|
||||||
|
* `onlySentMessageUpdates`
|
||||||
|
* `onlyEditMessageUpdates`
|
||||||
|
* `onlyMediaGroupsUpdates`
|
||||||
|
* `onlySentMediaGroupUpdates`
|
||||||
|
* `onlyEditMediaGroupUpdates`
|
||||||
|
* Renames in chat filters extensions:
|
||||||
|
* `filterBaseMessageUpdates` -> `filterBaseMessageUpdatesByChatId` and `filterBaseMessageUpdatesByChat`
|
||||||
|
* `filterSentMediaGroupUpdates` -> `filterSentMediaGroupUpdatesByChatId` and `filterSentMediaGroupUpdatesByChat`
|
||||||
|
|
||||||
|
### 0.27.3
|
||||||
|
|
||||||
|
* `TelegramBotAPI`:
|
||||||
|
* `UpdateDeserializationStrategy` is publicly available now
|
||||||
|
* All `setWebhook` extensions was marked as deprecated, renamed and replaced into `TelegramBotAPI-extensions-utils`
|
||||||
|
* Typealias `ExceptionHandler` was added - it will be used for `handleSafely`
|
||||||
|
* `SetWebhook` factories signatures was changed (backward compatibility was not broken)
|
||||||
|
* `executeUnsafe` now working differently
|
||||||
|
* Now it is possible to pass exceptions handler into `executeUnsafe`
|
||||||
|
* `BasketballDiceAnimationType` was added
|
||||||
|
* `UnknownDiceAnimationType` now is deprecated due to renaming - currently it is typealias for `CustomDiceAnimationType`
|
||||||
|
* `CustomDiceAnimationType` now is `data` class instead of common class
|
||||||
|
* `FlowsUpdatesFilter` will use size 64 by default for internal broadcast channels
|
||||||
|
* `TelegramBotAPI-extensions-api`:
|
||||||
|
* Long Polling extensions now are deprecated in this project. It was replaced into `TelegramBotAPI-extensions-utils`
|
||||||
|
* Several `telegramBot` functions was renamed into `telegramBotWithCustomClientConfig`
|
||||||
|
* Add one more `setWebhookInfo` realisation
|
||||||
|
* `TelegramBotAPI-extensions-utils`:
|
||||||
|
* Extension `toTelegramUpdate` was added
|
||||||
|
* Long Polling extensions were added
|
||||||
|
* Updates utils were added
|
||||||
|
* New extensions `startListenWebhooks`, `setWebhookInfoAndStartListenWebhooks` and `includeWebhookHandlingInRoute` was added
|
||||||
|
* New extension `CoroutineScope#updateHandlerWithMediaGroupsAdaptation` was added
|
||||||
|
* New extension `flowsUpdatesFilter` was added
|
||||||
|
* `TelegramBotAPI-all`:
|
||||||
|
* Project was created
|
||||||
|
|
||||||
### 0.27.2
|
### 0.27.2
|
||||||
|
|
||||||
* `Common`:
|
* `Common`:
|
||||||
|
|||||||
91
README.md
91
README.md
@@ -1,30 +1,40 @@
|
|||||||
# TelegramBotAPI
|
# TelegramBotAPI
|
||||||
|
|
||||||
| Common info | [](https://github.com/KotlinBy/awesome-kotlin) [](https://t.me/InMoTelegramBotAPI) [](https://travis-ci.com/InsanusMokrassar/TelegramBotAPI) |
|
| Common info | [](https://github.com/KotlinBy/awesome-kotlin) [](https://travis-ci.com/InsanusMokrassar/TelegramBotAPI) [Small survey](https://forms.gle/tnjuExdSKEr32ygKA)|
|
||||||
| -------------------------------------:|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
| -------------------------------------:|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||||
| TelegramBotAPI status | [](https://bintray.com/insanusmokrassar/StandardRepository/TelegramBotAPI/_latestVersion) [](https://maven-badges.herokuapp.com/maven-central/com.github.insanusmokrassar/TelegramBotAPI) |
|
| Useful links | [](https://t.me/InMoTelegramBotAPI) [](https://tgbotapi.inmo.dev/docs/index.html) [Examples](https://github.com/InsanusMokrassar/TelegramBotAPI-examples/), [Mini tutorial](https://bookstack.inmo.dev/books/telegrambotapi/chapter/introduction-tutorial) |
|
||||||
| TelegramBotAPI Extensions status | [](https://bintray.com/insanusmokrassar/StandardRepository/TelegramBotAPI-extensions-api/_latestVersion) [](https://maven-badges.herokuapp.com/maven-central/com.github.insanusmokrassar/TelegramBotAPI-extensions-api) |
|
| TelegramBotAPI Core status | [](https://bintray.com/insanusmokrassar/TelegramBotAPI/tgbotapi.core/_latestVersion) [](https://maven-badges.herokuapp.com/maven-central/dev.inmo/tgbotapi.core) |
|
||||||
| TelegramBotAPI Util Extensions status | [](https://bintray.com/insanusmokrassar/StandardRepository/TelegramBotAPI-extensions-utils/_latestVersion) [](https://maven-badges.herokuapp.com/maven-central/com.github.insanusmokrassar/TelegramBotAPI-extensions-utils) |
|
| TelegramBotAPI Extensions status | [](https://bintray.com/insanusmokrassar/TelegramBotAPI/tgbotapi.extensions.api/_latestVersion) [](https://maven-badges.herokuapp.com/maven-central/dev.inmo/tgbotapi.extensions.api) |
|
||||||
|
| TelegramBotAPI Util Extensions status | [](https://bintray.com/insanusmokrassar/TelegramBotAPI/tgbotapi.extensions.utils/_latestVersion) [](https://maven-badges.herokuapp.com/maven-central/dev.inmo/tgbotapi.extensions.utils) |
|
||||||
|
| TelegramBotAPI All status | [](https://bintray.com/insanusmokrassar/TelegramBotAPI/tgbotapi/_latestVersion) [](https://maven-badges.herokuapp.com/maven-central/dev.inmo/tgbotapi) |
|
||||||
|
|
||||||
|
**At the time of publication of version `0.28.0` there are errors in serialization plugins like
|
||||||
|
[kotlinx.serialization#1004](https://github.com/Kotlin/kotlinx.serialization/issues/1004). It is possible, that both JVM
|
||||||
|
and JS version may work improperly in some cases with `kotlinx.serialization` version `1.0.0-RC`**
|
||||||
|
|
||||||
|
|
||||||
It is a complex of libraries for working with `TelegramBotAPI` in type-safe and strict way as much as it possible. In
|
It is a complex of libraries for working with `TelegramBotAPI` in type-safe and strict way as much as it possible. In
|
||||||
the list of this complex currently next projects:
|
the list of this complex currently next projects:
|
||||||
|
|
||||||
* [TelegramBotAPI](TelegramBotAPI/README.md) - core of library. In fact it is independent library and can be used alone
|
* [TelegramBotAPI Core](tgbotapi.core/README.md) - core of library. In fact it is independent library and can be used alone
|
||||||
without any additional library
|
without any additional library
|
||||||
* [TelegramBotAPI Extensions](TelegramBotAPI-extensions-api/README.md) - contains extensions (mostly for
|
* [TelegramBotAPI API Extensions](tgbotapi.extensions.api/README.md) - contains extensions (mostly for
|
||||||
`RequestsExecutor`), which allows to use the core library in more pleasant way
|
`RequestsExecutor`), which allows to use the core library in more pleasant way
|
||||||
* [TelegramBotAPI Util Extensions](TelegramBotAPI-extensions-utils/README.md) - contains extensions for more comfortable
|
* [TelegramBotAPI Util Extensions](tgbotapi.extensions.utils/README.md) - contains extensions for more comfortable
|
||||||
work with commands, updates and other different things
|
work with commands, updates and other different things
|
||||||
|
* [TelegramBotAPI](tgbotapi/README.md) - concentration of all previously mentioned libraries
|
||||||
|
|
||||||
Most part of some specific solves or unuseful
|
Most part of some specific solves or unuseful
|
||||||
moments are describing by official [Telegram Bot API](https://core.telegram.org/bots/api).
|
moments are describing by official [Telegram Bot API](https://core.telegram.org/bots/api).
|
||||||
|
|
||||||
## JavaScript notes
|
## JavaScript notes
|
||||||
|
|
||||||
|
### Versions before `0.28.0`
|
||||||
|
|
||||||
In case if you are want to use this library inside of browser, you will need additional settings (thanks for help to [Alexander Nozik](https://research.jetbrains.org/researchers/altavir)):
|
In case if you are want to use this library inside of browser, you will need additional settings (thanks for help to [Alexander Nozik](https://research.jetbrains.org/researchers/altavir)):
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>Gradle build script help</summary>
|
<summary>Gradle build script help (for versions before 0.28.0)</summary>
|
||||||
|
|
||||||
```groovy
|
```groovy
|
||||||
dependencies {
|
dependencies {
|
||||||
@@ -62,15 +72,66 @@ kotlin {
|
|||||||
|
|
||||||
## Ok, where should I start?
|
## Ok, where should I start?
|
||||||
|
|
||||||
In most cases, the most simple way will be to implement
|

|
||||||
[TelegramBotAPI Extensions](TelegramBotAPI-extensions-api/README.md) and
|
|
||||||
[TelegramBotAPI Util Extensions](TelegramBotAPI-extensions-utils/README.md) for the reason that they contains more
|
In most cases, the most simple way will be to implement [TelegramBotAPI](TelegramBotAPI/README.md) - it contains
|
||||||
simple tools. If you want to dive deeper in the core of library or develop something for it - welcome to
|
all necessary tools for comfort usage of this library. If you want to exclude some libraries, you can implement just
|
||||||
[TelegramBotAPI](TelegramBotAPI/README.md).
|
[TelegramBotAPI API Extensions](tgbotapi.extensions.api/README.md),
|
||||||
|
[TelegramBotAPI Util Extensions](tgbotapi.extensions.utils/README.md) or even
|
||||||
|
[TelegramBotAPI Core](tgbotapi.core/README.md).
|
||||||
|
|
||||||
|
If you want to dive deeper in the core of library or develop something for it - welcome to learn more from
|
||||||
|
[TelegramBotAPI Core](tgbotapi.core/README.md) and our [Telegram Chat](https://teleg.one/InMoTelegramBotAPIChat).
|
||||||
|
|
||||||
Anyway, all libraries are very typical inside of them. Examples:
|
Anyway, all libraries are very typical inside of them. Examples:
|
||||||
|
|
||||||
* In `TelegramBotAPI` common request look like `requestsExecutor.execute(SomeRequest())`
|
* In `TelegramBotAPI` common request look like `requestsExecutor.execute(SomeRequest())`
|
||||||
* `TelegramBotAPI-extensions-api` typical syntax look like `requestsExecutor.someRequest()` (in most cases it would be
|
* `tgbotapi.extensions.api` typical syntax look like `requestsExecutor.someRequest()` (in most cases it would be
|
||||||
better to use `bot` name instead of `requestsExecutor`)
|
better to use `bot` name instead of `requestsExecutor`)
|
||||||
* `TelegramBotAPI-extensions-utils` will look like `filter.filterBaseMessageUpdates(chatId).filterExactCommands(Regex("^.*$"))...`
|
* `tgbotapi.extensions.utils` will look like `filter.filterBaseMessageUpdates(chatId).filterExactCommands(Regex("^.*$"))...`
|
||||||
|
|
||||||
|
## Build instruction
|
||||||
|
|
||||||
|
If you want to build this project or to contribute, there are several recommendations:
|
||||||
|
|
||||||
|
### Build
|
||||||
|
|
||||||
|
In case if you want to just build project, run next command:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
./gradlew clean build
|
||||||
|
```
|
||||||
|
|
||||||
|
On windows:
|
||||||
|
|
||||||
|
```
|
||||||
|
gradlew.bat clean build
|
||||||
|
```
|
||||||
|
|
||||||
|
### Publishing for work with your version locally
|
||||||
|
|
||||||
|
In case, if you want to work in your other projects using your modification (or some state) of this library,
|
||||||
|
you can use next code:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
./gradlew clean build publishToMavenLocal
|
||||||
|
```
|
||||||
|
|
||||||
|
On windows:
|
||||||
|
|
||||||
|
```
|
||||||
|
gradlew.bat clean build publishToMavenLocal
|
||||||
|
```
|
||||||
|
|
||||||
|
But you must remember, that in this case your local maven repo must be the first one from
|
||||||
|
your project retrieving libraries:
|
||||||
|
|
||||||
|
```groovy
|
||||||
|
repositories {
|
||||||
|
mavenLocal() // that must be the first one
|
||||||
|
jcenter()
|
||||||
|
mavenCentral()
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Besides, for your own version you can change variable `library_version` in the file [gradle.properties](./gradle.properties).
|
||||||
|
|||||||
@@ -1,117 +0,0 @@
|
|||||||
# TelegramBotAPI extensions
|
|
||||||
|
|
||||||
[ ](https://bintray.com/insanusmokrassar/StandardRepository/TelegramBotAPI-extensions-api/_latestVersion)
|
|
||||||
[](https://maven-badges.herokuapp.com/maven-central/com.github.insanusmokrassar/TelegramBotAPI-extensions-api)
|
|
||||||
|
|
||||||
## What is it?
|
|
||||||
|
|
||||||
It is wrapper library for [TelegramBotAPI](../TelegramBotAPI/README.md). Here you can find extensions for
|
|
||||||
`RequestsExecutor`, which are more look like Telegram Bot API requests and in the same time have more obvious signatures
|
|
||||||
to help understand some restrictions in Telegram system.
|
|
||||||
|
|
||||||
## Compatibility
|
|
||||||
|
|
||||||
This library always compatible with original `TelegramBotAPI` library version
|
|
||||||
|
|
||||||
## How to implement library?
|
|
||||||
|
|
||||||
Common ways to implement this library are presented here. In some cases it will require additional steps
|
|
||||||
like inserting of additional libraries (like `kotlin stdlib`). In the examples will be used variable
|
|
||||||
`telegrambotapi-extensions-api.version`, which must be set up by developer. Available versions are presented on
|
|
||||||
[bintray](https://bintray.com/insanusmokrassar/StandardRepository/TelegramBotAPI-extensions-api), next version is last published:
|
|
||||||
|
|
||||||
[ ](https://bintray.com/insanusmokrassar/StandardRepository/TelegramBotAPI-extensions-api/_latestVersion)
|
|
||||||
|
|
||||||
### Maven
|
|
||||||
|
|
||||||
Dependency config presented here:
|
|
||||||
|
|
||||||
```xml
|
|
||||||
<dependency>
|
|
||||||
<groupId>com.github.insanusmokrassar</groupId>
|
|
||||||
<artifactId>TelegramBotAPI-extensions-api</artifactId>
|
|
||||||
<version>${telegrambotapi-extensions-api.version}</version>
|
|
||||||
</dependency>
|
|
||||||
```
|
|
||||||
|
|
||||||
### Gradle
|
|
||||||
|
|
||||||
To use last versions you will need to add one line in repositories block of your `build.gradle`:
|
|
||||||
|
|
||||||
`jcenter()` or `mavenCentral()`
|
|
||||||
|
|
||||||
And add next line to your dependencies block:
|
|
||||||
|
|
||||||
```groovy
|
|
||||||
implementation "com.github.insanusmokrassar:TelegramBotAPI-extensions-api:$telegrambotapi_extensions_api_version"
|
|
||||||
```
|
|
||||||
|
|
||||||
or for old gradle:
|
|
||||||
|
|
||||||
```groovy
|
|
||||||
compile "com.github.insanusmokrassar:TelegramBotAPI-extensions-api:$telegrambotapi_extensions_api_version"
|
|
||||||
```
|
|
||||||
|
|
||||||
## Example of usage and comparison with `TelegramBotAPI`
|
|
||||||
|
|
||||||
Here presented review table for comparison of api from original [TelegramBotAPI](../TelegramBotAPI/README.md#Requests)
|
|
||||||
and extensions-api library:
|
|
||||||
|
|
||||||
In all examples supposed that you have created bot with next approximate lines:
|
|
||||||
|
|
||||||
```kotlin
|
|
||||||
val bot: RequestsExecutor = ...
|
|
||||||
```
|
|
||||||
|
|
||||||
| TelegramBotAPI | TelegramBotAPI-extensions-api |
|
|
||||||
|----------------|-------------------------------|
|
|
||||||
| bot.execute(GetMe) | bot.getMe() |
|
|
||||||
| bot.execute(SendTextMessage(someChatId, text)) | bot.sendTextMessage(chat, text) |
|
|
||||||
|
|
||||||
## Updates
|
|
||||||
|
|
||||||
Usually, it is more comfortable to use filter object to get separated types of updates:
|
|
||||||
|
|
||||||
```kotlin
|
|
||||||
val filter = FlowsUpdatesFilter(100)
|
|
||||||
```
|
|
||||||
|
|
||||||
In this case you will be able:
|
|
||||||
|
|
||||||
* Separate types of incoming updates (even media groups)
|
|
||||||
* Simplify launch of getting updates:
|
|
||||||
```kotlin
|
|
||||||
bot.startGettingOfUpdates(
|
|
||||||
filter,
|
|
||||||
scope = CoroutineScope(Dispatchers.Default)
|
|
||||||
)
|
|
||||||
```
|
|
||||||
* Use `filter` flows to comfortable filter, map and do other operations with the whole
|
|
||||||
getting updates process:
|
|
||||||
```kotlin
|
|
||||||
filter.messageFlow.mapNotNull {
|
|
||||||
it.data as? ContentMessage<*>
|
|
||||||
}.onEach {
|
|
||||||
println(it)
|
|
||||||
}.launchIn(
|
|
||||||
CoroutineScope(Dispatchers.Default)
|
|
||||||
)
|
|
||||||
```
|
|
||||||
|
|
||||||
### Alternative way
|
|
||||||
|
|
||||||
There is an alternative way to get updates. In fact it is almost the same, but could be more useful for some cases:
|
|
||||||
|
|
||||||
```kotlin
|
|
||||||
val filter = bot.startGettingOfUpdates(
|
|
||||||
scope = CoroutineScope(Dispatchers.Default)
|
|
||||||
) { // Here as reveiver will be FlowsUpdatesFilter
|
|
||||||
messageFlow.mapNotNull {
|
|
||||||
it.data as? ContentMessage<*>
|
|
||||||
}.onEach {
|
|
||||||
println(it)
|
|
||||||
}.launchIn(
|
|
||||||
CoroutineScope(Dispatchers.Default)
|
|
||||||
)
|
|
||||||
}
|
|
||||||
```
|
|
||||||
@@ -1,48 +0,0 @@
|
|||||||
buildscript {
|
|
||||||
repositories {
|
|
||||||
mavenLocal()
|
|
||||||
jcenter()
|
|
||||||
mavenCentral()
|
|
||||||
}
|
|
||||||
|
|
||||||
dependencies {
|
|
||||||
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
|
|
||||||
classpath "org.jetbrains.kotlin:kotlin-serialization:$kotlin_version"
|
|
||||||
classpath "com.jfrog.bintray.gradle:gradle-bintray-plugin:$gradle_bintray_plugin_version"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
plugins {
|
|
||||||
id "org.jetbrains.kotlin.multiplatform" version "$kotlin_version"
|
|
||||||
id "org.jetbrains.kotlin.plugin.serialization" version "$kotlin_version"
|
|
||||||
}
|
|
||||||
|
|
||||||
project.version = "$library_version"
|
|
||||||
project.group = "$library_group"
|
|
||||||
|
|
||||||
apply from: "publish.gradle"
|
|
||||||
|
|
||||||
repositories {
|
|
||||||
mavenLocal()
|
|
||||||
jcenter()
|
|
||||||
mavenCentral()
|
|
||||||
maven { url "https://kotlin.bintray.com/kotlinx" }
|
|
||||||
}
|
|
||||||
|
|
||||||
kotlin {
|
|
||||||
jvm()
|
|
||||||
js()
|
|
||||||
|
|
||||||
sourceSets {
|
|
||||||
commonMain {
|
|
||||||
dependencies {
|
|
||||||
implementation kotlin('stdlib')
|
|
||||||
if ((project.hasProperty('RELEASE_MODE') && project.property('RELEASE_MODE') == "true") || System.getenv('RELEASE_MODE') == "true") {
|
|
||||||
api "${project.group}:TelegramBotAPI:$library_version"
|
|
||||||
} else {
|
|
||||||
implementation project(":TelegramBotAPI")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,57 +0,0 @@
|
|||||||
apply plugin: 'maven-publish'
|
|
||||||
|
|
||||||
task javadocsJar(type: Jar) {
|
|
||||||
classifier = 'javadoc'
|
|
||||||
}
|
|
||||||
|
|
||||||
afterEvaluate {
|
|
||||||
project.publishing.publications.all {
|
|
||||||
// rename artifacts
|
|
||||||
groupId "${project.group}"
|
|
||||||
if (it.name.contains('kotlinMultiplatform')) {
|
|
||||||
artifactId = "${project.name}"
|
|
||||||
} else {
|
|
||||||
artifactId = "${project.name}-$name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
publishing {
|
|
||||||
publications.all {
|
|
||||||
artifact javadocsJar
|
|
||||||
|
|
||||||
pom.withXml {
|
|
||||||
asNode().children().last() + {
|
|
||||||
resolveStrategy = Closure.DELEGATE_FIRST
|
|
||||||
|
|
||||||
description "API extensions which provide work with RequestsExecutor of TelegramBotAPI almost like it is described in original Telegram Bot API reference"
|
|
||||||
name "Telegram Bot API Extensions for API"
|
|
||||||
url "https://insanusmokrassar.github.io/TelegramBotAPI"
|
|
||||||
|
|
||||||
scm {
|
|
||||||
developerConnection "scm:git:[fetch=]https://github.com/insanusmokrassar/TelegramBotAPI.git[push=]https://github.com/insanusmokrassar/TelegramBotAPI.git"
|
|
||||||
url "https://github.com/insanusmokrassar/TelegramBotAPI.git"
|
|
||||||
}
|
|
||||||
|
|
||||||
developers {
|
|
||||||
|
|
||||||
developer {
|
|
||||||
id "InsanusMokrassar"
|
|
||||||
name "Ovsiannikov Aleksei"
|
|
||||||
email "ovsyannikov.alexey95@gmail.com"
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
licenses {
|
|
||||||
|
|
||||||
license {
|
|
||||||
name "Apache Software License 2.0"
|
|
||||||
url "https://github.com/InsanusMokrassar/TelegramBotAPI/blob/master/LICENSE"
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
{"bintrayConfig":{"repo":"StandardRepository","packageName":"${project.name}","packageVcs":"https://github.com/InsanusMokrassar/TelegramBotAPI"},"licenses":[{"id":"Apache-2.0","title":"Apache Software License 2.0","url":"https://github.com/InsanusMokrassar/TelegramBotAPI/blob/master/LICENSE"}],"mavenConfig":{"name":"Telegram Bot API Extensions for API","description":"API extensions which provide work with RequestsExecutor of TelegramBotAPI almost like it is described in original Telegram Bot API reference","url":"https://insanusmokrassar.github.io/TelegramBotAPI","vcsUrl":"https://github.com/insanusmokrassar/TelegramBotAPI.git","developers":[{"id":"InsanusMokrassar","name":"Ovsiannikov Aleksei","eMail":"ovsyannikov.alexey95@gmail.com"}]},"type":"Multiplatform"}
|
|
||||||
@@ -1,55 +0,0 @@
|
|||||||
apply plugin: 'com.jfrog.bintray'
|
|
||||||
|
|
||||||
apply from: "maven.publish.gradle"
|
|
||||||
|
|
||||||
bintray {
|
|
||||||
user = project.hasProperty('BINTRAY_USER') ? project.property('BINTRAY_USER') : System.getenv('BINTRAY_USER')
|
|
||||||
key = project.hasProperty('BINTRAY_KEY') ? project.property('BINTRAY_KEY') : System.getenv('BINTRAY_KEY')
|
|
||||||
filesSpec {
|
|
||||||
from "${buildDir}/publications/"
|
|
||||||
eachFile {
|
|
||||||
String directorySubname = it.getFile().parentFile.name
|
|
||||||
if (it.getName() == "module.json") {
|
|
||||||
if (directorySubname == "kotlinMultiplatform") {
|
|
||||||
it.setPath("${project.name}/${project.version}/${project.name}-${project.version}.module")
|
|
||||||
} else {
|
|
||||||
it.setPath("${project.name}-${directorySubname}/${project.version}/${project.name}-${directorySubname}-${project.version}.module")
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (directorySubname == "kotlinMultiplatform" && it.getName() == "pom-default.xml") {
|
|
||||||
it.setPath("${project.name}/${project.version}/${project.name}-${project.version}.pom")
|
|
||||||
} else {
|
|
||||||
it.exclude()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
into "${project.group}".replace(".", "/")
|
|
||||||
}
|
|
||||||
pkg {
|
|
||||||
repo = "StandardRepository"
|
|
||||||
name = "${project.name}"
|
|
||||||
vcsUrl = "https://github.com/InsanusMokrassar/TelegramBotAPI"
|
|
||||||
licenses = ["Apache-2.0"]
|
|
||||||
version {
|
|
||||||
name = "${project.version}"
|
|
||||||
released = new Date()
|
|
||||||
vcsTag = "${project.version}"
|
|
||||||
gpg {
|
|
||||||
sign = true
|
|
||||||
passphrase = project.hasProperty('signing.gnupg.passphrase') ? project.property('signing.gnupg.passphrase') : System.getenv('signing.gnupg.passphrase')
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
bintrayUpload.doFirst {
|
|
||||||
publications = publishing.publications.collect {
|
|
||||||
if (it.name.contains('kotlinMultiplatform')) {
|
|
||||||
null
|
|
||||||
} else {
|
|
||||||
it.name
|
|
||||||
}
|
|
||||||
} - null
|
|
||||||
}
|
|
||||||
|
|
||||||
bintrayUpload.dependsOn publishToMavenLocal
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.DeleteMessage
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.ChatIdentifier
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.MessageIdentifier
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.chat.abstracts.Chat
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.message.abstracts.Message
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.deleteMessage(
|
|
||||||
chatId: ChatIdentifier,
|
|
||||||
messageId: MessageIdentifier
|
|
||||||
) = execute(
|
|
||||||
DeleteMessage(chatId, messageId)
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.deleteMessage(
|
|
||||||
chat: Chat,
|
|
||||||
messageId: MessageIdentifier
|
|
||||||
) = deleteMessage(chat.id, messageId)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.deleteMessage(
|
|
||||||
message: Message
|
|
||||||
) = deleteMessage(message.chat, message.messageId)
|
|
||||||
|
|
||||||
suspend fun Message.delete(
|
|
||||||
requestsExecutor: RequestsExecutor
|
|
||||||
) = requestsExecutor.deleteMessage(this)
|
|
||||||
@@ -1,50 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.ForwardMessage
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.ChatIdentifier
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.MessageIdentifier
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.chat.abstracts.Chat
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.message.abstracts.Message
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.forwardMessage(
|
|
||||||
fromChatId: ChatIdentifier,
|
|
||||||
toChatId: ChatIdentifier,
|
|
||||||
messageId: MessageIdentifier,
|
|
||||||
disableNotification: Boolean = false
|
|
||||||
) = execute(
|
|
||||||
ForwardMessage(fromChatId, toChatId, messageId, disableNotification)
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.forwardMessage(
|
|
||||||
fromChat: Chat,
|
|
||||||
toChatId: ChatIdentifier,
|
|
||||||
messageId: MessageIdentifier,
|
|
||||||
disableNotification: Boolean = false
|
|
||||||
) = forwardMessage(fromChat.id, toChatId, messageId, disableNotification)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.forwardMessage(
|
|
||||||
fromChatId: ChatIdentifier,
|
|
||||||
toChat: Chat,
|
|
||||||
messageId: MessageIdentifier,
|
|
||||||
disableNotification: Boolean = false
|
|
||||||
) = forwardMessage(fromChatId, toChat.id, messageId, disableNotification)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.forwardMessage(
|
|
||||||
fromChat: Chat,
|
|
||||||
toChat: Chat,
|
|
||||||
messageId: MessageIdentifier,
|
|
||||||
disableNotification: Boolean = false
|
|
||||||
) = forwardMessage(fromChat.id, toChat.id, messageId, disableNotification)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.forwardMessage(
|
|
||||||
toChatId: ChatIdentifier,
|
|
||||||
message: Message,
|
|
||||||
disableNotification: Boolean = false
|
|
||||||
) = forwardMessage(message.chat, toChatId, message.messageId, disableNotification)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.forwardMessage(
|
|
||||||
toChat: Chat,
|
|
||||||
message: Message,
|
|
||||||
disableNotification: Boolean = false
|
|
||||||
) = forwardMessage(message.chat, toChat, message.messageId, disableNotification)
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.extensions.api.bot.getMe
|
|
||||||
|
|
||||||
@Deprecated(
|
|
||||||
"Replaced",
|
|
||||||
ReplaceWith("getMe", "com.github.insanusmokrassar.TelegramBotAPI.extensions.api.bot.GetMeKt.getMe")
|
|
||||||
)
|
|
||||||
suspend fun RequestsExecutor.getMe() = getMe()
|
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.GetUpdates
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.*
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.update.abstracts.Update
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.getUpdates(
|
|
||||||
offset: UpdateIdentifier? = null,
|
|
||||||
limit: Int = getUpdatesLimit.last,
|
|
||||||
timeout: Seconds? = null,
|
|
||||||
allowed_updates: List<String>? = ALL_UPDATES_LIST
|
|
||||||
) = execute(
|
|
||||||
GetUpdates(
|
|
||||||
offset, limit, timeout, allowed_updates
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.getUpdates(
|
|
||||||
lastUpdate: Update,
|
|
||||||
limit: Int = getUpdatesLimit.last,
|
|
||||||
timeout: Seconds? = null,
|
|
||||||
allowed_updates: List<String>? = ALL_UPDATES_LIST
|
|
||||||
) = getUpdates(
|
|
||||||
lastUpdate.updateId + 1, limit, timeout, allowed_updates
|
|
||||||
)
|
|
||||||
@@ -1,70 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.InternalUtils
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.MediaGroupIdentifier
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.UpdateIdentifier
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.message.abstracts.MediaGroupMessage
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.update.*
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.update.MediaGroupUpdates.*
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.update.abstracts.*
|
|
||||||
|
|
||||||
internal fun Update.lastUpdateIdentifier(): UpdateIdentifier {
|
|
||||||
return if (this is SentMediaGroupUpdate) {
|
|
||||||
origins.last().updateId
|
|
||||||
} else {
|
|
||||||
updateId
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
internal fun List<Update>.lastUpdateIdentifier(): UpdateIdentifier? {
|
|
||||||
return maxBy { it.updateId } ?.lastUpdateIdentifier()
|
|
||||||
}
|
|
||||||
|
|
||||||
internal fun List<Update>.convertWithMediaGroupUpdates(): List<Update> {
|
|
||||||
val resultUpdates = mutableListOf<Update>()
|
|
||||||
val mediaGroups = mutableMapOf<MediaGroupIdentifier, MutableList<BaseSentMessageUpdate>>()
|
|
||||||
for (update in this) {
|
|
||||||
val data = (update.data as? MediaGroupMessage)
|
|
||||||
if (data == null) {
|
|
||||||
resultUpdates.add(update)
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
when (update) {
|
|
||||||
is BaseEditMessageUpdate -> resultUpdates.add(
|
|
||||||
update.toEditMediaGroupUpdate()
|
|
||||||
)
|
|
||||||
is BaseSentMessageUpdate -> {
|
|
||||||
mediaGroups.getOrPut(data.mediaGroupId) {
|
|
||||||
mutableListOf()
|
|
||||||
}.add(update)
|
|
||||||
}
|
|
||||||
else -> resultUpdates.add(update)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
mediaGroups.values.map {
|
|
||||||
it.toSentMediaGroupUpdate() ?.let { mediaGroupUpdate ->
|
|
||||||
resultUpdates.add(mediaGroupUpdate)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
resultUpdates.sortBy { it.updateId }
|
|
||||||
return resultUpdates
|
|
||||||
}
|
|
||||||
|
|
||||||
internal fun List<BaseSentMessageUpdate>.toSentMediaGroupUpdate(): SentMediaGroupUpdate? = (this as? SentMediaGroupUpdate) ?: let {
|
|
||||||
if (isEmpty()) {
|
|
||||||
return@let null
|
|
||||||
}
|
|
||||||
val resultList = sortedBy { it.updateId }
|
|
||||||
when (first()) {
|
|
||||||
is MessageUpdate -> MessageMediaGroupUpdate(resultList)
|
|
||||||
is ChannelPostUpdate -> ChannelPostMediaGroupUpdate(resultList)
|
|
||||||
else -> null
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
internal fun BaseEditMessageUpdate.toEditMediaGroupUpdate(): EditMediaGroupUpdate = (this as? EditMediaGroupUpdate) ?: let {
|
|
||||||
when (this) {
|
|
||||||
is EditMessageUpdate -> EditMessageMediaGroupUpdate(this)
|
|
||||||
is EditChannelPostUpdate -> EditChannelPostMediaGroupUpdate(this)
|
|
||||||
else -> error("Unsupported type of ${BaseEditMessageUpdate::class.simpleName}")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,135 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.extensions.api.edit.LiveLocation.editLiveLocation
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.extensions.api.edit.LiveLocation.stopLiveLocation
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.send.SendLocation
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.*
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.buttons.InlineKeyboardMarkup
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.buttons.KeyboardMarkup
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.chat.abstracts.Chat
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.message.abstracts.ContentMessage
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.message.content.LocationContent
|
|
||||||
import com.soywiz.klock.DateTime
|
|
||||||
import com.soywiz.klock.TimeSpan
|
|
||||||
import io.ktor.utils.io.core.Closeable
|
|
||||||
import kotlinx.coroutines.CoroutineScope
|
|
||||||
import kotlinx.coroutines.launch
|
|
||||||
import kotlin.math.ceil
|
|
||||||
|
|
||||||
private val livePeriodDelayMillis = (livePeriodLimit.last - 60L) * 1000L
|
|
||||||
class LiveLocation internal constructor(
|
|
||||||
private val requestsExecutor: RequestsExecutor,
|
|
||||||
scope: CoroutineScope,
|
|
||||||
autoCloseTimeDelay: Double,
|
|
||||||
initMessage: ContentMessage<LocationContent>
|
|
||||||
) : Closeable {
|
|
||||||
private val doWhenClose = {
|
|
||||||
scope.launch {
|
|
||||||
requestsExecutor.stopLiveLocation(message)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
private val autoCloseTime = DateTime.now() + TimeSpan(autoCloseTimeDelay)
|
|
||||||
val leftUntilCloseMillis: TimeSpan
|
|
||||||
get() = autoCloseTime - DateTime.now()
|
|
||||||
|
|
||||||
var isClosed: Boolean = false
|
|
||||||
private set
|
|
||||||
get() = field || leftUntilCloseMillis.millisecondsLong < 0L
|
|
||||||
|
|
||||||
private var message: ContentMessage<LocationContent> = initMessage
|
|
||||||
val lastLocation: Location
|
|
||||||
get() = message.content.location
|
|
||||||
|
|
||||||
suspend fun updateLocation(
|
|
||||||
location: Location,
|
|
||||||
replyMarkup: InlineKeyboardMarkup? = null
|
|
||||||
): Location {
|
|
||||||
if (!isClosed) {
|
|
||||||
message = requestsExecutor.editLiveLocation(
|
|
||||||
message,
|
|
||||||
location,
|
|
||||||
replyMarkup
|
|
||||||
)
|
|
||||||
return lastLocation
|
|
||||||
} else {
|
|
||||||
error("LiveLocation is closed")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun close() {
|
|
||||||
if (isClosed) {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
isClosed = true
|
|
||||||
doWhenClose()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.startLiveLocation(
|
|
||||||
scope: CoroutineScope,
|
|
||||||
chatId: ChatIdentifier,
|
|
||||||
latitude: Double,
|
|
||||||
longitude: Double,
|
|
||||||
liveTimeMillis: Long = livePeriodDelayMillis,
|
|
||||||
disableNotification: Boolean = false,
|
|
||||||
replyToMessageId: MessageIdentifier? = null,
|
|
||||||
replyMarkup: KeyboardMarkup? = null
|
|
||||||
): LiveLocation {
|
|
||||||
val liveTimeAsDouble = liveTimeMillis.toDouble()
|
|
||||||
val locationMessage = execute(
|
|
||||||
SendLocation(
|
|
||||||
chatId,
|
|
||||||
latitude,
|
|
||||||
longitude,
|
|
||||||
ceil(liveTimeAsDouble / 1000).toLong(),
|
|
||||||
disableNotification,
|
|
||||||
replyToMessageId,
|
|
||||||
replyMarkup
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
return LiveLocation(
|
|
||||||
this,
|
|
||||||
scope,
|
|
||||||
liveTimeAsDouble,
|
|
||||||
locationMessage
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.startLiveLocation(
|
|
||||||
scope: CoroutineScope,
|
|
||||||
chat: Chat,
|
|
||||||
latitude: Double,
|
|
||||||
longitude: Double,
|
|
||||||
liveTimeMillis: Long = livePeriodDelayMillis,
|
|
||||||
disableNotification: Boolean = false,
|
|
||||||
replyToMessageId: MessageIdentifier? = null,
|
|
||||||
replyMarkup: KeyboardMarkup? = null
|
|
||||||
): LiveLocation = startLiveLocation(
|
|
||||||
scope, chat.id, latitude, longitude, liveTimeMillis, disableNotification, replyToMessageId, replyMarkup
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.startLiveLocation(
|
|
||||||
scope: CoroutineScope,
|
|
||||||
chatId: ChatId,
|
|
||||||
location: Location,
|
|
||||||
liveTimeMillis: Long = livePeriodDelayMillis,
|
|
||||||
disableNotification: Boolean = false,
|
|
||||||
replyToMessageId: MessageIdentifier? = null,
|
|
||||||
replyMarkup: KeyboardMarkup? = null
|
|
||||||
): LiveLocation = startLiveLocation(
|
|
||||||
scope, chatId, location.latitude, location.longitude, liveTimeMillis, disableNotification, replyToMessageId, replyMarkup
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.startLiveLocation(
|
|
||||||
scope: CoroutineScope,
|
|
||||||
chat: Chat,
|
|
||||||
location: Location,
|
|
||||||
liveTimeMillis: Long = livePeriodDelayMillis,
|
|
||||||
disableNotification: Boolean = false,
|
|
||||||
replyToMessageId: MessageIdentifier? = null,
|
|
||||||
replyMarkup: KeyboardMarkup? = null
|
|
||||||
): LiveLocation = startLiveLocation(
|
|
||||||
scope, chat.id, location.latitude, location.longitude, liveTimeMillis, disableNotification, replyToMessageId, replyMarkup
|
|
||||||
)
|
|
||||||
@@ -1,34 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.StopPoll
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.*
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.buttons.InlineKeyboardMarkup
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.chat.abstracts.Chat
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.message.abstracts.Message
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.stopPoll(
|
|
||||||
chatId: ChatIdentifier,
|
|
||||||
messageId: MessageIdentifier,
|
|
||||||
replyMarkup: InlineKeyboardMarkup? = null
|
|
||||||
) = execute(
|
|
||||||
StopPoll(chatId, messageId, replyMarkup)
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.stopPoll(
|
|
||||||
chat: Chat,
|
|
||||||
messageId: MessageIdentifier,
|
|
||||||
replyMarkup: InlineKeyboardMarkup? = null
|
|
||||||
) = stopPoll(chat.id, messageId, replyMarkup)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.stopPoll(
|
|
||||||
chatId: ChatId,
|
|
||||||
message: Message,
|
|
||||||
replyMarkup: InlineKeyboardMarkup? = null
|
|
||||||
) = stopPoll(chatId, message.messageId, replyMarkup)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.stopPoll(
|
|
||||||
chat: Chat,
|
|
||||||
message: Message,
|
|
||||||
replyMarkup: InlineKeyboardMarkup? = null
|
|
||||||
) = stopPoll(chat.id, message.messageId, replyMarkup)
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.answers
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.answers.AnswerCallbackQuery
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.CallbackQuery.CallbackQuery
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.CallbackQueryIdentifier
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.answerCallbackQuery(
|
|
||||||
callbackQueryId: CallbackQueryIdentifier,
|
|
||||||
text: String? = null,
|
|
||||||
showAlert: Boolean? = null,
|
|
||||||
url: String? = null,
|
|
||||||
cachedTimeSeconds: Int? = null
|
|
||||||
) = execute(AnswerCallbackQuery(callbackQueryId, text, showAlert, url, cachedTimeSeconds))
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.answerCallbackQuery(
|
|
||||||
callbackQuery: CallbackQuery,
|
|
||||||
text: String? = null,
|
|
||||||
showAlert: Boolean? = null,
|
|
||||||
url: String? = null,
|
|
||||||
cachedTimeSeconds: Int? = null
|
|
||||||
) = answerCallbackQuery(callbackQuery.id, text, showAlert, url, cachedTimeSeconds)
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.answers
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.answers.AnswerInlineQuery
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.InlineQueries.InlineQueryResult.abstracts.InlineQueryResult
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.InlineQueries.abstracts.InlineQuery
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.InlineQueryIdentifier
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.answerInlineQuery(
|
|
||||||
inlineQueryID: InlineQueryIdentifier,
|
|
||||||
results: List<InlineQueryResult> = emptyList(),
|
|
||||||
cachedTime: Int? = null,
|
|
||||||
isPersonal: Boolean? = null,
|
|
||||||
nextOffset: String? = null,
|
|
||||||
switchPmText: String? = null,
|
|
||||||
switchPmParameter: String? = null
|
|
||||||
) = execute(
|
|
||||||
AnswerInlineQuery(inlineQueryID, results, cachedTime, isPersonal, nextOffset, switchPmText, switchPmParameter)
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.answerInlineQuery(
|
|
||||||
inlineQuery: InlineQuery,
|
|
||||||
results: List<InlineQueryResult> = emptyList(),
|
|
||||||
cachedTime: Int? = null,
|
|
||||||
isPersonal: Boolean? = null,
|
|
||||||
nextOffset: String? = null,
|
|
||||||
switchPmText: String? = null,
|
|
||||||
switchPmParameter: String? = null
|
|
||||||
) = answerInlineQuery(inlineQuery.id, results, cachedTime, isPersonal, nextOffset, switchPmText, switchPmParameter)
|
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.answers.payments
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.answers.payments.AnswerPreCheckoutQueryError
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.answers.payments.AnswerPreCheckoutQueryOk
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.PreCheckoutQueryId
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.payments.PreCheckoutQuery
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.answerPreCheckoutQueryOk(
|
|
||||||
id: PreCheckoutQueryId
|
|
||||||
) = execute(AnswerPreCheckoutQueryOk(id))
|
|
||||||
suspend fun RequestsExecutor.answerPreCheckoutQueryOk(
|
|
||||||
preCheckoutQuery: PreCheckoutQuery
|
|
||||||
) = answerPreCheckoutQueryOk(preCheckoutQuery.id)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.answerPreCheckoutQueryError(
|
|
||||||
id: PreCheckoutQueryId,
|
|
||||||
error: String
|
|
||||||
) = execute(AnswerPreCheckoutQueryError(id, error))
|
|
||||||
suspend fun RequestsExecutor.answerPreCheckoutQueryError(
|
|
||||||
preCheckoutQuery: PreCheckoutQuery,
|
|
||||||
error: String
|
|
||||||
) = answerPreCheckoutQueryError(preCheckoutQuery.id, error)
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.answers.payments
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.answers.payments.AnswerShippingQueryError
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.answers.payments.AnswerShippingQueryOk
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.ShippingQueryIdentifier
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.payments.ShippingOption
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.payments.ShippingQuery
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.answerShippingQueryOk(
|
|
||||||
id: ShippingQueryIdentifier,
|
|
||||||
shippingOptions: List<ShippingOption>
|
|
||||||
) = execute(AnswerShippingQueryOk(id, shippingOptions))
|
|
||||||
suspend fun RequestsExecutor.answerShippingQueryOk(
|
|
||||||
shippingQuery: ShippingQuery,
|
|
||||||
shippingOptions: List<ShippingOption>
|
|
||||||
) = answerShippingQueryOk(shippingQuery.id, shippingOptions)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.answerShippingQueryError(
|
|
||||||
id: ShippingQueryIdentifier,
|
|
||||||
error: String
|
|
||||||
) = execute(AnswerShippingQueryError(id, error))
|
|
||||||
suspend fun RequestsExecutor.answerShippingQueryError(
|
|
||||||
shippingQuery: ShippingQuery,
|
|
||||||
error: String
|
|
||||||
) = answerShippingQueryError(shippingQuery.id, error)
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.bot
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.bot.GetMe
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.getMe() = execute(GetMe)
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.bot
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.bot.GetMyCommands
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.getMyCommands() = execute(GetMyCommands)
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.bot
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.bot.SetMyCommands
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.BotCommand
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.setMyCommands(
|
|
||||||
commands: List<BotCommand>
|
|
||||||
) = execute(SetMyCommands(commands))
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.chat
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.chat.ExportChatInviteLink
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.ChatIdentifier
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.chat.abstracts.PublicChat
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.exportChatInviteLink(
|
|
||||||
chatId: ChatIdentifier
|
|
||||||
) = execute(ExportChatInviteLink(chatId))
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.exportChatInviteLink(
|
|
||||||
chat: PublicChat
|
|
||||||
) = exportChatInviteLink(chat.id)
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.chat
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.chat.LeaveChat
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.ChatIdentifier
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.chat.abstracts.PublicChat
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.leaveChat(
|
|
||||||
chatId: ChatIdentifier
|
|
||||||
) = execute(LeaveChat(chatId))
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.leaveChat(
|
|
||||||
chat: PublicChat
|
|
||||||
) = leaveChat(chat.id)
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.chat.get
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.chat.get.GetChat
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.ChatIdentifier
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.chat.abstracts.Chat
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.getChat(
|
|
||||||
chatId: ChatIdentifier
|
|
||||||
) = execute(GetChat(chatId))
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.getChat(
|
|
||||||
chat: Chat
|
|
||||||
) = getChat(chat.id)
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.chat.get
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.chat.get.GetChatAdministrators
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.ChatIdentifier
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.chat.abstracts.PublicChat
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.getChatAdministrators(
|
|
||||||
chatId: ChatIdentifier
|
|
||||||
) = execute(GetChatAdministrators(chatId))
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.getChatAdministrators(
|
|
||||||
chat: PublicChat
|
|
||||||
) = getChatAdministrators(chat.id)
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.chat.get
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.chat.get.GetChatMembersCount
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.ChatIdentifier
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.chat.abstracts.PublicChat
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.getChatMembersCount(
|
|
||||||
chatId: ChatIdentifier
|
|
||||||
) = execute(GetChatMembersCount(chatId))
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.getChatMembersCount(
|
|
||||||
chat: PublicChat
|
|
||||||
) = getChatMembersCount(chat.id)
|
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.chat.members
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.chat.members.GetChatMember
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.*
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.chat.abstracts.PublicChat
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.getChatMember(
|
|
||||||
chatId: ChatIdentifier,
|
|
||||||
userId: UserId
|
|
||||||
) = execute(GetChatMember(chatId, userId))
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.getChatMember(
|
|
||||||
chat: PublicChat,
|
|
||||||
userId: UserId
|
|
||||||
) = getChatMember(chat.id, userId)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.getChatMember(
|
|
||||||
chatId: ChatId,
|
|
||||||
user: User
|
|
||||||
) = getChatMember(chatId, user.id)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.getChatMember(
|
|
||||||
chat: PublicChat,
|
|
||||||
user: User
|
|
||||||
) = getChatMember(chat.id, user.id)
|
|
||||||
@@ -1,30 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.chat.members
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.chat.members.KickChatMember
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.*
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.chat.abstracts.PublicChat
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.kickChatMember(
|
|
||||||
chatId: ChatIdentifier,
|
|
||||||
userId: UserId,
|
|
||||||
untilDate: TelegramDate? = null
|
|
||||||
) = execute(KickChatMember(chatId, userId, untilDate))
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.kickChatMember(
|
|
||||||
chat: PublicChat,
|
|
||||||
userId: UserId,
|
|
||||||
untilDate: TelegramDate? = null
|
|
||||||
) = kickChatMember(chat.id, userId, untilDate)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.kickChatMember(
|
|
||||||
chatId: ChatId,
|
|
||||||
user: User,
|
|
||||||
untilDate: TelegramDate? = null
|
|
||||||
) = kickChatMember(chatId, user.id, untilDate)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.kickChatMember(
|
|
||||||
chat: PublicChat,
|
|
||||||
user: User,
|
|
||||||
untilDate: TelegramDate? = null
|
|
||||||
) = kickChatMember(chat.id, user.id, untilDate)
|
|
||||||
@@ -1,112 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.chat.members
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.chat.members.PromoteChatMember
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.*
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.chat.abstracts.PublicChat
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.promoteChatMember(
|
|
||||||
chatId: ChatIdentifier,
|
|
||||||
userId: UserId,
|
|
||||||
untilDate: TelegramDate? = null,
|
|
||||||
canChangeInfo: Boolean? = null,
|
|
||||||
canPostMessages: Boolean? = null,
|
|
||||||
canEditMessages: Boolean? = null,
|
|
||||||
canDeleteMessages: Boolean? = null,
|
|
||||||
canInviteUsers: Boolean? = null,
|
|
||||||
canRestrictMembers: Boolean? = null,
|
|
||||||
canPinMessages: Boolean? = null,
|
|
||||||
canPromoteMembers: Boolean? = null
|
|
||||||
) = execute(
|
|
||||||
PromoteChatMember(
|
|
||||||
chatId,
|
|
||||||
userId,
|
|
||||||
untilDate,
|
|
||||||
canChangeInfo,
|
|
||||||
canPostMessages,
|
|
||||||
canEditMessages,
|
|
||||||
canDeleteMessages,
|
|
||||||
canInviteUsers,
|
|
||||||
canRestrictMembers,
|
|
||||||
canPinMessages,
|
|
||||||
canPromoteMembers
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.promoteChatMember(
|
|
||||||
chat: PublicChat,
|
|
||||||
userId: UserId,
|
|
||||||
untilDate: TelegramDate? = null,
|
|
||||||
canChangeInfo: Boolean? = null,
|
|
||||||
canPostMessages: Boolean? = null,
|
|
||||||
canEditMessages: Boolean? = null,
|
|
||||||
canDeleteMessages: Boolean? = null,
|
|
||||||
canInviteUsers: Boolean? = null,
|
|
||||||
canRestrictMembers: Boolean? = null,
|
|
||||||
canPinMessages: Boolean? = null,
|
|
||||||
canPromoteMembers: Boolean? = null
|
|
||||||
) = promoteChatMember(
|
|
||||||
chat.id,
|
|
||||||
userId,
|
|
||||||
untilDate,
|
|
||||||
canChangeInfo,
|
|
||||||
canPostMessages,
|
|
||||||
canEditMessages,
|
|
||||||
canDeleteMessages,
|
|
||||||
canInviteUsers,
|
|
||||||
canRestrictMembers,
|
|
||||||
canPinMessages,
|
|
||||||
canPromoteMembers
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.promoteChatMember(
|
|
||||||
chatId: ChatId,
|
|
||||||
user: User,
|
|
||||||
untilDate: TelegramDate? = null,
|
|
||||||
canChangeInfo: Boolean? = null,
|
|
||||||
canPostMessages: Boolean? = null,
|
|
||||||
canEditMessages: Boolean? = null,
|
|
||||||
canDeleteMessages: Boolean? = null,
|
|
||||||
canInviteUsers: Boolean? = null,
|
|
||||||
canRestrictMembers: Boolean? = null,
|
|
||||||
canPinMessages: Boolean? = null,
|
|
||||||
canPromoteMembers: Boolean? = null
|
|
||||||
) = promoteChatMember(
|
|
||||||
chatId,
|
|
||||||
user.id,
|
|
||||||
untilDate,
|
|
||||||
canChangeInfo,
|
|
||||||
canPostMessages,
|
|
||||||
canEditMessages,
|
|
||||||
canDeleteMessages,
|
|
||||||
canInviteUsers,
|
|
||||||
canRestrictMembers,
|
|
||||||
canPinMessages,
|
|
||||||
canPromoteMembers
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.promoteChatMember(
|
|
||||||
chat: PublicChat,
|
|
||||||
user: User,
|
|
||||||
untilDate: TelegramDate? = null,
|
|
||||||
canChangeInfo: Boolean? = null,
|
|
||||||
canPostMessages: Boolean? = null,
|
|
||||||
canEditMessages: Boolean? = null,
|
|
||||||
canDeleteMessages: Boolean? = null,
|
|
||||||
canInviteUsers: Boolean? = null,
|
|
||||||
canRestrictMembers: Boolean? = null,
|
|
||||||
canPinMessages: Boolean? = null,
|
|
||||||
canPromoteMembers: Boolean? = null
|
|
||||||
) = promoteChatMember(
|
|
||||||
chat.id,
|
|
||||||
user.id,
|
|
||||||
untilDate,
|
|
||||||
canChangeInfo,
|
|
||||||
canPostMessages,
|
|
||||||
canEditMessages,
|
|
||||||
canDeleteMessages,
|
|
||||||
canInviteUsers,
|
|
||||||
canRestrictMembers,
|
|
||||||
canPinMessages,
|
|
||||||
canPromoteMembers
|
|
||||||
)
|
|
||||||
@@ -1,36 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.chat.members
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.chat.members.RestrictChatMember
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.*
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.chat.ChatPermissions
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.chat.abstracts.PublicChat
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.restrictChatMember(
|
|
||||||
chatId: ChatIdentifier,
|
|
||||||
userId: UserId,
|
|
||||||
untilDate: TelegramDate? = null,
|
|
||||||
permissions: ChatPermissions = ChatPermissions()
|
|
||||||
) = execute(RestrictChatMember(chatId, userId, untilDate, permissions))
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.restrictChatMember(
|
|
||||||
chat: PublicChat,
|
|
||||||
userId: UserId,
|
|
||||||
untilDate: TelegramDate? = null,
|
|
||||||
permissions: ChatPermissions = ChatPermissions()
|
|
||||||
) = restrictChatMember(chat.id, userId, untilDate, permissions)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.restrictChatMember(
|
|
||||||
chatId: ChatId,
|
|
||||||
user: User,
|
|
||||||
untilDate: TelegramDate? = null,
|
|
||||||
permissions: ChatPermissions = ChatPermissions()
|
|
||||||
) = restrictChatMember(chatId, user.id, untilDate, permissions)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.restrictChatMember(
|
|
||||||
chat: PublicChat,
|
|
||||||
user: User,
|
|
||||||
untilDate: TelegramDate? = null,
|
|
||||||
permissions: ChatPermissions = ChatPermissions()
|
|
||||||
) = restrictChatMember(chat.id, user.id, untilDate, permissions)
|
|
||||||
|
|
||||||
@@ -1,30 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.chat.members
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.chat.members.SetChatAdministratorCustomTitle
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.*
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.chat.abstracts.PublicChat
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.setChatAdministratorCustomTitle(
|
|
||||||
chatId: ChatId,
|
|
||||||
userId: UserId,
|
|
||||||
customTitle: String
|
|
||||||
) = execute(SetChatAdministratorCustomTitle(chatId, userId, customTitle))
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.setChatAdministratorCustomTitle(
|
|
||||||
chat: PublicChat,
|
|
||||||
userId: UserId,
|
|
||||||
customTitle: String
|
|
||||||
) = setChatAdministratorCustomTitle(chat.id, userId, customTitle)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.setChatAdministratorCustomTitle(
|
|
||||||
chatId: ChatId,
|
|
||||||
user: User,
|
|
||||||
customTitle: String
|
|
||||||
) = setChatAdministratorCustomTitle(chatId, user.id, customTitle)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.setChatAdministratorCustomTitle(
|
|
||||||
chat: PublicChat,
|
|
||||||
user: User,
|
|
||||||
customTitle: String
|
|
||||||
) = setChatAdministratorCustomTitle(chat.id, user.id, customTitle)
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.chat.members
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.chat.members.UnbanChatMember
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.*
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.chat.abstracts.PublicChat
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.unbanChatMember(
|
|
||||||
chatId: ChatIdentifier,
|
|
||||||
userId: UserId
|
|
||||||
) = execute(UnbanChatMember(chatId, userId))
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.unbanChatMember(
|
|
||||||
chat: PublicChat,
|
|
||||||
userId: UserId
|
|
||||||
) = unbanChatMember(chat.id, userId)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.unbanChatMember(
|
|
||||||
chatId: ChatId,
|
|
||||||
user: User
|
|
||||||
) = unbanChatMember(chatId, user.id)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.unbanChatMember(
|
|
||||||
chat: PublicChat,
|
|
||||||
user: User
|
|
||||||
) = unbanChatMember(chat.id, user.id)
|
|
||||||
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.chat.modify
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.chat.modify.DeleteChatPhoto
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.ChatIdentifier
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.chat.abstracts.PublicChat
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.deleteChatPhoto(
|
|
||||||
chatId: ChatIdentifier
|
|
||||||
) = execute(DeleteChatPhoto(chatId))
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.deleteChatPhoto(
|
|
||||||
chat: PublicChat
|
|
||||||
) = deleteChatPhoto(chat.id)
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.chat.modify
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.chat.modify.PinChatMessage
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.ChatIdentifier
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.MessageIdentifier
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.chat.abstracts.PublicChat
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.message.abstracts.Message
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.pinChatMessage(
|
|
||||||
chatId: ChatIdentifier,
|
|
||||||
messageId: MessageIdentifier,
|
|
||||||
disableNotification: Boolean = false
|
|
||||||
) = execute(PinChatMessage(chatId, messageId, disableNotification))
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.pinChatMessage(
|
|
||||||
chat: PublicChat,
|
|
||||||
messageId: MessageIdentifier,
|
|
||||||
disableNotification: Boolean = false
|
|
||||||
) = pinChatMessage(chat.id, messageId, disableNotification)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.pinChatMessage(
|
|
||||||
message: Message,
|
|
||||||
disableNotification: Boolean = false
|
|
||||||
) = if (message.chat is PublicChat) {
|
|
||||||
pinChatMessage(message.chat.id, message.messageId, disableNotification)
|
|
||||||
} else {
|
|
||||||
error("It is possible to pin messages only in non one-to-one chats")
|
|
||||||
}
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.chat.modify
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.chat.modify.SetChatDescription
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.ChatIdentifier
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.chat.abstracts.PublicChat
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.setChatDescription(
|
|
||||||
chatId: ChatIdentifier,
|
|
||||||
description: String
|
|
||||||
) = execute(SetChatDescription(chatId, description))
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.setChatDescription(
|
|
||||||
chat: PublicChat,
|
|
||||||
description: String
|
|
||||||
) = setChatDescription(chat.id, description)
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.chat.modify
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.chat.modify.SetChatPermissions
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.ChatIdentifier
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.chat.ChatPermissions
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.chat.abstracts.PublicChat
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.setDefaultChatMembersPermissions(
|
|
||||||
chatId: ChatIdentifier,
|
|
||||||
permissions: ChatPermissions
|
|
||||||
) = execute(SetChatPermissions(chatId, permissions))
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.setDefaultChatMembersPermissions(
|
|
||||||
chat: PublicChat,
|
|
||||||
permissions: ChatPermissions
|
|
||||||
) = setDefaultChatMembersPermissions(chat.id, permissions)
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.chat.modify
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.abstracts.MultipartFile
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.chat.modify.SetChatPhoto
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.ChatIdentifier
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.chat.abstracts.PublicChat
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.setChatPhoto(
|
|
||||||
chatId: ChatIdentifier,
|
|
||||||
photo: MultipartFile
|
|
||||||
) = execute(SetChatPhoto(chatId, photo))
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.setChatPhoto(
|
|
||||||
chat: PublicChat,
|
|
||||||
photo: MultipartFile
|
|
||||||
) = setChatPhoto(chat.id, photo)
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.chat.modify
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.chat.modify.SetChatTitle
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.ChatIdentifier
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.chat.abstracts.PublicChat
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.setChatTitle(
|
|
||||||
chatId: ChatIdentifier,
|
|
||||||
title: String
|
|
||||||
) = execute(SetChatTitle(chatId, title))
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.setChatTitle(
|
|
||||||
chat: PublicChat,
|
|
||||||
title: String
|
|
||||||
) = setChatTitle(chat.id, title)
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.chat.modify
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.chat.modify.UnpinChatMessage
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.ChatIdentifier
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.chat.abstracts.PublicChat
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.unpinChatMessage(
|
|
||||||
chatId: ChatIdentifier
|
|
||||||
) = execute(UnpinChatMessage(chatId))
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.unpinChatMessage(
|
|
||||||
chat: PublicChat
|
|
||||||
) = unpinChatMessage(chat.id)
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.chat.stickers
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.chat.stickers.DeleteChatStickerSet
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.ChatIdentifier
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.chat.abstracts.SupergroupChat
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.deleteChatStickerSet(
|
|
||||||
chatId: ChatIdentifier
|
|
||||||
) = execute(DeleteChatStickerSet(chatId))
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.deleteChatStickerSet(
|
|
||||||
chat: SupergroupChat
|
|
||||||
) = deleteChatStickerSet(chat.id)
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.chat.stickers
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.chat.stickers.SetChatStickerSet
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.ChatIdentifier
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.StickerSetName
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.chat.abstracts.SupergroupChat
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.setChatStickerSet(
|
|
||||||
chatId: ChatIdentifier,
|
|
||||||
stickerSetName: StickerSetName
|
|
||||||
) = execute(SetChatStickerSet(chatId, stickerSetName))
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.setChatStickerSet(
|
|
||||||
chat: SupergroupChat,
|
|
||||||
stickerSetName: StickerSetName
|
|
||||||
) = setChatStickerSet(chat.id, stickerSetName)
|
|
||||||
@@ -1,60 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.edit.LiveLocation
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.edit.LiveLocation.EditChatMessageLiveLocation
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.*
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.buttons.InlineKeyboardMarkup
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.chat.abstracts.Chat
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.message.abstracts.ContentMessage
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.message.content.LocationContent
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.editLiveLocation(
|
|
||||||
chatId: ChatIdentifier,
|
|
||||||
messageId: MessageIdentifier,
|
|
||||||
latitude: Double,
|
|
||||||
longitude: Double,
|
|
||||||
replyMarkup: InlineKeyboardMarkup? = null
|
|
||||||
) = execute(
|
|
||||||
EditChatMessageLiveLocation(
|
|
||||||
chatId, messageId, latitude, longitude, replyMarkup
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.editLiveLocation(
|
|
||||||
chat: Chat,
|
|
||||||
messageId: MessageIdentifier,
|
|
||||||
latitude: Double,
|
|
||||||
longitude: Double,
|
|
||||||
replyMarkup: InlineKeyboardMarkup? = null
|
|
||||||
) = editLiveLocation(chat.id, messageId, latitude, longitude, replyMarkup)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.editLiveLocation(
|
|
||||||
message: ContentMessage<LocationContent>,
|
|
||||||
latitude: Double,
|
|
||||||
longitude: Double,
|
|
||||||
replyMarkup: InlineKeyboardMarkup? = null
|
|
||||||
) = editLiveLocation(message.chat, message.messageId, latitude, longitude, replyMarkup)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.editLiveLocation(
|
|
||||||
chatId: ChatIdentifier,
|
|
||||||
messageId: MessageIdentifier,
|
|
||||||
location: Location,
|
|
||||||
replyMarkup: InlineKeyboardMarkup? = null
|
|
||||||
) = execute(
|
|
||||||
EditChatMessageLiveLocation(
|
|
||||||
chatId, messageId, location.latitude, location.longitude, replyMarkup
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.editLiveLocation(
|
|
||||||
chat: Chat,
|
|
||||||
messageId: MessageIdentifier,
|
|
||||||
location: Location,
|
|
||||||
replyMarkup: InlineKeyboardMarkup? = null
|
|
||||||
) = editLiveLocation(chat.id, messageId, location.latitude, location.longitude, replyMarkup)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.editLiveLocation(
|
|
||||||
message: ContentMessage<LocationContent>,
|
|
||||||
location: Location,
|
|
||||||
replyMarkup: InlineKeyboardMarkup? = null
|
|
||||||
) = editLiveLocation(message.chat, message.messageId, location.latitude, location.longitude, replyMarkup)
|
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.edit.LiveLocation
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.edit.LiveLocation.EditInlineMessageLiveLocation
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.InlineMessageIdentifier
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.Location
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.buttons.InlineKeyboardMarkup
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.editLiveLocation(
|
|
||||||
inlineMessageId: InlineMessageIdentifier,
|
|
||||||
latitude: Double,
|
|
||||||
longitude: Double,
|
|
||||||
replyMarkup: InlineKeyboardMarkup? = null
|
|
||||||
) = execute(
|
|
||||||
EditInlineMessageLiveLocation(
|
|
||||||
inlineMessageId, latitude, longitude, replyMarkup
|
|
||||||
)
|
|
||||||
)
|
|
||||||
suspend fun RequestsExecutor.editLiveLocation(
|
|
||||||
inlineMessageId: InlineMessageIdentifier,
|
|
||||||
location: Location,
|
|
||||||
replyMarkup: InlineKeyboardMarkup? = null
|
|
||||||
) = editLiveLocation(inlineMessageId, location.latitude, location.longitude, replyMarkup)
|
|
||||||
@@ -1,31 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.edit.LiveLocation
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.edit.LiveLocation.StopChatMessageLiveLocation
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.ChatIdentifier
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.MessageIdentifier
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.buttons.InlineKeyboardMarkup
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.chat.abstracts.Chat
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.message.abstracts.ContentMessage
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.message.content.LocationContent
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.stopLiveLocation(
|
|
||||||
chatId: ChatIdentifier,
|
|
||||||
messageId: MessageIdentifier,
|
|
||||||
replyMarkup: InlineKeyboardMarkup? = null
|
|
||||||
) = execute(
|
|
||||||
StopChatMessageLiveLocation(
|
|
||||||
chatId, messageId, replyMarkup
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.stopLiveLocation(
|
|
||||||
chat: Chat,
|
|
||||||
messageId: MessageIdentifier,
|
|
||||||
replyMarkup: InlineKeyboardMarkup? = null
|
|
||||||
) = stopLiveLocation(chat.id, messageId, replyMarkup)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.stopLiveLocation(
|
|
||||||
message: ContentMessage<LocationContent>,
|
|
||||||
replyMarkup: InlineKeyboardMarkup? = null
|
|
||||||
) = stopLiveLocation(message.chat, message.messageId, replyMarkup)
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.edit.LiveLocation
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.edit.LiveLocation.StopInlineMessageLiveLocation
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.InlineMessageIdentifier
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.buttons.InlineKeyboardMarkup
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.stopLiveLocation(
|
|
||||||
inlineMessageId: InlineMessageIdentifier,
|
|
||||||
replyMarkup: InlineKeyboardMarkup? = null
|
|
||||||
) = execute(
|
|
||||||
StopInlineMessageLiveLocation(
|
|
||||||
inlineMessageId, replyMarkup
|
|
||||||
)
|
|
||||||
)
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.edit.ReplyMarkup
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.edit.ReplyMarkup.EditChatMessageReplyMarkup
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.ChatIdentifier
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.MessageIdentifier
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.buttons.InlineKeyboardMarkup
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.chat.abstracts.Chat
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.message.abstracts.Message
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.editMessageReplyMarkup(
|
|
||||||
chatId: ChatIdentifier,
|
|
||||||
messageId: MessageIdentifier,
|
|
||||||
replyMarkup: InlineKeyboardMarkup? = null
|
|
||||||
) = execute(
|
|
||||||
EditChatMessageReplyMarkup(chatId, messageId, replyMarkup)
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.editMessageReplyMarkup(
|
|
||||||
chat: Chat,
|
|
||||||
messageId: MessageIdentifier,
|
|
||||||
replyMarkup: InlineKeyboardMarkup? = null
|
|
||||||
) = editMessageReplyMarkup(chat.id, messageId, replyMarkup)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.editMessageReplyMarkup(
|
|
||||||
message: Message,
|
|
||||||
replyMarkup: InlineKeyboardMarkup? = null
|
|
||||||
) = editMessageReplyMarkup(message.chat.id, message.messageId, replyMarkup)
|
|
||||||
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.edit.ReplyMarkup
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.edit.ReplyMarkup.EditInlineMessageReplyMarkup
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.InlineMessageIdentifier
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.buttons.InlineKeyboardMarkup
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.editMessageReplyMarkup(
|
|
||||||
inlineMessageId: InlineMessageIdentifier,
|
|
||||||
replyMarkup: InlineKeyboardMarkup? = null
|
|
||||||
) = execute(EditInlineMessageReplyMarkup(inlineMessageId, replyMarkup))
|
|
||||||
@@ -1,39 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.edit.caption
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.CommonAbstracts.CaptionedInput
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.edit.caption.EditChatMessageCaption
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.ChatIdentifier
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.MessageIdentifier
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.ParseMode.ParseMode
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.buttons.InlineKeyboardMarkup
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.chat.abstracts.Chat
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.message.abstracts.ContentMessage
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.message.content.abstracts.MediaContent
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.editMessageCaption(
|
|
||||||
chatId: ChatIdentifier,
|
|
||||||
messageId: MessageIdentifier,
|
|
||||||
text: String,
|
|
||||||
parseMode: ParseMode? = null,
|
|
||||||
replyMarkup: InlineKeyboardMarkup? = null
|
|
||||||
) = execute(
|
|
||||||
EditChatMessageCaption(chatId, messageId, text, parseMode, replyMarkup)
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.editMessageCaption(
|
|
||||||
chat: Chat,
|
|
||||||
messageId: MessageIdentifier,
|
|
||||||
text: String,
|
|
||||||
parseMode: ParseMode? = null,
|
|
||||||
replyMarkup: InlineKeyboardMarkup? = null
|
|
||||||
) = editMessageCaption(chat.id, messageId, text, parseMode, replyMarkup)
|
|
||||||
|
|
||||||
suspend fun <T> RequestsExecutor.editMessageCaption(
|
|
||||||
message: ContentMessage<T>,
|
|
||||||
text: String,
|
|
||||||
parseMode: ParseMode? = null,
|
|
||||||
replyMarkup: InlineKeyboardMarkup? = null
|
|
||||||
): ContentMessage<MediaContent> where T : CaptionedInput, T : MediaContent {
|
|
||||||
return editMessageCaption(message.chat.id, message.messageId, text, parseMode, replyMarkup)
|
|
||||||
}
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.edit.caption
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.edit.caption.EditInlineMessageCaption
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.InlineMessageIdentifier
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.ParseMode.ParseMode
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.buttons.InlineKeyboardMarkup
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.editMessageCaption(
|
|
||||||
inlineMessageId: InlineMessageIdentifier,
|
|
||||||
text: String,
|
|
||||||
parseMode: ParseMode? = null,
|
|
||||||
replyMarkup: InlineKeyboardMarkup? = null
|
|
||||||
) = execute(EditInlineMessageCaption(inlineMessageId, text, parseMode, replyMarkup))
|
|
||||||
@@ -1,33 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.edit.media
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.edit.media.EditChatMessageMedia
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.ChatIdentifier
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.InputMedia.InputMedia
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.MessageIdentifier
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.buttons.InlineKeyboardMarkup
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.chat.abstracts.Chat
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.message.abstracts.ContentMessage
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.message.content.abstracts.MediaContent
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.editMessageMedia(
|
|
||||||
chatId: ChatIdentifier,
|
|
||||||
messageId: MessageIdentifier,
|
|
||||||
media: InputMedia,
|
|
||||||
replyMarkup: InlineKeyboardMarkup? = null
|
|
||||||
) = execute(
|
|
||||||
EditChatMessageMedia(chatId, messageId, media, replyMarkup)
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.editMessageMedia(
|
|
||||||
chat: Chat,
|
|
||||||
messageId: MessageIdentifier,
|
|
||||||
media: InputMedia,
|
|
||||||
replyMarkup: InlineKeyboardMarkup? = null
|
|
||||||
) = editMessageMedia(chat.id, messageId, media, replyMarkup)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.editMessageMedia(
|
|
||||||
message: ContentMessage<out MediaContent>,
|
|
||||||
media: InputMedia,
|
|
||||||
replyMarkup: InlineKeyboardMarkup? = null
|
|
||||||
) = editMessageMedia(message.chat.id, message.messageId, media, replyMarkup)
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.edit.media
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.edit.media.EditInlineMessageMedia
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.InlineMessageIdentifier
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.InputMedia.InputMedia
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.buttons.InlineKeyboardMarkup
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.editMessageCaption(
|
|
||||||
inlineMessageId: InlineMessageIdentifier,
|
|
||||||
media: InputMedia,
|
|
||||||
replyMarkup: InlineKeyboardMarkup? = null
|
|
||||||
) = execute(EditInlineMessageMedia(inlineMessageId, media, replyMarkup))
|
|
||||||
@@ -1,39 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.edit.text
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.edit.text.EditChatMessageText
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.ChatIdentifier
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.MessageIdentifier
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.ParseMode.ParseMode
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.buttons.InlineKeyboardMarkup
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.chat.abstracts.Chat
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.message.abstracts.ContentMessage
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.message.content.TextContent
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.editMessageText(
|
|
||||||
chatId: ChatIdentifier,
|
|
||||||
messageId: MessageIdentifier,
|
|
||||||
text: String,
|
|
||||||
parseMode: ParseMode? = null,
|
|
||||||
disableWebPagePreview: Boolean? = null,
|
|
||||||
replyMarkup: InlineKeyboardMarkup? = null
|
|
||||||
) = execute(
|
|
||||||
EditChatMessageText(chatId, messageId, text, parseMode, disableWebPagePreview, replyMarkup)
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.editMessageText(
|
|
||||||
chat: Chat,
|
|
||||||
messageId: MessageIdentifier,
|
|
||||||
text: String,
|
|
||||||
parseMode: ParseMode? = null,
|
|
||||||
disableWebPagePreview: Boolean? = null,
|
|
||||||
replyMarkup: InlineKeyboardMarkup? = null
|
|
||||||
) = editMessageText(chat.id, messageId, text, parseMode, disableWebPagePreview, replyMarkup)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.editMessageText(
|
|
||||||
message: ContentMessage<TextContent>,
|
|
||||||
text: String,
|
|
||||||
parseMode: ParseMode? = null,
|
|
||||||
disableWebPagePreview: Boolean? = null,
|
|
||||||
replyMarkup: InlineKeyboardMarkup? = null
|
|
||||||
) = editMessageText(message.chat.id, message.messageId, text, parseMode, disableWebPagePreview, replyMarkup)
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.edit.text
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.edit.text.EditInlineMessageText
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.InlineMessageIdentifier
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.ParseMode.ParseMode
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.buttons.InlineKeyboardMarkup
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.editMessageText(
|
|
||||||
inlineMessageId: InlineMessageIdentifier,
|
|
||||||
text: String,
|
|
||||||
parseMode: ParseMode? = null,
|
|
||||||
disableWebPagePreview: Boolean? = null,
|
|
||||||
replyMarkup: InlineKeyboardMarkup? = null
|
|
||||||
) = execute(EditInlineMessageText(inlineMessageId, text, parseMode, disableWebPagePreview, replyMarkup))
|
|
||||||
@@ -1,54 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.games
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.games.GetGameHighScoresByChat
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.*
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.chat.abstracts.Chat
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.message.abstracts.ContentMessage
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.message.content.GameContent
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.getGameScore(
|
|
||||||
userId: UserId,
|
|
||||||
chatId: ChatId,
|
|
||||||
messageId: MessageIdentifier
|
|
||||||
) = execute(
|
|
||||||
GetGameHighScoresByChat(userId, chatId, messageId)
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.getGameScore(
|
|
||||||
user: CommonUser,
|
|
||||||
chatId: ChatId,
|
|
||||||
messageId: MessageIdentifier
|
|
||||||
) = getGameScore(
|
|
||||||
user.id, chatId, messageId
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.getGameScore(
|
|
||||||
userId: UserId,
|
|
||||||
chat: Chat,
|
|
||||||
messageId: MessageIdentifier
|
|
||||||
) = getGameScore(
|
|
||||||
userId, chat.id, messageId
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.getGameScore(
|
|
||||||
user: CommonUser,
|
|
||||||
chat: Chat,
|
|
||||||
messageId: MessageIdentifier
|
|
||||||
) = getGameScore(
|
|
||||||
user.id, chat.id, messageId
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.getGameScore(
|
|
||||||
userId: UserId,
|
|
||||||
message: ContentMessage<GameContent>
|
|
||||||
) = getGameScore(
|
|
||||||
userId, message.chat.id, message.messageId
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.getGameScore(
|
|
||||||
user: CommonUser,
|
|
||||||
message: ContentMessage<GameContent>
|
|
||||||
) = getGameScore(
|
|
||||||
user.id, message.chat.id, message.messageId
|
|
||||||
)
|
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.games
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.games.GetGameHighScoresByInlineMessageId
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.*
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.getGameScore(
|
|
||||||
userId: UserId,
|
|
||||||
inlineMessageId: InlineMessageIdentifier
|
|
||||||
) = execute(
|
|
||||||
GetGameHighScoresByInlineMessageId(
|
|
||||||
userId, inlineMessageId
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.getGameScore(
|
|
||||||
user: CommonUser,
|
|
||||||
inlineMessageId: InlineMessageIdentifier
|
|
||||||
) = getGameScore(user.id, inlineMessageId)
|
|
||||||
@@ -1,72 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.games
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.games.SetGameScoreByChatId
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.*
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.chat.abstracts.Chat
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.message.abstracts.ContentMessage
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.message.content.GameContent
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.setGameScore(
|
|
||||||
userId: UserId,
|
|
||||||
score: Long,
|
|
||||||
chatId: ChatId,
|
|
||||||
messageId: MessageIdentifier,
|
|
||||||
force: Boolean = false,
|
|
||||||
disableEditMessage: Boolean = false
|
|
||||||
) = execute(
|
|
||||||
SetGameScoreByChatId(userId, score, chatId, messageId, force, disableEditMessage)
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.setGameScore(
|
|
||||||
user: CommonUser,
|
|
||||||
score: Long,
|
|
||||||
chatId: ChatId,
|
|
||||||
messageId: MessageIdentifier,
|
|
||||||
force: Boolean = false,
|
|
||||||
disableEditMessage: Boolean = false
|
|
||||||
) = setGameScore(
|
|
||||||
user.id, score, chatId, messageId, force, disableEditMessage
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.setGameScore(
|
|
||||||
userId: UserId,
|
|
||||||
score: Long,
|
|
||||||
chat: Chat,
|
|
||||||
messageId: MessageIdentifier,
|
|
||||||
force: Boolean = false,
|
|
||||||
disableEditMessage: Boolean = false
|
|
||||||
) = setGameScore(
|
|
||||||
userId, score, chat.id, messageId, force, disableEditMessage
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.setGameScore(
|
|
||||||
user: CommonUser,
|
|
||||||
score: Long,
|
|
||||||
chat: Chat,
|
|
||||||
messageId: MessageIdentifier,
|
|
||||||
force: Boolean = false,
|
|
||||||
disableEditMessage: Boolean = false
|
|
||||||
) = setGameScore(
|
|
||||||
user.id, score, chat.id, messageId, force, disableEditMessage
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.setGameScore(
|
|
||||||
userId: UserId,
|
|
||||||
score: Long,
|
|
||||||
message: ContentMessage<GameContent>,
|
|
||||||
force: Boolean = false,
|
|
||||||
disableEditMessage: Boolean = false
|
|
||||||
) = setGameScore(
|
|
||||||
userId, score, message.chat.id, message.messageId, force, disableEditMessage
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.setGameScore(
|
|
||||||
user: CommonUser,
|
|
||||||
score: Long,
|
|
||||||
message: ContentMessage<GameContent>,
|
|
||||||
force: Boolean = false,
|
|
||||||
disableEditMessage: Boolean = false
|
|
||||||
) = setGameScore(
|
|
||||||
user.id, score, message.chat.id, message.messageId, force, disableEditMessage
|
|
||||||
)
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.games
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.games.SetGameScoreByInlineMessageId
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.*
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.setGameScore(
|
|
||||||
userId: UserId,
|
|
||||||
score: Long,
|
|
||||||
inlineMessageId: InlineMessageIdentifier,
|
|
||||||
force: Boolean = false,
|
|
||||||
disableEditMessage: Boolean = false
|
|
||||||
) = execute(
|
|
||||||
SetGameScoreByInlineMessageId(
|
|
||||||
userId, score, inlineMessageId, force, disableEditMessage
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.setGameScore(
|
|
||||||
user: CommonUser,
|
|
||||||
score: Long,
|
|
||||||
inlineMessageId: InlineMessageIdentifier,
|
|
||||||
force: Boolean = false,
|
|
||||||
disableEditMessage: Boolean = false
|
|
||||||
) = setGameScore(user.id, score, inlineMessageId, force, disableEditMessage)
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.get
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.abstracts.FileId
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.get.GetFile
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.files.abstracts.TelegramMediaFile
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.getFileAdditionalInfo(
|
|
||||||
fileId: FileId
|
|
||||||
) = execute(
|
|
||||||
GetFile(fileId)
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.getFileAdditionalInfo(
|
|
||||||
file: TelegramMediaFile
|
|
||||||
) = getFileAdditionalInfo(file.fileId)
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.get
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.get.GetStickerSet
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.files.Sticker
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.getStickerSet(
|
|
||||||
name: String
|
|
||||||
) = execute(
|
|
||||||
GetStickerSet(name)
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.getStickerSet(
|
|
||||||
sticker: Sticker
|
|
||||||
) = getStickerSet(
|
|
||||||
sticker.stickerSetName ?: error("Sticker must contains stickerSetName to be correctly used in getStickerSet method")
|
|
||||||
)
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.get
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.get.GetUserProfilePhotos
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.CommonUser
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.UserId
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.getUserProfilePhotos(
|
|
||||||
userId: UserId,
|
|
||||||
offset: Int? = null,
|
|
||||||
limit: Int? = null
|
|
||||||
) = execute(
|
|
||||||
GetUserProfilePhotos(
|
|
||||||
userId, offset, limit
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.getUserProfilePhotos(
|
|
||||||
user: CommonUser,
|
|
||||||
offset: Int? = null,
|
|
||||||
limit: Int? = null
|
|
||||||
) = getUserProfilePhotos(user.id, offset, limit)
|
|
||||||
@@ -1,102 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.send
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.send.SendAction
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.ChatIdentifier
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.actions.*
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.chat.abstracts.Chat
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.sendBotAction(
|
|
||||||
chatId: ChatIdentifier,
|
|
||||||
action: BotAction
|
|
||||||
) = execute(
|
|
||||||
SendAction(chatId, action)
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.sendBotAction(
|
|
||||||
chat: Chat,
|
|
||||||
action: BotAction
|
|
||||||
) = sendBotAction(chat.id, action)
|
|
||||||
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.sendActionTyping(
|
|
||||||
chatId: ChatIdentifier
|
|
||||||
) = sendBotAction(chatId, TypingAction)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.sendActionUploadPhoto(
|
|
||||||
chatId: ChatIdentifier
|
|
||||||
) = sendBotAction(chatId, UploadPhotoAction)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.sendActionRecordVideo(
|
|
||||||
chatId: ChatIdentifier
|
|
||||||
) = sendBotAction(chatId, RecordVideoAction)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.sendActionUploadVideo(
|
|
||||||
chatId: ChatIdentifier
|
|
||||||
) = sendBotAction(chatId, UploadVideoAction)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.sendActionRecordAudio(
|
|
||||||
chatId: ChatIdentifier
|
|
||||||
) = sendBotAction(chatId, RecordAudioAction)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.sendActionUploadAudio(
|
|
||||||
chatId: ChatIdentifier
|
|
||||||
) = sendBotAction(chatId, UploadAudioAction)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.sendActionUploadDocument(
|
|
||||||
chatId: ChatIdentifier
|
|
||||||
) = sendBotAction(chatId, UploadDocumentAction)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.sendActionFindLocation(
|
|
||||||
chatId: ChatIdentifier
|
|
||||||
) = sendBotAction(chatId, FindLocationAction)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.sendActionRecordVideoNote(
|
|
||||||
chatId: ChatIdentifier
|
|
||||||
) = sendBotAction(chatId, RecordVideoNoteAction)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.sendActionUploadVideoNote(
|
|
||||||
chatId: ChatIdentifier
|
|
||||||
) = sendBotAction(chatId, UploadVideoNoteAction)
|
|
||||||
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.sendActionTyping(
|
|
||||||
chat: Chat
|
|
||||||
) = sendBotAction(chat, TypingAction)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.sendActionUploadPhoto(
|
|
||||||
chat: Chat
|
|
||||||
) = sendBotAction(chat, UploadPhotoAction)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.sendActionRecordVideo(
|
|
||||||
chat: Chat
|
|
||||||
) = sendBotAction(chat, RecordVideoAction)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.sendActionUploadVideo(
|
|
||||||
chat: Chat
|
|
||||||
) = sendBotAction(chat, UploadVideoAction)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.sendActionRecordAudio(
|
|
||||||
chat: Chat
|
|
||||||
) = sendBotAction(chat, RecordAudioAction)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.sendActionUploadAudio(
|
|
||||||
chat: Chat
|
|
||||||
) = sendBotAction(chat, UploadAudioAction)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.sendActionUploadDocument(
|
|
||||||
chat: Chat
|
|
||||||
) = sendBotAction(chat, UploadDocumentAction)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.sendActionFindLocation(
|
|
||||||
chat: Chat
|
|
||||||
) = sendBotAction(chat, FindLocationAction)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.sendActionRecordVideoNote(
|
|
||||||
chat: Chat
|
|
||||||
) = sendBotAction(chat, RecordVideoNoteAction)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.sendActionUploadVideoNote(
|
|
||||||
chat: Chat
|
|
||||||
) = sendBotAction(chat, UploadVideoNoteAction)
|
|
||||||
|
|
||||||
@@ -1,55 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.send
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.send.SendContact
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.*
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.buttons.KeyboardMarkup
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.chat.abstracts.Chat
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.sendContact(
|
|
||||||
chatId: ChatIdentifier,
|
|
||||||
phoneNumber: String,
|
|
||||||
firstName: String,
|
|
||||||
lastName: String? = null,
|
|
||||||
disableNotification: Boolean = false,
|
|
||||||
replyToMessageId: MessageIdentifier? = null,
|
|
||||||
replyMarkup: KeyboardMarkup? = null
|
|
||||||
) = execute(
|
|
||||||
SendContact(
|
|
||||||
chatId, phoneNumber, firstName, lastName, disableNotification, replyToMessageId, replyMarkup
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.sendContact(
|
|
||||||
chatId: ChatIdentifier,
|
|
||||||
contact: Contact,
|
|
||||||
disableNotification: Boolean = false,
|
|
||||||
replyToMessageId: MessageIdentifier? = null,
|
|
||||||
replyMarkup: KeyboardMarkup? = null
|
|
||||||
) = execute(
|
|
||||||
SendContact(
|
|
||||||
chatId, contact, disableNotification, replyToMessageId, replyMarkup
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.sendContact(
|
|
||||||
chat: Chat,
|
|
||||||
phoneNumber: String,
|
|
||||||
firstName: String,
|
|
||||||
lastName: String? = null,
|
|
||||||
disableNotification: Boolean = false,
|
|
||||||
replyToMessageId: MessageIdentifier? = null,
|
|
||||||
replyMarkup: KeyboardMarkup? = null
|
|
||||||
) = sendContact(
|
|
||||||
chat.id, phoneNumber, firstName, lastName, disableNotification, replyToMessageId, replyMarkup
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.sendContact(
|
|
||||||
chat: Chat,
|
|
||||||
contact: Contact,
|
|
||||||
disableNotification: Boolean = false,
|
|
||||||
replyToMessageId: MessageIdentifier? = null,
|
|
||||||
replyMarkup: KeyboardMarkup? = null
|
|
||||||
) = sendContact(
|
|
||||||
chat.id, contact, disableNotification, replyToMessageId, replyMarkup
|
|
||||||
)
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.send
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.send.SendDice
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.ChatIdentifier
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.MessageIdentifier
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.buttons.KeyboardMarkup
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.chat.abstracts.Chat
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.dice.DiceAnimationType
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.sendDice(
|
|
||||||
chatId: ChatIdentifier,
|
|
||||||
animationType: DiceAnimationType? = null,
|
|
||||||
disableNotification: Boolean = false,
|
|
||||||
replyToMessageId: MessageIdentifier? = null,
|
|
||||||
replyMarkup: KeyboardMarkup? = null
|
|
||||||
) = execute(
|
|
||||||
SendDice(chatId, animationType, disableNotification, replyToMessageId, replyMarkup)
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.sendDice(
|
|
||||||
chat: Chat,
|
|
||||||
animationType: DiceAnimationType? = null,
|
|
||||||
disableNotification: Boolean = false,
|
|
||||||
replyToMessageId: MessageIdentifier? = null,
|
|
||||||
replyMarkup: KeyboardMarkup? = null
|
|
||||||
) = sendDice(chat.id, animationType, disableNotification, replyToMessageId, replyMarkup)
|
|
||||||
@@ -1,71 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.send
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.send.SendLocation
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.*
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.buttons.KeyboardMarkup
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.chat.abstracts.Chat
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.sendLocation(
|
|
||||||
chatId: ChatIdentifier,
|
|
||||||
latitude: Double,
|
|
||||||
longitude: Double,
|
|
||||||
disableNotification: Boolean = false,
|
|
||||||
replyToMessageId: MessageIdentifier? = null,
|
|
||||||
replyMarkup: KeyboardMarkup? = null
|
|
||||||
) = execute(
|
|
||||||
SendLocation(
|
|
||||||
chatId,
|
|
||||||
latitude,
|
|
||||||
longitude,
|
|
||||||
disableNotification = disableNotification,
|
|
||||||
replyToMessageId = replyToMessageId,
|
|
||||||
replyMarkup = replyMarkup
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.sendLocation(
|
|
||||||
chatId: ChatIdentifier,
|
|
||||||
location: Location,
|
|
||||||
disableNotification: Boolean = false,
|
|
||||||
replyToMessageId: MessageIdentifier? = null,
|
|
||||||
replyMarkup: KeyboardMarkup? = null
|
|
||||||
) = sendLocation(
|
|
||||||
chatId,
|
|
||||||
location.latitude,
|
|
||||||
location.longitude,
|
|
||||||
disableNotification,
|
|
||||||
replyToMessageId,
|
|
||||||
replyMarkup
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.sendLocation(
|
|
||||||
chat: Chat,
|
|
||||||
latitude: Double,
|
|
||||||
longitude: Double,
|
|
||||||
disableNotification: Boolean = false,
|
|
||||||
replyToMessageId: MessageIdentifier? = null,
|
|
||||||
replyMarkup: KeyboardMarkup? = null
|
|
||||||
) = sendLocation(
|
|
||||||
chat.id,
|
|
||||||
latitude,
|
|
||||||
longitude,
|
|
||||||
disableNotification,
|
|
||||||
replyToMessageId,
|
|
||||||
replyMarkup
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.sendLocation(
|
|
||||||
chat: Chat,
|
|
||||||
location: Location,
|
|
||||||
disableNotification: Boolean = false,
|
|
||||||
replyToMessageId: MessageIdentifier? = null,
|
|
||||||
replyMarkup: KeyboardMarkup? = null
|
|
||||||
) = sendLocation(
|
|
||||||
chat.id,
|
|
||||||
location.latitude,
|
|
||||||
location.longitude,
|
|
||||||
disableNotification,
|
|
||||||
replyToMessageId,
|
|
||||||
replyMarkup
|
|
||||||
)
|
|
||||||
@@ -1,54 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.send
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.send.SendTextMessage
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.ChatIdentifier
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.MessageIdentifier
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.ParseMode.ParseMode
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.buttons.KeyboardMarkup
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.chat.abstracts.Chat
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.sendMessage(
|
|
||||||
chatId: ChatIdentifier,
|
|
||||||
text: String,
|
|
||||||
parseMode: ParseMode? = null,
|
|
||||||
disableWebPagePreview: Boolean? = null,
|
|
||||||
disableNotification: Boolean = false,
|
|
||||||
replyToMessageId: MessageIdentifier? = null,
|
|
||||||
replyMarkup: KeyboardMarkup? = null
|
|
||||||
) = execute(
|
|
||||||
SendTextMessage(chatId, text, parseMode, disableWebPagePreview, disableNotification, replyToMessageId, replyMarkup)
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.sendTextMessage(
|
|
||||||
chatId: ChatIdentifier,
|
|
||||||
text: String,
|
|
||||||
parseMode: ParseMode? = null,
|
|
||||||
disableWebPagePreview: Boolean? = null,
|
|
||||||
disableNotification: Boolean = false,
|
|
||||||
replyToMessageId: MessageIdentifier? = null,
|
|
||||||
replyMarkup: KeyboardMarkup? = null
|
|
||||||
) = sendMessage(
|
|
||||||
chatId, text, parseMode, disableWebPagePreview, disableNotification, replyToMessageId, replyMarkup
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.sendMessage(
|
|
||||||
chat: Chat,
|
|
||||||
text: String,
|
|
||||||
parseMode: ParseMode? = null,
|
|
||||||
disableWebPagePreview: Boolean? = null,
|
|
||||||
disableNotification: Boolean = false,
|
|
||||||
replyToMessageId: MessageIdentifier? = null,
|
|
||||||
replyMarkup: KeyboardMarkup? = null
|
|
||||||
) = sendMessage(chat.id, text, parseMode, disableWebPagePreview, disableNotification, replyToMessageId, replyMarkup)
|
|
||||||
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.sendTextMessage(
|
|
||||||
chat: Chat,
|
|
||||||
text: String,
|
|
||||||
parseMode: ParseMode? = null,
|
|
||||||
disableWebPagePreview: Boolean? = null,
|
|
||||||
disableNotification: Boolean = false,
|
|
||||||
replyToMessageId: MessageIdentifier? = null,
|
|
||||||
replyMarkup: KeyboardMarkup? = null
|
|
||||||
) = sendTextMessage(chat.id, text, parseMode, disableWebPagePreview, disableNotification, replyToMessageId, replyMarkup)
|
|
||||||
@@ -1,59 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.send
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.send.SendVenue
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.*
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.buttons.KeyboardMarkup
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.chat.abstracts.Chat
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.sendVenue(
|
|
||||||
chatId: ChatIdentifier,
|
|
||||||
latitude: Double,
|
|
||||||
longitude: Double,
|
|
||||||
title: String,
|
|
||||||
address: String,
|
|
||||||
foursquareId: String? = null,
|
|
||||||
disableNotification: Boolean = false,
|
|
||||||
replyToMessageId: MessageIdentifier? = null,
|
|
||||||
replyMarkup: KeyboardMarkup? = null
|
|
||||||
) = execute(
|
|
||||||
SendVenue(
|
|
||||||
chatId, latitude, longitude, title, address, foursquareId, disableNotification, replyToMessageId, replyMarkup
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.sendVenue(
|
|
||||||
chat: Chat,
|
|
||||||
latitude: Double,
|
|
||||||
longitude: Double,
|
|
||||||
title: String,
|
|
||||||
address: String,
|
|
||||||
foursquareId: String? = null,
|
|
||||||
disableNotification: Boolean = false,
|
|
||||||
replyToMessageId: MessageIdentifier? = null,
|
|
||||||
replyMarkup: KeyboardMarkup? = null
|
|
||||||
) = sendVenue(
|
|
||||||
chat.id, latitude, longitude, title, address, foursquareId, disableNotification, replyToMessageId, replyMarkup
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.sendVenue(
|
|
||||||
chatId: ChatIdentifier,
|
|
||||||
venue: Venue,
|
|
||||||
disableNotification: Boolean = false,
|
|
||||||
replyToMessageId: MessageIdentifier? = null,
|
|
||||||
replyMarkup: KeyboardMarkup? = null
|
|
||||||
) = execute(
|
|
||||||
SendVenue(
|
|
||||||
chatId, venue, disableNotification, replyToMessageId, replyMarkup
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.sendVenue(
|
|
||||||
chat: Chat,
|
|
||||||
venue: Venue,
|
|
||||||
disableNotification: Boolean = false,
|
|
||||||
replyToMessageId: MessageIdentifier? = null,
|
|
||||||
replyMarkup: KeyboardMarkup? = null
|
|
||||||
) = sendVenue(
|
|
||||||
chat.id, venue, disableNotification, replyToMessageId, replyMarkup
|
|
||||||
)
|
|
||||||
@@ -1,51 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.send.games
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.send.games.SendGame
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.ChatIdentifier
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.MessageIdentifier
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.buttons.KeyboardMarkup
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.chat.abstracts.Chat
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.games.Game
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.sendGame(
|
|
||||||
chatId: ChatIdentifier,
|
|
||||||
gameShortName: String,
|
|
||||||
disableNotification: Boolean = false,
|
|
||||||
replyToMessageId: MessageIdentifier? = null,
|
|
||||||
replyMarkup: KeyboardMarkup? = null
|
|
||||||
) = execute(
|
|
||||||
SendGame(
|
|
||||||
chatId, gameShortName, disableNotification, replyToMessageId, replyMarkup
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.sendGame(
|
|
||||||
chat: Chat,
|
|
||||||
gameShortName: String,
|
|
||||||
disableNotification: Boolean = false,
|
|
||||||
replyToMessageId: MessageIdentifier? = null,
|
|
||||||
replyMarkup: KeyboardMarkup? = null
|
|
||||||
) = sendGame(
|
|
||||||
chat.id, gameShortName, disableNotification, replyToMessageId, replyMarkup
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.sendGame(
|
|
||||||
chatId: ChatIdentifier,
|
|
||||||
game: Game,
|
|
||||||
disableNotification: Boolean = false,
|
|
||||||
replyToMessageId: MessageIdentifier? = null,
|
|
||||||
replyMarkup: KeyboardMarkup? = null
|
|
||||||
) = sendGame(
|
|
||||||
chatId, game.title, disableNotification, replyToMessageId, replyMarkup
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.sendGame(
|
|
||||||
chat: Chat,
|
|
||||||
game: Game,
|
|
||||||
disableNotification: Boolean = false,
|
|
||||||
replyToMessageId: MessageIdentifier? = null,
|
|
||||||
replyMarkup: KeyboardMarkup? = null
|
|
||||||
) = sendGame(
|
|
||||||
chat.id, game.title, disableNotification, replyToMessageId, replyMarkup
|
|
||||||
)
|
|
||||||
@@ -1,54 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.send.media
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.abstracts.InputFile
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.send.media.SendAnimation
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.ChatIdentifier
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.MessageIdentifier
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.ParseMode.ParseMode
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.buttons.KeyboardMarkup
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.files.AnimationFile
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.sendAnimation(
|
|
||||||
chatId: ChatIdentifier,
|
|
||||||
animation: InputFile,
|
|
||||||
thumb: InputFile? = null,
|
|
||||||
text: String? = null,
|
|
||||||
parseMode: ParseMode? = null,
|
|
||||||
duration: Long? = null,
|
|
||||||
width: Int? = null,
|
|
||||||
height: Int? = null,
|
|
||||||
disableNotification: Boolean = false,
|
|
||||||
replyToMessageId: MessageIdentifier? = null,
|
|
||||||
replyMarkup: KeyboardMarkup? = null
|
|
||||||
) = execute(
|
|
||||||
SendAnimation(
|
|
||||||
chatId,
|
|
||||||
animation,
|
|
||||||
thumb,
|
|
||||||
text,
|
|
||||||
parseMode,
|
|
||||||
duration,
|
|
||||||
width,
|
|
||||||
height,
|
|
||||||
disableNotification,
|
|
||||||
replyToMessageId,
|
|
||||||
replyMarkup
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.sendAnimation(
|
|
||||||
chatId: ChatIdentifier,
|
|
||||||
animation: AnimationFile,
|
|
||||||
text: String? = null,
|
|
||||||
parseMode: ParseMode? = null,
|
|
||||||
duration: Long? = null,
|
|
||||||
width: Int? = null,
|
|
||||||
height: Int? = null,
|
|
||||||
disableNotification: Boolean = false,
|
|
||||||
replyToMessageId: MessageIdentifier? = null,
|
|
||||||
replyMarkup: KeyboardMarkup? = null
|
|
||||||
) = sendAnimation(
|
|
||||||
chatId, animation.fileId, animation.thumb ?.fileId, text, parseMode, duration, width, height, disableNotification, replyToMessageId, replyMarkup
|
|
||||||
)
|
|
||||||
|
|
||||||
@@ -1,51 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.send.media
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.abstracts.InputFile
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.send.media.SendAudio
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.ChatIdentifier
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.MessageIdentifier
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.ParseMode.ParseMode
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.buttons.KeyboardMarkup
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.files.AudioFile
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.sendAudio(
|
|
||||||
chatId: ChatIdentifier,
|
|
||||||
audio: InputFile,
|
|
||||||
thumb: InputFile? = null,
|
|
||||||
text: String? = null,
|
|
||||||
parseMode: ParseMode? = null,
|
|
||||||
duration: Long? = null,
|
|
||||||
performer: String? = null,
|
|
||||||
title: String? = null,
|
|
||||||
disableNotification: Boolean = false,
|
|
||||||
replyToMessageId: MessageIdentifier? = null,
|
|
||||||
replyMarkup: KeyboardMarkup? = null
|
|
||||||
) = execute(
|
|
||||||
SendAudio(
|
|
||||||
chatId,
|
|
||||||
audio,
|
|
||||||
thumb,
|
|
||||||
text,
|
|
||||||
parseMode,
|
|
||||||
duration,
|
|
||||||
performer,
|
|
||||||
title,
|
|
||||||
disableNotification,
|
|
||||||
replyToMessageId,
|
|
||||||
replyMarkup
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.sendAudio(
|
|
||||||
chatId: ChatIdentifier,
|
|
||||||
audio: AudioFile,
|
|
||||||
text: String? = null,
|
|
||||||
parseMode: ParseMode? = null,
|
|
||||||
title: String? = audio.title,
|
|
||||||
disableNotification: Boolean = false,
|
|
||||||
replyToMessageId: MessageIdentifier? = null,
|
|
||||||
replyMarkup: KeyboardMarkup? = null
|
|
||||||
) = sendAudio(
|
|
||||||
chatId, audio.fileId, audio.thumb ?.fileId, text, parseMode, audio.duration, audio.performer, title, disableNotification, replyToMessageId, replyMarkup
|
|
||||||
)
|
|
||||||
@@ -1,44 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.send.media
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.abstracts.InputFile
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.send.media.SendDocument
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.ChatIdentifier
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.MessageIdentifier
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.ParseMode.ParseMode
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.buttons.KeyboardMarkup
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.files.DocumentFile
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.sendDocument(
|
|
||||||
chatId: ChatIdentifier,
|
|
||||||
document: InputFile,
|
|
||||||
thumb: InputFile? = null,
|
|
||||||
text: String? = null,
|
|
||||||
parseMode: ParseMode? = null,
|
|
||||||
disableNotification: Boolean = false,
|
|
||||||
replyToMessageId: MessageIdentifier? = null,
|
|
||||||
replyMarkup: KeyboardMarkup? = null
|
|
||||||
) = execute(
|
|
||||||
SendDocument(
|
|
||||||
chatId,
|
|
||||||
document,
|
|
||||||
thumb,
|
|
||||||
text,
|
|
||||||
parseMode,
|
|
||||||
disableNotification,
|
|
||||||
replyToMessageId,
|
|
||||||
replyMarkup
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.sendDocument(
|
|
||||||
chatId: ChatIdentifier,
|
|
||||||
document: DocumentFile,
|
|
||||||
text: String? = null,
|
|
||||||
parseMode: ParseMode? = null,
|
|
||||||
disableNotification: Boolean = false,
|
|
||||||
replyToMessageId: MessageIdentifier? = null,
|
|
||||||
replyMarkup: KeyboardMarkup? = null
|
|
||||||
) = sendDocument(
|
|
||||||
chatId, document.fileId, document.thumb ?.fileId, text, parseMode, disableNotification, replyToMessageId, replyMarkup
|
|
||||||
)
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.send.media
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.send.media.SendMediaGroup
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.ChatIdentifier
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.InputMedia.MediaGroupMemberInputMedia
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.MessageIdentifier
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.chat.abstracts.Chat
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.sendMediaGroup(
|
|
||||||
chatId: ChatIdentifier,
|
|
||||||
media: List<MediaGroupMemberInputMedia>,
|
|
||||||
disableNotification: Boolean = false,
|
|
||||||
replyToMessageId: MessageIdentifier? = null
|
|
||||||
) = execute(
|
|
||||||
SendMediaGroup(
|
|
||||||
chatId, media, disableNotification, replyToMessageId
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.sendMediaGroup(
|
|
||||||
chat: Chat,
|
|
||||||
media: List<MediaGroupMemberInputMedia>,
|
|
||||||
disableNotification: Boolean = false,
|
|
||||||
replyToMessageId: MessageIdentifier? = null
|
|
||||||
) = sendMediaGroup(
|
|
||||||
chat.id, media, disableNotification, replyToMessageId
|
|
||||||
)
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.send.media
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.abstracts.InputFile
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.send.media.SendPhoto
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.ChatIdentifier
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.MessageIdentifier
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.ParseMode.ParseMode
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.buttons.KeyboardMarkup
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.sendPhoto(
|
|
||||||
chatId: ChatIdentifier,
|
|
||||||
fileId: InputFile,
|
|
||||||
caption: String? = null,
|
|
||||||
parseMode: ParseMode? = null,
|
|
||||||
disableNotification: Boolean = false,
|
|
||||||
replyToMessageId: MessageIdentifier? = null,
|
|
||||||
replyMarkup: KeyboardMarkup? = null
|
|
||||||
) = execute(
|
|
||||||
SendPhoto(
|
|
||||||
chatId,
|
|
||||||
fileId,
|
|
||||||
caption,
|
|
||||||
parseMode,
|
|
||||||
disableNotification,
|
|
||||||
replyToMessageId,
|
|
||||||
replyMarkup
|
|
||||||
)
|
|
||||||
)
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.send.media
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.abstracts.InputFile
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.send.media.SendSticker
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.ChatIdentifier
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.MessageIdentifier
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.buttons.KeyboardMarkup
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.sendSticker(
|
|
||||||
chatId: ChatIdentifier,
|
|
||||||
sticker: InputFile,
|
|
||||||
disableNotification: Boolean = false,
|
|
||||||
replyToMessageId: MessageIdentifier? = null,
|
|
||||||
replyMarkup: KeyboardMarkup? = null
|
|
||||||
) = execute(
|
|
||||||
SendSticker(chatId, sticker, disableNotification, replyToMessageId, replyMarkup)
|
|
||||||
)
|
|
||||||
@@ -1,51 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.send.media
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.abstracts.InputFile
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.send.media.SendVideo
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.ChatIdentifier
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.MessageIdentifier
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.ParseMode.ParseMode
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.buttons.KeyboardMarkup
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.files.VideoFile
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.sendVideo(
|
|
||||||
chatId: ChatIdentifier,
|
|
||||||
video: InputFile,
|
|
||||||
thumb: InputFile? = null,
|
|
||||||
text: String? = null,
|
|
||||||
parseMode: ParseMode? = null,
|
|
||||||
duration: Long? = null,
|
|
||||||
width: Int? = null,
|
|
||||||
height: Int? = null,
|
|
||||||
disableNotification: Boolean = false,
|
|
||||||
replyToMessageId: MessageIdentifier? = null,
|
|
||||||
replyMarkup: KeyboardMarkup? = null
|
|
||||||
) = execute(
|
|
||||||
SendVideo(
|
|
||||||
chatId,
|
|
||||||
video,
|
|
||||||
thumb,
|
|
||||||
text,
|
|
||||||
parseMode,
|
|
||||||
duration,
|
|
||||||
width,
|
|
||||||
height,
|
|
||||||
null,
|
|
||||||
disableNotification,
|
|
||||||
replyToMessageId,
|
|
||||||
replyMarkup
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.sendVideo(
|
|
||||||
chatId: ChatIdentifier,
|
|
||||||
video: VideoFile,
|
|
||||||
text: String? = null,
|
|
||||||
parseMode: ParseMode? = null,
|
|
||||||
disableNotification: Boolean = false,
|
|
||||||
replyToMessageId: MessageIdentifier? = null,
|
|
||||||
replyMarkup: KeyboardMarkup? = null
|
|
||||||
) = sendVideo(
|
|
||||||
chatId, video.fileId, video.thumb ?.fileId, text, parseMode, video.duration, video.width, video.height, disableNotification, replyToMessageId, replyMarkup
|
|
||||||
)
|
|
||||||
@@ -1,48 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.send.media
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.abstracts.InputFile
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.send.media.SendVideoNote
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.ChatIdentifier
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.MessageIdentifier
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.ParseMode.ParseMode
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.buttons.KeyboardMarkup
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.files.VideoFile
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.sendVideoNote(
|
|
||||||
chatId: ChatIdentifier,
|
|
||||||
videoNote: InputFile,
|
|
||||||
thumb: InputFile? = null,
|
|
||||||
text: String? = null,
|
|
||||||
parseMode: ParseMode? = null,
|
|
||||||
duration: Long? = null,
|
|
||||||
size: Int? = null,
|
|
||||||
disableNotification: Boolean = false,
|
|
||||||
replyToMessageId: MessageIdentifier? = null,
|
|
||||||
replyMarkup: KeyboardMarkup? = null
|
|
||||||
) = execute(
|
|
||||||
SendVideoNote(
|
|
||||||
chatId,
|
|
||||||
videoNote,
|
|
||||||
thumb,
|
|
||||||
text,
|
|
||||||
parseMode,
|
|
||||||
duration,
|
|
||||||
size,
|
|
||||||
disableNotification,
|
|
||||||
replyToMessageId,
|
|
||||||
replyMarkup
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.sendVideoNote(
|
|
||||||
chatId: ChatIdentifier,
|
|
||||||
videoNote: VideoFile,
|
|
||||||
text: String? = null,
|
|
||||||
parseMode: ParseMode? = null,
|
|
||||||
disableNotification: Boolean = false,
|
|
||||||
replyToMessageId: MessageIdentifier? = null,
|
|
||||||
replyMarkup: KeyboardMarkup? = null
|
|
||||||
) = sendVideoNote(
|
|
||||||
chatId, videoNote.fileId, videoNote.thumb ?.fileId, text, parseMode, videoNote.duration, videoNote.width, disableNotification, replyToMessageId, replyMarkup
|
|
||||||
)
|
|
||||||
@@ -1,46 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.send.media
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.abstracts.InputFile
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.send.media.SendVoice
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.ChatIdentifier
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.MessageIdentifier
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.ParseMode.ParseMode
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.buttons.KeyboardMarkup
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.files.AudioFile
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.sendVoice(
|
|
||||||
chatId: ChatIdentifier,
|
|
||||||
voice: InputFile,
|
|
||||||
thumb: InputFile? = null,
|
|
||||||
text: String? = null,
|
|
||||||
parseMode: ParseMode? = null,
|
|
||||||
duration: Long? = null,
|
|
||||||
disableNotification: Boolean = false,
|
|
||||||
replyToMessageId: MessageIdentifier? = null,
|
|
||||||
replyMarkup: KeyboardMarkup? = null
|
|
||||||
) = execute(
|
|
||||||
SendVoice(
|
|
||||||
chatId,
|
|
||||||
voice,
|
|
||||||
thumb,
|
|
||||||
text,
|
|
||||||
parseMode,
|
|
||||||
duration,
|
|
||||||
disableNotification,
|
|
||||||
replyToMessageId,
|
|
||||||
replyMarkup
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.sendVoice(
|
|
||||||
chatId: ChatIdentifier,
|
|
||||||
voice: AudioFile,
|
|
||||||
text: String? = null,
|
|
||||||
parseMode: ParseMode? = null,
|
|
||||||
disableNotification: Boolean = false,
|
|
||||||
replyToMessageId: MessageIdentifier? = null,
|
|
||||||
replyMarkup: KeyboardMarkup? = null
|
|
||||||
) = sendVoice(
|
|
||||||
chatId, voice.fileId, voice.thumb ?.fileId, text, parseMode, voice.duration, disableNotification, replyToMessageId, replyMarkup
|
|
||||||
)
|
|
||||||
@@ -1,54 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.send.payments
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.send.payments.SendInvoice
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.*
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.buttons.InlineKeyboardMarkup
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.payments.LabeledPrice
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.payments.abstracts.Currency
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.sendInvoice(
|
|
||||||
chatId: ChatId,
|
|
||||||
title: String,
|
|
||||||
description: String,
|
|
||||||
payload: String,
|
|
||||||
providerToken: String,
|
|
||||||
startParameter: StartParameter,
|
|
||||||
currency: Currency,
|
|
||||||
prices: List<LabeledPrice>,
|
|
||||||
providerData: String? = null,
|
|
||||||
requireName: Boolean = false,
|
|
||||||
requirePhoneNumber: Boolean = false,
|
|
||||||
requireEmail: Boolean = false,
|
|
||||||
requireShippingAddress: Boolean = false,
|
|
||||||
shouldSendPhoneNumberToProvider: Boolean = false,
|
|
||||||
shouldSendEmailToProvider: Boolean = false,
|
|
||||||
priceDependOnShipAddress: Boolean = false,
|
|
||||||
disableNotification: Boolean = false,
|
|
||||||
replyToMessageId: MessageIdentifier? = null,
|
|
||||||
replyMarkup: InlineKeyboardMarkup? = null
|
|
||||||
) = execute(
|
|
||||||
SendInvoice(chatId, title, description, payload, providerToken, startParameter, currency, prices, providerData, requireName, requirePhoneNumber, requireEmail, requireShippingAddress, shouldSendPhoneNumberToProvider, shouldSendEmailToProvider, priceDependOnShipAddress, disableNotification, replyToMessageId, replyMarkup)
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.sendInvoice(
|
|
||||||
user: CommonUser,
|
|
||||||
title: String,
|
|
||||||
description: String,
|
|
||||||
payload: String,
|
|
||||||
providerToken: String,
|
|
||||||
startParameter: StartParameter,
|
|
||||||
currency: Currency,
|
|
||||||
prices: List<LabeledPrice>,
|
|
||||||
providerData: String? = null,
|
|
||||||
requireName: Boolean = false,
|
|
||||||
requirePhoneNumber: Boolean = false,
|
|
||||||
requireEmail: Boolean = false,
|
|
||||||
requireShippingAddress: Boolean = false,
|
|
||||||
shouldSendPhoneNumberToProvider: Boolean = false,
|
|
||||||
shouldSendEmailToProvider: Boolean = false,
|
|
||||||
priceDependOnShipAddress: Boolean = false,
|
|
||||||
disableNotification: Boolean = false,
|
|
||||||
replyToMessageId: MessageIdentifier? = null,
|
|
||||||
replyMarkup: InlineKeyboardMarkup? = null
|
|
||||||
) = sendInvoice(user.id, title, description, payload, providerToken, startParameter, currency, prices, providerData, requireName, requirePhoneNumber, requireEmail, requireShippingAddress, shouldSendPhoneNumberToProvider, shouldSendEmailToProvider, priceDependOnShipAddress, disableNotification, replyToMessageId, replyMarkup)
|
|
||||||
@@ -1,151 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.send.polls
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.send.polls.SendQuizPoll
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.send.polls.SendRegularPoll
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.ChatIdentifier
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.MessageIdentifier
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.ParseMode.ParseMode
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.buttons.KeyboardMarkup
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.chat.abstracts.Chat
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.polls.*
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.sendRegularPoll(
|
|
||||||
chatId: ChatIdentifier,
|
|
||||||
question: String,
|
|
||||||
options: List<String>,
|
|
||||||
isAnonymous: Boolean = true,
|
|
||||||
isClosed: Boolean = false,
|
|
||||||
allowMultipleAnswers: Boolean = false,
|
|
||||||
closeInfo: ScheduledCloseInfo? = null,
|
|
||||||
disableNotification: Boolean = false,
|
|
||||||
replyToMessageId: MessageIdentifier? = null,
|
|
||||||
replyMarkup: KeyboardMarkup? = null
|
|
||||||
) = execute(
|
|
||||||
SendRegularPoll(
|
|
||||||
chatId, question, options, isAnonymous, isClosed, allowMultipleAnswers, closeInfo, disableNotification, replyToMessageId, replyMarkup
|
|
||||||
)
|
|
||||||
)
|
|
||||||
suspend fun RequestsExecutor.sendRegularPoll(
|
|
||||||
chatId: ChatIdentifier,
|
|
||||||
poll: RegularPoll,
|
|
||||||
isClosed: Boolean = false,
|
|
||||||
question: String = poll.question,
|
|
||||||
options: List<String> = poll.options.map { it.text },
|
|
||||||
isAnonymous: Boolean = poll.isAnonymous,
|
|
||||||
allowMultipleAnswers: Boolean = poll.allowMultipleAnswers,
|
|
||||||
closeInfo: ScheduledCloseInfo? = null,
|
|
||||||
disableNotification: Boolean = false,
|
|
||||||
replyToMessageId: MessageIdentifier? = null,
|
|
||||||
replyMarkup: KeyboardMarkup? = null
|
|
||||||
) = execute(
|
|
||||||
SendRegularPoll(
|
|
||||||
chatId, question, options, isAnonymous, isClosed, allowMultipleAnswers, closeInfo, disableNotification, replyToMessageId, replyMarkup
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.sendRegularPoll(
|
|
||||||
chat: Chat,
|
|
||||||
question: String,
|
|
||||||
options: List<String>,
|
|
||||||
isAnonymous: Boolean = true,
|
|
||||||
isClosed: Boolean = false,
|
|
||||||
allowMultipleAnswers: Boolean = false,
|
|
||||||
closeInfo: ScheduledCloseInfo? = null,
|
|
||||||
disableNotification: Boolean = false,
|
|
||||||
replyToMessageId: MessageIdentifier? = null,
|
|
||||||
replyMarkup: KeyboardMarkup? = null
|
|
||||||
) = sendRegularPoll(
|
|
||||||
chat.id, question, options, isAnonymous, isClosed, allowMultipleAnswers, closeInfo, disableNotification, replyToMessageId, replyMarkup
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.sendRegularPoll(
|
|
||||||
chat: Chat,
|
|
||||||
poll: RegularPoll,
|
|
||||||
isClosed: Boolean = false,
|
|
||||||
question: String = poll.question,
|
|
||||||
options: List<String> = poll.options.map { it.text },
|
|
||||||
isAnonymous: Boolean = poll.isAnonymous,
|
|
||||||
allowMultipleAnswers: Boolean = poll.allowMultipleAnswers,
|
|
||||||
closeInfo: ScheduledCloseInfo? = null,
|
|
||||||
disableNotification: Boolean = false,
|
|
||||||
replyToMessageId: MessageIdentifier? = null,
|
|
||||||
replyMarkup: KeyboardMarkup? = null
|
|
||||||
) = sendRegularPoll(
|
|
||||||
chat.id, question, options, isAnonymous, isClosed, allowMultipleAnswers, closeInfo, disableNotification, replyToMessageId, replyMarkup
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.sendQuizPoll(
|
|
||||||
chatId: ChatIdentifier,
|
|
||||||
question: String,
|
|
||||||
options: List<String>,
|
|
||||||
correctOptionId: Int,
|
|
||||||
isAnonymous: Boolean = true,
|
|
||||||
isClosed: Boolean = false,
|
|
||||||
explanation: String? = null,
|
|
||||||
parseMode: ParseMode? = null,
|
|
||||||
closeInfo: ScheduledCloseInfo? = null,
|
|
||||||
disableNotification: Boolean = false,
|
|
||||||
replyToMessageId: MessageIdentifier? = null,
|
|
||||||
replyMarkup: KeyboardMarkup? = null
|
|
||||||
) = execute(
|
|
||||||
SendQuizPoll(
|
|
||||||
chatId, question, options, correctOptionId, isAnonymous, isClosed, explanation, parseMode, closeInfo, disableNotification, replyToMessageId, replyMarkup
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.sendQuizPoll(
|
|
||||||
chat: Chat,
|
|
||||||
question: String,
|
|
||||||
options: List<String>,
|
|
||||||
correctOptionId: Int,
|
|
||||||
isAnonymous: Boolean = true,
|
|
||||||
isClosed: Boolean = false,
|
|
||||||
explanation: String? = null,
|
|
||||||
parseMode: ParseMode? = null,
|
|
||||||
closeInfo: ScheduledCloseInfo? = null,
|
|
||||||
disableNotification: Boolean = false,
|
|
||||||
replyToMessageId: MessageIdentifier? = null,
|
|
||||||
replyMarkup: KeyboardMarkup? = null
|
|
||||||
) = sendQuizPoll(
|
|
||||||
chat.id, question, options, correctOptionId, isAnonymous, isClosed, explanation, parseMode, closeInfo, disableNotification, replyToMessageId, replyMarkup
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.sendQuizPoll(
|
|
||||||
chatId: ChatIdentifier,
|
|
||||||
isClosed: Boolean = false,
|
|
||||||
quizPoll: QuizPoll,
|
|
||||||
question: String = quizPoll.question,
|
|
||||||
options: List<String> = quizPoll.options.map { it.text },
|
|
||||||
correctOptionId: Int = quizPoll.correctOptionId ?: error("Correct option ID must be provided by income QuizPoll or by developer"),
|
|
||||||
isAnonymous: Boolean = quizPoll.isAnonymous,
|
|
||||||
explanation: String? = null,
|
|
||||||
parseMode: ParseMode? = null,
|
|
||||||
closeInfo: ScheduledCloseInfo? = null,
|
|
||||||
disableNotification: Boolean = false,
|
|
||||||
replyToMessageId: MessageIdentifier? = null,
|
|
||||||
replyMarkup: KeyboardMarkup? = null
|
|
||||||
) = execute(
|
|
||||||
SendQuizPoll(
|
|
||||||
chatId, question, options, correctOptionId, isAnonymous, isClosed, explanation, parseMode, closeInfo, disableNotification, replyToMessageId, replyMarkup
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.sendQuizPoll(
|
|
||||||
chat: Chat,
|
|
||||||
isClosed: Boolean = false,
|
|
||||||
quizPoll: QuizPoll,
|
|
||||||
question: String = quizPoll.question,
|
|
||||||
options: List<String> = quizPoll.options.map { it.text },
|
|
||||||
correctOptionId: Int = quizPoll.correctOptionId ?: error("Correct option ID must be provided by income QuizPoll or by developer"),
|
|
||||||
isAnonymous: Boolean = quizPoll.isAnonymous,
|
|
||||||
explanation: String? = null,
|
|
||||||
parseMode: ParseMode? = null,
|
|
||||||
closeInfo: ScheduledCloseInfo? = null,
|
|
||||||
disableNotification: Boolean = false,
|
|
||||||
replyToMessageId: MessageIdentifier? = null,
|
|
||||||
replyMarkup: KeyboardMarkup? = null
|
|
||||||
) = sendQuizPoll(
|
|
||||||
chat.id, question, options, correctOptionId, isAnonymous, isClosed, explanation, parseMode, closeInfo, disableNotification, replyToMessageId, replyMarkup
|
|
||||||
)
|
|
||||||
@@ -1,90 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.stickers
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.abstracts.FileId
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.abstracts.MultipartFile
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.stickers.AddAnimatedStickerToSet
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.CommonUser
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.UserId
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.stickers.MaskPosition
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.stickers.StickerSet
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.addAnimatedStickerToSet(
|
|
||||||
userId: UserId,
|
|
||||||
stickerSetName: String,
|
|
||||||
sticker: FileId,
|
|
||||||
emojis: String,
|
|
||||||
maskPosition: MaskPosition? = null
|
|
||||||
) = execute(
|
|
||||||
AddAnimatedStickerToSet(userId, stickerSetName, sticker, emojis, maskPosition)
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.addAnimatedStickerToSet(
|
|
||||||
userId: UserId,
|
|
||||||
stickerSetName: String,
|
|
||||||
sticker: MultipartFile,
|
|
||||||
emojis: String,
|
|
||||||
maskPosition: MaskPosition? = null
|
|
||||||
) = execute(
|
|
||||||
AddAnimatedStickerToSet(userId, stickerSetName, sticker, emojis, maskPosition)
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.addAnimatedStickerToSet(
|
|
||||||
user: CommonUser,
|
|
||||||
stickerSetName: String,
|
|
||||||
sticker: FileId,
|
|
||||||
emojis: String,
|
|
||||||
maskPosition: MaskPosition? = null
|
|
||||||
) = addAnimatedStickerToSet(
|
|
||||||
user.id, stickerSetName, sticker, emojis, maskPosition
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.addAnimatedStickerToSet(
|
|
||||||
user: CommonUser,
|
|
||||||
stickerSetName: String,
|
|
||||||
sticker: MultipartFile,
|
|
||||||
emojis: String,
|
|
||||||
maskPosition: MaskPosition? = null
|
|
||||||
) = addAnimatedStickerToSet(
|
|
||||||
user.id, stickerSetName, sticker, emojis, maskPosition
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.addAnimatedStickerToSet(
|
|
||||||
userId: UserId,
|
|
||||||
stickerSet: StickerSet,
|
|
||||||
sticker: FileId,
|
|
||||||
emojis: String,
|
|
||||||
maskPosition: MaskPosition? = null
|
|
||||||
) = addAnimatedStickerToSet(
|
|
||||||
userId, stickerSet.name, sticker, emojis, maskPosition
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.addAnimatedStickerToSet(
|
|
||||||
userId: UserId,
|
|
||||||
stickerSet: StickerSet,
|
|
||||||
sticker: MultipartFile,
|
|
||||||
emojis: String,
|
|
||||||
maskPosition: MaskPosition? = null
|
|
||||||
) = addAnimatedStickerToSet(
|
|
||||||
userId, stickerSet.name, sticker, emojis, maskPosition
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.addAnimatedStickerToSet(
|
|
||||||
user: CommonUser,
|
|
||||||
stickerSet: StickerSet,
|
|
||||||
sticker: FileId,
|
|
||||||
emojis: String,
|
|
||||||
maskPosition: MaskPosition? = null
|
|
||||||
) = addAnimatedStickerToSet(
|
|
||||||
user.id, stickerSet.name, sticker, emojis, maskPosition
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.addAnimatedStickerToSet(
|
|
||||||
user: CommonUser,
|
|
||||||
stickerSet: StickerSet,
|
|
||||||
sticker: MultipartFile,
|
|
||||||
emojis: String,
|
|
||||||
maskPosition: MaskPosition? = null
|
|
||||||
) = addAnimatedStickerToSet(
|
|
||||||
user.id, stickerSet.name, sticker, emojis, maskPosition
|
|
||||||
)
|
|
||||||
@@ -1,90 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.stickers
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.abstracts.FileId
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.abstracts.MultipartFile
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.stickers.AddStaticStickerToSet
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.CommonUser
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.UserId
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.stickers.MaskPosition
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.stickers.StickerSet
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.addStaticStickerToSet(
|
|
||||||
userId: UserId,
|
|
||||||
stickerSetName: String,
|
|
||||||
sticker: FileId,
|
|
||||||
emojis: String,
|
|
||||||
maskPosition: MaskPosition? = null
|
|
||||||
) = execute(
|
|
||||||
AddStaticStickerToSet(userId, stickerSetName, sticker, emojis, maskPosition)
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.addStaticStickerToSet(
|
|
||||||
userId: UserId,
|
|
||||||
stickerSetName: String,
|
|
||||||
sticker: MultipartFile,
|
|
||||||
emojis: String,
|
|
||||||
maskPosition: MaskPosition? = null
|
|
||||||
) = execute(
|
|
||||||
AddStaticStickerToSet(userId, stickerSetName, sticker, emojis, maskPosition)
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.addStaticStickerToSet(
|
|
||||||
user: CommonUser,
|
|
||||||
stickerSetName: String,
|
|
||||||
sticker: FileId,
|
|
||||||
emojis: String,
|
|
||||||
maskPosition: MaskPosition? = null
|
|
||||||
) = addStaticStickerToSet(
|
|
||||||
user.id, stickerSetName, sticker, emojis, maskPosition
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.addStaticStickerToSet(
|
|
||||||
user: CommonUser,
|
|
||||||
stickerSetName: String,
|
|
||||||
sticker: MultipartFile,
|
|
||||||
emojis: String,
|
|
||||||
maskPosition: MaskPosition? = null
|
|
||||||
) = addStaticStickerToSet(
|
|
||||||
user.id, stickerSetName, sticker, emojis, maskPosition
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.addStaticStickerToSet(
|
|
||||||
userId: UserId,
|
|
||||||
stickerSet: StickerSet,
|
|
||||||
sticker: FileId,
|
|
||||||
emojis: String,
|
|
||||||
maskPosition: MaskPosition? = null
|
|
||||||
) = addStaticStickerToSet(
|
|
||||||
userId, stickerSet.name, sticker, emojis, maskPosition
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.addStaticStickerToSet(
|
|
||||||
userId: UserId,
|
|
||||||
stickerSet: StickerSet,
|
|
||||||
sticker: MultipartFile,
|
|
||||||
emojis: String,
|
|
||||||
maskPosition: MaskPosition? = null
|
|
||||||
) = addStaticStickerToSet(
|
|
||||||
userId, stickerSet.name, sticker, emojis, maskPosition
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.addStaticStickerToSet(
|
|
||||||
user: CommonUser,
|
|
||||||
stickerSet: StickerSet,
|
|
||||||
sticker: FileId,
|
|
||||||
emojis: String,
|
|
||||||
maskPosition: MaskPosition? = null
|
|
||||||
) = addStaticStickerToSet(
|
|
||||||
user.id, stickerSet.name, sticker, emojis, maskPosition
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.addStaticStickerToSet(
|
|
||||||
user: CommonUser,
|
|
||||||
stickerSet: StickerSet,
|
|
||||||
sticker: MultipartFile,
|
|
||||||
emojis: String,
|
|
||||||
maskPosition: MaskPosition? = null
|
|
||||||
) = addStaticStickerToSet(
|
|
||||||
user.id, stickerSet.name, sticker, emojis, maskPosition
|
|
||||||
)
|
|
||||||
@@ -1,54 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.stickers
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.abstracts.FileId
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.abstracts.MultipartFile
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.stickers.CreateNewAnimatedStickerSet
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.CommonUser
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.UserId
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.stickers.MaskPosition
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.createNewAnimatedStickerSet(
|
|
||||||
userId: UserId,
|
|
||||||
name: String,
|
|
||||||
sticker: FileId,
|
|
||||||
emojis: String,
|
|
||||||
containsMasks: Boolean? = null,
|
|
||||||
maskPosition: MaskPosition? = null
|
|
||||||
) = execute(
|
|
||||||
CreateNewAnimatedStickerSet(userId, name, sticker, emojis, containsMasks, maskPosition)
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.createNewAnimatedStickerSet(
|
|
||||||
userId: UserId,
|
|
||||||
name: String,
|
|
||||||
sticker: MultipartFile,
|
|
||||||
emojis: String,
|
|
||||||
containsMasks: Boolean? = null,
|
|
||||||
maskPosition: MaskPosition? = null
|
|
||||||
) = execute(
|
|
||||||
CreateNewAnimatedStickerSet(userId, name, sticker, emojis, containsMasks, maskPosition)
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.createNewAnimatedStickerSet(
|
|
||||||
user: CommonUser,
|
|
||||||
name: String,
|
|
||||||
sticker: FileId,
|
|
||||||
emojis: String,
|
|
||||||
containsMasks: Boolean? = null,
|
|
||||||
maskPosition: MaskPosition? = null
|
|
||||||
) = createNewAnimatedStickerSet(
|
|
||||||
user.id, name, sticker, emojis, containsMasks, maskPosition
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.createNewAnimatedStickerSet(
|
|
||||||
user: CommonUser,
|
|
||||||
name: String,
|
|
||||||
sticker: MultipartFile,
|
|
||||||
emojis: String,
|
|
||||||
containsMasks: Boolean? = null,
|
|
||||||
maskPosition: MaskPosition? = null
|
|
||||||
) = createNewAnimatedStickerSet(
|
|
||||||
user.id, name, sticker, emojis, containsMasks, maskPosition
|
|
||||||
)
|
|
||||||
@@ -1,54 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.stickers
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.abstracts.FileId
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.abstracts.MultipartFile
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.stickers.CreateNewStaticStickerSet
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.CommonUser
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.UserId
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.stickers.MaskPosition
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.createNewStaticStickerSet(
|
|
||||||
userId: UserId,
|
|
||||||
name: String,
|
|
||||||
sticker: FileId,
|
|
||||||
emojis: String,
|
|
||||||
containsMasks: Boolean? = null,
|
|
||||||
maskPosition: MaskPosition? = null
|
|
||||||
) = execute(
|
|
||||||
CreateNewStaticStickerSet(userId, name, sticker, emojis, containsMasks, maskPosition)
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.createNewStaticStickerSet(
|
|
||||||
userId: UserId,
|
|
||||||
name: String,
|
|
||||||
sticker: MultipartFile,
|
|
||||||
emojis: String,
|
|
||||||
containsMasks: Boolean? = null,
|
|
||||||
maskPosition: MaskPosition? = null
|
|
||||||
) = execute(
|
|
||||||
CreateNewStaticStickerSet(userId, name, sticker, emojis, containsMasks, maskPosition)
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.createNewStaticStickerSet(
|
|
||||||
user: CommonUser,
|
|
||||||
name: String,
|
|
||||||
sticker: FileId,
|
|
||||||
emojis: String,
|
|
||||||
containsMasks: Boolean? = null,
|
|
||||||
maskPosition: MaskPosition? = null
|
|
||||||
) = createNewStaticStickerSet(
|
|
||||||
user.id, name, sticker, emojis, containsMasks, maskPosition
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.createNewStaticStickerSet(
|
|
||||||
user: CommonUser,
|
|
||||||
name: String,
|
|
||||||
sticker: MultipartFile,
|
|
||||||
emojis: String,
|
|
||||||
containsMasks: Boolean? = null,
|
|
||||||
maskPosition: MaskPosition? = null
|
|
||||||
) = createNewStaticStickerSet(
|
|
||||||
user.id, name, sticker, emojis, containsMasks, maskPosition
|
|
||||||
)
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.stickers
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.abstracts.FileId
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.stickers.DeleteStickerFromSet
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.files.Sticker
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.deleteStickerFromSet(
|
|
||||||
sticker: FileId
|
|
||||||
) = execute(
|
|
||||||
DeleteStickerFromSet(
|
|
||||||
sticker
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.deleteStickerFromSet(
|
|
||||||
sticker: Sticker
|
|
||||||
) = deleteStickerFromSet(
|
|
||||||
sticker.fileId
|
|
||||||
)
|
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.stickers
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.abstracts.FileId
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.stickers.SetStickerPositionInSet
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.files.Sticker
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.setStickerPositionInSet(
|
|
||||||
sticker: FileId,
|
|
||||||
position: Int
|
|
||||||
) = execute(
|
|
||||||
SetStickerPositionInSet(
|
|
||||||
sticker,
|
|
||||||
position
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.setStickerPositionInSet(
|
|
||||||
sticker: Sticker,
|
|
||||||
position: Int
|
|
||||||
) = setStickerPositionInSet(
|
|
||||||
sticker.fileId,
|
|
||||||
position
|
|
||||||
)
|
|
||||||
@@ -1,74 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.thumbs
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.abstracts.FileId
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.abstracts.MultipartFile
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.stickers.SetStickerSetThumb
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.CommonUser
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.UserId
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.stickers.StickerSet
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.setStickerSetThumb(
|
|
||||||
userId: UserId,
|
|
||||||
thumbSetName: String,
|
|
||||||
thumb: FileId
|
|
||||||
) = execute(
|
|
||||||
SetStickerSetThumb(userId, thumbSetName, thumb)
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.setStickerSetThumb(
|
|
||||||
userId: UserId,
|
|
||||||
thumbSetName: String,
|
|
||||||
thumb: MultipartFile
|
|
||||||
) = execute(
|
|
||||||
SetStickerSetThumb(userId, thumbSetName, thumb)
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.setStickerSetThumb(
|
|
||||||
user: CommonUser,
|
|
||||||
thumbSetName: String,
|
|
||||||
thumb: FileId
|
|
||||||
) = setStickerSetThumb(
|
|
||||||
user.id, thumbSetName, thumb
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.setStickerSetThumb(
|
|
||||||
user: CommonUser,
|
|
||||||
thumbSetName: String,
|
|
||||||
thumb: MultipartFile
|
|
||||||
) = setStickerSetThumb(
|
|
||||||
user.id, thumbSetName, thumb
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.setStickerSetThumb(
|
|
||||||
userId: UserId,
|
|
||||||
thumbSet: StickerSet,
|
|
||||||
thumb: FileId
|
|
||||||
) = setStickerSetThumb(
|
|
||||||
userId, thumbSet.name, thumb
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.setStickerSetThumb(
|
|
||||||
userId: UserId,
|
|
||||||
thumbSet: StickerSet,
|
|
||||||
thumb: MultipartFile
|
|
||||||
) = setStickerSetThumb(
|
|
||||||
userId, thumbSet.name, thumb
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.setStickerSetThumb(
|
|
||||||
user: CommonUser,
|
|
||||||
thumbSet: StickerSet,
|
|
||||||
thumb: FileId
|
|
||||||
) = setStickerSetThumb(
|
|
||||||
user.id, thumbSet.name, thumb
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.setStickerSetThumb(
|
|
||||||
user: CommonUser,
|
|
||||||
thumbSet: StickerSet,
|
|
||||||
thumb: MultipartFile
|
|
||||||
) = setStickerSetThumb(
|
|
||||||
user.id, thumbSet.name, thumb
|
|
||||||
)
|
|
||||||
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.stickers
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.abstracts.MultipartFile
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.stickers.UploadStickerFile
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.CommonUser
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.UserId
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.uploadStickerFile(
|
|
||||||
userId: UserId,
|
|
||||||
sticker: MultipartFile
|
|
||||||
) = execute(
|
|
||||||
UploadStickerFile(userId, sticker)
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.uploadStickerFile(
|
|
||||||
user: CommonUser,
|
|
||||||
sticker: MultipartFile
|
|
||||||
) = execute(
|
|
||||||
UploadStickerFile(user.id, sticker)
|
|
||||||
)
|
|
||||||
@@ -1,178 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.updates
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.exceptions.RequestException
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.extensions.api.InternalUtils.convertWithMediaGroupUpdates
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.extensions.api.InternalUtils.lastUpdateIdentifier
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.extensions.api.getUpdates
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.*
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.update.*
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.update.MediaGroupUpdates.*
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.types.update.abstracts.Update
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.updateshandlers.*
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.utils.PreviewFeature
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.utils.handleSafely
|
|
||||||
import kotlinx.coroutines.*
|
|
||||||
|
|
||||||
fun RequestsExecutor.startGettingOfUpdates(
|
|
||||||
timeoutSeconds: Seconds = 30,
|
|
||||||
scope: CoroutineScope = CoroutineScope(Dispatchers.Default),
|
|
||||||
exceptionsHandler: (suspend (Exception) -> Unit)? = null,
|
|
||||||
allowedUpdates: List<String>? = null,
|
|
||||||
updatesReceiver: UpdateReceiver<Update>
|
|
||||||
): Job = scope.launch {
|
|
||||||
var lastUpdateIdentifier: UpdateIdentifier? = null
|
|
||||||
|
|
||||||
while (isActive) {
|
|
||||||
handleSafely(
|
|
||||||
{ e ->
|
|
||||||
exceptionsHandler ?.invoke(e)
|
|
||||||
if (e is RequestException) {
|
|
||||||
delay(1000L)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
) {
|
|
||||||
val updates = getUpdates(
|
|
||||||
offset = lastUpdateIdentifier?.plus(1),
|
|
||||||
timeout = timeoutSeconds,
|
|
||||||
allowed_updates = allowedUpdates
|
|
||||||
).let { originalUpdates ->
|
|
||||||
val converted = originalUpdates.convertWithMediaGroupUpdates()
|
|
||||||
/**
|
|
||||||
* Dirty hack for cases when the media group was retrieved not fully:
|
|
||||||
*
|
|
||||||
* We are throw out the last media group and will reretrieve it again in the next get updates
|
|
||||||
* and it will guarantee that it is full
|
|
||||||
*/
|
|
||||||
if (originalUpdates.size == getUpdatesLimit.last && converted.last() is SentMediaGroupUpdate) {
|
|
||||||
converted - converted.last()
|
|
||||||
} else {
|
|
||||||
converted
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
handleSafely {
|
|
||||||
for (update in updates) {
|
|
||||||
updatesReceiver(update)
|
|
||||||
|
|
||||||
lastUpdateIdentifier = update.lastUpdateIdentifier()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This method will create a new one [FlowsUpdatesFilter]. This method could be unsafe due to the fact that it will start
|
|
||||||
* getting updates IMMEDIATELY. That means that your bot will be able to skip some of them until you will call
|
|
||||||
* [kotlinx.coroutines.flow.Flow.collect] on one of [FlowsUpdatesFilter] flows. To avoid it, you can pass
|
|
||||||
* [flowUpdatesPreset] lambda - it will be called BEFORE starting updates getting
|
|
||||||
*/
|
|
||||||
@FlowPreview
|
|
||||||
@PreviewFeature
|
|
||||||
@Suppress("unused")
|
|
||||||
fun RequestsExecutor.startGettingFlowsUpdates(
|
|
||||||
timeoutSeconds: Seconds = 30,
|
|
||||||
scope: CoroutineScope = CoroutineScope(Dispatchers.Default),
|
|
||||||
exceptionsHandler: (suspend (Exception) -> Unit)? = null,
|
|
||||||
flowsUpdatesFilterUpdatesKeeperCount: Int = 64,
|
|
||||||
flowUpdatesPreset: FlowsUpdatesFilter.() -> Unit = {}
|
|
||||||
): FlowsUpdatesFilter = FlowsUpdatesFilter(flowsUpdatesFilterUpdatesKeeperCount).apply {
|
|
||||||
flowUpdatesPreset()
|
|
||||||
startGettingOfUpdates(timeoutSeconds, scope, exceptionsHandler, allowedUpdates, asUpdateReceiver)
|
|
||||||
}
|
|
||||||
|
|
||||||
fun RequestsExecutor.startGettingOfUpdates(
|
|
||||||
updatesFilter: UpdatesFilter,
|
|
||||||
timeoutSeconds: Seconds = 30,
|
|
||||||
exceptionsHandler: (suspend (Exception) -> Unit)? = null,
|
|
||||||
scope: CoroutineScope = CoroutineScope(Dispatchers.Default)
|
|
||||||
): Job = startGettingOfUpdates(
|
|
||||||
timeoutSeconds,
|
|
||||||
scope,
|
|
||||||
exceptionsHandler,
|
|
||||||
updatesFilter.allowedUpdates,
|
|
||||||
updatesFilter.asUpdateReceiver
|
|
||||||
)
|
|
||||||
|
|
||||||
fun RequestsExecutor.startGettingOfUpdates(
|
|
||||||
messageCallback: UpdateReceiver<MessageUpdate>? = null,
|
|
||||||
messageMediaGroupCallback: UpdateReceiver<MessageMediaGroupUpdate>? = null,
|
|
||||||
editedMessageCallback: UpdateReceiver<EditMessageUpdate>? = null,
|
|
||||||
editedMessageMediaGroupCallback: UpdateReceiver<EditMessageMediaGroupUpdate>? = null,
|
|
||||||
channelPostCallback: UpdateReceiver<ChannelPostUpdate>? = null,
|
|
||||||
channelPostMediaGroupCallback: UpdateReceiver<ChannelPostMediaGroupUpdate>? = null,
|
|
||||||
editedChannelPostCallback: UpdateReceiver<EditChannelPostUpdate>? = null,
|
|
||||||
editedChannelPostMediaGroupCallback: UpdateReceiver<EditChannelPostMediaGroupUpdate>? = null,
|
|
||||||
chosenInlineResultCallback: UpdateReceiver<ChosenInlineResultUpdate>? = null,
|
|
||||||
inlineQueryCallback: UpdateReceiver<InlineQueryUpdate>? = null,
|
|
||||||
callbackQueryCallback: UpdateReceiver<CallbackQueryUpdate>? = null,
|
|
||||||
shippingQueryCallback: UpdateReceiver<ShippingQueryUpdate>? = null,
|
|
||||||
preCheckoutQueryCallback: UpdateReceiver<PreCheckoutQueryUpdate>? = null,
|
|
||||||
pollCallback: UpdateReceiver<PollUpdate>? = null,
|
|
||||||
pollAnswerCallback: UpdateReceiver<PollAnswerUpdate>? = null,
|
|
||||||
timeoutSeconds: Seconds = 30,
|
|
||||||
exceptionsHandler: (suspend (Exception) -> Unit)? = null,
|
|
||||||
scope: CoroutineScope = GlobalScope
|
|
||||||
): Job {
|
|
||||||
return startGettingOfUpdates(
|
|
||||||
SimpleUpdatesFilter(
|
|
||||||
messageCallback,
|
|
||||||
messageMediaGroupCallback,
|
|
||||||
editedMessageCallback,
|
|
||||||
editedMessageMediaGroupCallback,
|
|
||||||
channelPostCallback,
|
|
||||||
channelPostMediaGroupCallback,
|
|
||||||
editedChannelPostCallback,
|
|
||||||
editedChannelPostMediaGroupCallback,
|
|
||||||
chosenInlineResultCallback,
|
|
||||||
inlineQueryCallback,
|
|
||||||
callbackQueryCallback,
|
|
||||||
shippingQueryCallback,
|
|
||||||
preCheckoutQueryCallback,
|
|
||||||
pollCallback,
|
|
||||||
pollAnswerCallback
|
|
||||||
),
|
|
||||||
timeoutSeconds,
|
|
||||||
exceptionsHandler,
|
|
||||||
scope
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
@Suppress("unused")
|
|
||||||
fun RequestsExecutor.startGettingOfUpdates(
|
|
||||||
messageCallback: UpdateReceiver<MessageUpdate>? = null,
|
|
||||||
mediaGroupCallback: UpdateReceiver<MediaGroupUpdate>? = null,
|
|
||||||
editedMessageCallback: UpdateReceiver<EditMessageUpdate>? = null,
|
|
||||||
channelPostCallback: UpdateReceiver<ChannelPostUpdate>? = null,
|
|
||||||
editedChannelPostCallback: UpdateReceiver<EditChannelPostUpdate>? = null,
|
|
||||||
chosenInlineResultCallback: UpdateReceiver<ChosenInlineResultUpdate>? = null,
|
|
||||||
inlineQueryCallback: UpdateReceiver<InlineQueryUpdate>? = null,
|
|
||||||
callbackQueryCallback: UpdateReceiver<CallbackQueryUpdate>? = null,
|
|
||||||
shippingQueryCallback: UpdateReceiver<ShippingQueryUpdate>? = null,
|
|
||||||
preCheckoutQueryCallback: UpdateReceiver<PreCheckoutQueryUpdate>? = null,
|
|
||||||
pollCallback: UpdateReceiver<PollUpdate>? = null,
|
|
||||||
pollAnswerCallback: UpdateReceiver<PollAnswerUpdate>? = null,
|
|
||||||
timeoutSeconds: Seconds = 30,
|
|
||||||
exceptionsHandler: (suspend (Exception) -> Unit)? = null,
|
|
||||||
scope: CoroutineScope = CoroutineScope(Dispatchers.Default)
|
|
||||||
): Job = startGettingOfUpdates(
|
|
||||||
messageCallback = messageCallback,
|
|
||||||
messageMediaGroupCallback = mediaGroupCallback,
|
|
||||||
editedMessageCallback = editedMessageCallback,
|
|
||||||
editedMessageMediaGroupCallback = mediaGroupCallback,
|
|
||||||
channelPostCallback = channelPostCallback,
|
|
||||||
channelPostMediaGroupCallback = mediaGroupCallback,
|
|
||||||
editedChannelPostCallback = editedChannelPostCallback,
|
|
||||||
editedChannelPostMediaGroupCallback = mediaGroupCallback,
|
|
||||||
chosenInlineResultCallback = chosenInlineResultCallback,
|
|
||||||
inlineQueryCallback = inlineQueryCallback,
|
|
||||||
callbackQueryCallback = callbackQueryCallback,
|
|
||||||
shippingQueryCallback = shippingQueryCallback,
|
|
||||||
preCheckoutQueryCallback = preCheckoutQueryCallback,
|
|
||||||
pollCallback = pollCallback,
|
|
||||||
pollAnswerCallback = pollAnswerCallback,
|
|
||||||
timeoutSeconds = timeoutSeconds,
|
|
||||||
exceptionsHandler = exceptionsHandler,
|
|
||||||
scope = scope
|
|
||||||
)
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.webhook
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.webhook.DeleteWebhook
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.deleteWebhook() = execute(DeleteWebhook())
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.webhook
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.webhook.GetWebhookInfo
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.getWebhookInfo() = execute(GetWebhookInfo())
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
package com.github.insanusmokrassar.TelegramBotAPI.extensions.api.webhook
|
|
||||||
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.bot.RequestsExecutor
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.abstracts.FileId
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.abstracts.MultipartFile
|
|
||||||
import com.github.insanusmokrassar.TelegramBotAPI.requests.webhook.SetWebhook
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.setWebhookInfo(
|
|
||||||
url: String,
|
|
||||||
certificate: FileId,
|
|
||||||
maxAllowedConnections: Int? = null,
|
|
||||||
allowedUpdates: List<String>? = null
|
|
||||||
) = execute(
|
|
||||||
SetWebhook(
|
|
||||||
url, certificate, maxAllowedConnections, allowedUpdates
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
suspend fun RequestsExecutor.setWebhookInfo(
|
|
||||||
url: String,
|
|
||||||
certificate: MultipartFile,
|
|
||||||
maxAllowedConnections: Int? = null,
|
|
||||||
allowedUpdates: List<String>? = null
|
|
||||||
) = execute(
|
|
||||||
SetWebhook(
|
|
||||||
url, certificate, maxAllowedConnections, allowedUpdates
|
|
||||||
)
|
|
||||||
)
|
|
||||||
@@ -1,168 +0,0 @@
|
|||||||
# TelegramBotAPI Util Extensions
|
|
||||||
|
|
||||||
[ ](https://bintray.com/insanusmokrassar/StandardRepository/TelegramBotAPI-extensions-utils/_latestVersion)
|
|
||||||
[](https://maven-badges.herokuapp.com/maven-central/com.github.insanusmokrassar/TelegramBotAPI-extensions-utils)
|
|
||||||
|
|
||||||
## What is it?
|
|
||||||
|
|
||||||
It is wrapper library for [TelegramBotAPI](../TelegramBotAPI/README.md). Currently, this library contains some usefull filters for commands, updates types and different others.
|
|
||||||
|
|
||||||
## How to implement library?
|
|
||||||
|
|
||||||
Common ways to implement this library are presented here. In some cases it will require additional steps
|
|
||||||
like inserting of additional libraries (like `kotlin stdlib`). In the examples will be used variable
|
|
||||||
`telegrambotapi-extensions-utils_version`, which must be set up by developer. Available versions are presented on
|
|
||||||
[bintray](https://bintray.com/insanusmokrassar/StandardRepository/TelegramBotAPI-extensions-utils), next version is last published:
|
|
||||||
|
|
||||||
[ ](https://bintray.com/insanusmokrassar/StandardRepository/TelegramBotAPI-extensions-utils/_latestVersion)
|
|
||||||
|
|
||||||
### Maven
|
|
||||||
|
|
||||||
Dependency config presented here:
|
|
||||||
|
|
||||||
```xml
|
|
||||||
<dependency>
|
|
||||||
<groupId>com.github.insanusmokrassar</groupId>
|
|
||||||
<artifactId>TelegramBotAPI-extensions-utils</artifactId>
|
|
||||||
<version>${telegrambotapi-extensions-utils_version}</version>
|
|
||||||
</dependency>
|
|
||||||
```
|
|
||||||
|
|
||||||
### Gradle
|
|
||||||
|
|
||||||
To use last versions you will need to add one line in repositories block of your `build.gradle`:
|
|
||||||
|
|
||||||
`jcenter()` or `mavenCentral()`
|
|
||||||
|
|
||||||
And add next line to your dependencies block:
|
|
||||||
|
|
||||||
```groovy
|
|
||||||
implementation "com.github.insanusmokrassar:TelegramBotAPI-extensions-utils:$telegrambotapi-extensions-utils_version"
|
|
||||||
```
|
|
||||||
|
|
||||||
or for old gradle:
|
|
||||||
|
|
||||||
```groovy
|
|
||||||
compile "com.github.insanusmokrassar:TelegramBotAPI-extensions-utils:$telegrambotapi-extensions-utils_version"
|
|
||||||
```
|
|
||||||
|
|
||||||
## How to use?
|
|
||||||
|
|
||||||
Here will be presented several examples of usage. In all cases it is expected that you have created your bot and filter:
|
|
||||||
|
|
||||||
```kotlin
|
|
||||||
val bot: RequestsExecutor = KtorRequestsExecutor(
|
|
||||||
TelegramAPIUrlsKeeper(BOT_TOKEN)
|
|
||||||
)
|
|
||||||
val filter = FlowsUpdatesFilter(64)
|
|
||||||
```
|
|
||||||
|
|
||||||
Alternative way to use the things below:
|
|
||||||
|
|
||||||
```kotlin
|
|
||||||
val filter = bot.startGettingUpdates(
|
|
||||||
scope = CoroutineScope(Dispatchers.Default)
|
|
||||||
) {
|
|
||||||
// place code from examples here with replacing of `filter` by `this`
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
### Filters
|
|
||||||
|
|
||||||
There are several filters for flows.
|
|
||||||
|
|
||||||
#### Sent messages
|
|
||||||
|
|
||||||
All sent messages can be filtered for three types:
|
|
||||||
|
|
||||||
| Type | Description | Flow extension |
|
|
||||||
|:---- |:----------- |:-------------- |
|
|
||||||
| Common messages | Simple messages with text, media, location, etc. | `asContentMessagesFlow` |
|
|
||||||
| Chat actions | New chat member, rename of chat, etc. | `asChatEventsFlow` |
|
|
||||||
| Unknown events | Any other messages, that contain unsupported data | `asUnknownMessagesFlow` |
|
|
||||||
|
|
||||||
##### Common messages
|
|
||||||
|
|
||||||
Unfortunately, due to the erasing of generic types, when you are using `asContentMessagesFlow` you will retrieve
|
|
||||||
data with type `ContentMessage<*>`. For correct filtering of content type for retrieved objects, was created special
|
|
||||||
filters:
|
|
||||||
|
|
||||||
| Content type | Result type | Flow extension |
|
|
||||||
|:---- |:----------- |:-------------- |
|
|
||||||
| Animation | `ContentMessage<AnimationContent>`| `onlyAnimationContentMessages` |
|
|
||||||
| Audio | `ContentMessage<AudioContent>` | `onlyAudioContentMessages` |
|
|
||||||
| Contact | `ContentMessage<ContactContent>` | `onlyContactContentMessages` |
|
|
||||||
| Dice | `ContentMessage<DiceContent>` | `onlyDiceContentMessages` |
|
|
||||||
| Document | `ContentMessage<DocumentContent>` | `onlyDocumentContentMessages` |
|
|
||||||
| Game | `ContentMessage<GameContent>` | `onlyGameContentMessages` |
|
|
||||||
| Invoice | `ContentMessage<InvoiceContent>` | `onlyInvoiceContentMessages` |
|
|
||||||
| Location | `ContentMessage<LocationContent>` | `onlyLocationContentMessages` |
|
|
||||||
| Photo | `ContentMessage<PhotoContent>` | `onlyPhotoContentMessages` |
|
|
||||||
| Poll | `ContentMessage<PollContent>` | `onlyPollContentMessages` |
|
|
||||||
| Sticker | `ContentMessage<StickerContent>` | `onlyStickerContentMessages` |
|
|
||||||
| Text | `ContentMessage<TextContent>` | `onlyTextContentMessages` |
|
|
||||||
| Venue | `ContentMessage<VenueContent>` | `onlyVenueContentMessages` |
|
|
||||||
| Video | `ContentMessage<VideoContent>` | `onlyVideoContentMessages` |
|
|
||||||
| VideoNote | `ContentMessage<VideoNoteContent>` | `onlyVideoNoteContentMessages` |
|
|
||||||
| Voice | `ContentMessage<VoiceContent>` | `onlyVoiceContentMessages` |
|
|
||||||
|
|
||||||
For example, if you wish to get only photo messages from private chats of groups, you should call next code:
|
|
||||||
|
|
||||||
```kotlin
|
|
||||||
filter.messageFlow.asContentMessagesFlow().onlyPhotoContentMessages().onEach {
|
|
||||||
println(it.content)
|
|
||||||
}.launchIn(
|
|
||||||
CoroutineScope(Dispatchers.Default)
|
|
||||||
)
|
|
||||||
```
|
|
||||||
|
|
||||||
##### Chat actions
|
|
||||||
|
|
||||||
Chat actions can be divided for three types of events source:
|
|
||||||
|
|
||||||
| Type | Flow extension |
|
|
||||||
|:---- |:-------------- |
|
|
||||||
| Channel events | `onlyChannelEvents` |
|
|
||||||
| Group events | `onlyGroupEvents` |
|
|
||||||
| Supergroup events | `onlySupergroupEvents` |
|
|
||||||
|
|
||||||
According to this table, if you want to add filtering by supergroup events, you will use code like this:
|
|
||||||
|
|
||||||
```kotlin
|
|
||||||
filter.messageFlow.asChatEventsFlow().onlySupergroupEvents().onEach {
|
|
||||||
println(it.chatEvent)
|
|
||||||
}.launchIn(
|
|
||||||
CoroutineScope(Dispatchers.Default)
|
|
||||||
)
|
|
||||||
```
|
|
||||||
|
|
||||||
## Shortcuts
|
|
||||||
|
|
||||||
With shortcuts you are able to use simple factories for several things.
|
|
||||||
|
|
||||||
### ScheduledCloseInfo
|
|
||||||
|
|
||||||
In case if you are creating some poll, you able to use next shortcuts.
|
|
||||||
|
|
||||||
Next sample will use info with closing at the 10 seconds after now:
|
|
||||||
|
|
||||||
```kotlin
|
|
||||||
closePollExactAt(DateTime.now() + TimeSpan(10000.0))
|
|
||||||
```
|
|
||||||
|
|
||||||
In this example we will do the same, but in another way:
|
|
||||||
|
|
||||||
```kotlin
|
|
||||||
closePollExactAfter(10)
|
|
||||||
```
|
|
||||||
|
|
||||||
Here we have passed `10` seconds and will get the same result object.
|
|
||||||
|
|
||||||
In opposite to previous shortcuts, the next one will create `approximate` closing schedule:
|
|
||||||
|
|
||||||
```kotlin
|
|
||||||
closePollAfter(10)
|
|
||||||
```
|
|
||||||
|
|
||||||
The main difference here is that the last one will be closed after 10 seconds since the sending. With first samples
|
|
||||||
will be created **exact** time for closing of poll
|
|
||||||
@@ -1,48 +0,0 @@
|
|||||||
buildscript {
|
|
||||||
repositories {
|
|
||||||
mavenLocal()
|
|
||||||
jcenter()
|
|
||||||
mavenCentral()
|
|
||||||
}
|
|
||||||
|
|
||||||
dependencies {
|
|
||||||
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
|
|
||||||
classpath "org.jetbrains.kotlin:kotlin-serialization:$kotlin_version"
|
|
||||||
classpath "com.jfrog.bintray.gradle:gradle-bintray-plugin:$gradle_bintray_plugin_version"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
plugins {
|
|
||||||
id "org.jetbrains.kotlin.multiplatform" version "$kotlin_version"
|
|
||||||
id "org.jetbrains.kotlin.plugin.serialization" version "$kotlin_version"
|
|
||||||
}
|
|
||||||
|
|
||||||
project.version = "$library_version"
|
|
||||||
project.group = "$library_group"
|
|
||||||
|
|
||||||
apply from: "publish.gradle"
|
|
||||||
|
|
||||||
repositories {
|
|
||||||
mavenLocal()
|
|
||||||
jcenter()
|
|
||||||
mavenCentral()
|
|
||||||
maven { url "https://kotlin.bintray.com/kotlinx" }
|
|
||||||
}
|
|
||||||
|
|
||||||
kotlin {
|
|
||||||
jvm()
|
|
||||||
js()
|
|
||||||
|
|
||||||
sourceSets {
|
|
||||||
commonMain {
|
|
||||||
dependencies {
|
|
||||||
implementation kotlin('stdlib')
|
|
||||||
if ((project.hasProperty('RELEASE_MODE') && project.property('RELEASE_MODE') == "true") || System.getenv('RELEASE_MODE') == "true") {
|
|
||||||
api "${project.group}:TelegramBotAPI:$library_version"
|
|
||||||
} else {
|
|
||||||
implementation project(":TelegramBotAPI")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,57 +0,0 @@
|
|||||||
apply plugin: 'maven-publish'
|
|
||||||
|
|
||||||
task javadocsJar(type: Jar) {
|
|
||||||
classifier = 'javadoc'
|
|
||||||
}
|
|
||||||
|
|
||||||
afterEvaluate {
|
|
||||||
project.publishing.publications.all {
|
|
||||||
// rename artifacts
|
|
||||||
groupId "${project.group}"
|
|
||||||
if (it.name.contains('kotlinMultiplatform')) {
|
|
||||||
artifactId = "${project.name}"
|
|
||||||
} else {
|
|
||||||
artifactId = "${project.name}-$name"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
publishing {
|
|
||||||
publications.all {
|
|
||||||
artifact javadocsJar
|
|
||||||
|
|
||||||
pom.withXml {
|
|
||||||
asNode().children().last() + {
|
|
||||||
resolveStrategy = Closure.DELEGATE_FIRST
|
|
||||||
|
|
||||||
description "Util extensions for more useful work with updates and other things"
|
|
||||||
name "Telegram Bot API Utility Extensions"
|
|
||||||
url "https://insanusmokrassar.github.io/TelegramBotAPI"
|
|
||||||
|
|
||||||
scm {
|
|
||||||
developerConnection "scm:git:[fetch=]https://github.com/insanusmokrassar/TelegramBotAPI.git[push=]https://github.com/insanusmokrassar/TelegramBotAPI.git"
|
|
||||||
url "https://github.com/insanusmokrassar/TelegramBotAPI.git"
|
|
||||||
}
|
|
||||||
|
|
||||||
developers {
|
|
||||||
|
|
||||||
developer {
|
|
||||||
id "InsanusMokrassar"
|
|
||||||
name "Ovsiannikov Aleksei"
|
|
||||||
email "ovsyannikov.alexey95@gmail.com"
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
licenses {
|
|
||||||
|
|
||||||
license {
|
|
||||||
name "Apache Software License 2.0"
|
|
||||||
url "https://github.com/InsanusMokrassar/TelegramBotAPI/blob/master/LICENSE"
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
{"bintrayConfig":{"repo":"StandardRepository","packageName":"${project.name}","packageVcs":"https://github.com/InsanusMokrassar/TelegramBotAPI"},"licenses":[{"id":"Apache-2.0","title":"Apache Software License 2.0","url":"https://github.com/InsanusMokrassar/TelegramBotAPI/blob/master/LICENSE"}],"mavenConfig":{"name":"Telegram Bot API Utility Extensions","description":"Util extensions for more useful work with updates and other things","url":"https://insanusmokrassar.github.io/TelegramBotAPI","vcsUrl":"https://github.com/insanusmokrassar/TelegramBotAPI.git","developers":[{"id":"InsanusMokrassar","name":"Ovsiannikov Aleksei","eMail":"ovsyannikov.alexey95@gmail.com"}]},"type":"Multiplatform"}
|
|
||||||
@@ -1,55 +0,0 @@
|
|||||||
apply plugin: 'com.jfrog.bintray'
|
|
||||||
|
|
||||||
apply from: "maven.publish.gradle"
|
|
||||||
|
|
||||||
bintray {
|
|
||||||
user = project.hasProperty('BINTRAY_USER') ? project.property('BINTRAY_USER') : System.getenv('BINTRAY_USER')
|
|
||||||
key = project.hasProperty('BINTRAY_KEY') ? project.property('BINTRAY_KEY') : System.getenv('BINTRAY_KEY')
|
|
||||||
filesSpec {
|
|
||||||
from "${buildDir}/publications/"
|
|
||||||
eachFile {
|
|
||||||
String directorySubname = it.getFile().parentFile.name
|
|
||||||
if (it.getName() == "module.json") {
|
|
||||||
if (directorySubname == "kotlinMultiplatform") {
|
|
||||||
it.setPath("${project.name}/${project.version}/${project.name}-${project.version}.module")
|
|
||||||
} else {
|
|
||||||
it.setPath("${project.name}-${directorySubname}/${project.version}/${project.name}-${directorySubname}-${project.version}.module")
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (directorySubname == "kotlinMultiplatform" && it.getName() == "pom-default.xml") {
|
|
||||||
it.setPath("${project.name}/${project.version}/${project.name}-${project.version}.pom")
|
|
||||||
} else {
|
|
||||||
it.exclude()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
into "${project.group}".replace(".", "/")
|
|
||||||
}
|
|
||||||
pkg {
|
|
||||||
repo = "StandardRepository"
|
|
||||||
name = "${project.name}"
|
|
||||||
vcsUrl = "https://github.com/InsanusMokrassar/TelegramBotAPI"
|
|
||||||
licenses = ["Apache-2.0"]
|
|
||||||
version {
|
|
||||||
name = "${project.version}"
|
|
||||||
released = new Date()
|
|
||||||
vcsTag = "${project.version}"
|
|
||||||
gpg {
|
|
||||||
sign = true
|
|
||||||
passphrase = project.hasProperty('signing.gnupg.passphrase') ? project.property('signing.gnupg.passphrase') : System.getenv('signing.gnupg.passphrase')
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
bintrayUpload.doFirst {
|
|
||||||
publications = publishing.publications.collect {
|
|
||||||
if (it.name.contains('kotlinMultiplatform')) {
|
|
||||||
null
|
|
||||||
} else {
|
|
||||||
it.name
|
|
||||||
}
|
|
||||||
} - null
|
|
||||||
}
|
|
||||||
|
|
||||||
bintrayUpload.dependsOn publishToMavenLocal
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user