mirror of
https://github.com/InsanusMokrassar/TelegramBotAPI.git
synced 2025-11-16 12:00:18 +00:00
Compare commits
89 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| ba5f76e8cd | |||
| 8aec920a15 | |||
| c92bd33ba1 | |||
| 51927974f5 | |||
| 9350f87e19 | |||
| 6cb9950b36 | |||
| 974c2e883f | |||
| af6f98fd56 | |||
| 75a2b2c282 | |||
| d66d4b4209 | |||
| 9d54820fd7 | |||
| 1876df2c2d | |||
| d818592cd3 | |||
| c29737b6b3 | |||
| 46243a21eb | |||
| d5f45ead59 | |||
| 5a696cdac0 | |||
| 80955eeb55 | |||
| 6ee93e2d68 | |||
| d4490dec75 | |||
| 7d3e9325f1 | |||
| 31a66eb8e6 | |||
| b3b9070cd6 | |||
| 3504776344 | |||
| f22f69534a | |||
| a9c1d7b33c | |||
|
|
376ef0750c | ||
| cdf93e0d12 | |||
| 8c7261fda9 | |||
| 82acc8cb1f | |||
| 4ec1532597 | |||
| 13bfe681d8 | |||
| 5bbbcdb529 | |||
| 7f9d6ce626 | |||
| 71b944f9cc | |||
| d9d68749f1 | |||
| 561aad2274 | |||
| 6a3e95c488 | |||
| a09b3809e2 | |||
| 427b5775a2 | |||
| d222987fc7 | |||
| d211afa26a | |||
| 9952b6c6ae | |||
| 840c6b02a4 | |||
| a6f91d5600 | |||
| 8ec0c8804b | |||
| 2d08c447bc | |||
| 9a0793d81c | |||
| a95f556a5c | |||
| f774b11de4 | |||
|
|
5164903d05 | ||
| adaedb8040 | |||
| 9b4b60eb33 | |||
| b90f8ec389 | |||
| e95550a6eb | |||
| 696219df24 | |||
| 27241fad32 | |||
| a034fa18d7 | |||
| adcaffe115 | |||
| 6388d8db13 | |||
| 2964586cb9 | |||
| e3cb1e4faf | |||
| d7f14020d8 | |||
| 397197023e | |||
| 12dc93313a | |||
| 625760afae | |||
| 795328afdf | |||
| 57175b7698 | |||
| 2d05a334eb | |||
| 0b6d9e47b9 | |||
| 4cdae11adc | |||
| 04b2d1dbd6 | |||
| 4343d6d161 | |||
| 6824f2c992 | |||
| 9cde4927ce | |||
| 819982473a | |||
| 5559923339 | |||
| c7d08df3bf | |||
| 41a142addb | |||
| 652765bf46 | |||
| 32010cf1c7 | |||
| 1c6359f041 | |||
| 4ac5e405ac | |||
| bc00e1f28a | |||
| 191e4cff00 | |||
| ad4bac82dc | |||
| 300be87ffd | |||
| 05f46d08c8 | |||
| 4eb6fa7835 |
2
.github/FUNDING.yml
vendored
2
.github/FUNDING.yml
vendored
@@ -1,3 +1,3 @@
|
|||||||
# These are supported funding model platforms
|
# These are supported funding model platforms
|
||||||
|
|
||||||
custom: ['https://www.tinkoff.ru/rm/ovsyannikov.aleksey113/ObMJ712472', 'https://boosty.to/insanusmokrassar']
|
custom: ['https://tonscan.org/address/UQAtuSLJ76Zehc3qP-eRYMR98fPIu_oOp_atcpVX55zxHwTU']
|
||||||
|
|||||||
75
CHANGELOG.md
75
CHANGELOG.md
@@ -1,5 +1,76 @@
|
|||||||
# TelegramBotAPI changelog
|
# TelegramBotAPI changelog
|
||||||
|
|
||||||
|
## 24.0.1
|
||||||
|
|
||||||
|
* `Core`:
|
||||||
|
* Now you may upload photos with `EditChatMessageMedia`
|
||||||
|
|
||||||
|
## 24.0.0
|
||||||
|
|
||||||
|
**THIS UPDATE CONTAINS BREAKING CHANGES IN `subcontextUpdatesFilter` WORK. TAKE CARE IN MIGRATION**
|
||||||
|
|
||||||
|
* `Version`:
|
||||||
|
* `MicroUtils`: `0.24.6` -> `0.24.7`
|
||||||
|
* `Core`:
|
||||||
|
* `ForumContentMessage` got property `threadCreatingInfo` which represents information about topic where message has been sent
|
||||||
|
* `BehaviourBuilder`:
|
||||||
|
* Fix of overall `subcontextUpdatesFilter` behaviour. In fact, this update will fix its affection on scenaries
|
||||||
|
|
||||||
|
## 23.2.1
|
||||||
|
|
||||||
|
* `Core`:
|
||||||
|
* Fix of `year` field in `Birthdate`
|
||||||
|
|
||||||
|
## 23.2.0
|
||||||
|
|
||||||
|
**THIS UPDATE CONTAINS ADDING SUPPORT OF [Telegram Bots API 8.3](https://core.telegram.org/bots/api-changelog#february-12-2025)**
|
||||||
|
|
||||||
|
* `Version`:
|
||||||
|
* `MicroUtils`: `0.24.5` -> `0.24.6`
|
||||||
|
* `Ktor`: `3.0.3` -> `3.1.0`
|
||||||
|
|
||||||
|
## 23.1.2
|
||||||
|
|
||||||
|
* `Version`:
|
||||||
|
* `Kotlin`: `2.1.0` -> `2.1.10`
|
||||||
|
* `Serialization`: `1.7.3` -> `1.8.0`
|
||||||
|
* `MicroUtils`: `0.24.4` -> `0.24.5`
|
||||||
|
* `KSLog`: `1.4.0` -> `1.4.1`
|
||||||
|
|
||||||
|
## 23.1.1
|
||||||
|
|
||||||
|
* `Version`:
|
||||||
|
* `MicroUtils`: `0.24.0` -> `0.24.4`
|
||||||
|
* `Core`:
|
||||||
|
* Replace `removeFirst` with `removeAt(0)` in `createTextSources`
|
||||||
|
|
||||||
|
## 23.1.0
|
||||||
|
|
||||||
|
**THIS UPDATE CONTAINS ADDING SUPPORT OF [Telegram Bots API 8.2](https://core.telegram.org/bots/api-changelog#january-1-2025)**
|
||||||
|
|
||||||
|
## 23.0.0
|
||||||
|
|
||||||
|
* `Version`:
|
||||||
|
* `Coroutines`: `1.9.0` -> `1.10.1`
|
||||||
|
* `MicroUtils`: `0.23.2` -> `0.24.0`
|
||||||
|
* `KSLog`: `1.3.6` -> `1.4.0`
|
||||||
|
* `Ktor`: `3.0.2` -> `3.0.3`
|
||||||
|
* `Core`:
|
||||||
|
* All old factory methods for `TextSource`s took suffix `TextSource`. For example: `regular` -> `regularTextSource`.
|
||||||
|
That has been for excluding names resolution ambiguity with extensions for `EntitiesBuilder`
|
||||||
|
|
||||||
|
## 22.0.0
|
||||||
|
|
||||||
|
**THIS UPDATE CONTAINS BREAKING CHANGES**
|
||||||
|
|
||||||
|
**IN THIS UPDATE HAS BEEN REWORKED EVENTS API IN WEBAPPS**
|
||||||
|
|
||||||
|
**THIS UPDATE ADDING SUPPORT OF [BOT API 8.0](https://core.telegram.org/bots/api-changelog#november-17-2024) AND [BOT API 8.1](https://core.telegram.org/bots/api-changelog#december-4-2024)**
|
||||||
|
|
||||||
|
* `Version`:
|
||||||
|
* `MicroUtils`: `0.23.1` -> `0.23.2`
|
||||||
|
* `Ktor`: `3.0.1` -> `3.0.2`
|
||||||
|
|
||||||
## 21.0.1
|
## 21.0.1
|
||||||
|
|
||||||
* `Core`:
|
* `Core`:
|
||||||
@@ -20,9 +91,9 @@ due to its redundancy
|
|||||||
* `BehaviourBuilder`:
|
* `BehaviourBuilder`:
|
||||||
* Add special `val data: BehaviourContextData` into all realizations of `BehaviourContext`
|
* Add special `val data: BehaviourContextData` into all realizations of `BehaviourContext`
|
||||||
* Add `CombinedSubcontextInitialAction` and functions
|
* Add `CombinedSubcontextInitialAction` and functions
|
||||||
`buildSubcontextInitialAction`/`buildSubcontextInitialActionWithSubActions`
|
`buildSubcontextInitialAction`/`buildSubcontextInitialActionWithSubActions`
|
||||||
* Add `subcontextInitialAction` for all the functions-builders of `BehaviourContext` and
|
* Add `subcontextInitialAction` for all the functions-builders of `BehaviourContext` and
|
||||||
`additionalSubcontextInitialAction` to all triggers
|
`additionalSubcontextInitialAction` to all triggers
|
||||||
|
|
||||||
## 20.0.1
|
## 20.0.1
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# TelegramBotAPI [](https://maven-badges.herokuapp.com/maven-central/dev.inmo/tgbotapi) [](https://core.telegram.org/bots/api-changelog#october-31-2024)
|
# TelegramBotAPI [](https://maven-badges.herokuapp.com/maven-central/dev.inmo/tgbotapi) [](https://core.telegram.org/bots/api-changelog#february-12-2025)
|
||||||
|
|
||||||
| Docs | [](https://tgbotapi.inmo.dev/index.html) [](https://docs.inmo.dev/tgbotapi/index.html) |
|
| Docs | [](https://tgbotapi.inmo.dev/index.html) [](https://docs.inmo.dev/tgbotapi/index.html) |
|
||||||
|:----------------------:|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|
|
|:----------------------:|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ Object callback = {
|
|||||||
|
|
||||||
sourceLink {
|
sourceLink {
|
||||||
localDirectory.set(file("../"))
|
localDirectory.set(file("../"))
|
||||||
remoteUrl.set(new URL("https://github.com/InsanusMokrassar/ktgbotapi/tree/master"))
|
remoteUrl.set(new URL("https://github.com/InsanusMokrassar/ktgbotapi"))
|
||||||
remoteLineSuffix.set("#L")
|
remoteLineSuffix.set("#L")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,4 +6,4 @@ kotlin.incremental=true
|
|||||||
kotlin.incremental.js=true
|
kotlin.incremental.js=true
|
||||||
|
|
||||||
library_group=dev.inmo
|
library_group=dev.inmo
|
||||||
library_version=21.0.1
|
library_version=24.0.1
|
||||||
|
|||||||
@@ -1,27 +1,27 @@
|
|||||||
[versions]
|
[versions]
|
||||||
|
|
||||||
kotlin = "2.1.0"
|
kotlin = "2.1.10"
|
||||||
kotlin-serialization = "1.7.3"
|
kotlin-serialization = "1.8.0"
|
||||||
kotlin-coroutines = "1.9.0"
|
kotlin-coroutines = "1.10.1"
|
||||||
|
|
||||||
javax-activation = "1.1.1"
|
javax-activation = "1.1.1"
|
||||||
|
|
||||||
korlibs = "5.4.0"
|
korlibs = "5.4.0"
|
||||||
uuid = "0.8.4"
|
uuid = "0.8.4"
|
||||||
ktor = "3.0.1"
|
ktor = "3.1.0"
|
||||||
|
|
||||||
ksp = "2.1.0-1.0.29"
|
ksp = "2.1.10-1.0.30"
|
||||||
kotlin-poet = "1.18.1"
|
kotlin-poet = "1.18.1"
|
||||||
|
|
||||||
microutils = "0.23.1"
|
microutils = "0.24.7"
|
||||||
kslog = "1.3.6"
|
kslog = "1.4.1"
|
||||||
|
|
||||||
versions = "0.51.0"
|
versions = "0.51.0"
|
||||||
|
|
||||||
github-release-plugin = "2.5.2"
|
github-release-plugin = "2.5.2"
|
||||||
dokka = "1.9.20"
|
dokka = "2.0.0"
|
||||||
|
|
||||||
validator = "0.16.3"
|
validator = "0.17.0"
|
||||||
|
|
||||||
[libraries]
|
[libraries]
|
||||||
|
|
||||||
@@ -57,6 +57,10 @@ microutils-serialization-mapper = { module = "dev.inmo:micro_utils.serialization
|
|||||||
microutils-languageCodes = { module = "dev.inmo:micro_utils.language_codes", version.ref = "microutils" }
|
microutils-languageCodes = { module = "dev.inmo:micro_utils.language_codes", version.ref = "microutils" }
|
||||||
microutils-ktor-common = { module = "dev.inmo:micro_utils.ktor.common", version.ref = "microutils" }
|
microutils-ktor-common = { module = "dev.inmo:micro_utils.ktor.common", version.ref = "microutils" }
|
||||||
microutils-fsm-common = { module = "dev.inmo:micro_utils.fsm.common", version.ref = "microutils" }
|
microutils-fsm-common = { module = "dev.inmo:micro_utils.fsm.common", version.ref = "microutils" }
|
||||||
|
microutils-ksp-sealed = { module = "dev.inmo:micro_utils.ksp.sealed", version.ref = "microutils" }
|
||||||
|
microutils-ksp-sealed-generator = { module = "dev.inmo:micro_utils.ksp.sealed.generator", version.ref = "microutils" }
|
||||||
|
microutils-ksp-variations = { module = "dev.inmo:micro_utils.ksp.variations", version.ref = "microutils" }
|
||||||
|
microutils-ksp-variations-generator = { module = "dev.inmo:micro_utils.ksp.variations.generator", version.ref = "microutils" }
|
||||||
|
|
||||||
kslog = { module = "dev.inmo:kslog", version.ref = "kslog" }
|
kslog = { module = "dev.inmo:kslog", version.ref = "kslog" }
|
||||||
|
|
||||||
|
|||||||
2
gradle/wrapper/gradle-wrapper.properties
vendored
2
gradle/wrapper/gradle-wrapper.properties
vendored
@@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME
|
|||||||
distributionPath=wrapper/dists
|
distributionPath=wrapper/dists
|
||||||
zipStoreBase=GRADLE_USER_HOME
|
zipStoreBase=GRADLE_USER_HOME
|
||||||
zipStorePath=wrapper/dists
|
zipStorePath=wrapper/dists
|
||||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip
|
distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip
|
||||||
|
|||||||
@@ -96,7 +96,6 @@ public synthetic class dev/inmo/tgbotapi/extensions/api/EditLiveLocationInfo$$se
|
|||||||
public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor;
|
public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor;
|
||||||
public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Ldev/inmo/tgbotapi/extensions/api/EditLiveLocationInfo;)V
|
public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Ldev/inmo/tgbotapi/extensions/api/EditLiveLocationInfo;)V
|
||||||
public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
|
public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
|
||||||
public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public final class dev/inmo/tgbotapi/extensions/api/EditLiveLocationInfo$Companion {
|
public final class dev/inmo/tgbotapi/extensions/api/EditLiveLocationInfo$Companion {
|
||||||
@@ -104,18 +103,18 @@ public final class dev/inmo/tgbotapi/extensions/api/EditLiveLocationInfo$Compani
|
|||||||
}
|
}
|
||||||
|
|
||||||
public final class dev/inmo/tgbotapi/extensions/api/ForwardMessageKt {
|
public final class dev/inmo/tgbotapi/extensions/api/ForwardMessageKt {
|
||||||
public static final fun forwardMessage-Jtj_99M (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/message/abstracts/AccessibleMessage;Ldev/inmo/tgbotapi/types/MessageThreadId;ZZLkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
public static final fun forwardMessage-G0NMK-w (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/message/abstracts/AccessibleMessage;Ldev/inmo/tgbotapi/types/MessageThreadId;Ljava/lang/Integer;ZZLkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
public static final fun forwardMessage-Jtj_99M (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/Chat;Ldev/inmo/tgbotapi/types/message/abstracts/AccessibleMessage;Ldev/inmo/tgbotapi/types/MessageThreadId;ZZLkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
public static final fun forwardMessage-G0NMK-w (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/Chat;Ldev/inmo/tgbotapi/types/message/abstracts/AccessibleMessage;Ldev/inmo/tgbotapi/types/MessageThreadId;Ljava/lang/Integer;ZZLkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
public static synthetic fun forwardMessage-Jtj_99M$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/message/abstracts/AccessibleMessage;Ldev/inmo/tgbotapi/types/MessageThreadId;ZZLkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
public static synthetic fun forwardMessage-G0NMK-w$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/message/abstracts/AccessibleMessage;Ldev/inmo/tgbotapi/types/MessageThreadId;Ljava/lang/Integer;ZZLkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
||||||
public static synthetic fun forwardMessage-Jtj_99M$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/Chat;Ldev/inmo/tgbotapi/types/message/abstracts/AccessibleMessage;Ldev/inmo/tgbotapi/types/MessageThreadId;ZZLkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
public static synthetic fun forwardMessage-G0NMK-w$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/Chat;Ldev/inmo/tgbotapi/types/message/abstracts/AccessibleMessage;Ldev/inmo/tgbotapi/types/MessageThreadId;Ljava/lang/Integer;ZZLkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
||||||
public static final fun forwardMessage-gJU3G-E (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/ChatIdentifier;JLdev/inmo/tgbotapi/types/MessageThreadId;ZZLkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
public static final fun forwardMessage-otd5OVs (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/ChatIdentifier;JLdev/inmo/tgbotapi/types/MessageThreadId;Ljava/lang/Integer;ZZLkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
public static final fun forwardMessage-gJU3G-E (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/chat/Chat;JLdev/inmo/tgbotapi/types/MessageThreadId;ZZLkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
public static final fun forwardMessage-otd5OVs (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/chat/Chat;JLdev/inmo/tgbotapi/types/MessageThreadId;Ljava/lang/Integer;ZZLkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
public static final fun forwardMessage-gJU3G-E (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/Chat;Ldev/inmo/tgbotapi/types/ChatIdentifier;JLdev/inmo/tgbotapi/types/MessageThreadId;ZZLkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
public static final fun forwardMessage-otd5OVs (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/Chat;Ldev/inmo/tgbotapi/types/ChatIdentifier;JLdev/inmo/tgbotapi/types/MessageThreadId;Ljava/lang/Integer;ZZLkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
public static final fun forwardMessage-gJU3G-E (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/Chat;Ldev/inmo/tgbotapi/types/chat/Chat;JLdev/inmo/tgbotapi/types/MessageThreadId;ZZLkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
public static final fun forwardMessage-otd5OVs (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/Chat;Ldev/inmo/tgbotapi/types/chat/Chat;JLdev/inmo/tgbotapi/types/MessageThreadId;Ljava/lang/Integer;ZZLkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
public static synthetic fun forwardMessage-gJU3G-E$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/ChatIdentifier;JLdev/inmo/tgbotapi/types/MessageThreadId;ZZLkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
public static synthetic fun forwardMessage-otd5OVs$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/ChatIdentifier;JLdev/inmo/tgbotapi/types/MessageThreadId;Ljava/lang/Integer;ZZLkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
||||||
public static synthetic fun forwardMessage-gJU3G-E$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/chat/Chat;JLdev/inmo/tgbotapi/types/MessageThreadId;ZZLkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
public static synthetic fun forwardMessage-otd5OVs$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/chat/Chat;JLdev/inmo/tgbotapi/types/MessageThreadId;Ljava/lang/Integer;ZZLkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
||||||
public static synthetic fun forwardMessage-gJU3G-E$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/Chat;Ldev/inmo/tgbotapi/types/ChatIdentifier;JLdev/inmo/tgbotapi/types/MessageThreadId;ZZLkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
public static synthetic fun forwardMessage-otd5OVs$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/Chat;Ldev/inmo/tgbotapi/types/ChatIdentifier;JLdev/inmo/tgbotapi/types/MessageThreadId;Ljava/lang/Integer;ZZLkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
||||||
public static synthetic fun forwardMessage-gJU3G-E$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/Chat;Ldev/inmo/tgbotapi/types/chat/Chat;JLdev/inmo/tgbotapi/types/MessageThreadId;ZZLkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
public static synthetic fun forwardMessage-otd5OVs$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/Chat;Ldev/inmo/tgbotapi/types/chat/Chat;JLdev/inmo/tgbotapi/types/MessageThreadId;Ljava/lang/Integer;ZZLkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
||||||
}
|
}
|
||||||
|
|
||||||
public final class dev/inmo/tgbotapi/extensions/api/ForwardMessagesKt {
|
public final class dev/inmo/tgbotapi/extensions/api/ForwardMessagesKt {
|
||||||
@@ -898,6 +897,15 @@ public final class dev/inmo/tgbotapi/extensions/api/edit/media/EditInlineMessage
|
|||||||
public static synthetic fun editMessageMedia-FrLM24I$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ljava/lang/String;Ldev/inmo/tgbotapi/types/media/TelegramFreeMedia;Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
public static synthetic fun editMessageMedia-FrLM24I$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ljava/lang/String;Ldev/inmo/tgbotapi/types/media/TelegramFreeMedia;Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public final class dev/inmo/tgbotapi/extensions/api/edit/payments/EditUserStarSubscriptionKt {
|
||||||
|
public static final fun cancelUserStarSubscription-0SkZb-I (Ldev/inmo/tgbotapi/bot/RequestsExecutor;JLjava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
|
public static final fun cancelUserStarSubscription-AASCvMI (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/User;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
|
public static final fun editUserStarSubscription-0x-hEcU (Ldev/inmo/tgbotapi/bot/RequestsExecutor;JLjava/lang/String;ZLkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
|
public static final fun editUserStarSubscription-TFuYNzM (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/User;Ljava/lang/String;ZLkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
|
public static final fun enableUserStarSubscription-0SkZb-I (Ldev/inmo/tgbotapi/bot/RequestsExecutor;JLjava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
|
public static final fun enableUserStarSubscription-AASCvMI (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/User;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
|
}
|
||||||
|
|
||||||
public final class dev/inmo/tgbotapi/extensions/api/edit/reply_markup/EditChatMessageReplyMarkupKt {
|
public final class dev/inmo/tgbotapi/extensions/api/edit/reply_markup/EditChatMessageReplyMarkupKt {
|
||||||
public static final fun editMessageReplyMarkup-iJMbh4A (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/message/abstracts/AccessibleMessage;Ljava/lang/String;Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
public static final fun editMessageReplyMarkup-iJMbh4A (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/message/abstracts/AccessibleMessage;Ljava/lang/String;Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
public static synthetic fun editMessageReplyMarkup-iJMbh4A$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/message/abstracts/AccessibleMessage;Ljava/lang/String;Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
public static synthetic fun editMessageReplyMarkup-iJMbh4A$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/message/abstracts/AccessibleMessage;Ljava/lang/String;Ldev/inmo/tgbotapi/types/buttons/InlineKeyboardMarkup;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
||||||
@@ -1076,6 +1084,46 @@ public final class dev/inmo/tgbotapi/extensions/api/get/GetUserProfilePhotosKt {
|
|||||||
public static synthetic fun getUserProfilePhotos-4iNBclM$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;JLjava/lang/Integer;Ljava/lang/Integer;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
public static synthetic fun getUserProfilePhotos-4iNBclM$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;JLjava/lang/Integer;Ljava/lang/Integer;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public final class dev/inmo/tgbotapi/extensions/api/gifts/GetAvailableGiftsKt {
|
||||||
|
public static final fun getAvailableGifts (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
|
}
|
||||||
|
|
||||||
|
public final class dev/inmo/tgbotapi/extensions/api/gifts/SendGiftGeneratedVariationKt {
|
||||||
|
public static final fun sendGift (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/User;Ldev/inmo/tgbotapi/types/gifts/Gift;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
|
public static final fun sendGift (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/User;Ldev/inmo/tgbotapi/types/gifts/Gift;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;ZLkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
|
public static final fun sendGift-0SDnvgk (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/User;Ljava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;ZLkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
|
public static final fun sendGift-GROm3fU (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/User;Ljava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
|
public static final fun sendGift-VjR9mJc (Ldev/inmo/tgbotapi/bot/RequestsExecutor;JLdev/inmo/tgbotapi/types/gifts/Gift;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;ZLkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
|
public static final fun sendGift-ySMgKnk (Ldev/inmo/tgbotapi/bot/RequestsExecutor;JLdev/inmo/tgbotapi/types/gifts/Gift;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
|
}
|
||||||
|
|
||||||
|
public final class dev/inmo/tgbotapi/extensions/api/gifts/SendGiftKt {
|
||||||
|
public static final fun sendGift-1FWvrZc (Ldev/inmo/tgbotapi/bot/RequestsExecutor;JLjava/lang/String;Ljava/util/List;ZLkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
|
public static synthetic fun sendGift-1FWvrZc$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;JLjava/lang/String;Ljava/util/List;ZLkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
||||||
|
public static final fun sendGift-CrS58cM (Ldev/inmo/tgbotapi/bot/RequestsExecutor;JLjava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;ZLkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
|
public static synthetic fun sendGift-CrS58cM$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;JLjava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;ZLkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
||||||
|
public static final fun sendGiftToChat-0SDnvgk (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ljava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;ZLkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
|
public static synthetic fun sendGiftToChat-0SDnvgk$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ljava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;ZLkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
||||||
|
public static final fun sendGiftToChat-GROm3fU (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ljava/lang/String;Ljava/util/List;ZLkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
|
public static synthetic fun sendGiftToChat-GROm3fU$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ljava/lang/String;Ljava/util/List;ZLkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
||||||
|
}
|
||||||
|
|
||||||
|
public final class dev/inmo/tgbotapi/extensions/api/gifts/SendGiftToChatGeneratedVariationKt {
|
||||||
|
public static final fun sendGiftToChat (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/gifts/Gift;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
|
public static final fun sendGiftToChat (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/gifts/Gift;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;ZLkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
|
public static final fun sendGiftToChat (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/PublicChat;Ldev/inmo/tgbotapi/types/gifts/Gift;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
|
public static final fun sendGiftToChat (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/PublicChat;Ldev/inmo/tgbotapi/types/gifts/Gift;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;ZLkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
|
public static final fun sendGiftToChat-0SDnvgk (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/PublicChat;Ljava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;ZLkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
|
public static final fun sendGiftToChat-GROm3fU (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/PublicChat;Ljava/lang/String;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
|
}
|
||||||
|
|
||||||
|
public final class dev/inmo/tgbotapi/extensions/api/inline/SavePreparedInlineMessageKt {
|
||||||
|
public static final fun savePreparedInlineMessage (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/User;Ldev/inmo/tgbotapi/types/InlineQueries/InlineQueryResult/abstracts/InlineQueryResult;ZZZZLkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
|
public static synthetic fun savePreparedInlineMessage$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/User;Ldev/inmo/tgbotapi/types/InlineQueries/InlineQueryResult/abstracts/InlineQueryResult;ZZZZLkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
||||||
|
public static final fun savePreparedInlineMessage-W2FzMBY (Ldev/inmo/tgbotapi/bot/RequestsExecutor;JLdev/inmo/tgbotapi/types/InlineQueries/InlineQueryResult/abstracts/InlineQueryResult;ZZZZLkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
|
public static synthetic fun savePreparedInlineMessage-W2FzMBY$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;JLdev/inmo/tgbotapi/types/InlineQueries/InlineQueryResult/abstracts/InlineQueryResult;ZZZZLkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
||||||
|
}
|
||||||
|
|
||||||
public final class dev/inmo/tgbotapi/extensions/api/passport/SetPassportDataErrorsKt {
|
public final class dev/inmo/tgbotapi/extensions/api/passport/SetPassportDataErrorsKt {
|
||||||
public static final fun setPassportDataErrors (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/User;Ldev/inmo/tgbotapi/types/passport/PassportData;Ldev/inmo/tgbotapi/utils/passport/Decryptor;Lkotlin/jvm/functions/Function3;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
public static final fun setPassportDataErrors (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/User;Ldev/inmo/tgbotapi/types/passport/PassportData;Ldev/inmo/tgbotapi/utils/passport/Decryptor;Lkotlin/jvm/functions/Function3;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
public static final fun setPassportDataErrors (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/User;Ljava/util/List;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
public static final fun setPassportDataErrors (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/User;Ljava/util/List;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
@@ -1085,30 +1133,30 @@ public final class dev/inmo/tgbotapi/extensions/api/passport/SetPassportDataErro
|
|||||||
}
|
}
|
||||||
|
|
||||||
public final class dev/inmo/tgbotapi/extensions/api/send/CopyMessageKt {
|
public final class dev/inmo/tgbotapi/extensions/api/send/CopyMessageKt {
|
||||||
public static final fun copyMessage-4vY2rXA (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/message/abstracts/AccessibleMessage;Ljava/util/List;ZLdev/inmo/tgbotapi/types/MessageThreadId;ZZZLdev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
public static final fun copyMessage-KRJ1h7Y (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/message/abstracts/AccessibleMessage;Ljava/util/List;ZLdev/inmo/tgbotapi/types/MessageThreadId;Ljava/lang/Integer;ZZZLdev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
public static final fun copyMessage-4vY2rXA (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/Chat;Ldev/inmo/tgbotapi/types/message/abstracts/AccessibleMessage;Ljava/util/List;ZLdev/inmo/tgbotapi/types/MessageThreadId;ZZZLdev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
public static final fun copyMessage-KRJ1h7Y (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/Chat;Ldev/inmo/tgbotapi/types/message/abstracts/AccessibleMessage;Ljava/util/List;ZLdev/inmo/tgbotapi/types/MessageThreadId;Ljava/lang/Integer;ZZZLdev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
public static synthetic fun copyMessage-4vY2rXA$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/message/abstracts/AccessibleMessage;Ljava/util/List;ZLdev/inmo/tgbotapi/types/MessageThreadId;ZZZLdev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
public static synthetic fun copyMessage-KRJ1h7Y$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/message/abstracts/AccessibleMessage;Ljava/util/List;ZLdev/inmo/tgbotapi/types/MessageThreadId;Ljava/lang/Integer;ZZZLdev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
||||||
public static synthetic fun copyMessage-4vY2rXA$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/Chat;Ldev/inmo/tgbotapi/types/message/abstracts/AccessibleMessage;Ljava/util/List;ZLdev/inmo/tgbotapi/types/MessageThreadId;ZZZLdev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
public static synthetic fun copyMessage-KRJ1h7Y$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/Chat;Ldev/inmo/tgbotapi/types/message/abstracts/AccessibleMessage;Ljava/util/List;ZLdev/inmo/tgbotapi/types/MessageThreadId;Ljava/lang/Integer;ZZZLdev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
||||||
public static final fun copyMessage-OcVbe1s (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/message/abstracts/AccessibleMessage;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;ZLdev/inmo/tgbotapi/types/MessageThreadId;ZZZLdev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
public static final fun copyMessage-TZVTCXQ (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/message/abstracts/AccessibleMessage;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;ZLdev/inmo/tgbotapi/types/MessageThreadId;Ljava/lang/Integer;ZZZLdev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
public static final fun copyMessage-OcVbe1s (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/Chat;Ldev/inmo/tgbotapi/types/message/abstracts/AccessibleMessage;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;ZLdev/inmo/tgbotapi/types/MessageThreadId;ZZZLdev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
public static final fun copyMessage-TZVTCXQ (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/Chat;Ldev/inmo/tgbotapi/types/message/abstracts/AccessibleMessage;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;ZLdev/inmo/tgbotapi/types/MessageThreadId;Ljava/lang/Integer;ZZZLdev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
public static synthetic fun copyMessage-OcVbe1s$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/message/abstracts/AccessibleMessage;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;ZLdev/inmo/tgbotapi/types/MessageThreadId;ZZZLdev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
public static synthetic fun copyMessage-TZVTCXQ$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/message/abstracts/AccessibleMessage;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;ZLdev/inmo/tgbotapi/types/MessageThreadId;Ljava/lang/Integer;ZZZLdev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
||||||
public static synthetic fun copyMessage-OcVbe1s$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/Chat;Ldev/inmo/tgbotapi/types/message/abstracts/AccessibleMessage;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;ZLdev/inmo/tgbotapi/types/MessageThreadId;ZZZLdev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
public static synthetic fun copyMessage-TZVTCXQ$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/Chat;Ldev/inmo/tgbotapi/types/message/abstracts/AccessibleMessage;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;ZLdev/inmo/tgbotapi/types/MessageThreadId;Ljava/lang/Integer;ZZZLdev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
||||||
public static final fun copyMessage-iAqBLco (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;JLdev/inmo/tgbotapi/types/ChatIdentifier;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;ZLdev/inmo/tgbotapi/types/MessageThreadId;ZZZLdev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
public static final fun copyMessage-kYXRsd4 (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;JLdev/inmo/tgbotapi/types/ChatIdentifier;Ljava/util/List;ZLdev/inmo/tgbotapi/types/MessageThreadId;Ljava/lang/Integer;ZZZLdev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
public static final fun copyMessage-iAqBLco (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;JLdev/inmo/tgbotapi/types/chat/Chat;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;ZLdev/inmo/tgbotapi/types/MessageThreadId;ZZZLdev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
public static final fun copyMessage-kYXRsd4 (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;JLdev/inmo/tgbotapi/types/chat/Chat;Ljava/util/List;ZLdev/inmo/tgbotapi/types/MessageThreadId;Ljava/lang/Integer;ZZZLdev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
public static final fun copyMessage-iAqBLco (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/Chat;JLdev/inmo/tgbotapi/types/ChatIdentifier;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;ZLdev/inmo/tgbotapi/types/MessageThreadId;ZZZLdev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
public static final fun copyMessage-kYXRsd4 (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/Chat;JLdev/inmo/tgbotapi/types/ChatIdentifier;Ljava/util/List;ZLdev/inmo/tgbotapi/types/MessageThreadId;Ljava/lang/Integer;ZZZLdev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
public static final fun copyMessage-iAqBLco (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/Chat;JLdev/inmo/tgbotapi/types/chat/Chat;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;ZLdev/inmo/tgbotapi/types/MessageThreadId;ZZZLdev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
public static final fun copyMessage-kYXRsd4 (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/Chat;JLdev/inmo/tgbotapi/types/chat/Chat;Ljava/util/List;ZLdev/inmo/tgbotapi/types/MessageThreadId;Ljava/lang/Integer;ZZZLdev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
public static synthetic fun copyMessage-iAqBLco$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;JLdev/inmo/tgbotapi/types/ChatIdentifier;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;ZLdev/inmo/tgbotapi/types/MessageThreadId;ZZZLdev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
public static synthetic fun copyMessage-kYXRsd4$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;JLdev/inmo/tgbotapi/types/ChatIdentifier;Ljava/util/List;ZLdev/inmo/tgbotapi/types/MessageThreadId;Ljava/lang/Integer;ZZZLdev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
||||||
public static synthetic fun copyMessage-iAqBLco$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;JLdev/inmo/tgbotapi/types/chat/Chat;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;ZLdev/inmo/tgbotapi/types/MessageThreadId;ZZZLdev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
public static synthetic fun copyMessage-kYXRsd4$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;JLdev/inmo/tgbotapi/types/chat/Chat;Ljava/util/List;ZLdev/inmo/tgbotapi/types/MessageThreadId;Ljava/lang/Integer;ZZZLdev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
||||||
public static synthetic fun copyMessage-iAqBLco$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/Chat;JLdev/inmo/tgbotapi/types/ChatIdentifier;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;ZLdev/inmo/tgbotapi/types/MessageThreadId;ZZZLdev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
public static synthetic fun copyMessage-kYXRsd4$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/Chat;JLdev/inmo/tgbotapi/types/ChatIdentifier;Ljava/util/List;ZLdev/inmo/tgbotapi/types/MessageThreadId;Ljava/lang/Integer;ZZZLdev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
||||||
public static synthetic fun copyMessage-iAqBLco$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/Chat;JLdev/inmo/tgbotapi/types/chat/Chat;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;ZLdev/inmo/tgbotapi/types/MessageThreadId;ZZZLdev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
public static synthetic fun copyMessage-kYXRsd4$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/Chat;JLdev/inmo/tgbotapi/types/chat/Chat;Ljava/util/List;ZLdev/inmo/tgbotapi/types/MessageThreadId;Ljava/lang/Integer;ZZZLdev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
||||||
public static final fun copyMessage-jlXqlwc (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;JLdev/inmo/tgbotapi/types/ChatIdentifier;Ljava/util/List;ZLdev/inmo/tgbotapi/types/MessageThreadId;ZZZLdev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
public static final fun copyMessage-wTdqI8k (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;JLdev/inmo/tgbotapi/types/ChatIdentifier;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;ZLdev/inmo/tgbotapi/types/MessageThreadId;Ljava/lang/Integer;ZZZLdev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
public static final fun copyMessage-jlXqlwc (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;JLdev/inmo/tgbotapi/types/chat/Chat;Ljava/util/List;ZLdev/inmo/tgbotapi/types/MessageThreadId;ZZZLdev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
public static final fun copyMessage-wTdqI8k (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;JLdev/inmo/tgbotapi/types/chat/Chat;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;ZLdev/inmo/tgbotapi/types/MessageThreadId;Ljava/lang/Integer;ZZZLdev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
public static final fun copyMessage-jlXqlwc (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/Chat;JLdev/inmo/tgbotapi/types/ChatIdentifier;Ljava/util/List;ZLdev/inmo/tgbotapi/types/MessageThreadId;ZZZLdev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
public static final fun copyMessage-wTdqI8k (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/Chat;JLdev/inmo/tgbotapi/types/ChatIdentifier;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;ZLdev/inmo/tgbotapi/types/MessageThreadId;Ljava/lang/Integer;ZZZLdev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
public static final fun copyMessage-jlXqlwc (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/Chat;JLdev/inmo/tgbotapi/types/chat/Chat;Ljava/util/List;ZLdev/inmo/tgbotapi/types/MessageThreadId;ZZZLdev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
public static final fun copyMessage-wTdqI8k (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/Chat;JLdev/inmo/tgbotapi/types/chat/Chat;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;ZLdev/inmo/tgbotapi/types/MessageThreadId;Ljava/lang/Integer;ZZZLdev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
public static synthetic fun copyMessage-jlXqlwc$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;JLdev/inmo/tgbotapi/types/ChatIdentifier;Ljava/util/List;ZLdev/inmo/tgbotapi/types/MessageThreadId;ZZZLdev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
public static synthetic fun copyMessage-wTdqI8k$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;JLdev/inmo/tgbotapi/types/ChatIdentifier;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;ZLdev/inmo/tgbotapi/types/MessageThreadId;Ljava/lang/Integer;ZZZLdev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
||||||
public static synthetic fun copyMessage-jlXqlwc$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;JLdev/inmo/tgbotapi/types/chat/Chat;Ljava/util/List;ZLdev/inmo/tgbotapi/types/MessageThreadId;ZZZLdev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
public static synthetic fun copyMessage-wTdqI8k$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;JLdev/inmo/tgbotapi/types/chat/Chat;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;ZLdev/inmo/tgbotapi/types/MessageThreadId;Ljava/lang/Integer;ZZZLdev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
||||||
public static synthetic fun copyMessage-jlXqlwc$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/Chat;JLdev/inmo/tgbotapi/types/ChatIdentifier;Ljava/util/List;ZLdev/inmo/tgbotapi/types/MessageThreadId;ZZZLdev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
public static synthetic fun copyMessage-wTdqI8k$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/Chat;JLdev/inmo/tgbotapi/types/ChatIdentifier;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;ZLdev/inmo/tgbotapi/types/MessageThreadId;Ljava/lang/Integer;ZZZLdev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
||||||
public static synthetic fun copyMessage-jlXqlwc$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/Chat;JLdev/inmo/tgbotapi/types/chat/Chat;Ljava/util/List;ZLdev/inmo/tgbotapi/types/MessageThreadId;ZZZLdev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
public static synthetic fun copyMessage-wTdqI8k$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/Chat;JLdev/inmo/tgbotapi/types/chat/Chat;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;ZLdev/inmo/tgbotapi/types/MessageThreadId;Ljava/lang/Integer;ZZZLdev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
||||||
}
|
}
|
||||||
|
|
||||||
public final class dev/inmo/tgbotapi/extensions/api/send/CopyMessagesKt {
|
public final class dev/inmo/tgbotapi/extensions/api/send/CopyMessagesKt {
|
||||||
@@ -2071,10 +2119,6 @@ public final class dev/inmo/tgbotapi/extensions/api/send/media/SendStickerKt {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public final class dev/inmo/tgbotapi/extensions/api/send/media/SendVideoKt {
|
public final class dev/inmo/tgbotapi/extensions/api/send/media/SendVideoKt {
|
||||||
public static final fun sendVideo-2mDteE4 (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/requests/abstracts/InputFile;Ldev/inmo/tgbotapi/requests/abstracts/InputFile;Ljava/util/List;ZZLjava/lang/Long;Ljava/lang/Integer;Ljava/lang/Integer;Ldev/inmo/tgbotapi/types/MessageThreadId;Ljava/lang/String;ZZZLjava/lang/String;Ldev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
|
||||||
public static final fun sendVideo-2mDteE4 (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/Chat;Ldev/inmo/tgbotapi/requests/abstracts/InputFile;Ldev/inmo/tgbotapi/requests/abstracts/InputFile;Ljava/util/List;ZZLjava/lang/Long;Ljava/lang/Integer;Ljava/lang/Integer;Ldev/inmo/tgbotapi/types/MessageThreadId;Ljava/lang/String;ZZZLjava/lang/String;Ldev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
|
||||||
public static synthetic fun sendVideo-2mDteE4$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/requests/abstracts/InputFile;Ldev/inmo/tgbotapi/requests/abstracts/InputFile;Ljava/util/List;ZZLjava/lang/Long;Ljava/lang/Integer;Ljava/lang/Integer;Ldev/inmo/tgbotapi/types/MessageThreadId;Ljava/lang/String;ZZZLjava/lang/String;Ldev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
|
||||||
public static synthetic fun sendVideo-2mDteE4$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/Chat;Ldev/inmo/tgbotapi/requests/abstracts/InputFile;Ldev/inmo/tgbotapi/requests/abstracts/InputFile;Ljava/util/List;ZZLjava/lang/Long;Ljava/lang/Integer;Ljava/lang/Integer;Ldev/inmo/tgbotapi/types/MessageThreadId;Ljava/lang/String;ZZZLjava/lang/String;Ldev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
|
||||||
public static final fun sendVideo-CoeeeEM (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/files/VideoFile;Ljava/util/List;ZZLdev/inmo/tgbotapi/types/MessageThreadId;Ljava/lang/String;ZZZLjava/lang/String;Ldev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
public static final fun sendVideo-CoeeeEM (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/files/VideoFile;Ljava/util/List;ZZLdev/inmo/tgbotapi/types/MessageThreadId;Ljava/lang/String;ZZZLjava/lang/String;Ldev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
public static final fun sendVideo-CoeeeEM (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/Chat;Ldev/inmo/tgbotapi/types/files/VideoFile;Ljava/util/List;ZZLdev/inmo/tgbotapi/types/MessageThreadId;Ljava/lang/String;ZZZLjava/lang/String;Ldev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
public static final fun sendVideo-CoeeeEM (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/Chat;Ldev/inmo/tgbotapi/types/files/VideoFile;Ljava/util/List;ZZLdev/inmo/tgbotapi/types/MessageThreadId;Ljava/lang/String;ZZZLjava/lang/String;Ldev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
public static synthetic fun sendVideo-CoeeeEM$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/files/VideoFile;Ljava/util/List;ZZLdev/inmo/tgbotapi/types/MessageThreadId;Ljava/lang/String;ZZZLjava/lang/String;Ldev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
public static synthetic fun sendVideo-CoeeeEM$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/files/VideoFile;Ljava/util/List;ZZLdev/inmo/tgbotapi/types/MessageThreadId;Ljava/lang/String;ZZZLjava/lang/String;Ldev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
||||||
@@ -2083,10 +2127,14 @@ public final class dev/inmo/tgbotapi/extensions/api/send/media/SendVideoKt {
|
|||||||
public static final fun sendVideo-ETv3X88 (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/Chat;Ldev/inmo/tgbotapi/types/files/VideoFile;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;ZZLdev/inmo/tgbotapi/types/MessageThreadId;Ljava/lang/String;ZZZLjava/lang/String;Ldev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
public static final fun sendVideo-ETv3X88 (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/Chat;Ldev/inmo/tgbotapi/types/files/VideoFile;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;ZZLdev/inmo/tgbotapi/types/MessageThreadId;Ljava/lang/String;ZZZLjava/lang/String;Ldev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
public static synthetic fun sendVideo-ETv3X88$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/files/VideoFile;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;ZZLdev/inmo/tgbotapi/types/MessageThreadId;Ljava/lang/String;ZZZLjava/lang/String;Ldev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
public static synthetic fun sendVideo-ETv3X88$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/types/files/VideoFile;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;ZZLdev/inmo/tgbotapi/types/MessageThreadId;Ljava/lang/String;ZZZLjava/lang/String;Ldev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
||||||
public static synthetic fun sendVideo-ETv3X88$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/Chat;Ldev/inmo/tgbotapi/types/files/VideoFile;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;ZZLdev/inmo/tgbotapi/types/MessageThreadId;Ljava/lang/String;ZZZLjava/lang/String;Ldev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
public static synthetic fun sendVideo-ETv3X88$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/Chat;Ldev/inmo/tgbotapi/types/files/VideoFile;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;ZZLdev/inmo/tgbotapi/types/MessageThreadId;Ljava/lang/String;ZZZLjava/lang/String;Ldev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
||||||
public static final fun sendVideo-cRpLNPQ (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/requests/abstracts/InputFile;Ldev/inmo/tgbotapi/requests/abstracts/InputFile;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;ZZLjava/lang/Long;Ljava/lang/Integer;Ljava/lang/Integer;Ldev/inmo/tgbotapi/types/MessageThreadId;Ljava/lang/String;ZZZLjava/lang/String;Ldev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
public static final fun sendVideo-Ff7hz4g (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/requests/abstracts/InputFile;Ldev/inmo/tgbotapi/requests/abstracts/InputFile;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;ZZLdev/inmo/tgbotapi/requests/abstracts/InputFile;Ljava/lang/Integer;Ljava/lang/Long;Ljava/lang/Integer;Ljava/lang/Integer;Ldev/inmo/tgbotapi/types/MessageThreadId;Ljava/lang/String;ZZZLjava/lang/String;Ldev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
public static final fun sendVideo-cRpLNPQ (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/Chat;Ldev/inmo/tgbotapi/requests/abstracts/InputFile;Ldev/inmo/tgbotapi/requests/abstracts/InputFile;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;ZZLjava/lang/Long;Ljava/lang/Integer;Ljava/lang/Integer;Ldev/inmo/tgbotapi/types/MessageThreadId;Ljava/lang/String;ZZZLjava/lang/String;Ldev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
public static final fun sendVideo-Ff7hz4g (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/Chat;Ldev/inmo/tgbotapi/requests/abstracts/InputFile;Ldev/inmo/tgbotapi/requests/abstracts/InputFile;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;ZZLdev/inmo/tgbotapi/requests/abstracts/InputFile;Ljava/lang/Integer;Ljava/lang/Long;Ljava/lang/Integer;Ljava/lang/Integer;Ldev/inmo/tgbotapi/types/MessageThreadId;Ljava/lang/String;ZZZLjava/lang/String;Ldev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
public static synthetic fun sendVideo-cRpLNPQ$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/requests/abstracts/InputFile;Ldev/inmo/tgbotapi/requests/abstracts/InputFile;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;ZZLjava/lang/Long;Ljava/lang/Integer;Ljava/lang/Integer;Ldev/inmo/tgbotapi/types/MessageThreadId;Ljava/lang/String;ZZZLjava/lang/String;Ldev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
public static synthetic fun sendVideo-Ff7hz4g$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/requests/abstracts/InputFile;Ldev/inmo/tgbotapi/requests/abstracts/InputFile;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;ZZLdev/inmo/tgbotapi/requests/abstracts/InputFile;Ljava/lang/Integer;Ljava/lang/Long;Ljava/lang/Integer;Ljava/lang/Integer;Ldev/inmo/tgbotapi/types/MessageThreadId;Ljava/lang/String;ZZZLjava/lang/String;Ldev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
||||||
public static synthetic fun sendVideo-cRpLNPQ$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/Chat;Ldev/inmo/tgbotapi/requests/abstracts/InputFile;Ldev/inmo/tgbotapi/requests/abstracts/InputFile;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;ZZLjava/lang/Long;Ljava/lang/Integer;Ljava/lang/Integer;Ldev/inmo/tgbotapi/types/MessageThreadId;Ljava/lang/String;ZZZLjava/lang/String;Ldev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
public static synthetic fun sendVideo-Ff7hz4g$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/Chat;Ldev/inmo/tgbotapi/requests/abstracts/InputFile;Ldev/inmo/tgbotapi/requests/abstracts/InputFile;Ljava/lang/String;Ldev/inmo/tgbotapi/types/message/ParseMode;ZZLdev/inmo/tgbotapi/requests/abstracts/InputFile;Ljava/lang/Integer;Ljava/lang/Long;Ljava/lang/Integer;Ljava/lang/Integer;Ldev/inmo/tgbotapi/types/MessageThreadId;Ljava/lang/String;ZZZLjava/lang/String;Ldev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
||||||
|
public static final fun sendVideo-bKa3ifY (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/requests/abstracts/InputFile;Ldev/inmo/tgbotapi/requests/abstracts/InputFile;Ljava/util/List;ZZLdev/inmo/tgbotapi/requests/abstracts/InputFile;Ljava/lang/Integer;Ljava/lang/Long;Ljava/lang/Integer;Ljava/lang/Integer;Ldev/inmo/tgbotapi/types/MessageThreadId;Ljava/lang/String;ZZZLjava/lang/String;Ldev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
|
public static final fun sendVideo-bKa3ifY (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/Chat;Ldev/inmo/tgbotapi/requests/abstracts/InputFile;Ldev/inmo/tgbotapi/requests/abstracts/InputFile;Ljava/util/List;ZZLdev/inmo/tgbotapi/requests/abstracts/InputFile;Ljava/lang/Integer;Ljava/lang/Long;Ljava/lang/Integer;Ljava/lang/Integer;Ldev/inmo/tgbotapi/types/MessageThreadId;Ljava/lang/String;ZZZLjava/lang/String;Ldev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
|
public static synthetic fun sendVideo-bKa3ifY$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ldev/inmo/tgbotapi/requests/abstracts/InputFile;Ldev/inmo/tgbotapi/requests/abstracts/InputFile;Ljava/util/List;ZZLdev/inmo/tgbotapi/requests/abstracts/InputFile;Ljava/lang/Integer;Ljava/lang/Long;Ljava/lang/Integer;Ljava/lang/Integer;Ldev/inmo/tgbotapi/types/MessageThreadId;Ljava/lang/String;ZZZLjava/lang/String;Ldev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
||||||
|
public static synthetic fun sendVideo-bKa3ifY$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/Chat;Ldev/inmo/tgbotapi/requests/abstracts/InputFile;Ldev/inmo/tgbotapi/requests/abstracts/InputFile;Ljava/util/List;ZZLdev/inmo/tgbotapi/requests/abstracts/InputFile;Ljava/lang/Integer;Ljava/lang/Long;Ljava/lang/Integer;Ljava/lang/Integer;Ldev/inmo/tgbotapi/types/MessageThreadId;Ljava/lang/String;ZZZLjava/lang/String;Ldev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
||||||
}
|
}
|
||||||
|
|
||||||
public final class dev/inmo/tgbotapi/extensions/api/send/media/SendVideoNoteKt {
|
public final class dev/inmo/tgbotapi/extensions/api/send/media/SendVideoNoteKt {
|
||||||
@@ -2121,9 +2169,9 @@ public final class dev/inmo/tgbotapi/extensions/api/send/media/SendVoiceKt {
|
|||||||
|
|
||||||
public final class dev/inmo/tgbotapi/extensions/api/send/payments/CreateInvoiceLinkKt {
|
public final class dev/inmo/tgbotapi/extensions/api/send/payments/CreateInvoiceLinkKt {
|
||||||
public static final fun createInvoiceLink (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/lang/Integer;Ljava/util/List;Ljava/lang/String;ZZZZZZZLkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
public static final fun createInvoiceLink (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/lang/Integer;Ljava/util/List;Ljava/lang/String;ZZZZZZZLkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
public static final fun createInvoiceLink (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/lang/Integer;Ljava/util/List;Ljava/lang/String;ZZZZZZZLkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
|
||||||
public static synthetic fun createInvoiceLink$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/lang/Integer;Ljava/util/List;Ljava/lang/String;ZZZZZZZLkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
public static synthetic fun createInvoiceLink$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/lang/Integer;Ljava/util/List;Ljava/lang/String;ZZZZZZZLkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
||||||
public static synthetic fun createInvoiceLink$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/lang/Integer;Ljava/util/List;Ljava/lang/String;ZZZZZZZLkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
public static final fun createInvoiceLink-1vVIECE (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/lang/String;Lkotlin/time/Duration;Ljava/lang/Integer;Ljava/util/List;Ljava/lang/String;ZZZZZZZLkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
|
public static synthetic fun createInvoiceLink-1vVIECE$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/lang/String;Lkotlin/time/Duration;Ljava/lang/Integer;Ljava/util/List;Ljava/lang/String;ZZZZZZZLkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
||||||
}
|
}
|
||||||
|
|
||||||
public final class dev/inmo/tgbotapi/extensions/api/send/payments/RefundStarPaymentKt {
|
public final class dev/inmo/tgbotapi/extensions/api/send/payments/RefundStarPaymentKt {
|
||||||
@@ -2172,6 +2220,15 @@ public final class dev/inmo/tgbotapi/extensions/api/send/polls/SendRegularPollKt
|
|||||||
public static synthetic fun sendRegularPoll-smr50Sk$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ljava/util/List;Ljava/util/List;Ldev/inmo/tgbotapi/types/polls/ScheduledCloseInfo;ZZZLdev/inmo/tgbotapi/types/MessageThreadId;Ljava/lang/String;ZZZLjava/lang/String;Ldev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
public static synthetic fun sendRegularPoll-smr50Sk$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ljava/util/List;Ljava/util/List;Ldev/inmo/tgbotapi/types/polls/ScheduledCloseInfo;ZZZLdev/inmo/tgbotapi/types/MessageThreadId;Ljava/lang/String;ZZZLjava/lang/String;Ldev/inmo/tgbotapi/types/ReplyParameters;Ldev/inmo/tgbotapi/types/buttons/KeyboardMarkup;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public final class dev/inmo/tgbotapi/extensions/api/set/SetUserEmojiStatusKt {
|
||||||
|
public static final fun setUserEmojiStatus-8OHYyMQ (Ldev/inmo/tgbotapi/bot/RequestsExecutor;JLjava/lang/String;DLkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
|
public static final fun setUserEmojiStatus-OZgzbMQ (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/User;Ljava/lang/String;DLkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
|
public static final fun setUserEmojiStatus-SrqJ0BM (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/User;Ljava/lang/String;Ldev/inmo/tgbotapi/types/TelegramDate;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
|
public static synthetic fun setUserEmojiStatus-SrqJ0BM$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/User;Ljava/lang/String;Ldev/inmo/tgbotapi/types/TelegramDate;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
||||||
|
public static final fun setUserEmojiStatus-bic5Y5o (Ldev/inmo/tgbotapi/bot/RequestsExecutor;JLjava/lang/String;Ldev/inmo/tgbotapi/types/TelegramDate;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
|
public static synthetic fun setUserEmojiStatus-bic5Y5o$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;JLjava/lang/String;Ldev/inmo/tgbotapi/types/TelegramDate;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
||||||
|
}
|
||||||
|
|
||||||
public final class dev/inmo/tgbotapi/extensions/api/stickers/AddStickerToSetKt {
|
public final class dev/inmo/tgbotapi/extensions/api/stickers/AddStickerToSetKt {
|
||||||
public static final fun addStickerToSet (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/CommonUser;Ldev/inmo/tgbotapi/types/stickers/StickerSet;Ldev/inmo/tgbotapi/requests/abstracts/InputFile;Ldev/inmo/tgbotapi/types/StickerFormat;Ljava/util/List;Ldev/inmo/tgbotapi/types/stickers/MaskPosition;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
public static final fun addStickerToSet (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/CommonUser;Ldev/inmo/tgbotapi/types/stickers/StickerSet;Ldev/inmo/tgbotapi/requests/abstracts/InputFile;Ldev/inmo/tgbotapi/types/StickerFormat;Ljava/util/List;Ldev/inmo/tgbotapi/types/stickers/MaskPosition;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
public static final fun addStickerToSet (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/CommonUser;Ldev/inmo/tgbotapi/types/stickers/StickerSet;Ldev/inmo/tgbotapi/requests/abstracts/InputFile;Ldev/inmo/tgbotapi/types/StickerFormat;Ljava/util/List;Ljava/util/List;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
public static final fun addStickerToSet (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/CommonUser;Ldev/inmo/tgbotapi/types/stickers/StickerSet;Ldev/inmo/tgbotapi/requests/abstracts/InputFile;Ldev/inmo/tgbotapi/types/StickerFormat;Ljava/util/List;Ljava/util/List;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
@@ -2271,6 +2328,20 @@ public final class dev/inmo/tgbotapi/extensions/api/utils/UpdatesHandlingKt {
|
|||||||
public static synthetic fun updateHandlerWithMediaGroupsAdaptation$default (Lkotlinx/coroutines/CoroutineScope;Lkotlin/jvm/functions/Function2;JILjava/lang/Object;)Lkotlin/jvm/functions/Function2;
|
public static synthetic fun updateHandlerWithMediaGroupsAdaptation$default (Lkotlinx/coroutines/CoroutineScope;Lkotlin/jvm/functions/Function2;JILjava/lang/Object;)Lkotlin/jvm/functions/Function2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public final class dev/inmo/tgbotapi/extensions/api/verifications/VerifyChatKt {
|
||||||
|
public static final fun verifyChat (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
|
public static final fun verifyChat (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/Chat;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
|
public static synthetic fun verifyChat$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/ChatIdentifier;Ljava/lang/String;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
||||||
|
public static synthetic fun verifyChat$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/Chat;Ljava/lang/String;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
||||||
|
}
|
||||||
|
|
||||||
|
public final class dev/inmo/tgbotapi/extensions/api/verifications/VerifyUserKt {
|
||||||
|
public static final fun verifyUser (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/Chat;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
|
public static synthetic fun verifyUser$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Ldev/inmo/tgbotapi/types/chat/Chat;Ljava/lang/String;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
||||||
|
public static final fun verifyUser-nc95W0g (Ldev/inmo/tgbotapi/bot/RequestsExecutor;JLjava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
|
public static synthetic fun verifyUser-nc95W0g$default (Ldev/inmo/tgbotapi/bot/RequestsExecutor;JLjava/lang/String;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
|
||||||
|
}
|
||||||
|
|
||||||
public final class dev/inmo/tgbotapi/extensions/api/webhook/DeleteWebhookKt {
|
public final class dev/inmo/tgbotapi/extensions/api/webhook/DeleteWebhookKt {
|
||||||
public static final fun deleteWebhook (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
public static final fun deleteWebhook (Ldev/inmo/tgbotapi/bot/RequestsExecutor;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ plugins {
|
|||||||
id "org.jetbrains.kotlin.multiplatform"
|
id "org.jetbrains.kotlin.multiplatform"
|
||||||
id "org.jetbrains.kotlin.plugin.serialization"
|
id "org.jetbrains.kotlin.plugin.serialization"
|
||||||
id "org.jetbrains.dokka"
|
id "org.jetbrains.dokka"
|
||||||
|
id "com.google.devtools.ksp"
|
||||||
}
|
}
|
||||||
|
|
||||||
project.description = "API extensions with \"Telegram Bot API\"-like extensions for TelegramBot and RequestsExecutor"
|
project.description = "API extensions with \"Telegram Bot API\"-like extensions for TelegramBot and RequestsExecutor"
|
||||||
@@ -14,6 +15,7 @@ kotlin {
|
|||||||
commonMain {
|
commonMain {
|
||||||
dependencies {
|
dependencies {
|
||||||
api project(":tgbotapi.core")
|
api project(":tgbotapi.core")
|
||||||
|
api libs.microutils.ksp.variations
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
configureEach {
|
configureEach {
|
||||||
@@ -22,3 +24,8 @@ kotlin {
|
|||||||
}
|
}
|
||||||
explicitApi()
|
explicitApi()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
add("kspCommonMainMetadata", libs.microutils.ksp.variations.generator)
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import dev.inmo.tgbotapi.requests.ForwardMessage
|
|||||||
import dev.inmo.tgbotapi.types.ChatIdentifier
|
import dev.inmo.tgbotapi.types.ChatIdentifier
|
||||||
import dev.inmo.tgbotapi.types.MessageId
|
import dev.inmo.tgbotapi.types.MessageId
|
||||||
import dev.inmo.tgbotapi.types.MessageThreadId
|
import dev.inmo.tgbotapi.types.MessageThreadId
|
||||||
|
import dev.inmo.tgbotapi.types.Seconds
|
||||||
import dev.inmo.tgbotapi.types.chat.Chat
|
import dev.inmo.tgbotapi.types.chat.Chat
|
||||||
import dev.inmo.tgbotapi.types.message.abstracts.AccessibleMessage
|
import dev.inmo.tgbotapi.types.message.abstracts.AccessibleMessage
|
||||||
import dev.inmo.tgbotapi.types.message.abstracts.PossiblyForwardedMessage
|
import dev.inmo.tgbotapi.types.message.abstracts.PossiblyForwardedMessage
|
||||||
@@ -15,10 +16,11 @@ public suspend fun TelegramBot.forwardMessage(
|
|||||||
toChatId: ChatIdentifier,
|
toChatId: ChatIdentifier,
|
||||||
messageId: MessageId,
|
messageId: MessageId,
|
||||||
threadId: MessageThreadId? = toChatId.threadId,
|
threadId: MessageThreadId? = toChatId.threadId,
|
||||||
|
startTimestamp: Seconds? = null,
|
||||||
disableNotification: Boolean = false,
|
disableNotification: Boolean = false,
|
||||||
protectContent: Boolean = false
|
protectContent: Boolean = false
|
||||||
): PossiblyForwardedMessage = execute(
|
): PossiblyForwardedMessage = execute(
|
||||||
ForwardMessage(fromChatId, toChatId, messageId, threadId, disableNotification, protectContent)
|
ForwardMessage(fromChatId, toChatId, messageId, threadId, startTimestamp, disableNotification, protectContent)
|
||||||
)
|
)
|
||||||
|
|
||||||
public suspend fun TelegramBot.forwardMessage(
|
public suspend fun TelegramBot.forwardMessage(
|
||||||
@@ -26,40 +28,45 @@ public suspend fun TelegramBot.forwardMessage(
|
|||||||
toChatId: ChatIdentifier,
|
toChatId: ChatIdentifier,
|
||||||
messageId: MessageId,
|
messageId: MessageId,
|
||||||
threadId: MessageThreadId? = toChatId.threadId,
|
threadId: MessageThreadId? = toChatId.threadId,
|
||||||
|
startTimestamp: Seconds? = null,
|
||||||
disableNotification: Boolean = false,
|
disableNotification: Boolean = false,
|
||||||
protectContent: Boolean = false
|
protectContent: Boolean = false
|
||||||
): PossiblyForwardedMessage = forwardMessage(fromChat.id, toChatId, messageId, threadId, disableNotification, protectContent)
|
): PossiblyForwardedMessage = forwardMessage(fromChat.id, toChatId, messageId, threadId, startTimestamp, disableNotification, protectContent)
|
||||||
|
|
||||||
public suspend fun TelegramBot.forwardMessage(
|
public suspend fun TelegramBot.forwardMessage(
|
||||||
fromChatId: ChatIdentifier,
|
fromChatId: ChatIdentifier,
|
||||||
toChat: Chat,
|
toChat: Chat,
|
||||||
messageId: MessageId,
|
messageId: MessageId,
|
||||||
threadId: MessageThreadId? = toChat.id.threadId,
|
threadId: MessageThreadId? = toChat.id.threadId,
|
||||||
|
startTimestamp: Seconds? = null,
|
||||||
disableNotification: Boolean = false,
|
disableNotification: Boolean = false,
|
||||||
protectContent: Boolean = false
|
protectContent: Boolean = false
|
||||||
): PossiblyForwardedMessage = forwardMessage(fromChatId, toChat.id, messageId, threadId, disableNotification, protectContent)
|
): PossiblyForwardedMessage = forwardMessage(fromChatId, toChat.id, messageId, threadId, startTimestamp, disableNotification, protectContent)
|
||||||
|
|
||||||
public suspend fun TelegramBot.forwardMessage(
|
public suspend fun TelegramBot.forwardMessage(
|
||||||
fromChat: Chat,
|
fromChat: Chat,
|
||||||
toChat: Chat,
|
toChat: Chat,
|
||||||
messageId: MessageId,
|
messageId: MessageId,
|
||||||
threadId: MessageThreadId? = toChat.id.threadId,
|
threadId: MessageThreadId? = toChat.id.threadId,
|
||||||
|
startTimestamp: Seconds? = null,
|
||||||
disableNotification: Boolean = false,
|
disableNotification: Boolean = false,
|
||||||
protectContent: Boolean = false
|
protectContent: Boolean = false
|
||||||
): PossiblyForwardedMessage = forwardMessage(fromChat.id, toChat.id, messageId, threadId, disableNotification, protectContent)
|
): PossiblyForwardedMessage = forwardMessage(fromChat.id, toChat.id, messageId, threadId, startTimestamp, disableNotification, protectContent)
|
||||||
|
|
||||||
public suspend fun TelegramBot.forwardMessage(
|
public suspend fun TelegramBot.forwardMessage(
|
||||||
toChatId: ChatIdentifier,
|
toChatId: ChatIdentifier,
|
||||||
message: AccessibleMessage,
|
message: AccessibleMessage,
|
||||||
threadId: MessageThreadId? = toChatId.threadId,
|
threadId: MessageThreadId? = toChatId.threadId,
|
||||||
|
startTimestamp: Seconds? = null,
|
||||||
disableNotification: Boolean = false,
|
disableNotification: Boolean = false,
|
||||||
protectContent: Boolean = false
|
protectContent: Boolean = false
|
||||||
): PossiblyForwardedMessage = forwardMessage(message.chat, toChatId, message.messageId, threadId, disableNotification, protectContent)
|
): PossiblyForwardedMessage = forwardMessage(message.chat, toChatId, message.messageId, threadId, startTimestamp, disableNotification, protectContent)
|
||||||
|
|
||||||
public suspend fun TelegramBot.forwardMessage(
|
public suspend fun TelegramBot.forwardMessage(
|
||||||
toChat: Chat,
|
toChat: Chat,
|
||||||
message: AccessibleMessage,
|
message: AccessibleMessage,
|
||||||
threadId: MessageThreadId? = toChat.id.threadId,
|
threadId: MessageThreadId? = toChat.id.threadId,
|
||||||
|
startTimestamp: Seconds? = null,
|
||||||
disableNotification: Boolean = false,
|
disableNotification: Boolean = false,
|
||||||
protectContent: Boolean = false
|
protectContent: Boolean = false
|
||||||
): PossiblyForwardedMessage = forwardMessage(message.chat, toChat, message.messageId, threadId, disableNotification, protectContent)
|
): PossiblyForwardedMessage = forwardMessage(message.chat, toChat, message.messageId, threadId, startTimestamp, disableNotification, protectContent)
|
||||||
|
|||||||
@@ -0,0 +1,65 @@
|
|||||||
|
package dev.inmo.tgbotapi.extensions.api.edit.payments
|
||||||
|
|
||||||
|
import dev.inmo.tgbotapi.bot.TelegramBot
|
||||||
|
import dev.inmo.tgbotapi.requests.edit.payments.EditUserStarSubscription
|
||||||
|
import dev.inmo.tgbotapi.types.UserId
|
||||||
|
import dev.inmo.tgbotapi.types.chat.User
|
||||||
|
import dev.inmo.tgbotapi.types.payments.abstracts.TelegramPaymentChargeId
|
||||||
|
|
||||||
|
public suspend fun TelegramBot.editUserStarSubscription(
|
||||||
|
userId: UserId,
|
||||||
|
telegramPaymentChargeId: TelegramPaymentChargeId,
|
||||||
|
isCanceled: Boolean
|
||||||
|
): Boolean = execute(
|
||||||
|
EditUserStarSubscription(
|
||||||
|
userId = userId,
|
||||||
|
telegramPaymentChargeId = telegramPaymentChargeId,
|
||||||
|
isCanceled = isCanceled
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
public suspend fun TelegramBot.editUserStarSubscription(
|
||||||
|
user: User,
|
||||||
|
telegramPaymentChargeId: TelegramPaymentChargeId,
|
||||||
|
isCanceled: Boolean
|
||||||
|
): Boolean = editUserStarSubscription(
|
||||||
|
userId = user.id,
|
||||||
|
telegramPaymentChargeId = telegramPaymentChargeId,
|
||||||
|
isCanceled = isCanceled
|
||||||
|
)
|
||||||
|
|
||||||
|
public suspend fun TelegramBot.cancelUserStarSubscription(
|
||||||
|
userId: UserId,
|
||||||
|
telegramPaymentChargeId: TelegramPaymentChargeId,
|
||||||
|
): Boolean = editUserStarSubscription(
|
||||||
|
userId = userId,
|
||||||
|
telegramPaymentChargeId = telegramPaymentChargeId,
|
||||||
|
isCanceled = true
|
||||||
|
)
|
||||||
|
|
||||||
|
public suspend fun TelegramBot.cancelUserStarSubscription(
|
||||||
|
user: User,
|
||||||
|
telegramPaymentChargeId: TelegramPaymentChargeId,
|
||||||
|
): Boolean = editUserStarSubscription(
|
||||||
|
user = user,
|
||||||
|
telegramPaymentChargeId = telegramPaymentChargeId,
|
||||||
|
isCanceled = true
|
||||||
|
)
|
||||||
|
|
||||||
|
public suspend fun TelegramBot.enableUserStarSubscription(
|
||||||
|
userId: UserId,
|
||||||
|
telegramPaymentChargeId: TelegramPaymentChargeId,
|
||||||
|
): Boolean = editUserStarSubscription(
|
||||||
|
userId = userId,
|
||||||
|
telegramPaymentChargeId = telegramPaymentChargeId,
|
||||||
|
isCanceled = false
|
||||||
|
)
|
||||||
|
|
||||||
|
public suspend fun TelegramBot.enableUserStarSubscription(
|
||||||
|
user: User,
|
||||||
|
telegramPaymentChargeId: TelegramPaymentChargeId,
|
||||||
|
): Boolean = editUserStarSubscription(
|
||||||
|
user = user,
|
||||||
|
telegramPaymentChargeId = telegramPaymentChargeId,
|
||||||
|
isCanceled = false
|
||||||
|
)
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
package dev.inmo.tgbotapi.extensions.api.gifts
|
||||||
|
|
||||||
|
import dev.inmo.tgbotapi.bot.TelegramBot
|
||||||
|
import dev.inmo.tgbotapi.requests.gifts.GetAvailableGifts
|
||||||
|
import dev.inmo.tgbotapi.types.gifts.Gifts
|
||||||
|
|
||||||
|
public suspend fun TelegramBot.getAvailableGifts(): Gifts = execute(GetAvailableGifts)
|
||||||
@@ -0,0 +1,118 @@
|
|||||||
|
package dev.inmo.tgbotapi.extensions.api.gifts
|
||||||
|
|
||||||
|
import dev.inmo.micro_utils.ksp.variations.GenerateVariations
|
||||||
|
import dev.inmo.micro_utils.ksp.variations.GenerationVariant
|
||||||
|
import dev.inmo.tgbotapi.bot.TelegramBot
|
||||||
|
import dev.inmo.tgbotapi.requests.gifts.SendGift
|
||||||
|
import dev.inmo.tgbotapi.types.ChatIdentifier
|
||||||
|
import dev.inmo.tgbotapi.types.GiftId
|
||||||
|
import dev.inmo.tgbotapi.types.UserId
|
||||||
|
import dev.inmo.tgbotapi.types.chat.PublicChat
|
||||||
|
import dev.inmo.tgbotapi.types.chat.User
|
||||||
|
import dev.inmo.tgbotapi.types.gifts.Gift
|
||||||
|
import dev.inmo.tgbotapi.types.message.ParseMode
|
||||||
|
import dev.inmo.tgbotapi.types.message.textsources.TextSourcesList
|
||||||
|
|
||||||
|
@GenerateVariations
|
||||||
|
public suspend fun TelegramBot.sendGift(
|
||||||
|
@GenerationVariant(
|
||||||
|
User::class,
|
||||||
|
"id",
|
||||||
|
"user"
|
||||||
|
)
|
||||||
|
userId: UserId,
|
||||||
|
@GenerationVariant(
|
||||||
|
Gift::class,
|
||||||
|
"id",
|
||||||
|
"gift"
|
||||||
|
)
|
||||||
|
giftId: GiftId,
|
||||||
|
text: String,
|
||||||
|
parseMode: ParseMode?,
|
||||||
|
upgradableToUnique: Boolean = false
|
||||||
|
): Boolean = execute(
|
||||||
|
SendGift.toUser(
|
||||||
|
userId = userId,
|
||||||
|
giftId = giftId,
|
||||||
|
text = text,
|
||||||
|
parseMode = parseMode,
|
||||||
|
upgradableToUnique = upgradableToUnique
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
@GenerateVariations
|
||||||
|
public suspend fun TelegramBot.sendGiftToChat(
|
||||||
|
@GenerationVariant(
|
||||||
|
PublicChat::class,
|
||||||
|
"id",
|
||||||
|
"chat"
|
||||||
|
)
|
||||||
|
chatId: ChatIdentifier,
|
||||||
|
@GenerationVariant(
|
||||||
|
Gift::class,
|
||||||
|
"id",
|
||||||
|
"gift"
|
||||||
|
)
|
||||||
|
giftId: GiftId,
|
||||||
|
text: String,
|
||||||
|
parseMode: ParseMode?,
|
||||||
|
upgradableToUnique: Boolean = false
|
||||||
|
): Boolean = execute(
|
||||||
|
SendGift.toChat(
|
||||||
|
chatId = chatId,
|
||||||
|
giftId = giftId,
|
||||||
|
text = text,
|
||||||
|
parseMode = parseMode,
|
||||||
|
upgradableToUnique = upgradableToUnique
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
@GenerateVariations
|
||||||
|
public suspend fun TelegramBot.sendGift(
|
||||||
|
@GenerationVariant(
|
||||||
|
User::class,
|
||||||
|
"id",
|
||||||
|
"user"
|
||||||
|
)
|
||||||
|
userId: UserId,
|
||||||
|
@GenerationVariant(
|
||||||
|
Gift::class,
|
||||||
|
"id",
|
||||||
|
"gift"
|
||||||
|
)
|
||||||
|
giftId: GiftId,
|
||||||
|
textSources: TextSourcesList,
|
||||||
|
upgradableToUnique: Boolean = false,
|
||||||
|
): Boolean = execute(
|
||||||
|
SendGift.toUser(
|
||||||
|
userId = userId,
|
||||||
|
giftId = giftId,
|
||||||
|
textSources = textSources,
|
||||||
|
upgradableToUnique = upgradableToUnique
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
@GenerateVariations
|
||||||
|
public suspend fun TelegramBot.sendGiftToChat(
|
||||||
|
@GenerationVariant(
|
||||||
|
PublicChat::class,
|
||||||
|
"id",
|
||||||
|
"chat"
|
||||||
|
)
|
||||||
|
chatId: ChatIdentifier,
|
||||||
|
@GenerationVariant(
|
||||||
|
Gift::class,
|
||||||
|
"id",
|
||||||
|
"gift"
|
||||||
|
)
|
||||||
|
giftId: GiftId,
|
||||||
|
textSources: TextSourcesList,
|
||||||
|
upgradableToUnique: Boolean = false,
|
||||||
|
): Boolean = execute(
|
||||||
|
SendGift.toChat(
|
||||||
|
chatId = chatId,
|
||||||
|
giftId = giftId,
|
||||||
|
textSources = textSources,
|
||||||
|
upgradableToUnique = upgradableToUnique
|
||||||
|
)
|
||||||
|
)
|
||||||
@@ -0,0 +1,73 @@
|
|||||||
|
// THIS CODE HAVE BEEN GENERATED AUTOMATICALLY
|
||||||
|
// TO REGENERATE IT JUST DELETE FILE
|
||||||
|
// ORIGINAL FILE: SendGift.kt
|
||||||
|
package dev.inmo.tgbotapi.extensions.api.gifts
|
||||||
|
|
||||||
|
import dev.inmo.tgbotapi.bot.TelegramBot
|
||||||
|
import dev.inmo.tgbotapi.types.GiftId
|
||||||
|
import dev.inmo.tgbotapi.types.UserId
|
||||||
|
import dev.inmo.tgbotapi.types.chat.User
|
||||||
|
import dev.inmo.tgbotapi.types.gifts.Gift
|
||||||
|
import dev.inmo.tgbotapi.types.message.ParseMode
|
||||||
|
import kotlin.Boolean
|
||||||
|
import kotlin.String
|
||||||
|
|
||||||
|
public suspend fun TelegramBot.sendGift(
|
||||||
|
user: User,
|
||||||
|
giftId: GiftId,
|
||||||
|
text: String,
|
||||||
|
parseMode: ParseMode?,
|
||||||
|
): Boolean = sendGift(
|
||||||
|
userId = with(user) {id}, giftId = giftId, text = text, parseMode = parseMode
|
||||||
|
)
|
||||||
|
|
||||||
|
public suspend fun TelegramBot.sendGift(
|
||||||
|
user: User,
|
||||||
|
giftId: GiftId,
|
||||||
|
text: String,
|
||||||
|
parseMode: ParseMode?,
|
||||||
|
upgradableToUnique: Boolean,
|
||||||
|
): Boolean = sendGift(
|
||||||
|
userId = with(user) {id}, giftId = giftId, text = text, parseMode = parseMode,
|
||||||
|
upgradableToUnique = upgradableToUnique
|
||||||
|
)
|
||||||
|
|
||||||
|
public suspend fun TelegramBot.sendGift(
|
||||||
|
userId: UserId,
|
||||||
|
gift: Gift,
|
||||||
|
text: String,
|
||||||
|
parseMode: ParseMode?,
|
||||||
|
): Boolean = sendGift(
|
||||||
|
userId = userId, giftId = with(gift) {id}, text = text, parseMode = parseMode
|
||||||
|
)
|
||||||
|
|
||||||
|
public suspend fun TelegramBot.sendGift(
|
||||||
|
userId: UserId,
|
||||||
|
gift: Gift,
|
||||||
|
text: String,
|
||||||
|
parseMode: ParseMode?,
|
||||||
|
upgradableToUnique: Boolean,
|
||||||
|
): Boolean = sendGift(
|
||||||
|
userId = userId, giftId = with(gift) {id}, text = text, parseMode = parseMode,
|
||||||
|
upgradableToUnique = upgradableToUnique
|
||||||
|
)
|
||||||
|
|
||||||
|
public suspend fun TelegramBot.sendGift(
|
||||||
|
user: User,
|
||||||
|
gift: Gift,
|
||||||
|
text: String,
|
||||||
|
parseMode: ParseMode?,
|
||||||
|
): Boolean = sendGift(
|
||||||
|
user = user, giftId = with(gift) {id}, text = text, parseMode = parseMode
|
||||||
|
)
|
||||||
|
|
||||||
|
public suspend fun TelegramBot.sendGift(
|
||||||
|
user: User,
|
||||||
|
gift: Gift,
|
||||||
|
text: String,
|
||||||
|
parseMode: ParseMode?,
|
||||||
|
upgradableToUnique: Boolean,
|
||||||
|
): Boolean = sendGift(
|
||||||
|
user = user, giftId = with(gift) {id}, text = text, parseMode = parseMode, upgradableToUnique =
|
||||||
|
upgradableToUnique
|
||||||
|
)
|
||||||
@@ -0,0 +1,73 @@
|
|||||||
|
// THIS CODE HAVE BEEN GENERATED AUTOMATICALLY
|
||||||
|
// TO REGENERATE IT JUST DELETE FILE
|
||||||
|
// ORIGINAL FILE: SendGift.kt
|
||||||
|
package dev.inmo.tgbotapi.extensions.api.gifts
|
||||||
|
|
||||||
|
import dev.inmo.tgbotapi.bot.TelegramBot
|
||||||
|
import dev.inmo.tgbotapi.types.ChatIdentifier
|
||||||
|
import dev.inmo.tgbotapi.types.GiftId
|
||||||
|
import dev.inmo.tgbotapi.types.chat.PublicChat
|
||||||
|
import dev.inmo.tgbotapi.types.gifts.Gift
|
||||||
|
import dev.inmo.tgbotapi.types.message.ParseMode
|
||||||
|
import kotlin.Boolean
|
||||||
|
import kotlin.String
|
||||||
|
|
||||||
|
public suspend fun TelegramBot.sendGiftToChat(
|
||||||
|
chat: PublicChat,
|
||||||
|
giftId: GiftId,
|
||||||
|
text: String,
|
||||||
|
parseMode: ParseMode?,
|
||||||
|
): Boolean = sendGiftToChat(
|
||||||
|
chatId = with(chat) {id}, giftId = giftId, text = text, parseMode = parseMode
|
||||||
|
)
|
||||||
|
|
||||||
|
public suspend fun TelegramBot.sendGiftToChat(
|
||||||
|
chat: PublicChat,
|
||||||
|
giftId: GiftId,
|
||||||
|
text: String,
|
||||||
|
parseMode: ParseMode?,
|
||||||
|
upgradableToUnique: Boolean,
|
||||||
|
): Boolean = sendGiftToChat(
|
||||||
|
chatId = with(chat) {id}, giftId = giftId, text = text, parseMode = parseMode,
|
||||||
|
upgradableToUnique = upgradableToUnique
|
||||||
|
)
|
||||||
|
|
||||||
|
public suspend fun TelegramBot.sendGiftToChat(
|
||||||
|
chatId: ChatIdentifier,
|
||||||
|
gift: Gift,
|
||||||
|
text: String,
|
||||||
|
parseMode: ParseMode?,
|
||||||
|
): Boolean = sendGiftToChat(
|
||||||
|
chatId = chatId, giftId = with(gift) {id}, text = text, parseMode = parseMode
|
||||||
|
)
|
||||||
|
|
||||||
|
public suspend fun TelegramBot.sendGiftToChat(
|
||||||
|
chatId: ChatIdentifier,
|
||||||
|
gift: Gift,
|
||||||
|
text: String,
|
||||||
|
parseMode: ParseMode?,
|
||||||
|
upgradableToUnique: Boolean,
|
||||||
|
): Boolean = sendGiftToChat(
|
||||||
|
chatId = chatId, giftId = with(gift) {id}, text = text, parseMode = parseMode,
|
||||||
|
upgradableToUnique = upgradableToUnique
|
||||||
|
)
|
||||||
|
|
||||||
|
public suspend fun TelegramBot.sendGiftToChat(
|
||||||
|
chat: PublicChat,
|
||||||
|
gift: Gift,
|
||||||
|
text: String,
|
||||||
|
parseMode: ParseMode?,
|
||||||
|
): Boolean = sendGiftToChat(
|
||||||
|
chat = chat, giftId = with(gift) {id}, text = text, parseMode = parseMode
|
||||||
|
)
|
||||||
|
|
||||||
|
public suspend fun TelegramBot.sendGiftToChat(
|
||||||
|
chat: PublicChat,
|
||||||
|
gift: Gift,
|
||||||
|
text: String,
|
||||||
|
parseMode: ParseMode?,
|
||||||
|
upgradableToUnique: Boolean,
|
||||||
|
): Boolean = sendGiftToChat(
|
||||||
|
chat = chat, giftId = with(gift) {id}, text = text, parseMode = parseMode, upgradableToUnique =
|
||||||
|
upgradableToUnique
|
||||||
|
)
|
||||||
@@ -0,0 +1,45 @@
|
|||||||
|
package dev.inmo.tgbotapi.extensions.api.inline
|
||||||
|
|
||||||
|
import dev.inmo.tgbotapi.bot.TelegramBot
|
||||||
|
import dev.inmo.tgbotapi.requests.answers.InlineQueryAnswersResultsSerializer
|
||||||
|
import dev.inmo.tgbotapi.requests.inline.SavePreparedInlineMessage
|
||||||
|
import dev.inmo.tgbotapi.types.*
|
||||||
|
import dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.InlineQueryResult
|
||||||
|
import dev.inmo.tgbotapi.types.InlineQueries.prepared.PreparedInlineMessage
|
||||||
|
import dev.inmo.tgbotapi.types.chat.User
|
||||||
|
import kotlinx.serialization.SerialName
|
||||||
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
|
public suspend fun TelegramBot.savePreparedInlineMessage(
|
||||||
|
userId: UserId,
|
||||||
|
result: InlineQueryResult,
|
||||||
|
allowSendToUsers: Boolean = false,
|
||||||
|
allowSendToBots: Boolean = false,
|
||||||
|
allowSendToGroups: Boolean = false,
|
||||||
|
allowSendToChannels: Boolean = false,
|
||||||
|
): PreparedInlineMessage = execute(
|
||||||
|
SavePreparedInlineMessage(
|
||||||
|
userId = userId,
|
||||||
|
result = result,
|
||||||
|
allowSendToUsers = allowSendToUsers,
|
||||||
|
allowSendToBots = allowSendToBots,
|
||||||
|
allowSendToGroups = allowSendToGroups,
|
||||||
|
allowSendToChannels = allowSendToChannels
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
public suspend fun TelegramBot.savePreparedInlineMessage(
|
||||||
|
user: User,
|
||||||
|
result: InlineQueryResult,
|
||||||
|
allowSendToUsers: Boolean = false,
|
||||||
|
allowSendToBots: Boolean = false,
|
||||||
|
allowSendToGroups: Boolean = false,
|
||||||
|
allowSendToChannels: Boolean = false,
|
||||||
|
): PreparedInlineMessage = savePreparedInlineMessage(
|
||||||
|
userId = user.id,
|
||||||
|
result = result,
|
||||||
|
allowSendToUsers = allowSendToUsers,
|
||||||
|
allowSendToBots = allowSendToBots,
|
||||||
|
allowSendToGroups = allowSendToGroups,
|
||||||
|
allowSendToChannels = allowSendToChannels
|
||||||
|
)
|
||||||
@@ -21,6 +21,7 @@ public suspend inline fun TelegramBot.copyMessage(
|
|||||||
parseMode: ParseMode? = null,
|
parseMode: ParseMode? = null,
|
||||||
showCaptionAboveMedia: Boolean = false,
|
showCaptionAboveMedia: Boolean = false,
|
||||||
threadId: MessageThreadId? = toChatId.threadId,
|
threadId: MessageThreadId? = toChatId.threadId,
|
||||||
|
startTimestamp: Seconds? = null,
|
||||||
disableNotification: Boolean = false,
|
disableNotification: Boolean = false,
|
||||||
protectContent: Boolean = false,
|
protectContent: Boolean = false,
|
||||||
allowPaidBroadcast: Boolean = false,
|
allowPaidBroadcast: Boolean = false,
|
||||||
@@ -35,6 +36,7 @@ public suspend inline fun TelegramBot.copyMessage(
|
|||||||
parseMode = parseMode,
|
parseMode = parseMode,
|
||||||
showCaptionAboveMedia = showCaptionAboveMedia,
|
showCaptionAboveMedia = showCaptionAboveMedia,
|
||||||
threadId = threadId,
|
threadId = threadId,
|
||||||
|
startTimestamp = startTimestamp,
|
||||||
disableNotification = disableNotification,
|
disableNotification = disableNotification,
|
||||||
protectContent = protectContent,
|
protectContent = protectContent,
|
||||||
allowPaidBroadcast = allowPaidBroadcast,
|
allowPaidBroadcast = allowPaidBroadcast,
|
||||||
@@ -55,6 +57,7 @@ public suspend inline fun TelegramBot.copyMessage(
|
|||||||
parseMode: ParseMode? = null,
|
parseMode: ParseMode? = null,
|
||||||
showCaptionAboveMedia: Boolean = false,
|
showCaptionAboveMedia: Boolean = false,
|
||||||
threadId: MessageThreadId? = toChatId.threadId,
|
threadId: MessageThreadId? = toChatId.threadId,
|
||||||
|
startTimestamp: Seconds? = null,
|
||||||
disableNotification: Boolean = false,
|
disableNotification: Boolean = false,
|
||||||
protectContent: Boolean = false,
|
protectContent: Boolean = false,
|
||||||
allowPaidBroadcast: Boolean = false,
|
allowPaidBroadcast: Boolean = false,
|
||||||
@@ -68,6 +71,7 @@ public suspend inline fun TelegramBot.copyMessage(
|
|||||||
parseMode = parseMode,
|
parseMode = parseMode,
|
||||||
showCaptionAboveMedia = showCaptionAboveMedia,
|
showCaptionAboveMedia = showCaptionAboveMedia,
|
||||||
threadId = threadId,
|
threadId = threadId,
|
||||||
|
startTimestamp = startTimestamp,
|
||||||
disableNotification = disableNotification,
|
disableNotification = disableNotification,
|
||||||
protectContent = protectContent,
|
protectContent = protectContent,
|
||||||
allowPaidBroadcast = allowPaidBroadcast,
|
allowPaidBroadcast = allowPaidBroadcast,
|
||||||
@@ -87,6 +91,7 @@ public suspend inline fun TelegramBot.copyMessage(
|
|||||||
parseMode: ParseMode? = null,
|
parseMode: ParseMode? = null,
|
||||||
showCaptionAboveMedia: Boolean = false,
|
showCaptionAboveMedia: Boolean = false,
|
||||||
threadId: MessageThreadId? = toChat.id.threadId,
|
threadId: MessageThreadId? = toChat.id.threadId,
|
||||||
|
startTimestamp: Seconds? = null,
|
||||||
disableNotification: Boolean = false,
|
disableNotification: Boolean = false,
|
||||||
protectContent: Boolean = false,
|
protectContent: Boolean = false,
|
||||||
allowPaidBroadcast: Boolean = false,
|
allowPaidBroadcast: Boolean = false,
|
||||||
@@ -100,6 +105,7 @@ public suspend inline fun TelegramBot.copyMessage(
|
|||||||
parseMode = parseMode,
|
parseMode = parseMode,
|
||||||
showCaptionAboveMedia = showCaptionAboveMedia,
|
showCaptionAboveMedia = showCaptionAboveMedia,
|
||||||
threadId = threadId,
|
threadId = threadId,
|
||||||
|
startTimestamp = startTimestamp,
|
||||||
disableNotification = disableNotification,
|
disableNotification = disableNotification,
|
||||||
protectContent = protectContent,
|
protectContent = protectContent,
|
||||||
allowPaidBroadcast = allowPaidBroadcast,
|
allowPaidBroadcast = allowPaidBroadcast,
|
||||||
@@ -119,6 +125,7 @@ public suspend inline fun TelegramBot.copyMessage(
|
|||||||
parseMode: ParseMode? = null,
|
parseMode: ParseMode? = null,
|
||||||
showCaptionAboveMedia: Boolean = false,
|
showCaptionAboveMedia: Boolean = false,
|
||||||
threadId: MessageThreadId? = toChat.id.threadId,
|
threadId: MessageThreadId? = toChat.id.threadId,
|
||||||
|
startTimestamp: Seconds? = null,
|
||||||
disableNotification: Boolean = false,
|
disableNotification: Boolean = false,
|
||||||
protectContent: Boolean = false,
|
protectContent: Boolean = false,
|
||||||
allowPaidBroadcast: Boolean = false,
|
allowPaidBroadcast: Boolean = false,
|
||||||
@@ -132,6 +139,7 @@ public suspend inline fun TelegramBot.copyMessage(
|
|||||||
parseMode = parseMode,
|
parseMode = parseMode,
|
||||||
showCaptionAboveMedia = showCaptionAboveMedia,
|
showCaptionAboveMedia = showCaptionAboveMedia,
|
||||||
threadId = threadId,
|
threadId = threadId,
|
||||||
|
startTimestamp = startTimestamp,
|
||||||
disableNotification = disableNotification,
|
disableNotification = disableNotification,
|
||||||
protectContent = protectContent,
|
protectContent = protectContent,
|
||||||
allowPaidBroadcast = allowPaidBroadcast,
|
allowPaidBroadcast = allowPaidBroadcast,
|
||||||
@@ -151,6 +159,7 @@ public suspend inline fun TelegramBot.copyMessage(
|
|||||||
entities: TextSourcesList,
|
entities: TextSourcesList,
|
||||||
showCaptionAboveMedia: Boolean = false,
|
showCaptionAboveMedia: Boolean = false,
|
||||||
threadId: MessageThreadId? = toChatId.threadId,
|
threadId: MessageThreadId? = toChatId.threadId,
|
||||||
|
startTimestamp: Seconds? = null,
|
||||||
disableNotification: Boolean = false,
|
disableNotification: Boolean = false,
|
||||||
protectContent: Boolean = false,
|
protectContent: Boolean = false,
|
||||||
allowPaidBroadcast: Boolean = false,
|
allowPaidBroadcast: Boolean = false,
|
||||||
@@ -164,6 +173,7 @@ public suspend inline fun TelegramBot.copyMessage(
|
|||||||
entities = entities,
|
entities = entities,
|
||||||
showCaptionAboveMedia = showCaptionAboveMedia,
|
showCaptionAboveMedia = showCaptionAboveMedia,
|
||||||
threadId = threadId,
|
threadId = threadId,
|
||||||
|
startTimestamp = startTimestamp,
|
||||||
disableNotification = disableNotification,
|
disableNotification = disableNotification,
|
||||||
protectContent = protectContent,
|
protectContent = protectContent,
|
||||||
allowPaidBroadcast = allowPaidBroadcast,
|
allowPaidBroadcast = allowPaidBroadcast,
|
||||||
@@ -183,6 +193,7 @@ public suspend inline fun TelegramBot.copyMessage(
|
|||||||
entities: TextSourcesList,
|
entities: TextSourcesList,
|
||||||
showCaptionAboveMedia: Boolean = false,
|
showCaptionAboveMedia: Boolean = false,
|
||||||
threadId: MessageThreadId? = toChatId.threadId,
|
threadId: MessageThreadId? = toChatId.threadId,
|
||||||
|
startTimestamp: Seconds? = null,
|
||||||
disableNotification: Boolean = false,
|
disableNotification: Boolean = false,
|
||||||
protectContent: Boolean = false,
|
protectContent: Boolean = false,
|
||||||
allowPaidBroadcast: Boolean = false,
|
allowPaidBroadcast: Boolean = false,
|
||||||
@@ -195,6 +206,7 @@ public suspend inline fun TelegramBot.copyMessage(
|
|||||||
entities = entities,
|
entities = entities,
|
||||||
showCaptionAboveMedia = showCaptionAboveMedia,
|
showCaptionAboveMedia = showCaptionAboveMedia,
|
||||||
threadId = threadId,
|
threadId = threadId,
|
||||||
|
startTimestamp = startTimestamp,
|
||||||
disableNotification = disableNotification,
|
disableNotification = disableNotification,
|
||||||
protectContent = protectContent,
|
protectContent = protectContent,
|
||||||
allowPaidBroadcast = allowPaidBroadcast,
|
allowPaidBroadcast = allowPaidBroadcast,
|
||||||
@@ -213,6 +225,7 @@ public suspend inline fun TelegramBot.copyMessage(
|
|||||||
entities: TextSourcesList,
|
entities: TextSourcesList,
|
||||||
showCaptionAboveMedia: Boolean = false,
|
showCaptionAboveMedia: Boolean = false,
|
||||||
threadId: MessageThreadId? = toChat.id.threadId,
|
threadId: MessageThreadId? = toChat.id.threadId,
|
||||||
|
startTimestamp: Seconds? = null,
|
||||||
disableNotification: Boolean = false,
|
disableNotification: Boolean = false,
|
||||||
protectContent: Boolean = false,
|
protectContent: Boolean = false,
|
||||||
allowPaidBroadcast: Boolean = false,
|
allowPaidBroadcast: Boolean = false,
|
||||||
@@ -225,6 +238,7 @@ public suspend inline fun TelegramBot.copyMessage(
|
|||||||
entities = entities,
|
entities = entities,
|
||||||
showCaptionAboveMedia = showCaptionAboveMedia,
|
showCaptionAboveMedia = showCaptionAboveMedia,
|
||||||
threadId = threadId,
|
threadId = threadId,
|
||||||
|
startTimestamp = startTimestamp,
|
||||||
disableNotification = disableNotification,
|
disableNotification = disableNotification,
|
||||||
protectContent = protectContent,
|
protectContent = protectContent,
|
||||||
allowPaidBroadcast = allowPaidBroadcast,
|
allowPaidBroadcast = allowPaidBroadcast,
|
||||||
@@ -243,6 +257,7 @@ public suspend inline fun TelegramBot.copyMessage(
|
|||||||
entities: TextSourcesList,
|
entities: TextSourcesList,
|
||||||
showCaptionAboveMedia: Boolean = false,
|
showCaptionAboveMedia: Boolean = false,
|
||||||
threadId: MessageThreadId? = toChat.id.threadId,
|
threadId: MessageThreadId? = toChat.id.threadId,
|
||||||
|
startTimestamp: Seconds? = null,
|
||||||
disableNotification: Boolean = false,
|
disableNotification: Boolean = false,
|
||||||
protectContent: Boolean = false,
|
protectContent: Boolean = false,
|
||||||
allowPaidBroadcast: Boolean = false,
|
allowPaidBroadcast: Boolean = false,
|
||||||
@@ -255,6 +270,7 @@ public suspend inline fun TelegramBot.copyMessage(
|
|||||||
entities = entities,
|
entities = entities,
|
||||||
showCaptionAboveMedia = showCaptionAboveMedia,
|
showCaptionAboveMedia = showCaptionAboveMedia,
|
||||||
threadId = threadId,
|
threadId = threadId,
|
||||||
|
startTimestamp = startTimestamp,
|
||||||
disableNotification = disableNotification,
|
disableNotification = disableNotification,
|
||||||
protectContent = protectContent,
|
protectContent = protectContent,
|
||||||
allowPaidBroadcast = allowPaidBroadcast,
|
allowPaidBroadcast = allowPaidBroadcast,
|
||||||
@@ -273,6 +289,7 @@ public suspend inline fun TelegramBot.copyMessage(
|
|||||||
parseMode: ParseMode? = null,
|
parseMode: ParseMode? = null,
|
||||||
showCaptionAboveMedia: Boolean = false,
|
showCaptionAboveMedia: Boolean = false,
|
||||||
threadId: MessageThreadId? = toChatId.threadId,
|
threadId: MessageThreadId? = toChatId.threadId,
|
||||||
|
startTimestamp: Seconds? = null,
|
||||||
disableNotification: Boolean = false,
|
disableNotification: Boolean = false,
|
||||||
protectContent: Boolean = false,
|
protectContent: Boolean = false,
|
||||||
allowPaidBroadcast: Boolean = false,
|
allowPaidBroadcast: Boolean = false,
|
||||||
@@ -286,6 +303,7 @@ public suspend inline fun TelegramBot.copyMessage(
|
|||||||
parseMode = parseMode,
|
parseMode = parseMode,
|
||||||
showCaptionAboveMedia = showCaptionAboveMedia,
|
showCaptionAboveMedia = showCaptionAboveMedia,
|
||||||
threadId = threadId,
|
threadId = threadId,
|
||||||
|
startTimestamp = startTimestamp,
|
||||||
disableNotification = disableNotification,
|
disableNotification = disableNotification,
|
||||||
protectContent = protectContent,
|
protectContent = protectContent,
|
||||||
allowPaidBroadcast = allowPaidBroadcast,
|
allowPaidBroadcast = allowPaidBroadcast,
|
||||||
@@ -304,6 +322,7 @@ public suspend inline fun TelegramBot.copyMessage(
|
|||||||
parseMode: ParseMode? = null,
|
parseMode: ParseMode? = null,
|
||||||
showCaptionAboveMedia: Boolean = false,
|
showCaptionAboveMedia: Boolean = false,
|
||||||
threadId: MessageThreadId? = toChat.id.threadId,
|
threadId: MessageThreadId? = toChat.id.threadId,
|
||||||
|
startTimestamp: Seconds? = null,
|
||||||
disableNotification: Boolean = false,
|
disableNotification: Boolean = false,
|
||||||
protectContent: Boolean = false,
|
protectContent: Boolean = false,
|
||||||
allowPaidBroadcast: Boolean = false,
|
allowPaidBroadcast: Boolean = false,
|
||||||
@@ -317,6 +336,7 @@ public suspend inline fun TelegramBot.copyMessage(
|
|||||||
parseMode = parseMode,
|
parseMode = parseMode,
|
||||||
showCaptionAboveMedia = showCaptionAboveMedia,
|
showCaptionAboveMedia = showCaptionAboveMedia,
|
||||||
threadId = threadId,
|
threadId = threadId,
|
||||||
|
startTimestamp = startTimestamp,
|
||||||
disableNotification = disableNotification,
|
disableNotification = disableNotification,
|
||||||
protectContent = protectContent,
|
protectContent = protectContent,
|
||||||
allowPaidBroadcast = allowPaidBroadcast,
|
allowPaidBroadcast = allowPaidBroadcast,
|
||||||
@@ -334,6 +354,7 @@ public suspend inline fun TelegramBot.copyMessage(
|
|||||||
entities: TextSourcesList,
|
entities: TextSourcesList,
|
||||||
showCaptionAboveMedia: Boolean = false,
|
showCaptionAboveMedia: Boolean = false,
|
||||||
threadId: MessageThreadId? = toChatId.threadId,
|
threadId: MessageThreadId? = toChatId.threadId,
|
||||||
|
startTimestamp: Seconds? = null,
|
||||||
disableNotification: Boolean = false,
|
disableNotification: Boolean = false,
|
||||||
protectContent: Boolean = false,
|
protectContent: Boolean = false,
|
||||||
allowPaidBroadcast: Boolean = false,
|
allowPaidBroadcast: Boolean = false,
|
||||||
@@ -346,6 +367,7 @@ public suspend inline fun TelegramBot.copyMessage(
|
|||||||
entities = entities,
|
entities = entities,
|
||||||
showCaptionAboveMedia = showCaptionAboveMedia,
|
showCaptionAboveMedia = showCaptionAboveMedia,
|
||||||
threadId = threadId,
|
threadId = threadId,
|
||||||
|
startTimestamp = startTimestamp,
|
||||||
disableNotification = disableNotification,
|
disableNotification = disableNotification,
|
||||||
protectContent = protectContent,
|
protectContent = protectContent,
|
||||||
allowPaidBroadcast = allowPaidBroadcast,
|
allowPaidBroadcast = allowPaidBroadcast,
|
||||||
@@ -363,6 +385,7 @@ public suspend inline fun TelegramBot.copyMessage(
|
|||||||
entities: TextSourcesList,
|
entities: TextSourcesList,
|
||||||
showCaptionAboveMedia: Boolean = false,
|
showCaptionAboveMedia: Boolean = false,
|
||||||
threadId: MessageThreadId? = toChat.id.threadId,
|
threadId: MessageThreadId? = toChat.id.threadId,
|
||||||
|
startTimestamp: Seconds? = null,
|
||||||
disableNotification: Boolean = false,
|
disableNotification: Boolean = false,
|
||||||
protectContent: Boolean = false,
|
protectContent: Boolean = false,
|
||||||
allowPaidBroadcast: Boolean = false,
|
allowPaidBroadcast: Boolean = false,
|
||||||
@@ -375,6 +398,7 @@ public suspend inline fun TelegramBot.copyMessage(
|
|||||||
entities = entities,
|
entities = entities,
|
||||||
showCaptionAboveMedia = showCaptionAboveMedia,
|
showCaptionAboveMedia = showCaptionAboveMedia,
|
||||||
threadId = threadId,
|
threadId = threadId,
|
||||||
|
startTimestamp = startTimestamp,
|
||||||
disableNotification = disableNotification,
|
disableNotification = disableNotification,
|
||||||
protectContent = protectContent,
|
protectContent = protectContent,
|
||||||
allowPaidBroadcast = allowPaidBroadcast,
|
allowPaidBroadcast = allowPaidBroadcast,
|
||||||
|
|||||||
@@ -25,6 +25,8 @@ public suspend fun TelegramBot.sendVideo(
|
|||||||
parseMode: ParseMode? = null,
|
parseMode: ParseMode? = null,
|
||||||
showCaptionAboveMedia: Boolean = false,
|
showCaptionAboveMedia: Boolean = false,
|
||||||
spoilered: Boolean = false,
|
spoilered: Boolean = false,
|
||||||
|
cover: InputFile? = null,
|
||||||
|
startTimestamp: Seconds? = null,
|
||||||
duration: Long? = null,
|
duration: Long? = null,
|
||||||
width: Int? = null,
|
width: Int? = null,
|
||||||
height: Int? = null,
|
height: Int? = null,
|
||||||
@@ -45,6 +47,8 @@ public suspend fun TelegramBot.sendVideo(
|
|||||||
parseMode = parseMode,
|
parseMode = parseMode,
|
||||||
showCaptionAboveMedia = showCaptionAboveMedia,
|
showCaptionAboveMedia = showCaptionAboveMedia,
|
||||||
spoilered = spoilered,
|
spoilered = spoilered,
|
||||||
|
cover = cover,
|
||||||
|
startTimestamp = startTimestamp,
|
||||||
duration = duration,
|
duration = duration,
|
||||||
width = width,
|
width = width,
|
||||||
height = height,
|
height = height,
|
||||||
@@ -87,6 +91,8 @@ public suspend fun TelegramBot.sendVideo(
|
|||||||
parseMode = parseMode,
|
parseMode = parseMode,
|
||||||
showCaptionAboveMedia = showCaptionAboveMedia,
|
showCaptionAboveMedia = showCaptionAboveMedia,
|
||||||
spoilered = spoilered,
|
spoilered = spoilered,
|
||||||
|
cover = video.cover ?.fileId,
|
||||||
|
startTimestamp = video.startTimestamp,
|
||||||
duration = video.duration,
|
duration = video.duration,
|
||||||
width = video.width,
|
width = video.width,
|
||||||
height = video.height,
|
height = video.height,
|
||||||
@@ -112,6 +118,8 @@ public suspend fun TelegramBot.sendVideo(
|
|||||||
parseMode: ParseMode? = null,
|
parseMode: ParseMode? = null,
|
||||||
showCaptionAboveMedia: Boolean = false,
|
showCaptionAboveMedia: Boolean = false,
|
||||||
spoilered: Boolean = false,
|
spoilered: Boolean = false,
|
||||||
|
cover: InputFile? = null,
|
||||||
|
startTimestamp: Seconds? = null,
|
||||||
duration: Long? = null,
|
duration: Long? = null,
|
||||||
width: Int? = null,
|
width: Int? = null,
|
||||||
height: Int? = null,
|
height: Int? = null,
|
||||||
@@ -131,6 +139,8 @@ public suspend fun TelegramBot.sendVideo(
|
|||||||
parseMode = parseMode,
|
parseMode = parseMode,
|
||||||
showCaptionAboveMedia = showCaptionAboveMedia,
|
showCaptionAboveMedia = showCaptionAboveMedia,
|
||||||
spoilered = spoilered,
|
spoilered = spoilered,
|
||||||
|
cover = cover,
|
||||||
|
startTimestamp = startTimestamp,
|
||||||
duration = duration,
|
duration = duration,
|
||||||
width = width,
|
width = width,
|
||||||
height = height,
|
height = height,
|
||||||
@@ -192,6 +202,8 @@ public suspend inline fun TelegramBot.sendVideo(
|
|||||||
entities: TextSourcesList,
|
entities: TextSourcesList,
|
||||||
showCaptionAboveMedia: Boolean = false,
|
showCaptionAboveMedia: Boolean = false,
|
||||||
spoilered: Boolean = false,
|
spoilered: Boolean = false,
|
||||||
|
cover: InputFile? = null,
|
||||||
|
startTimestamp: Seconds? = null,
|
||||||
duration: Long? = null,
|
duration: Long? = null,
|
||||||
width: Int? = null,
|
width: Int? = null,
|
||||||
height: Int? = null,
|
height: Int? = null,
|
||||||
@@ -211,6 +223,8 @@ public suspend inline fun TelegramBot.sendVideo(
|
|||||||
entities = entities,
|
entities = entities,
|
||||||
showCaptionAboveMedia = showCaptionAboveMedia,
|
showCaptionAboveMedia = showCaptionAboveMedia,
|
||||||
spoilered = spoilered,
|
spoilered = spoilered,
|
||||||
|
cover = cover,
|
||||||
|
startTimestamp = startTimestamp,
|
||||||
duration = duration,
|
duration = duration,
|
||||||
width = width,
|
width = width,
|
||||||
height = height,
|
height = height,
|
||||||
@@ -251,6 +265,8 @@ public suspend inline fun TelegramBot.sendVideo(
|
|||||||
entities = entities,
|
entities = entities,
|
||||||
showCaptionAboveMedia = showCaptionAboveMedia,
|
showCaptionAboveMedia = showCaptionAboveMedia,
|
||||||
spoilered = spoilered,
|
spoilered = spoilered,
|
||||||
|
cover = video.cover ?.fileId,
|
||||||
|
startTimestamp = video.startTimestamp,
|
||||||
duration = video.duration,
|
duration = video.duration,
|
||||||
width = video.width,
|
width = video.width,
|
||||||
height = video.height,
|
height = video.height,
|
||||||
@@ -275,6 +291,8 @@ public suspend inline fun TelegramBot.sendVideo(
|
|||||||
entities: TextSourcesList,
|
entities: TextSourcesList,
|
||||||
showCaptionAboveMedia: Boolean = false,
|
showCaptionAboveMedia: Boolean = false,
|
||||||
spoilered: Boolean = false,
|
spoilered: Boolean = false,
|
||||||
|
cover: InputFile? = null,
|
||||||
|
startTimestamp: Seconds? = null,
|
||||||
duration: Long? = null,
|
duration: Long? = null,
|
||||||
width: Int? = null,
|
width: Int? = null,
|
||||||
height: Int? = null,
|
height: Int? = null,
|
||||||
@@ -293,6 +311,8 @@ public suspend inline fun TelegramBot.sendVideo(
|
|||||||
entities = entities,
|
entities = entities,
|
||||||
showCaptionAboveMedia = showCaptionAboveMedia,
|
showCaptionAboveMedia = showCaptionAboveMedia,
|
||||||
spoilered = spoilered,
|
spoilered = spoilered,
|
||||||
|
cover = cover,
|
||||||
|
startTimestamp = startTimestamp,
|
||||||
duration = duration,
|
duration = duration,
|
||||||
width = width,
|
width = width,
|
||||||
height = height,
|
height = height,
|
||||||
|
|||||||
@@ -2,9 +2,11 @@ package dev.inmo.tgbotapi.extensions.api.send.payments
|
|||||||
|
|
||||||
import dev.inmo.tgbotapi.bot.TelegramBot
|
import dev.inmo.tgbotapi.bot.TelegramBot
|
||||||
import dev.inmo.tgbotapi.requests.send.payments.CreateInvoiceLink
|
import dev.inmo.tgbotapi.requests.send.payments.CreateInvoiceLink
|
||||||
|
import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
|
||||||
import dev.inmo.tgbotapi.types.payments.LabeledPrice
|
import dev.inmo.tgbotapi.types.payments.LabeledPrice
|
||||||
import dev.inmo.tgbotapi.types.payments.abstracts.Currency
|
import dev.inmo.tgbotapi.types.payments.abstracts.Currency
|
||||||
import dev.inmo.tgbotapi.types.payments.abstracts.XTR
|
import dev.inmo.tgbotapi.types.payments.abstracts.XTR
|
||||||
|
import korlibs.time.TimeSpan
|
||||||
|
|
||||||
public suspend fun TelegramBot.createInvoiceLink(
|
public suspend fun TelegramBot.createInvoiceLink(
|
||||||
title: String,
|
title: String,
|
||||||
@@ -24,7 +26,25 @@ public suspend fun TelegramBot.createInvoiceLink(
|
|||||||
shouldSendEmailToProvider: Boolean = false,
|
shouldSendEmailToProvider: Boolean = false,
|
||||||
priceDependOnShipAddress: Boolean = false
|
priceDependOnShipAddress: Boolean = false
|
||||||
): String = execute(
|
): String = execute(
|
||||||
CreateInvoiceLink(title, description, payload, providerToken, currency, prices, maxTipAmount, suggestedTipAmounts ?.sorted(), providerData, requireName, requirePhoneNumber, requireEmail, requireShippingAddress, shouldSendPhoneNumberToProvider, shouldSendEmailToProvider, priceDependOnShipAddress)
|
CreateInvoiceLink(
|
||||||
|
title = title,
|
||||||
|
description = description,
|
||||||
|
payload = payload,
|
||||||
|
providerToken = providerToken,
|
||||||
|
currency = currency,
|
||||||
|
prices = prices,
|
||||||
|
subscriptionPeriod = null,
|
||||||
|
maxTipAmount = maxTipAmount,
|
||||||
|
suggestedTipAmounts = suggestedTipAmounts ?.sorted(),
|
||||||
|
providerData = providerData,
|
||||||
|
requireName = requireName,
|
||||||
|
requirePhoneNumber = requirePhoneNumber,
|
||||||
|
requireEmail = requireEmail,
|
||||||
|
requireShippingAddress = requireShippingAddress,
|
||||||
|
shouldSendPhoneNumberToProvider = shouldSendPhoneNumberToProvider,
|
||||||
|
shouldSendEmailToProvider = shouldSendEmailToProvider,
|
||||||
|
priceDependOnShipAddress = priceDependOnShipAddress
|
||||||
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -35,6 +55,8 @@ public suspend fun TelegramBot.createInvoiceLink(
|
|||||||
description: String,
|
description: String,
|
||||||
payload: String,
|
payload: String,
|
||||||
prices: List<LabeledPrice>,
|
prices: List<LabeledPrice>,
|
||||||
|
businessConnectionId: BusinessConnectionId? = null,
|
||||||
|
subscriptionPeriod: TimeSpan? = null,
|
||||||
maxTipAmount: Int? = null,
|
maxTipAmount: Int? = null,
|
||||||
suggestedTipAmounts: List<Int>? = null,
|
suggestedTipAmounts: List<Int>? = null,
|
||||||
providerData: String? = null,
|
providerData: String? = null,
|
||||||
@@ -46,5 +68,24 @@ public suspend fun TelegramBot.createInvoiceLink(
|
|||||||
shouldSendEmailToProvider: Boolean = false,
|
shouldSendEmailToProvider: Boolean = false,
|
||||||
priceDependOnShipAddress: Boolean = false
|
priceDependOnShipAddress: Boolean = false
|
||||||
): String = execute(
|
): String = execute(
|
||||||
CreateInvoiceLink(title, description, payload, null, Currency.XTR, prices, maxTipAmount, suggestedTipAmounts ?.sorted(), providerData, requireName, requirePhoneNumber, requireEmail, requireShippingAddress, shouldSendPhoneNumberToProvider, shouldSendEmailToProvider, priceDependOnShipAddress)
|
CreateInvoiceLink(
|
||||||
|
title = title,
|
||||||
|
description = description,
|
||||||
|
payload = payload,
|
||||||
|
providerToken = null,
|
||||||
|
currency = Currency.XTR,
|
||||||
|
businessConnectionId = businessConnectionId,
|
||||||
|
prices = prices,
|
||||||
|
subscriptionPeriod = subscriptionPeriod,
|
||||||
|
maxTipAmount = maxTipAmount,
|
||||||
|
suggestedTipAmounts = suggestedTipAmounts ?.sorted(),
|
||||||
|
providerData = providerData,
|
||||||
|
requireName = requireName,
|
||||||
|
requirePhoneNumber = requirePhoneNumber,
|
||||||
|
requireEmail = requireEmail,
|
||||||
|
requireShippingAddress = requireShippingAddress,
|
||||||
|
shouldSendPhoneNumberToProvider = shouldSendPhoneNumberToProvider,
|
||||||
|
shouldSendEmailToProvider = shouldSendEmailToProvider,
|
||||||
|
priceDependOnShipAddress = priceDependOnShipAddress
|
||||||
|
)
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -0,0 +1,50 @@
|
|||||||
|
package dev.inmo.tgbotapi.extensions.api.set
|
||||||
|
|
||||||
|
import dev.inmo.tgbotapi.bot.TelegramBot
|
||||||
|
import dev.inmo.tgbotapi.requests.set.SetUserEmojiStatus
|
||||||
|
import dev.inmo.tgbotapi.types.*
|
||||||
|
import dev.inmo.tgbotapi.types.chat.User
|
||||||
|
import korlibs.time.DateTime
|
||||||
|
|
||||||
|
public suspend fun TelegramBot.setUserEmojiStatus(
|
||||||
|
userId: UserId,
|
||||||
|
customEmojiId: CustomEmojiId,
|
||||||
|
expirationDate: TelegramDate? = null
|
||||||
|
): Boolean = execute(
|
||||||
|
SetUserEmojiStatus(
|
||||||
|
userId = userId,
|
||||||
|
customEmojiId = customEmojiId,
|
||||||
|
expirationDate = expirationDate
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
public suspend fun TelegramBot.setUserEmojiStatus(
|
||||||
|
user: User,
|
||||||
|
customEmojiId: CustomEmojiId,
|
||||||
|
expirationDate: TelegramDate? = null
|
||||||
|
): Boolean = setUserEmojiStatus(
|
||||||
|
user.id,
|
||||||
|
customEmojiId,
|
||||||
|
expirationDate
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
public suspend fun TelegramBot.setUserEmojiStatus(
|
||||||
|
userId: UserId,
|
||||||
|
customEmojiId: CustomEmojiId,
|
||||||
|
expirationDate: DateTime
|
||||||
|
): Boolean = setUserEmojiStatus(
|
||||||
|
userId,
|
||||||
|
customEmojiId,
|
||||||
|
expirationDate.toTelegramDate()
|
||||||
|
)
|
||||||
|
|
||||||
|
public suspend fun TelegramBot.setUserEmojiStatus(
|
||||||
|
user: User,
|
||||||
|
customEmojiId: CustomEmojiId,
|
||||||
|
expirationDate: DateTime
|
||||||
|
): Boolean = setUserEmojiStatus(
|
||||||
|
user.id,
|
||||||
|
customEmojiId,
|
||||||
|
expirationDate
|
||||||
|
)
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
package dev.inmo.tgbotapi.extensions.api.verifications
|
||||||
|
|
||||||
|
import dev.inmo.tgbotapi.bot.TelegramBot
|
||||||
|
import dev.inmo.tgbotapi.requests.verifications.VerifyChat
|
||||||
|
import dev.inmo.tgbotapi.types.ChatIdentifier
|
||||||
|
import dev.inmo.tgbotapi.types.chat.*
|
||||||
|
import dev.inmo.tgbotapi.types.chatIdField
|
||||||
|
import dev.inmo.tgbotapi.types.customDescriptionField
|
||||||
|
import kotlinx.serialization.SerialName
|
||||||
|
|
||||||
|
public suspend fun TelegramBot.verifyChat(
|
||||||
|
chatId: ChatIdentifier,
|
||||||
|
description: String? = null
|
||||||
|
): Boolean = execute(
|
||||||
|
VerifyChat(
|
||||||
|
chatId = chatId,
|
||||||
|
description = description
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This method may call [verifyUser] in case when [chat] is [PrivateChat]
|
||||||
|
*/
|
||||||
|
public suspend fun TelegramBot.verifyChat(
|
||||||
|
chat: Chat,
|
||||||
|
description: String? = null
|
||||||
|
): Boolean = when (chat) {
|
||||||
|
is PrivateChat -> verifyUser(
|
||||||
|
chat = chat,
|
||||||
|
description = description
|
||||||
|
)
|
||||||
|
is UnknownExtendedChat,
|
||||||
|
is UnknownChatType,
|
||||||
|
is BusinessChat,
|
||||||
|
is PublicChat -> verifyChat(
|
||||||
|
chatId = chat.id,
|
||||||
|
description = description
|
||||||
|
)
|
||||||
|
}
|
||||||
@@ -0,0 +1,26 @@
|
|||||||
|
package dev.inmo.tgbotapi.extensions.api.verifications
|
||||||
|
|
||||||
|
import dev.inmo.tgbotapi.bot.TelegramBot
|
||||||
|
import dev.inmo.tgbotapi.requests.verifications.VerifyChat
|
||||||
|
import dev.inmo.tgbotapi.requests.verifications.VerifyUser
|
||||||
|
import dev.inmo.tgbotapi.types.*
|
||||||
|
import dev.inmo.tgbotapi.types.chat.Chat
|
||||||
|
import kotlinx.serialization.SerialName
|
||||||
|
|
||||||
|
public suspend fun TelegramBot.verifyUser(
|
||||||
|
userId: UserId,
|
||||||
|
description: String? = null
|
||||||
|
): Boolean = execute(
|
||||||
|
VerifyUser(
|
||||||
|
userId = userId,
|
||||||
|
description = description
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
public suspend fun TelegramBot.verifyUser(
|
||||||
|
chat: Chat,
|
||||||
|
description: String? = null
|
||||||
|
): Boolean = verifyUser(
|
||||||
|
userId = chat.id.toChatId(),
|
||||||
|
description = description
|
||||||
|
)
|
||||||
@@ -1,13 +1,20 @@
|
|||||||
package dev.inmo.tgbotapi.extensions.behaviour_builder.triggers_handling
|
package dev.inmo.tgbotapi.extensions.behaviour_builder.triggers_handling
|
||||||
|
|
||||||
|
import dev.inmo.micro_utils.coroutines.SpecialMutableStateFlow
|
||||||
|
import dev.inmo.micro_utils.coroutines.launchLoggingDropExceptions
|
||||||
import dev.inmo.micro_utils.coroutines.launchSafelyWithoutExceptions
|
import dev.inmo.micro_utils.coroutines.launchSafelyWithoutExceptions
|
||||||
|
import dev.inmo.micro_utils.coroutines.subscribeLoggingDropExceptions
|
||||||
import dev.inmo.micro_utils.coroutines.subscribeSafelyWithoutExceptions
|
import dev.inmo.micro_utils.coroutines.subscribeSafelyWithoutExceptions
|
||||||
import dev.inmo.micro_utils.coroutines.subscribeSafelyWithoutExceptionsAsync
|
import dev.inmo.micro_utils.coroutines.subscribeSafelyWithoutExceptionsAsync
|
||||||
import dev.inmo.tgbotapi.extensions.behaviour_builder.*
|
import dev.inmo.tgbotapi.extensions.behaviour_builder.*
|
||||||
import dev.inmo.tgbotapi.extensions.behaviour_builder.expectations.expectFlow
|
import dev.inmo.tgbotapi.extensions.behaviour_builder.expectations.expectFlow
|
||||||
import dev.inmo.tgbotapi.extensions.behaviour_builder.utils.SimpleFilter
|
import dev.inmo.tgbotapi.extensions.behaviour_builder.utils.SimpleFilter
|
||||||
import dev.inmo.tgbotapi.extensions.behaviour_builder.utils.marker_factories.MarkerFactory
|
import dev.inmo.tgbotapi.extensions.behaviour_builder.utils.marker_factories.MarkerFactory
|
||||||
|
import dev.inmo.tgbotapi.extensions.utils.flatMap
|
||||||
import dev.inmo.tgbotapi.types.update.abstracts.Update
|
import dev.inmo.tgbotapi.types.update.abstracts.Update
|
||||||
|
import kotlinx.coroutines.flow.emptyFlow
|
||||||
|
import kotlinx.coroutines.flow.filter
|
||||||
|
import kotlinx.coroutines.flow.flatMapLatest
|
||||||
|
|
||||||
internal suspend fun <BC : BehaviourContext, T> BC.on(
|
internal suspend fun <BC : BehaviourContext, T> BC.on(
|
||||||
markerFactory: MarkerFactory<in T, Any>?,
|
markerFactory: MarkerFactory<in T, Any>?,
|
||||||
@@ -40,11 +47,21 @@ internal suspend fun <BC : BehaviourContext, T> BC.on(
|
|||||||
}
|
}
|
||||||
val handler: suspend (Pair<Update, T>) -> Unit = subcontextUpdatesFilter ?.let {
|
val handler: suspend (Pair<Update, T>) -> Unit = subcontextUpdatesFilter ?.let {
|
||||||
{ (update, triggerData) ->
|
{ (update, triggerData) ->
|
||||||
createSubContextAndDoSynchronouslyWithUpdatesFilter {
|
val contextStateFlow = SpecialMutableStateFlow<BC?>(null)
|
||||||
if (subcontextUpdatesFilter(this, triggerData, update)) {
|
createSubContextAndDoSynchronouslyWithUpdatesFilter(
|
||||||
localSubcontextInitialAction(update, triggerData)
|
updatesUpstreamFlow = contextStateFlow.flatMapLatest { context ->
|
||||||
scenarioReceiver(triggerData)
|
if (context == null) {
|
||||||
|
emptyFlow()
|
||||||
|
} else {
|
||||||
|
allUpdatesFlow.filter {
|
||||||
|
context.subcontextUpdatesFilter(triggerData, it)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
) {
|
||||||
|
contextStateFlow.value = this
|
||||||
|
localSubcontextInitialAction(update, triggerData)
|
||||||
|
scenarioReceiver(triggerData)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} ?: { (update, triggerData) ->
|
} ?: { (update, triggerData) ->
|
||||||
@@ -57,8 +74,8 @@ internal suspend fun <BC : BehaviourContext, T> BC.on(
|
|||||||
{ markerFactory(it.second) },
|
{ markerFactory(it.second) },
|
||||||
block = handler
|
block = handler
|
||||||
)
|
)
|
||||||
} ?: subscribeSafelyWithoutExceptions(scope) {
|
} ?: subscribeLoggingDropExceptions(scope) {
|
||||||
scope.launchSafelyWithoutExceptions {
|
scope.launchLoggingDropExceptions {
|
||||||
handler(it)
|
handler(it)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,8 @@
|
|||||||
|
package dev.inmo.tgbotapi.abstracts
|
||||||
|
|
||||||
|
import dev.inmo.tgbotapi.types.files.Photo
|
||||||
|
import dev.inmo.tgbotapi.types.files.TelegramMediaFile
|
||||||
|
|
||||||
|
interface CoverableData {
|
||||||
|
val cover: Photo?
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
package dev.inmo.tgbotapi.abstracts
|
||||||
|
|
||||||
|
import dev.inmo.tgbotapi.types.Seconds
|
||||||
|
|
||||||
|
interface WithCustomStartMediaData {
|
||||||
|
val startTimestamp: Seconds?
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
package dev.inmo.tgbotapi.abstracts.types
|
||||||
|
|
||||||
|
import korlibs.time.TimeSpan
|
||||||
|
|
||||||
|
interface SubscriptionInfo : SubscriptionPeriodInfo {
|
||||||
|
val subscriptionPrice: UInt?
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
package dev.inmo.tgbotapi.abstracts.types
|
||||||
|
|
||||||
|
import korlibs.time.TimeSpan
|
||||||
|
|
||||||
|
interface SubscriptionPeriodInfo {
|
||||||
|
val subscriptionPeriod: TimeSpan?
|
||||||
|
}
|
||||||
@@ -12,8 +12,8 @@ import kotlinx.serialization.json.Json
|
|||||||
|
|
||||||
@RiskFeature
|
@RiskFeature
|
||||||
fun createTelegramBotDefaultKtorCallRequestsFactories(logger: KSLog? = null) = listOf(
|
fun createTelegramBotDefaultKtorCallRequestsFactories(logger: KSLog? = null) = listOf(
|
||||||
SimpleRequestCallFactory(logger),
|
|
||||||
MultipartRequestCallFactory(logger),
|
MultipartRequestCallFactory(logger),
|
||||||
|
SimpleRequestCallFactory(logger),
|
||||||
DownloadFileRequestCallFactory,
|
DownloadFileRequestCallFactory,
|
||||||
DownloadFileChannelRequestCallFactory
|
DownloadFileChannelRequestCallFactory
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -9,17 +9,14 @@ import dev.inmo.tgbotapi.bot.exceptions.newRequestException
|
|||||||
import dev.inmo.tgbotapi.requests.GetUpdatesRequest
|
import dev.inmo.tgbotapi.requests.GetUpdatesRequest
|
||||||
import dev.inmo.tgbotapi.requests.abstracts.Request
|
import dev.inmo.tgbotapi.requests.abstracts.Request
|
||||||
import dev.inmo.tgbotapi.types.Response
|
import dev.inmo.tgbotapi.types.Response
|
||||||
import dev.inmo.tgbotapi.types.message.textsources.pre
|
|
||||||
import dev.inmo.tgbotapi.utils.DefaultKTgBotAPIKSLog
|
import dev.inmo.tgbotapi.utils.DefaultKTgBotAPIKSLog
|
||||||
import dev.inmo.tgbotapi.utils.TelegramAPIUrlsKeeper
|
import dev.inmo.tgbotapi.utils.TelegramAPIUrlsKeeper
|
||||||
import io.ktor.client.HttpClient
|
import io.ktor.client.HttpClient
|
||||||
import io.ktor.client.plugins.timeout
|
import io.ktor.client.plugins.timeout
|
||||||
import io.ktor.client.request.*
|
import io.ktor.client.request.*
|
||||||
import io.ktor.client.request.forms.*
|
|
||||||
import io.ktor.client.statement.bodyAsText
|
import io.ktor.client.statement.bodyAsText
|
||||||
import io.ktor.http.ContentType
|
import io.ktor.http.ContentType
|
||||||
import io.ktor.http.content.*
|
import io.ktor.http.content.*
|
||||||
import kotlinx.serialization.Serializable
|
|
||||||
import kotlinx.serialization.json.Json
|
import kotlinx.serialization.json.Json
|
||||||
import kotlin.collections.set
|
import kotlin.collections.set
|
||||||
|
|
||||||
|
|||||||
@@ -9,8 +9,23 @@ import io.ktor.client.HttpClient
|
|||||||
import io.ktor.client.request.forms.*
|
import io.ktor.client.request.forms.*
|
||||||
import io.ktor.http.Headers
|
import io.ktor.http.Headers
|
||||||
import io.ktor.http.HttpHeaders
|
import io.ktor.http.HttpHeaders
|
||||||
|
import kotlinx.serialization.json.Json
|
||||||
|
|
||||||
class MultipartRequestCallFactory(logger: KSLog? = null) : AbstractRequestCallFactory(logger ?: DefaultKTgBotAPIKSLog) {
|
class MultipartRequestCallFactory(logger: KSLog? = null) : AbstractRequestCallFactory(logger ?: DefaultKTgBotAPIKSLog) {
|
||||||
|
private val localSimpleRequestCallFactory = SimpleRequestCallFactory(logger)
|
||||||
|
override suspend fun <T : Any> makeCall(
|
||||||
|
client: HttpClient,
|
||||||
|
urlsKeeper: TelegramAPIUrlsKeeper,
|
||||||
|
request: Request<T>,
|
||||||
|
jsonFormatter: Json
|
||||||
|
): T? {
|
||||||
|
return when (request) {
|
||||||
|
!is MultipartRequest -> null
|
||||||
|
is MultipartRequest.Common -> localSimpleRequestCallFactory.makeCall(client, urlsKeeper, request.data, jsonFormatter)
|
||||||
|
else -> super.makeCall(client, urlsKeeper, request, jsonFormatter)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
override fun <T : Any> prepareCallBody(
|
override fun <T : Any> prepareCallBody(
|
||||||
client: HttpClient,
|
client: HttpClient,
|
||||||
urlsKeeper: TelegramAPIUrlsKeeper,
|
urlsKeeper: TelegramAPIUrlsKeeper,
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package dev.inmo.tgbotapi.requests
|
package dev.inmo.tgbotapi.requests
|
||||||
|
|
||||||
|
import dev.inmo.tgbotapi.abstracts.WithCustomStartMediaData
|
||||||
import dev.inmo.tgbotapi.abstracts.types.MessageAction
|
import dev.inmo.tgbotapi.abstracts.types.MessageAction
|
||||||
import dev.inmo.tgbotapi.abstracts.types.ProtectContent
|
import dev.inmo.tgbotapi.abstracts.types.ProtectContent
|
||||||
import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest
|
import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest
|
||||||
@@ -21,11 +22,13 @@ data class ForwardMessage(
|
|||||||
override val messageId: MessageId,
|
override val messageId: MessageId,
|
||||||
@SerialName(messageThreadIdField)
|
@SerialName(messageThreadIdField)
|
||||||
override val threadId: MessageThreadId? = toChatId.threadId,
|
override val threadId: MessageThreadId? = toChatId.threadId,
|
||||||
|
@SerialName(videoStartTimestampField)
|
||||||
|
override val startTimestamp: Seconds? = null,
|
||||||
@SerialName(disableNotificationField)
|
@SerialName(disableNotificationField)
|
||||||
val disableNotification: Boolean = false,
|
val disableNotification: Boolean = false,
|
||||||
@SerialName(protectContentField)
|
@SerialName(protectContentField)
|
||||||
override val protectContent: Boolean = false
|
override val protectContent: Boolean = false
|
||||||
): SimpleRequest<PossiblyForwardedMessage>, MessageAction, ProtectContent, OptionallyMessageThreadRequest {
|
): SimpleRequest<PossiblyForwardedMessage>, MessageAction, ProtectContent, OptionallyMessageThreadRequest, WithCustomStartMediaData {
|
||||||
override val chatId: ChatIdentifier
|
override val chatId: ChatIdentifier
|
||||||
get() = fromChatId
|
get() = fromChatId
|
||||||
|
|
||||||
|
|||||||
@@ -5,4 +5,11 @@ import kotlinx.serialization.json.JsonObject
|
|||||||
interface MultipartRequest<T: Any> : Request<T> {
|
interface MultipartRequest<T: Any> : Request<T> {
|
||||||
val paramsJson: JsonObject
|
val paramsJson: JsonObject
|
||||||
val mediaMap: Map<String, MultipartFile>
|
val mediaMap: Map<String, MultipartFile>
|
||||||
|
|
||||||
|
interface Common<T : Any> : MultipartRequest<T>, SimpleRequest<T> {
|
||||||
|
val data: SimpleRequest<T>
|
||||||
|
|
||||||
|
override val paramsJson: JsonObject
|
||||||
|
get() = data.json()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
package dev.inmo.tgbotapi.requests.chat.invite_links
|
package dev.inmo.tgbotapi.requests.chat.invite_links
|
||||||
|
|
||||||
|
import dev.inmo.tgbotapi.abstracts.types.SubscriptionInfo
|
||||||
|
import dev.inmo.tgbotapi.abstracts.types.SubscriptionPeriodInfo
|
||||||
import korlibs.time.DateTime
|
import korlibs.time.DateTime
|
||||||
import dev.inmo.tgbotapi.requests.chat.abstracts.*
|
import dev.inmo.tgbotapi.requests.chat.abstracts.*
|
||||||
import dev.inmo.tgbotapi.types.*
|
import dev.inmo.tgbotapi.types.*
|
||||||
@@ -15,9 +17,9 @@ sealed interface CreateChatInviteLink<R : SecondaryChatInviteLink> : EditChatInv
|
|||||||
|
|
||||||
override fun method(): String = "createChatInviteLink"
|
override fun method(): String = "createChatInviteLink"
|
||||||
|
|
||||||
sealed interface Subscription : CreateChatInviteLink<ChatInviteLinkUnlimited> {
|
sealed interface Subscription : CreateChatInviteLink<ChatInviteLinkUnlimited>, SubscriptionInfo {
|
||||||
val subscriptionPeriod: TimeSpan
|
override val subscriptionPeriod: TimeSpan
|
||||||
val subscriptionPrice: UInt
|
override val subscriptionPrice: UInt
|
||||||
|
|
||||||
override fun method(): String = "createChatSubscriptionInviteLink"
|
override fun method(): String = "createChatSubscriptionInviteLink"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
package dev.inmo.tgbotapi.requests.edit.media
|
package dev.inmo.tgbotapi.requests.edit.media
|
||||||
|
|
||||||
import dev.inmo.tgbotapi.requests.abstracts.MultipartFile
|
import dev.inmo.tgbotapi.requests.abstracts.MultipartFile
|
||||||
|
import dev.inmo.tgbotapi.requests.abstracts.MultipartRequest
|
||||||
|
import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest
|
||||||
import dev.inmo.tgbotapi.requests.edit.abstracts.*
|
import dev.inmo.tgbotapi.requests.edit.abstracts.*
|
||||||
import dev.inmo.tgbotapi.types.*
|
import dev.inmo.tgbotapi.types.*
|
||||||
import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
|
import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
|
||||||
@@ -27,14 +29,21 @@ data class EditChatMessageMedia(
|
|||||||
override val businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
|
override val businessConnectionId: BusinessConnectionId? = chatId.businessConnectionId,
|
||||||
@SerialName(replyMarkupField)
|
@SerialName(replyMarkupField)
|
||||||
override val replyMarkup: InlineKeyboardMarkup? = null
|
override val replyMarkup: InlineKeyboardMarkup? = null
|
||||||
) : EditChatMessage<MediaContent>, EditReplyMessage, EditMediaMessage {
|
) : EditChatMessage<MediaContent>, EditReplyMessage, EditMediaMessage, MultipartRequest.Common<ContentMessage<MediaContent>> {
|
||||||
|
override val data: SimpleRequest<ContentMessage<MediaContent>>
|
||||||
init {
|
get() = this
|
||||||
if (media.file is MultipartFile) {
|
override val mediaMap: Map<String, MultipartFile> by lazy {
|
||||||
throw IllegalArgumentException("For editing of media messages you MUST use file id (according to documentation)")
|
(media.file as? MultipartFile) ?.let {
|
||||||
}
|
mapOf(it.fileId to it)
|
||||||
|
} ?: emptyMap()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// init {
|
||||||
|
// if (media.file is MultipartFile) {
|
||||||
|
// throw IllegalArgumentException("For editing of media messages you MUST use file id (according to documentation)")
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
override fun method(): String = editMessageMediaMethod
|
override fun method(): String = editMessageMediaMethod
|
||||||
override val resultDeserializer: DeserializationStrategy<ContentMessage<MediaContent>>
|
override val resultDeserializer: DeserializationStrategy<ContentMessage<MediaContent>>
|
||||||
get() = MediaContentMessageResultDeserializer
|
get() = MediaContentMessageResultDeserializer
|
||||||
|
|||||||
@@ -0,0 +1,32 @@
|
|||||||
|
package dev.inmo.tgbotapi.requests.edit.payments
|
||||||
|
|
||||||
|
import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest
|
||||||
|
import dev.inmo.tgbotapi.types.UserId
|
||||||
|
import dev.inmo.tgbotapi.types.isCanceledField
|
||||||
|
import dev.inmo.tgbotapi.types.payments.abstracts.TelegramPaymentChargeId
|
||||||
|
import dev.inmo.tgbotapi.types.telegramPaymentChargeIdField
|
||||||
|
import dev.inmo.tgbotapi.types.userIdField
|
||||||
|
import kotlinx.serialization.DeserializationStrategy
|
||||||
|
import kotlinx.serialization.SerialName
|
||||||
|
import kotlinx.serialization.Serializable
|
||||||
|
import kotlinx.serialization.SerializationStrategy
|
||||||
|
import kotlinx.serialization.builtins.serializer
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
data class EditUserStarSubscription(
|
||||||
|
@SerialName(userIdField)
|
||||||
|
val userId: UserId,
|
||||||
|
@SerialName(telegramPaymentChargeIdField)
|
||||||
|
val telegramPaymentChargeId: TelegramPaymentChargeId,
|
||||||
|
@SerialName(isCanceledField)
|
||||||
|
val isCanceled: Boolean
|
||||||
|
) : SimpleRequest<Boolean> {
|
||||||
|
override val requestSerializer: SerializationStrategy<*>
|
||||||
|
get() = serializer()
|
||||||
|
|
||||||
|
override fun method(): String = "editUserStarSubscription"
|
||||||
|
|
||||||
|
override val resultDeserializer: DeserializationStrategy<Boolean>
|
||||||
|
get() = Boolean.serializer()
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
package dev.inmo.tgbotapi.requests.gifts
|
||||||
|
|
||||||
|
import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest
|
||||||
|
import dev.inmo.tgbotapi.types.gifts.Gifts
|
||||||
|
import kotlinx.serialization.DeserializationStrategy
|
||||||
|
import kotlinx.serialization.Serializable
|
||||||
|
import kotlinx.serialization.SerializationStrategy
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
data object GetAvailableGifts : SimpleRequest<Gifts> {
|
||||||
|
override fun method(): String = "getAvailableGifts"
|
||||||
|
|
||||||
|
override val resultDeserializer: DeserializationStrategy<Gifts>
|
||||||
|
get() = Gifts.serializer()
|
||||||
|
override val requestSerializer: SerializationStrategy<*>
|
||||||
|
get() = serializer()
|
||||||
|
}
|
||||||
@@ -0,0 +1,140 @@
|
|||||||
|
package dev.inmo.tgbotapi.requests.gifts
|
||||||
|
|
||||||
|
import dev.inmo.tgbotapi.abstracts.TextedOutput
|
||||||
|
import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest
|
||||||
|
import dev.inmo.tgbotapi.types.*
|
||||||
|
import dev.inmo.tgbotapi.types.message.ParseMode
|
||||||
|
import dev.inmo.tgbotapi.types.message.RawMessageEntity
|
||||||
|
import dev.inmo.tgbotapi.types.message.asTextSources
|
||||||
|
import dev.inmo.tgbotapi.types.message.textsources.TextSource
|
||||||
|
import dev.inmo.tgbotapi.types.message.textsources.TextSourcesList
|
||||||
|
import dev.inmo.tgbotapi.types.message.toRawMessageEntities
|
||||||
|
import dev.inmo.tgbotapi.utils.extensions.makeSourceString
|
||||||
|
import kotlinx.serialization.DeserializationStrategy
|
||||||
|
import kotlinx.serialization.SerialName
|
||||||
|
import kotlinx.serialization.Serializable
|
||||||
|
import kotlinx.serialization.SerializationStrategy
|
||||||
|
import kotlinx.serialization.builtins.serializer
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
data class SendGift internal constructor(
|
||||||
|
@SerialName(userIdField)
|
||||||
|
val userId: UserId? = null,
|
||||||
|
@SerialName(chatIdField)
|
||||||
|
val chatId: ChatIdentifier? = null,
|
||||||
|
@SerialName(giftIdField)
|
||||||
|
val giftId: GiftId,
|
||||||
|
@SerialName(textField)
|
||||||
|
override val text: String? = null,
|
||||||
|
@SerialName(textParseModeField)
|
||||||
|
override val parseMode: ParseMode?,
|
||||||
|
@SerialName(textEntitiesField)
|
||||||
|
private val rawEntities: List<RawMessageEntity>? = null,
|
||||||
|
@SerialName(payToUpgradeField)
|
||||||
|
val upgradableToUnique: Boolean = false
|
||||||
|
) : SimpleRequest<Boolean>, TextedOutput {
|
||||||
|
override val textSources: TextSourcesList? by lazy {
|
||||||
|
rawEntities ?.let {
|
||||||
|
text ?.let { _ ->
|
||||||
|
it.asTextSources(text)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun method(): String = "sendGift"
|
||||||
|
|
||||||
|
override val requestSerializer: SerializationStrategy<*>
|
||||||
|
get() = serializer()
|
||||||
|
|
||||||
|
|
||||||
|
override val resultDeserializer: DeserializationStrategy<Boolean>
|
||||||
|
get() = Boolean.serializer()
|
||||||
|
|
||||||
|
@Deprecated("Use factory function `toUser` instead", ReplaceWith("toUser(userId, giftId, text, parseMode, upgradableToUnique)"))
|
||||||
|
constructor(
|
||||||
|
userId: UserId,
|
||||||
|
giftId: GiftId,
|
||||||
|
text: String,
|
||||||
|
parseMode: ParseMode?,
|
||||||
|
upgradableToUnique: Boolean = false
|
||||||
|
) : this(
|
||||||
|
userId = userId,
|
||||||
|
giftId = giftId,
|
||||||
|
text = text,
|
||||||
|
parseMode = parseMode,
|
||||||
|
rawEntities = null,
|
||||||
|
upgradableToUnique = upgradableToUnique
|
||||||
|
)
|
||||||
|
|
||||||
|
@Deprecated("Use factory function `toUser` instead", ReplaceWith("toUser(userId, giftId, textSources, upgradableToUnique)"))
|
||||||
|
constructor(
|
||||||
|
userId: UserId,
|
||||||
|
giftId: GiftId,
|
||||||
|
textSources: TextSourcesList? = null,
|
||||||
|
upgradableToUnique: Boolean = false,
|
||||||
|
) : this(
|
||||||
|
userId = userId,
|
||||||
|
giftId = giftId,
|
||||||
|
text = textSources ?.makeSourceString(),
|
||||||
|
parseMode = null,
|
||||||
|
rawEntities = textSources ?.toRawMessageEntities(),
|
||||||
|
upgradableToUnique = upgradableToUnique
|
||||||
|
)
|
||||||
|
|
||||||
|
companion object {
|
||||||
|
fun toUser(
|
||||||
|
userId: UserId,
|
||||||
|
giftId: GiftId,
|
||||||
|
text: String,
|
||||||
|
parseMode: ParseMode?,
|
||||||
|
upgradableToUnique: Boolean = false
|
||||||
|
) = SendGift(
|
||||||
|
userId = userId,
|
||||||
|
giftId = giftId,
|
||||||
|
text = text,
|
||||||
|
parseMode = parseMode,
|
||||||
|
rawEntities = null,
|
||||||
|
upgradableToUnique = upgradableToUnique
|
||||||
|
)
|
||||||
|
fun toUser(
|
||||||
|
userId: UserId,
|
||||||
|
giftId: GiftId,
|
||||||
|
textSources: TextSourcesList? = null,
|
||||||
|
upgradableToUnique: Boolean = false,
|
||||||
|
) = SendGift(
|
||||||
|
userId = userId,
|
||||||
|
giftId = giftId,
|
||||||
|
text = textSources ?.makeSourceString(),
|
||||||
|
parseMode = null,
|
||||||
|
rawEntities = textSources ?.toRawMessageEntities(),
|
||||||
|
upgradableToUnique = upgradableToUnique
|
||||||
|
)
|
||||||
|
fun toChat(
|
||||||
|
chatId: ChatIdentifier,
|
||||||
|
giftId: GiftId,
|
||||||
|
text: String,
|
||||||
|
parseMode: ParseMode?,
|
||||||
|
upgradableToUnique: Boolean = false
|
||||||
|
) = SendGift(
|
||||||
|
chatId = chatId,
|
||||||
|
giftId = giftId,
|
||||||
|
text = text,
|
||||||
|
parseMode = parseMode,
|
||||||
|
rawEntities = null,
|
||||||
|
upgradableToUnique = upgradableToUnique
|
||||||
|
)
|
||||||
|
fun toChat(
|
||||||
|
chatId: ChatIdentifier,
|
||||||
|
giftId: GiftId,
|
||||||
|
textSources: TextSourcesList? = null,
|
||||||
|
upgradableToUnique: Boolean = false,
|
||||||
|
) = SendGift(
|
||||||
|
chatId = chatId,
|
||||||
|
giftId = giftId,
|
||||||
|
text = textSources ?.makeSourceString(),
|
||||||
|
parseMode = null,
|
||||||
|
rawEntities = textSources ?.toRawMessageEntities(),
|
||||||
|
upgradableToUnique = upgradableToUnique
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
package dev.inmo.tgbotapi.requests.inline
|
||||||
|
|
||||||
|
import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest
|
||||||
|
import dev.inmo.tgbotapi.types.*
|
||||||
|
import dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.abstracts.InlineQueryResult
|
||||||
|
import dev.inmo.tgbotapi.types.InlineQueries.InlineQueryResult.serializers.InlineQueryResultSerializer
|
||||||
|
import dev.inmo.tgbotapi.types.InlineQueries.prepared.PreparedInlineMessage
|
||||||
|
import kotlinx.serialization.DeserializationStrategy
|
||||||
|
import kotlinx.serialization.SerialName
|
||||||
|
import kotlinx.serialization.Serializable
|
||||||
|
import kotlinx.serialization.SerializationStrategy
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
data class SavePreparedInlineMessage(
|
||||||
|
@SerialName(userIdField)
|
||||||
|
val userId: UserId,
|
||||||
|
@Serializable(InlineQueryResultSerializer::class)
|
||||||
|
@SerialName(resultField)
|
||||||
|
val result: InlineQueryResult,
|
||||||
|
@SerialName(allowUserChatsField)
|
||||||
|
val allowSendToUsers: Boolean = false,
|
||||||
|
@SerialName(allowBotChatsField)
|
||||||
|
val allowSendToBots: Boolean = false,
|
||||||
|
@SerialName(allowGroupChatsField)
|
||||||
|
val allowSendToGroups: Boolean = false,
|
||||||
|
@SerialName(allowChannelChatsField)
|
||||||
|
val allowSendToChannels: Boolean = false,
|
||||||
|
) : SimpleRequest<PreparedInlineMessage> {
|
||||||
|
override fun method(): String = "savePreparedInlineMessage"
|
||||||
|
|
||||||
|
override val requestSerializer: SerializationStrategy<*>
|
||||||
|
get() = serializer()
|
||||||
|
override val resultDeserializer: DeserializationStrategy<PreparedInlineMessage>
|
||||||
|
get() = PreparedInlineMessage.serializer()
|
||||||
|
}
|
||||||
@@ -1,6 +1,7 @@
|
|||||||
package dev.inmo.tgbotapi.requests.send
|
package dev.inmo.tgbotapi.requests.send
|
||||||
|
|
||||||
import dev.inmo.tgbotapi.abstracts.TextedOutput
|
import dev.inmo.tgbotapi.abstracts.TextedOutput
|
||||||
|
import dev.inmo.tgbotapi.abstracts.WithCustomStartMediaData
|
||||||
import dev.inmo.tgbotapi.abstracts.WithCustomizableCaption
|
import dev.inmo.tgbotapi.abstracts.WithCustomizableCaption
|
||||||
import dev.inmo.tgbotapi.abstracts.types.MessageAction
|
import dev.inmo.tgbotapi.abstracts.types.MessageAction
|
||||||
import dev.inmo.tgbotapi.abstracts.types.ProtectContent
|
import dev.inmo.tgbotapi.abstracts.types.ProtectContent
|
||||||
@@ -89,6 +90,7 @@ fun CopyMessage(
|
|||||||
parseMode: ParseMode? = null,
|
parseMode: ParseMode? = null,
|
||||||
showCaptionAboveMedia: Boolean = false,
|
showCaptionAboveMedia: Boolean = false,
|
||||||
threadId: MessageThreadId? = toChatId.threadId,
|
threadId: MessageThreadId? = toChatId.threadId,
|
||||||
|
startTimestamp: Seconds? = null,
|
||||||
disableNotification: Boolean = false,
|
disableNotification: Boolean = false,
|
||||||
protectContent: Boolean = false,
|
protectContent: Boolean = false,
|
||||||
allowPaidBroadcast: Boolean = false,
|
allowPaidBroadcast: Boolean = false,
|
||||||
@@ -103,6 +105,7 @@ fun CopyMessage(
|
|||||||
rawEntities = null,
|
rawEntities = null,
|
||||||
showCaptionAboveMedia = showCaptionAboveMedia,
|
showCaptionAboveMedia = showCaptionAboveMedia,
|
||||||
threadId = threadId,
|
threadId = threadId,
|
||||||
|
startTimestamp = startTimestamp,
|
||||||
disableNotification = disableNotification,
|
disableNotification = disableNotification,
|
||||||
protectContent = protectContent,
|
protectContent = protectContent,
|
||||||
allowPaidBroadcast = allowPaidBroadcast,
|
allowPaidBroadcast = allowPaidBroadcast,
|
||||||
@@ -117,6 +120,7 @@ fun CopyMessage(
|
|||||||
entities: List<TextSource>,
|
entities: List<TextSource>,
|
||||||
showCaptionAboveMedia: Boolean = false,
|
showCaptionAboveMedia: Boolean = false,
|
||||||
threadId: MessageThreadId? = toChatId.threadId,
|
threadId: MessageThreadId? = toChatId.threadId,
|
||||||
|
startTimestamp: Seconds? = null,
|
||||||
disableNotification: Boolean = false,
|
disableNotification: Boolean = false,
|
||||||
protectContent: Boolean = false,
|
protectContent: Boolean = false,
|
||||||
allowPaidBroadcast: Boolean = false,
|
allowPaidBroadcast: Boolean = false,
|
||||||
@@ -131,6 +135,7 @@ fun CopyMessage(
|
|||||||
rawEntities = entities.toRawMessageEntities(),
|
rawEntities = entities.toRawMessageEntities(),
|
||||||
showCaptionAboveMedia = showCaptionAboveMedia,
|
showCaptionAboveMedia = showCaptionAboveMedia,
|
||||||
threadId = threadId,
|
threadId = threadId,
|
||||||
|
startTimestamp = startTimestamp,
|
||||||
disableNotification = disableNotification,
|
disableNotification = disableNotification,
|
||||||
protectContent = protectContent,
|
protectContent = protectContent,
|
||||||
allowPaidBroadcast = allowPaidBroadcast,
|
allowPaidBroadcast = allowPaidBroadcast,
|
||||||
@@ -156,6 +161,8 @@ data class CopyMessage internal constructor(
|
|||||||
override val showCaptionAboveMedia: Boolean = false,
|
override val showCaptionAboveMedia: Boolean = false,
|
||||||
@SerialName(messageThreadIdField)
|
@SerialName(messageThreadIdField)
|
||||||
override val threadId: MessageThreadId? = toChatId.threadId,
|
override val threadId: MessageThreadId? = toChatId.threadId,
|
||||||
|
@SerialName(videoStartTimestampField)
|
||||||
|
override val startTimestamp: Seconds? = null,
|
||||||
@SerialName(disableNotificationField)
|
@SerialName(disableNotificationField)
|
||||||
override val disableNotification: Boolean = false,
|
override val disableNotification: Boolean = false,
|
||||||
@SerialName(protectContentField)
|
@SerialName(protectContentField)
|
||||||
@@ -172,7 +179,8 @@ data class CopyMessage internal constructor(
|
|||||||
MessageAction,
|
MessageAction,
|
||||||
TextedOutput,
|
TextedOutput,
|
||||||
ProtectContent,
|
ProtectContent,
|
||||||
OptionallyMessageThreadRequest {
|
OptionallyMessageThreadRequest,
|
||||||
|
WithCustomStartMediaData {
|
||||||
override val chatId: ChatIdentifier
|
override val chatId: ChatIdentifier
|
||||||
get() = fromChatId
|
get() = fromChatId
|
||||||
override val textSources: List<TextSource>? by lazy {
|
override val textSources: List<TextSource>? by lazy {
|
||||||
|
|||||||
@@ -0,0 +1,8 @@
|
|||||||
|
package dev.inmo.tgbotapi.requests.send.abstracts
|
||||||
|
|
||||||
|
import dev.inmo.tgbotapi.requests.abstracts.FileId
|
||||||
|
import dev.inmo.tgbotapi.requests.abstracts.InputFile
|
||||||
|
|
||||||
|
interface CoveredSendMessageRequest<T: Any>: SendMessageRequest<T> {
|
||||||
|
val cover: InputFile?
|
||||||
|
}
|
||||||
@@ -51,6 +51,11 @@ fun <T : MediaGroupPartContent> SendMediaGroup(
|
|||||||
it.thumb as? MultipartFile
|
it.thumb as? MultipartFile
|
||||||
} else {
|
} else {
|
||||||
null
|
null
|
||||||
|
},
|
||||||
|
if (it is CoveredTelegramMedia) {
|
||||||
|
it.cover as? MultipartFile
|
||||||
|
} else {
|
||||||
|
null
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ import dev.inmo.tgbotapi.types.message.textsources.TextSourcesList
|
|||||||
import dev.inmo.tgbotapi.types.message.ParseMode
|
import dev.inmo.tgbotapi.types.message.ParseMode
|
||||||
import dev.inmo.tgbotapi.types.message.parseModeField
|
import dev.inmo.tgbotapi.types.message.parseModeField
|
||||||
import dev.inmo.tgbotapi.types.buttons.KeyboardMarkup
|
import dev.inmo.tgbotapi.types.buttons.KeyboardMarkup
|
||||||
|
import dev.inmo.tgbotapi.types.media.CoveredTelegramMedia
|
||||||
import dev.inmo.tgbotapi.types.media.ThumbedTelegramMedia
|
import dev.inmo.tgbotapi.types.media.ThumbedTelegramMedia
|
||||||
import dev.inmo.tgbotapi.types.message.*
|
import dev.inmo.tgbotapi.types.message.*
|
||||||
import dev.inmo.tgbotapi.types.message.RawMessageEntity
|
import dev.inmo.tgbotapi.types.message.RawMessageEntity
|
||||||
@@ -63,6 +64,11 @@ fun SendPaidMedia(
|
|||||||
it.thumb as? MultipartFile
|
it.thumb as? MultipartFile
|
||||||
} else {
|
} else {
|
||||||
null
|
null
|
||||||
|
},
|
||||||
|
if (it is CoveredTelegramMedia) {
|
||||||
|
it.cover as? MultipartFile
|
||||||
|
} else {
|
||||||
|
null
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@@ -117,6 +123,11 @@ fun SendPaidMedia(
|
|||||||
it.thumb as? MultipartFile
|
it.thumb as? MultipartFile
|
||||||
} else {
|
} else {
|
||||||
null
|
null
|
||||||
|
},
|
||||||
|
if (it is CoveredTelegramMedia) {
|
||||||
|
it.cover as? MultipartFile
|
||||||
|
} else {
|
||||||
|
null
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package dev.inmo.tgbotapi.requests.send.media
|
package dev.inmo.tgbotapi.requests.send.media
|
||||||
|
|
||||||
|
import dev.inmo.tgbotapi.abstracts.WithCustomStartMediaData
|
||||||
import dev.inmo.tgbotapi.requests.abstracts.*
|
import dev.inmo.tgbotapi.requests.abstracts.*
|
||||||
import dev.inmo.tgbotapi.requests.common.CommonMultipartFileRequest
|
import dev.inmo.tgbotapi.requests.common.CommonMultipartFileRequest
|
||||||
import dev.inmo.tgbotapi.requests.send.abstracts.*
|
import dev.inmo.tgbotapi.requests.send.abstracts.*
|
||||||
@@ -29,6 +30,8 @@ fun SendVideo(
|
|||||||
parseMode: ParseMode? = null,
|
parseMode: ParseMode? = null,
|
||||||
showCaptionAboveMedia: Boolean = false,
|
showCaptionAboveMedia: Boolean = false,
|
||||||
spoilered: Boolean = false,
|
spoilered: Boolean = false,
|
||||||
|
cover: InputFile? = null,
|
||||||
|
startTimestamp: Seconds? = null,
|
||||||
duration: Long? = null,
|
duration: Long? = null,
|
||||||
width: Int? = null,
|
width: Int? = null,
|
||||||
height: Int? = null,
|
height: Int? = null,
|
||||||
@@ -44,11 +47,14 @@ fun SendVideo(
|
|||||||
): Request<ContentMessage<VideoContent>> {
|
): Request<ContentMessage<VideoContent>> {
|
||||||
val videoAsFile = video as? MultipartFile
|
val videoAsFile = video as? MultipartFile
|
||||||
val thumbAsFile = thumbnail as? MultipartFile
|
val thumbAsFile = thumbnail as? MultipartFile
|
||||||
|
val coverAsFile = cover as? MultipartFile
|
||||||
|
|
||||||
val data = SendVideoData(
|
val data = SendVideoData(
|
||||||
chatId = chatId,
|
chatId = chatId,
|
||||||
video = video,
|
video = video,
|
||||||
thumbnail = thumbnail ?.fileId,
|
thumbnail = thumbnail ?.fileId,
|
||||||
|
cover = cover,
|
||||||
|
startTimestamp = startTimestamp,
|
||||||
text = text,
|
text = text,
|
||||||
parseMode = parseMode,
|
parseMode = parseMode,
|
||||||
rawEntities = null,
|
rawEntities = null,
|
||||||
@@ -68,12 +74,12 @@ fun SendVideo(
|
|||||||
replyMarkup = replyMarkup
|
replyMarkup = replyMarkup
|
||||||
)
|
)
|
||||||
|
|
||||||
return if (videoAsFile == null && thumbAsFile == null) {
|
return if (videoAsFile == null && thumbAsFile == null && coverAsFile == null) {
|
||||||
data
|
data
|
||||||
} else {
|
} else {
|
||||||
CommonMultipartFileRequest(
|
CommonMultipartFileRequest(
|
||||||
data,
|
data,
|
||||||
listOfNotNull(videoAsFile, thumbAsFile).associateBy { it.fileId }
|
listOfNotNull(videoAsFile, thumbAsFile, coverAsFile).associateBy { it.fileId }
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -85,6 +91,8 @@ fun SendVideo(
|
|||||||
entities: TextSourcesList,
|
entities: TextSourcesList,
|
||||||
showCaptionAboveMedia: Boolean = false,
|
showCaptionAboveMedia: Boolean = false,
|
||||||
spoilered: Boolean = false,
|
spoilered: Boolean = false,
|
||||||
|
cover: InputFile? = null,
|
||||||
|
startTimestamp: Seconds? = null,
|
||||||
duration: Long? = null,
|
duration: Long? = null,
|
||||||
width: Int? = null,
|
width: Int? = null,
|
||||||
height: Int? = null,
|
height: Int? = null,
|
||||||
@@ -100,11 +108,14 @@ fun SendVideo(
|
|||||||
): Request<ContentMessage<VideoContent>> {
|
): Request<ContentMessage<VideoContent>> {
|
||||||
val videoAsFile = video as? MultipartFile
|
val videoAsFile = video as? MultipartFile
|
||||||
val thumbAsFile = thumbnail as? MultipartFile
|
val thumbAsFile = thumbnail as? MultipartFile
|
||||||
|
val coverAsFile = cover as? MultipartFile
|
||||||
|
|
||||||
val data = SendVideoData(
|
val data = SendVideoData(
|
||||||
chatId = chatId,
|
chatId = chatId,
|
||||||
video = video,
|
video = video,
|
||||||
thumbnail = thumbnail ?.fileId,
|
thumbnail = thumbnail ?.fileId,
|
||||||
|
cover = cover,
|
||||||
|
startTimestamp = startTimestamp,
|
||||||
text = entities.makeString(),
|
text = entities.makeString(),
|
||||||
parseMode = null,
|
parseMode = null,
|
||||||
rawEntities = entities.toRawMessageEntities(),
|
rawEntities = entities.toRawMessageEntities(),
|
||||||
@@ -124,12 +135,12 @@ fun SendVideo(
|
|||||||
replyMarkup = replyMarkup
|
replyMarkup = replyMarkup
|
||||||
)
|
)
|
||||||
|
|
||||||
return if (videoAsFile == null && thumbAsFile == null) {
|
return if (videoAsFile == null && thumbAsFile == null && coverAsFile == null) {
|
||||||
data
|
data
|
||||||
} else {
|
} else {
|
||||||
CommonMultipartFileRequest(
|
CommonMultipartFileRequest(
|
||||||
data,
|
data,
|
||||||
listOfNotNull(videoAsFile, thumbAsFile).associateBy { it.fileId }
|
listOfNotNull(videoAsFile, thumbAsFile, coverAsFile).associateBy { it.fileId }
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -145,6 +156,10 @@ data class SendVideoData internal constructor(
|
|||||||
val video: InputFile,
|
val video: InputFile,
|
||||||
@SerialName(thumbnailField)
|
@SerialName(thumbnailField)
|
||||||
override val thumbnail: String? = null,
|
override val thumbnail: String? = null,
|
||||||
|
@SerialName(coverField)
|
||||||
|
override val cover: InputFile? = null,
|
||||||
|
@SerialName(startTimestampField)
|
||||||
|
override val startTimestamp: Seconds? = null,
|
||||||
@SerialName(captionField)
|
@SerialName(captionField)
|
||||||
override val text: String? = null,
|
override val text: String? = null,
|
||||||
@SerialName(parseModeField)
|
@SerialName(parseModeField)
|
||||||
@@ -187,6 +202,8 @@ data class SendVideoData internal constructor(
|
|||||||
DuratedSendMessageRequest<ContentMessage<VideoContent>>,
|
DuratedSendMessageRequest<ContentMessage<VideoContent>>,
|
||||||
SizedSendMessageRequest<ContentMessage<VideoContent>>,
|
SizedSendMessageRequest<ContentMessage<VideoContent>>,
|
||||||
WithCustomizableCaptionRequest<ContentMessage<VideoContent>>,
|
WithCustomizableCaptionRequest<ContentMessage<VideoContent>>,
|
||||||
|
CoveredSendMessageRequest<ContentMessage<VideoContent>>,
|
||||||
|
WithCustomStartMediaData,
|
||||||
OptionallyWithSpoilerRequest
|
OptionallyWithSpoilerRequest
|
||||||
{
|
{
|
||||||
override val textSources: TextSourcesList? by lazy {
|
override val textSources: TextSourcesList? by lazy {
|
||||||
|
|||||||
@@ -3,8 +3,8 @@ package dev.inmo.tgbotapi.requests.send.payments
|
|||||||
import dev.inmo.tgbotapi.abstracts.CommonSendInvoiceData
|
import dev.inmo.tgbotapi.abstracts.CommonSendInvoiceData
|
||||||
import dev.inmo.tgbotapi.abstracts.types.*
|
import dev.inmo.tgbotapi.abstracts.types.*
|
||||||
import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest
|
import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest
|
||||||
import dev.inmo.tgbotapi.requests.send.abstracts.SendMessageRequest
|
|
||||||
import dev.inmo.tgbotapi.types.*
|
import dev.inmo.tgbotapi.types.*
|
||||||
|
import dev.inmo.tgbotapi.types.business_connection.BusinessConnectionId
|
||||||
import dev.inmo.tgbotapi.types.buttons.InlineKeyboardMarkup
|
import dev.inmo.tgbotapi.types.buttons.InlineKeyboardMarkup
|
||||||
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
|
import dev.inmo.tgbotapi.types.message.abstracts.ContentMessage
|
||||||
import dev.inmo.tgbotapi.types.message.content.InvoiceContent
|
import dev.inmo.tgbotapi.types.message.content.InvoiceContent
|
||||||
@@ -12,6 +12,8 @@ import dev.inmo.tgbotapi.types.payments.LabeledPrice
|
|||||||
import dev.inmo.tgbotapi.types.payments.LabeledPricesSerializer
|
import dev.inmo.tgbotapi.types.payments.LabeledPricesSerializer
|
||||||
import dev.inmo.tgbotapi.types.payments.abstracts.Currency
|
import dev.inmo.tgbotapi.types.payments.abstracts.Currency
|
||||||
import dev.inmo.tgbotapi.types.payments.abstracts.XTR
|
import dev.inmo.tgbotapi.types.payments.abstracts.XTR
|
||||||
|
import dev.inmo.tgbotapi.utils.TimeSpanAsSecondsSerializer
|
||||||
|
import korlibs.time.TimeSpan
|
||||||
import kotlinx.serialization.*
|
import kotlinx.serialization.*
|
||||||
import kotlinx.serialization.builtins.serializer
|
import kotlinx.serialization.builtins.serializer
|
||||||
|
|
||||||
@@ -30,9 +32,14 @@ data class CreateInvoiceLink(
|
|||||||
override val providerToken: String?,
|
override val providerToken: String?,
|
||||||
@SerialName(currencyField)
|
@SerialName(currencyField)
|
||||||
override val currency: Currency,
|
override val currency: Currency,
|
||||||
|
@SerialName(businessConnectionIdField)
|
||||||
|
override val businessConnectionId: BusinessConnectionId? = null,
|
||||||
@Serializable(LabeledPricesSerializer::class)
|
@Serializable(LabeledPricesSerializer::class)
|
||||||
@SerialName(pricesField)
|
@SerialName(pricesField)
|
||||||
override val prices: List<LabeledPrice>,
|
override val prices: List<LabeledPrice>,
|
||||||
|
@SerialName(subscriptionPeriodField)
|
||||||
|
@Serializable(TimeSpanAsSecondsSerializer::class)
|
||||||
|
override val subscriptionPeriod: TimeSpan? = null,
|
||||||
@SerialName(maxTipAmountField)
|
@SerialName(maxTipAmountField)
|
||||||
override val maxTipAmount: Int? = null,
|
override val maxTipAmount: Int? = null,
|
||||||
@SerialName(suggestedTipAmountsField)
|
@SerialName(suggestedTipAmountsField)
|
||||||
@@ -53,7 +60,7 @@ data class CreateInvoiceLink(
|
|||||||
override val shouldSendEmailToProvider: Boolean = false,
|
override val shouldSendEmailToProvider: Boolean = false,
|
||||||
@SerialName(priceDependOnShipAddressField)
|
@SerialName(priceDependOnShipAddressField)
|
||||||
override val priceDependOnShipAddress: Boolean = false
|
override val priceDependOnShipAddress: Boolean = false
|
||||||
) : CommonSendInvoiceData, SimpleRequest<String> {
|
) : CommonSendInvoiceData, SimpleRequest<String>, WithOptionalBusinessConnectionId, SubscriptionPeriodInfo {
|
||||||
override fun method(): String = "createInvoiceLink"
|
override fun method(): String = "createInvoiceLink"
|
||||||
override val resultDeserializer: DeserializationStrategy<String>
|
override val resultDeserializer: DeserializationStrategy<String>
|
||||||
get() = String.serializer()
|
get() = String.serializer()
|
||||||
@@ -137,4 +144,8 @@ data class CreateInvoiceLink(
|
|||||||
photoWidth = null
|
photoWidth = null
|
||||||
photoHeight = null
|
photoHeight = null
|
||||||
}
|
}
|
||||||
|
|
||||||
|
companion object {
|
||||||
|
const val DEFAULT: Seconds = 2592000 // 30 days
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,28 @@
|
|||||||
|
package dev.inmo.tgbotapi.requests.set
|
||||||
|
|
||||||
|
import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest
|
||||||
|
import dev.inmo.tgbotapi.types.*
|
||||||
|
import kotlinx.serialization.DeserializationStrategy
|
||||||
|
import kotlinx.serialization.SerialName
|
||||||
|
import kotlinx.serialization.Serializable
|
||||||
|
import kotlinx.serialization.SerializationStrategy
|
||||||
|
import kotlinx.serialization.builtins.serializer
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
data class SetUserEmojiStatus(
|
||||||
|
@SerialName(userIdField)
|
||||||
|
val userId: UserId,
|
||||||
|
@SerialName(emojiStatusCustomEmojiIdField)
|
||||||
|
val customEmojiId: CustomEmojiId,
|
||||||
|
@Serializable(TelegramDateSerializer::class)
|
||||||
|
@SerialName(emojiStatusExpirationDateField)
|
||||||
|
val expirationDate: TelegramDate? = null
|
||||||
|
) : SimpleRequest<Boolean> {
|
||||||
|
override fun method(): String = "setUserEmojiStatus"
|
||||||
|
|
||||||
|
override val requestSerializer: SerializationStrategy<*>
|
||||||
|
get() = serializer()
|
||||||
|
|
||||||
|
override val resultDeserializer: DeserializationStrategy<Boolean>
|
||||||
|
get() = Boolean.serializer()
|
||||||
|
}
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
package dev.inmo.tgbotapi.requests.verifications
|
||||||
|
|
||||||
|
import dev.inmo.tgbotapi.abstracts.types.ChatRequest
|
||||||
|
import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest
|
||||||
|
import dev.inmo.tgbotapi.types.*
|
||||||
|
import kotlinx.serialization.DeserializationStrategy
|
||||||
|
import kotlinx.serialization.SerialName
|
||||||
|
import kotlinx.serialization.Serializable
|
||||||
|
import kotlinx.serialization.SerializationStrategy
|
||||||
|
import kotlinx.serialization.builtins.serializer
|
||||||
|
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
data class RemoveChatVerification(
|
||||||
|
@SerialName(chatIdField)
|
||||||
|
override val chatId: ChatIdentifier,
|
||||||
|
): ChatRequest, SimpleRequest<Boolean> {
|
||||||
|
override fun method(): String = "removeChatVerification"
|
||||||
|
override val resultDeserializer: DeserializationStrategy<Boolean>
|
||||||
|
get() = Boolean.serializer()
|
||||||
|
override val requestSerializer: SerializationStrategy<*>
|
||||||
|
get() = serializer()
|
||||||
|
}
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
package dev.inmo.tgbotapi.requests.verifications
|
||||||
|
|
||||||
|
import dev.inmo.tgbotapi.abstracts.types.ChatRequest
|
||||||
|
import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest
|
||||||
|
import dev.inmo.tgbotapi.types.*
|
||||||
|
import kotlinx.serialization.DeserializationStrategy
|
||||||
|
import kotlinx.serialization.SerialName
|
||||||
|
import kotlinx.serialization.Serializable
|
||||||
|
import kotlinx.serialization.SerializationStrategy
|
||||||
|
import kotlinx.serialization.builtins.serializer
|
||||||
|
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
data class RemoveUserVerification(
|
||||||
|
@SerialName(userIdField)
|
||||||
|
val userId: UserId,
|
||||||
|
): SimpleRequest<Boolean> {
|
||||||
|
override fun method(): String = "removeUserVerification"
|
||||||
|
override val resultDeserializer: DeserializationStrategy<Boolean>
|
||||||
|
get() = Boolean.serializer()
|
||||||
|
override val requestSerializer: SerializationStrategy<*>
|
||||||
|
get() = serializer()
|
||||||
|
}
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
package dev.inmo.tgbotapi.requests.verifications
|
||||||
|
|
||||||
|
import dev.inmo.tgbotapi.abstracts.types.ChatRequest
|
||||||
|
import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest
|
||||||
|
import dev.inmo.tgbotapi.types.ChatIdentifier
|
||||||
|
import dev.inmo.tgbotapi.types.chatIdField
|
||||||
|
import dev.inmo.tgbotapi.types.customDescriptionField
|
||||||
|
import dev.inmo.tgbotapi.types.descriptionField
|
||||||
|
import kotlinx.serialization.DeserializationStrategy
|
||||||
|
import kotlinx.serialization.SerialName
|
||||||
|
import kotlinx.serialization.Serializable
|
||||||
|
import kotlinx.serialization.SerializationStrategy
|
||||||
|
import kotlinx.serialization.builtins.serializer
|
||||||
|
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
data class VerifyChat(
|
||||||
|
@SerialName(chatIdField)
|
||||||
|
override val chatId: ChatIdentifier,
|
||||||
|
@SerialName(customDescriptionField)
|
||||||
|
val description: String? = null
|
||||||
|
): ChatRequest, SimpleRequest<Boolean> {
|
||||||
|
override fun method(): String = "verifyChat"
|
||||||
|
override val resultDeserializer: DeserializationStrategy<Boolean>
|
||||||
|
get() = Boolean.serializer()
|
||||||
|
override val requestSerializer: SerializationStrategy<*>
|
||||||
|
get() = serializer()
|
||||||
|
}
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
package dev.inmo.tgbotapi.requests.verifications
|
||||||
|
|
||||||
|
import dev.inmo.tgbotapi.abstracts.types.ChatRequest
|
||||||
|
import dev.inmo.tgbotapi.requests.abstracts.SimpleRequest
|
||||||
|
import dev.inmo.tgbotapi.types.*
|
||||||
|
import kotlinx.serialization.DeserializationStrategy
|
||||||
|
import kotlinx.serialization.SerialName
|
||||||
|
import kotlinx.serialization.Serializable
|
||||||
|
import kotlinx.serialization.SerializationStrategy
|
||||||
|
import kotlinx.serialization.builtins.serializer
|
||||||
|
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
data class VerifyUser(
|
||||||
|
@SerialName(userIdField)
|
||||||
|
val userId: UserId,
|
||||||
|
@SerialName(customDescriptionField)
|
||||||
|
val description: String? = null
|
||||||
|
): SimpleRequest<Boolean> {
|
||||||
|
override fun method(): String = "verifyUser"
|
||||||
|
override val resultDeserializer: DeserializationStrategy<Boolean>
|
||||||
|
get() = Boolean.serializer()
|
||||||
|
override val requestSerializer: SerializationStrategy<*>
|
||||||
|
get() = serializer()
|
||||||
|
}
|
||||||
@@ -1,6 +1,8 @@
|
|||||||
package dev.inmo.tgbotapi.types
|
package dev.inmo.tgbotapi.types
|
||||||
|
|
||||||
import korlibs.time.Date
|
import korlibs.time.Date
|
||||||
|
import korlibs.time.DateTime
|
||||||
|
import korlibs.time.Year
|
||||||
import kotlinx.serialization.SerialName
|
import kotlinx.serialization.SerialName
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
@@ -11,9 +13,12 @@ data class Birthdate(
|
|||||||
@SerialName(monthField)
|
@SerialName(monthField)
|
||||||
val month: Int,
|
val month: Int,
|
||||||
@SerialName(yearField)
|
@SerialName(yearField)
|
||||||
val year: Int
|
val year: Int? = null
|
||||||
) {
|
) {
|
||||||
|
/**
|
||||||
|
* Represents this birthday as korlibs [Date]. Will use this year in case if [year] has not been retrieved
|
||||||
|
*/
|
||||||
val date: Date by lazy {
|
val date: Date by lazy {
|
||||||
Date(year, month, day)
|
Date(year ?: DateTime.now().year.year, month, day)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,8 +2,12 @@ package dev.inmo.tgbotapi.types
|
|||||||
|
|
||||||
import korlibs.time.DateTime
|
import korlibs.time.DateTime
|
||||||
import dev.inmo.tgbotapi.abstracts.WithUser
|
import dev.inmo.tgbotapi.abstracts.WithUser
|
||||||
|
import dev.inmo.tgbotapi.abstracts.types.SubscriptionInfo
|
||||||
|
import dev.inmo.tgbotapi.abstracts.types.SubscriptionPeriodInfo
|
||||||
import dev.inmo.tgbotapi.types.chat.User
|
import dev.inmo.tgbotapi.types.chat.User
|
||||||
import dev.inmo.tgbotapi.utils.RiskFeature
|
import dev.inmo.tgbotapi.utils.RiskFeature
|
||||||
|
import dev.inmo.tgbotapi.utils.TimeSpanAsSecondsSerializer
|
||||||
|
import korlibs.time.TimeSpan
|
||||||
import kotlinx.serialization.*
|
import kotlinx.serialization.*
|
||||||
import kotlinx.serialization.descriptors.SerialDescriptor
|
import kotlinx.serialization.descriptors.SerialDescriptor
|
||||||
import kotlinx.serialization.encoding.Decoder
|
import kotlinx.serialization.encoding.Decoder
|
||||||
@@ -64,7 +68,7 @@ sealed interface ChatInviteLink : WithUser {
|
|||||||
* Base interface for all [ChatInviteLink]s which are NOT [PrimaryInviteLink]
|
* Base interface for all [ChatInviteLink]s which are NOT [PrimaryInviteLink]
|
||||||
*/
|
*/
|
||||||
@Serializable(ChatInviteLinkSerializer::class)
|
@Serializable(ChatInviteLinkSerializer::class)
|
||||||
sealed interface SecondaryChatInviteLink : ChatInviteLink {
|
sealed interface SecondaryChatInviteLink : ChatInviteLink, SubscriptionInfo {
|
||||||
override val isPrimary: Boolean
|
override val isPrimary: Boolean
|
||||||
get() = false
|
get() = false
|
||||||
}
|
}
|
||||||
@@ -108,7 +112,12 @@ data class ChatInviteLinkWithJoinRequest(
|
|||||||
@SerialName(isRevokedField)
|
@SerialName(isRevokedField)
|
||||||
override val isRevoked: Boolean = false,
|
override val isRevoked: Boolean = false,
|
||||||
@SerialName(expireDateField)
|
@SerialName(expireDateField)
|
||||||
private val expireDate: TelegramDate? = null
|
private val expireDate: TelegramDate? = null,
|
||||||
|
@SerialName(subscriptionPeriodField)
|
||||||
|
@Serializable(TimeSpanAsSecondsSerializer::class)
|
||||||
|
override val subscriptionPeriod: TimeSpan? = null,
|
||||||
|
@SerialName(subscriptionPriceField)
|
||||||
|
override val subscriptionPrice: UInt? = null
|
||||||
) : SecondaryChatInviteLink {
|
) : SecondaryChatInviteLink {
|
||||||
override val expirationDateTime: DateTime?
|
override val expirationDateTime: DateTime?
|
||||||
get() = expireDate ?.asDate
|
get() = expireDate ?.asDate
|
||||||
@@ -131,6 +140,11 @@ data class ChatInviteLinkWithLimitedMembers(
|
|||||||
override val isRevoked: Boolean = false,
|
override val isRevoked: Boolean = false,
|
||||||
@SerialName(expireDateField)
|
@SerialName(expireDateField)
|
||||||
private val expireDate: TelegramDate? = null,
|
private val expireDate: TelegramDate? = null,
|
||||||
|
@SerialName(subscriptionPeriodField)
|
||||||
|
@Serializable(TimeSpanAsSecondsSerializer::class)
|
||||||
|
override val subscriptionPeriod: TimeSpan? = null,
|
||||||
|
@SerialName(subscriptionPriceField)
|
||||||
|
override val subscriptionPrice: UInt? = null
|
||||||
) : SecondaryChatInviteLink {
|
) : SecondaryChatInviteLink {
|
||||||
override val expirationDateTime: DateTime?
|
override val expirationDateTime: DateTime?
|
||||||
get() = expireDate ?.asDate
|
get() = expireDate ?.asDate
|
||||||
@@ -152,6 +166,11 @@ data class ChatInviteLinkUnlimited(
|
|||||||
override val isRevoked: Boolean = false,
|
override val isRevoked: Boolean = false,
|
||||||
@SerialName(expireDateField)
|
@SerialName(expireDateField)
|
||||||
private val expireDate: TelegramDate? = null,
|
private val expireDate: TelegramDate? = null,
|
||||||
|
@SerialName(subscriptionPeriodField)
|
||||||
|
@Serializable(TimeSpanAsSecondsSerializer::class)
|
||||||
|
override val subscriptionPeriod: TimeSpan? = null,
|
||||||
|
@SerialName(subscriptionPriceField)
|
||||||
|
override val subscriptionPrice: UInt? = null
|
||||||
) : SecondaryChatInviteLink {
|
) : SecondaryChatInviteLink {
|
||||||
override val expirationDateTime: DateTime?
|
override val expirationDateTime: DateTime?
|
||||||
get() = expireDate ?.asDate
|
get() = expireDate ?.asDate
|
||||||
|
|||||||
@@ -34,6 +34,18 @@ value class PaidMediaPayload(val string: String) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@JvmInline
|
||||||
|
value class GiftId(
|
||||||
|
val string: String
|
||||||
|
)
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
@JvmInline
|
||||||
|
value class PreparedMessageId(
|
||||||
|
val string: String
|
||||||
|
)
|
||||||
|
|
||||||
val usernameRegex = Regex("@[\\w\\d_]+")
|
val usernameRegex = Regex("@[\\w\\d_]+")
|
||||||
|
|
||||||
val degreesLimit = 1 .. 360
|
val degreesLimit = 1 .. 360
|
||||||
@@ -190,6 +202,7 @@ const val maskPositionField = "mask_position"
|
|||||||
const val phoneNumberField = "phone_number"
|
const val phoneNumberField = "phone_number"
|
||||||
const val userIdField = "user_id"
|
const val userIdField = "user_id"
|
||||||
const val userIdsField = "user_ids"
|
const val userIdsField = "user_ids"
|
||||||
|
const val giftIdField = "gift_id"
|
||||||
const val onlyIfBannedField = "only_if_banned"
|
const val onlyIfBannedField = "only_if_banned"
|
||||||
const val containsMasksField = "contains_masks"
|
const val containsMasksField = "contains_masks"
|
||||||
const val resultIdField = "result_id"
|
const val resultIdField = "result_id"
|
||||||
@@ -254,6 +267,7 @@ const val inviteLinkField = "invite_link"
|
|||||||
const val viaChatFolderInviteLinkField = "via_chat_folder_invite_link"
|
const val viaChatFolderInviteLinkField = "via_chat_folder_invite_link"
|
||||||
const val viaJoinRequestField = "via_join_request"
|
const val viaJoinRequestField = "via_join_request"
|
||||||
const val pinnedMessageField = "pinned_message"
|
const val pinnedMessageField = "pinned_message"
|
||||||
|
const val canSendGiftsField = "can_send_gift"
|
||||||
const val canSendPaidMediaField = "can_send_paid_media"
|
const val canSendPaidMediaField = "can_send_paid_media"
|
||||||
const val activeUsernamesField = "active_usernames"
|
const val activeUsernamesField = "active_usernames"
|
||||||
const val customTitleField = "custom_title"
|
const val customTitleField = "custom_title"
|
||||||
@@ -301,6 +315,9 @@ const val userAdministratorRightsField = "user_administrator_rights"
|
|||||||
const val botAdministratorRightsField = "bot_administrator_rights"
|
const val botAdministratorRightsField = "bot_administrator_rights"
|
||||||
const val botIsMemberField = "bot_is_member"
|
const val botIsMemberField = "bot_is_member"
|
||||||
|
|
||||||
|
const val startTimestampField = "start_timestamp"
|
||||||
|
const val videoStartTimestampField = "video_start_timestamp"
|
||||||
|
|
||||||
const val fileNameField = "file_name"
|
const val fileNameField = "file_name"
|
||||||
const val mimeTypeField = "mime_type"
|
const val mimeTypeField = "mime_type"
|
||||||
const val fileIdField = "file_id"
|
const val fileIdField = "file_id"
|
||||||
@@ -410,10 +427,12 @@ const val idField = "id"
|
|||||||
const val pollIdField = "poll_id"
|
const val pollIdField = "poll_id"
|
||||||
const val textField = "text"
|
const val textField = "text"
|
||||||
const val thumbnailField = "thumbnail"
|
const val thumbnailField = "thumbnail"
|
||||||
|
const val coverField = "cover"
|
||||||
const val emojiField = "emoji"
|
const val emojiField = "emoji"
|
||||||
const val emojisField = "emojis"
|
const val emojisField = "emojis"
|
||||||
const val titleField = "title"
|
const val titleField = "title"
|
||||||
const val descriptionField = "description"
|
const val descriptionField = "description"
|
||||||
|
const val customDescriptionField = "custom_description"
|
||||||
const val shortDescriptionField = "short_description"
|
const val shortDescriptionField = "short_description"
|
||||||
const val performerField = "performer"
|
const val performerField = "performer"
|
||||||
const val durationField = "duration"
|
const val durationField = "duration"
|
||||||
@@ -454,6 +473,7 @@ const val actionField = "action"
|
|||||||
const val positionField = "position"
|
const val positionField = "position"
|
||||||
const val labelField = "label"
|
const val labelField = "label"
|
||||||
const val amountField = "amount"
|
const val amountField = "amount"
|
||||||
|
const val nanostarAmountField = "nanostar_amount"
|
||||||
const val pricesField = "prices"
|
const val pricesField = "prices"
|
||||||
const val payloadField = "payload"
|
const val payloadField = "payload"
|
||||||
const val vcardField = "vcard"
|
const val vcardField = "vcard"
|
||||||
@@ -472,6 +492,8 @@ const val creatorField = "creator"
|
|||||||
const val subscriptionPeriodField = "subscription_period"
|
const val subscriptionPeriodField = "subscription_period"
|
||||||
const val subscriptionPriceField = "subscription_price"
|
const val subscriptionPriceField = "subscription_price"
|
||||||
const val copyTextField = "copy_text"
|
const val copyTextField = "copy_text"
|
||||||
|
const val giftField = "gift"
|
||||||
|
const val giftsField = "gifts"
|
||||||
|
|
||||||
const val pointField = "point"
|
const val pointField = "point"
|
||||||
const val xShiftField = "x_shift"
|
const val xShiftField = "x_shift"
|
||||||
@@ -504,6 +526,11 @@ const val startParameterField = "start_parameter"
|
|||||||
const val totalAmountField = "total_amount"
|
const val totalAmountField = "total_amount"
|
||||||
const val invoicePayloadField = "invoice_payload"
|
const val invoicePayloadField = "invoice_payload"
|
||||||
const val requestCountField = "request_count"
|
const val requestCountField = "request_count"
|
||||||
|
const val sponsorUserField = "sponsor_user"
|
||||||
|
const val affiliateUserField = "affiliate_user"
|
||||||
|
const val affiliateChatField = "affiliate_chat"
|
||||||
|
const val commissionPerMilleField = "commission_per_mille"
|
||||||
|
const val affiliateField = "affiliate"
|
||||||
const val paidMediaPayloadField = "paid_media_payload"
|
const val paidMediaPayloadField = "paid_media_payload"
|
||||||
const val shippingOptionIdField = "shipping_option_id"
|
const val shippingOptionIdField = "shipping_option_id"
|
||||||
const val shippingQueryIdField = "shipping_query_id"
|
const val shippingQueryIdField = "shipping_query_id"
|
||||||
@@ -512,6 +539,7 @@ const val shippingOptionsField = "shipping_options"
|
|||||||
const val countryCodeField = "country_code"
|
const val countryCodeField = "country_code"
|
||||||
const val countryCodesField = "country_codes"
|
const val countryCodesField = "country_codes"
|
||||||
const val totalCountField = "total_count"
|
const val totalCountField = "total_count"
|
||||||
|
const val remainingCountField = "remaining_count"
|
||||||
const val stateField = "state"
|
const val stateField = "state"
|
||||||
const val cityField = "city"
|
const val cityField = "city"
|
||||||
const val firstStreetLineField = "street_line1"
|
const val firstStreetLineField = "street_line1"
|
||||||
@@ -519,7 +547,11 @@ const val secondStreetLineField = "street_line2"
|
|||||||
const val postCodeField = "post_code"
|
const val postCodeField = "post_code"
|
||||||
const val shippingAddressField = "shipping_address"
|
const val shippingAddressField = "shipping_address"
|
||||||
const val orderInfoField = "order_info"
|
const val orderInfoField = "order_info"
|
||||||
|
const val subscriptionExpirationDateField = "subscription_expiration_date"
|
||||||
|
const val isRecurringField = "is_recurring"
|
||||||
|
const val isFirstRecurringField = "is_first_recurring"
|
||||||
const val telegramPaymentChargeIdField = "telegram_payment_charge_id"
|
const val telegramPaymentChargeIdField = "telegram_payment_charge_id"
|
||||||
|
const val isCanceledField = "is_canceled"
|
||||||
const val providerPaymentChargeIdField = "provider_payment_charge_id"
|
const val providerPaymentChargeIdField = "provider_payment_charge_id"
|
||||||
const val providerTokenField = "provider_token"
|
const val providerTokenField = "provider_token"
|
||||||
const val providerDataField = "provider_data"
|
const val providerDataField = "provider_data"
|
||||||
@@ -628,6 +660,8 @@ const val giveawayMessageField = "giveaway_message"
|
|||||||
const val wasRefundedField = "was_refunded"
|
const val wasRefundedField = "was_refunded"
|
||||||
const val isManualField = "is_manual"
|
const val isManualField = "is_manual"
|
||||||
const val starCountField = "star_count"
|
const val starCountField = "star_count"
|
||||||
|
const val upgradeStarCountField = "upgrade_star_count"
|
||||||
|
const val payToUpgradeField = "pay_for_upgrade"
|
||||||
const val paidMediaField = "paid_media"
|
const val paidMediaField = "paid_media"
|
||||||
|
|
||||||
const val businessConnectionIdField = "business_connection_id"
|
const val businessConnectionIdField = "business_connection_id"
|
||||||
|
|||||||
@@ -19,8 +19,6 @@ class InlineQueryResultArticle(
|
|||||||
override val replyMarkup: InlineKeyboardMarkup? = null,
|
override val replyMarkup: InlineKeyboardMarkup? = null,
|
||||||
@SerialName(urlField)
|
@SerialName(urlField)
|
||||||
override val url: String? = null,
|
override val url: String? = null,
|
||||||
@SerialName(hideUrlField)
|
|
||||||
val hideUrl: Boolean? = null,
|
|
||||||
@SerialName(descriptionField)
|
@SerialName(descriptionField)
|
||||||
override val description: String? = null,
|
override val description: String? = null,
|
||||||
@SerialName(thumbnailUrlField)
|
@SerialName(thumbnailUrlField)
|
||||||
@@ -36,4 +34,31 @@ class InlineQueryResultArticle(
|
|||||||
WithInputMessageContentInlineQueryResult,
|
WithInputMessageContentInlineQueryResult,
|
||||||
UrlInlineQueryResult {
|
UrlInlineQueryResult {
|
||||||
override val type: String = "article"
|
override val type: String = "article"
|
||||||
|
@Deprecated("Field hide_url has been deprecated in Bot API 8.2. Use empty url instead")
|
||||||
|
val hideUrl: Boolean
|
||||||
|
get() = url != null && url.isEmpty()
|
||||||
|
|
||||||
|
@Deprecated("Field hide_url has been deprecated in Bot API 8.2. Use empty url instead")
|
||||||
|
constructor(
|
||||||
|
id: InlineQueryId,
|
||||||
|
title: String,
|
||||||
|
inputMessageContent: InputMessageContent,
|
||||||
|
replyMarkup: InlineKeyboardMarkup? = null,
|
||||||
|
url: String? = null,
|
||||||
|
hideUrl: Boolean?,
|
||||||
|
description: String? = null,
|
||||||
|
thumbnailUrl: String? = null,
|
||||||
|
thumbnailWidth: Int? = null,
|
||||||
|
thumbnailHeight: Int? = null
|
||||||
|
) : this(
|
||||||
|
id = id,
|
||||||
|
title = title,
|
||||||
|
inputMessageContent = inputMessageContent,
|
||||||
|
replyMarkup = replyMarkup,
|
||||||
|
url = url,
|
||||||
|
description = description,
|
||||||
|
thumbnailUrl = thumbnailUrl,
|
||||||
|
thumbnailWidth = thumbnailWidth,
|
||||||
|
thumbnailHeight = thumbnailHeight
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,16 @@
|
|||||||
|
package dev.inmo.tgbotapi.types.InlineQueries.prepared
|
||||||
|
|
||||||
|
import dev.inmo.tgbotapi.types.PreparedMessageId
|
||||||
|
import dev.inmo.tgbotapi.types.TelegramDate
|
||||||
|
import dev.inmo.tgbotapi.types.expirationDateField
|
||||||
|
import dev.inmo.tgbotapi.types.idField
|
||||||
|
import kotlinx.serialization.SerialName
|
||||||
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
data class PreparedInlineMessage(
|
||||||
|
@SerialName(idField)
|
||||||
|
val id: PreparedMessageId,
|
||||||
|
@SerialName(expirationDateField)
|
||||||
|
val expirationDate: TelegramDate,
|
||||||
|
)
|
||||||
@@ -58,6 +58,8 @@ data class ExtendedChannelChatImpl(
|
|||||||
override val newMembersSeeHistory: Boolean = false,
|
override val newMembersSeeHistory: Boolean = false,
|
||||||
@SerialName(maxReactionCountField)
|
@SerialName(maxReactionCountField)
|
||||||
override val maxReactionsCount: Int = 3,
|
override val maxReactionsCount: Int = 3,
|
||||||
|
@SerialName(canSendGiftsField)
|
||||||
|
override val canReceiveGifts: Boolean = false,
|
||||||
) : ExtendedChannelChat
|
) : ExtendedChannelChat
|
||||||
|
|
||||||
@Serializable
|
@Serializable
|
||||||
@@ -98,6 +100,8 @@ data class ExtendedGroupChatImpl(
|
|||||||
override val newMembersSeeHistory: Boolean = false,
|
override val newMembersSeeHistory: Boolean = false,
|
||||||
@SerialName(maxReactionCountField)
|
@SerialName(maxReactionCountField)
|
||||||
override val maxReactionsCount: Int = 3,
|
override val maxReactionsCount: Int = 3,
|
||||||
|
@SerialName(canSendGiftsField)
|
||||||
|
override val canReceiveGifts: Boolean = false,
|
||||||
) : ExtendedGroupChat
|
) : ExtendedGroupChat
|
||||||
|
|
||||||
@Serializable
|
@Serializable
|
||||||
@@ -146,6 +150,8 @@ data class ExtendedPrivateChatImpl(
|
|||||||
override val personalChat: PreviewChannelChat? = null,
|
override val personalChat: PreviewChannelChat? = null,
|
||||||
@SerialName(maxReactionCountField)
|
@SerialName(maxReactionCountField)
|
||||||
override val maxReactionsCount: Int = 3,
|
override val maxReactionsCount: Int = 3,
|
||||||
|
@SerialName(canSendGiftsField)
|
||||||
|
override val canReceiveGifts: Boolean = false,
|
||||||
) : ExtendedPrivateChat
|
) : ExtendedPrivateChat
|
||||||
|
|
||||||
typealias ExtendedUser = ExtendedPrivateChatImpl
|
typealias ExtendedUser = ExtendedPrivateChatImpl
|
||||||
@@ -212,6 +218,8 @@ data class ExtendedSupergroupChatImpl(
|
|||||||
override val customEmojiStickerSetName: StickerSetName? = null,
|
override val customEmojiStickerSetName: StickerSetName? = null,
|
||||||
@SerialName(maxReactionCountField)
|
@SerialName(maxReactionCountField)
|
||||||
override val maxReactionsCount: Int = 3,
|
override val maxReactionsCount: Int = 3,
|
||||||
|
@SerialName(canSendGiftsField)
|
||||||
|
override val canReceiveGifts: Boolean = false,
|
||||||
) : ExtendedSupergroupChat
|
) : ExtendedSupergroupChat
|
||||||
|
|
||||||
@Serializable
|
@Serializable
|
||||||
@@ -276,6 +284,8 @@ data class ExtendedForumChatImpl(
|
|||||||
override val customEmojiStickerSetName: StickerSetName? = null,
|
override val customEmojiStickerSetName: StickerSetName? = null,
|
||||||
@SerialName(maxReactionCountField)
|
@SerialName(maxReactionCountField)
|
||||||
override val maxReactionsCount: Int = 3,
|
override val maxReactionsCount: Int = 3,
|
||||||
|
@SerialName(canSendGiftsField)
|
||||||
|
override val canReceiveGifts: Boolean = false,
|
||||||
) : ExtendedForumChat
|
) : ExtendedForumChat
|
||||||
|
|
||||||
@Serializable
|
@Serializable
|
||||||
@@ -309,7 +319,9 @@ data class ExtendedBot(
|
|||||||
@SerialName(maxReactionCountField)
|
@SerialName(maxReactionCountField)
|
||||||
override val maxReactionsCount: Int = 3,
|
override val maxReactionsCount: Int = 3,
|
||||||
@SerialName(hasMainWebAppField)
|
@SerialName(hasMainWebAppField)
|
||||||
val hasMainWebApp: Boolean = false
|
val hasMainWebApp: Boolean = false,
|
||||||
|
@SerialName(canSendGiftsField)
|
||||||
|
override val canReceiveGifts: Boolean = false,
|
||||||
) : Bot(), ExtendedChat {
|
) : Bot(), ExtendedChat {
|
||||||
@SerialName(isBotField)
|
@SerialName(isBotField)
|
||||||
private val isBot = true
|
private val isBot = true
|
||||||
@@ -339,4 +351,6 @@ data class UnknownExtendedChat(
|
|||||||
override val profileBackgroundCustomEmojiId: CustomEmojiId? = null
|
override val profileBackgroundCustomEmojiId: CustomEmojiId? = null
|
||||||
@SerialName(maxReactionCountField)
|
@SerialName(maxReactionCountField)
|
||||||
override val maxReactionsCount: Int = 3
|
override val maxReactionsCount: Int = 3
|
||||||
|
@SerialName(canSendGiftsField)
|
||||||
|
override val canReceiveGifts: Boolean = false
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,6 +19,11 @@ sealed interface ExtendedChat : Chat {
|
|||||||
val backgroundCustomEmojiId: CustomEmojiId?
|
val backgroundCustomEmojiId: CustomEmojiId?
|
||||||
val profileBackgroundCustomEmojiId: CustomEmojiId?
|
val profileBackgroundCustomEmojiId: CustomEmojiId?
|
||||||
val maxReactionsCount: Int
|
val maxReactionsCount: Int
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Represent `can_send_gifts` field
|
||||||
|
*/
|
||||||
|
val canReceiveGifts: Boolean
|
||||||
}
|
}
|
||||||
|
|
||||||
@Serializable(ExtendedChatSerializer.Companion::class)
|
@Serializable(ExtendedChatSerializer.Companion::class)
|
||||||
|
|||||||
@@ -0,0 +1,5 @@
|
|||||||
|
package dev.inmo.tgbotapi.types.files
|
||||||
|
|
||||||
|
import dev.inmo.tgbotapi.abstracts.CoverableData
|
||||||
|
|
||||||
|
sealed interface CoveredMediaFile : TelegramMediaFile, CoverableData
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
package dev.inmo.tgbotapi.types.files
|
||||||
|
|
||||||
|
import dev.inmo.tgbotapi.abstracts.WithCustomStartMediaData
|
||||||
|
|
||||||
|
sealed interface CustomStartMediaFile : WithCustomStartMediaData
|
||||||
@@ -24,13 +24,17 @@ data class VideoFile(
|
|||||||
override val duration: Long? = null,
|
override val duration: Long? = null,
|
||||||
@SerialName(thumbnailField)
|
@SerialName(thumbnailField)
|
||||||
override val thumbnail: PhotoSize? = null,
|
override val thumbnail: PhotoSize? = null,
|
||||||
|
@SerialName(coverField)
|
||||||
|
override val cover: Photo? = null,
|
||||||
|
@SerialName(startTimestampField)
|
||||||
|
override val startTimestamp: Seconds? = null,
|
||||||
@SerialName(fileNameField)
|
@SerialName(fileNameField)
|
||||||
override val fileName: String? = null,
|
override val fileName: String? = null,
|
||||||
@SerialName(mimeTypeField)
|
@SerialName(mimeTypeField)
|
||||||
override val mimeType: MimeType? = null,
|
override val mimeType: MimeType? = null,
|
||||||
@SerialName(fileSizeField)
|
@SerialName(fileSizeField)
|
||||||
override val fileSize: Long? = null
|
override val fileSize: Long? = null
|
||||||
) : TelegramMediaFile, CustomNamedMediaFile, MimedMediaFile, ThumbedMediaFile, PlayableMediaFile, SizedMediaFile,
|
) : TelegramMediaFile, CustomNamedMediaFile, MimedMediaFile, CoveredMediaFile, CustomStartMediaFile, ThumbedMediaFile, PlayableMediaFile, SizedMediaFile,
|
||||||
MediaContentVariant, UsefulAsPaidMediaFile
|
MediaContentVariant, UsefulAsPaidMediaFile
|
||||||
|
|
||||||
@Suppress("NOTHING_TO_INLINE")
|
@Suppress("NOTHING_TO_INLINE")
|
||||||
@@ -38,13 +42,16 @@ inline fun VideoFile.toTelegramMediaVideo(
|
|||||||
text: String? = null,
|
text: String? = null,
|
||||||
parseMode: ParseMode? = null,
|
parseMode: ParseMode? = null,
|
||||||
spoilered: Boolean = false,
|
spoilered: Boolean = false,
|
||||||
showCaptionAboveMedia: Boolean = false
|
showCaptionAboveMedia: Boolean = false,
|
||||||
|
startTimestamp: Seconds? = this.startTimestamp
|
||||||
) = TelegramMediaVideo(
|
) = TelegramMediaVideo(
|
||||||
file = fileId,
|
file = fileId,
|
||||||
text = text,
|
text = text,
|
||||||
parseMode = parseMode,
|
parseMode = parseMode,
|
||||||
spoilered = spoilered,
|
spoilered = spoilered,
|
||||||
showCaptionAboveMedia = showCaptionAboveMedia,
|
showCaptionAboveMedia = showCaptionAboveMedia,
|
||||||
|
cover = cover ?.fileId,
|
||||||
|
startTimestamp = startTimestamp,
|
||||||
width = width,
|
width = width,
|
||||||
height = height,
|
height = height,
|
||||||
duration = duration,
|
duration = duration,
|
||||||
@@ -55,12 +62,15 @@ inline fun VideoFile.toTelegramMediaVideo(
|
|||||||
inline fun VideoFile.toTelegramMediaVideo(
|
inline fun VideoFile.toTelegramMediaVideo(
|
||||||
textSources: TextSourcesList,
|
textSources: TextSourcesList,
|
||||||
spoilered: Boolean = false,
|
spoilered: Boolean = false,
|
||||||
showCaptionAboveMedia: Boolean = false
|
showCaptionAboveMedia: Boolean = false,
|
||||||
|
startTimestamp: Seconds? = this.startTimestamp
|
||||||
) = TelegramMediaVideo(
|
) = TelegramMediaVideo(
|
||||||
file = fileId,
|
file = fileId,
|
||||||
entities = textSources,
|
entities = textSources,
|
||||||
spoilered = spoilered,
|
spoilered = spoilered,
|
||||||
showCaptionAboveMedia = showCaptionAboveMedia,
|
showCaptionAboveMedia = showCaptionAboveMedia,
|
||||||
|
cover = cover ?.fileId,
|
||||||
|
startTimestamp = startTimestamp,
|
||||||
width = width,
|
width = width,
|
||||||
height = height,
|
height = height,
|
||||||
duration = duration,
|
duration = duration,
|
||||||
@@ -72,5 +82,7 @@ inline fun VideoFile.toTelegramPaidMediaVideo() = TelegramPaidMediaVideo(
|
|||||||
width = width,
|
width = width,
|
||||||
height = height,
|
height = height,
|
||||||
duration = duration,
|
duration = duration,
|
||||||
|
cover = cover ?.fileId,
|
||||||
|
startTimestamp = startTimestamp,
|
||||||
thumb = thumbnail ?.fileId
|
thumb = thumbnail ?.fileId
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -0,0 +1,102 @@
|
|||||||
|
package dev.inmo.tgbotapi.types.gifts
|
||||||
|
|
||||||
|
import dev.inmo.tgbotapi.types.*
|
||||||
|
import dev.inmo.tgbotapi.types.files.Sticker
|
||||||
|
import kotlinx.serialization.KSerializer
|
||||||
|
import kotlinx.serialization.SerialName
|
||||||
|
import kotlinx.serialization.Serializable
|
||||||
|
import kotlinx.serialization.descriptors.SerialDescriptor
|
||||||
|
import kotlinx.serialization.encoding.Decoder
|
||||||
|
import kotlinx.serialization.encoding.Encoder
|
||||||
|
|
||||||
|
@Serializable(Gift.Companion::class)
|
||||||
|
sealed interface Gift {
|
||||||
|
val id: GiftId
|
||||||
|
val sticker: Sticker
|
||||||
|
val starCount: Int
|
||||||
|
val totalCount: Int?
|
||||||
|
val upgradeStarCount: Int?
|
||||||
|
val remainingCount: Int?
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
data class Unlimited(
|
||||||
|
@SerialName(idField)
|
||||||
|
override val id: GiftId,
|
||||||
|
@SerialName(stickerField)
|
||||||
|
override val sticker: Sticker,
|
||||||
|
@SerialName(starCountField)
|
||||||
|
override val starCount: Int,
|
||||||
|
@SerialName(upgradeStarCountField)
|
||||||
|
override val upgradeStarCount: Int? = null
|
||||||
|
) : Gift {
|
||||||
|
override val totalCount: Int?
|
||||||
|
get() = null
|
||||||
|
override val remainingCount: Int?
|
||||||
|
get() = null
|
||||||
|
}
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
data class Limited(
|
||||||
|
@SerialName(idField)
|
||||||
|
override val id: GiftId,
|
||||||
|
@SerialName(stickerField)
|
||||||
|
override val sticker: Sticker,
|
||||||
|
@SerialName(starCountField)
|
||||||
|
override val starCount: Int,
|
||||||
|
@SerialName(totalCountField)
|
||||||
|
override val totalCount: Int,
|
||||||
|
@SerialName(remainingCountField)
|
||||||
|
override val remainingCount: Int,
|
||||||
|
@SerialName(upgradeStarCountField)
|
||||||
|
override val upgradeStarCount: Int? = null,
|
||||||
|
) : Gift
|
||||||
|
|
||||||
|
companion object : KSerializer<Gift> {
|
||||||
|
@Serializable
|
||||||
|
private data class GiftSurrogate(
|
||||||
|
val id: GiftId,
|
||||||
|
val sticker: Sticker,
|
||||||
|
val star_count: Int,
|
||||||
|
val total_count: Int? = null,
|
||||||
|
val remaining_count: Int? = null,
|
||||||
|
val upgrade_star_count: Int? = null,
|
||||||
|
)
|
||||||
|
|
||||||
|
override val descriptor: SerialDescriptor
|
||||||
|
get() = GiftSurrogate.serializer().descriptor
|
||||||
|
|
||||||
|
override fun deserialize(decoder: Decoder): Gift {
|
||||||
|
val surrogate = GiftSurrogate.serializer().deserialize(decoder)
|
||||||
|
|
||||||
|
return if (surrogate.total_count != null && surrogate.remaining_count != null) {
|
||||||
|
Limited(
|
||||||
|
id = surrogate.id,
|
||||||
|
sticker = surrogate.sticker,
|
||||||
|
starCount = surrogate.star_count,
|
||||||
|
totalCount = surrogate.total_count,
|
||||||
|
remainingCount = surrogate.remaining_count,
|
||||||
|
upgradeStarCount = surrogate.upgrade_star_count,
|
||||||
|
)
|
||||||
|
} else {
|
||||||
|
Unlimited(
|
||||||
|
id = surrogate.id,
|
||||||
|
sticker = surrogate.sticker,
|
||||||
|
starCount = surrogate.star_count,
|
||||||
|
upgradeStarCount = surrogate.upgrade_star_count,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun serialize(encoder: Encoder, value: Gift) {
|
||||||
|
val surrogate = GiftSurrogate(
|
||||||
|
id = value.id,
|
||||||
|
sticker = value.sticker,
|
||||||
|
star_count = value.starCount,
|
||||||
|
total_count = value.totalCount,
|
||||||
|
remaining_count = value.remainingCount,
|
||||||
|
upgrade_star_count = value.upgradeStarCount
|
||||||
|
)
|
||||||
|
GiftSurrogate.serializer().serialize(encoder, surrogate)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
package dev.inmo.tgbotapi.types.gifts
|
||||||
|
|
||||||
|
import dev.inmo.tgbotapi.types.giftsField
|
||||||
|
import kotlinx.serialization.SerialName
|
||||||
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
data class Gifts(
|
||||||
|
@SerialName(giftsField)
|
||||||
|
val gifts: List<Gift>
|
||||||
|
)
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
package dev.inmo.tgbotapi.types.media
|
||||||
|
|
||||||
|
import dev.inmo.tgbotapi.requests.abstracts.InputFile
|
||||||
|
|
||||||
|
sealed interface CoveredTelegramMedia : TelegramMedia {
|
||||||
|
val cover: InputFile?
|
||||||
|
}
|
||||||
@@ -1,6 +1,8 @@
|
|||||||
package dev.inmo.tgbotapi.types.media
|
package dev.inmo.tgbotapi.types.media
|
||||||
|
|
||||||
|
import dev.inmo.tgbotapi.requests.abstracts.FileId
|
||||||
import dev.inmo.tgbotapi.requests.abstracts.InputFile
|
import dev.inmo.tgbotapi.requests.abstracts.InputFile
|
||||||
|
import dev.inmo.tgbotapi.requests.abstracts.MultipartRequest
|
||||||
import dev.inmo.tgbotapi.requests.abstracts.fileIdToSend
|
import dev.inmo.tgbotapi.requests.abstracts.fileIdToSend
|
||||||
import dev.inmo.tgbotapi.types.*
|
import dev.inmo.tgbotapi.types.*
|
||||||
import dev.inmo.tgbotapi.types.message.textsources.TextSourcesList
|
import dev.inmo.tgbotapi.types.message.textsources.TextSourcesList
|
||||||
@@ -20,6 +22,8 @@ fun TelegramMediaVideo(
|
|||||||
parseMode: ParseMode? = null,
|
parseMode: ParseMode? = null,
|
||||||
spoilered: Boolean = false,
|
spoilered: Boolean = false,
|
||||||
showCaptionAboveMedia: Boolean = false,
|
showCaptionAboveMedia: Boolean = false,
|
||||||
|
cover: InputFile? = null,
|
||||||
|
startTimestamp: Seconds? = null,
|
||||||
width: Int? = null,
|
width: Int? = null,
|
||||||
height: Int? = null,
|
height: Int? = null,
|
||||||
duration: Long? = null,
|
duration: Long? = null,
|
||||||
@@ -31,6 +35,8 @@ fun TelegramMediaVideo(
|
|||||||
rawEntities = null,
|
rawEntities = null,
|
||||||
spoilered = spoilered,
|
spoilered = spoilered,
|
||||||
showCaptionAboveMedia = showCaptionAboveMedia,
|
showCaptionAboveMedia = showCaptionAboveMedia,
|
||||||
|
cover = cover,
|
||||||
|
startTimestamp = startTimestamp,
|
||||||
width = width,
|
width = width,
|
||||||
height = height,
|
height = height,
|
||||||
duration = duration,
|
duration = duration,
|
||||||
@@ -42,6 +48,8 @@ fun TelegramMediaVideo(
|
|||||||
entities: TextSourcesList,
|
entities: TextSourcesList,
|
||||||
spoilered: Boolean = false,
|
spoilered: Boolean = false,
|
||||||
showCaptionAboveMedia: Boolean = false,
|
showCaptionAboveMedia: Boolean = false,
|
||||||
|
cover: InputFile? = null,
|
||||||
|
startTimestamp: Seconds? = null,
|
||||||
width: Int? = null,
|
width: Int? = null,
|
||||||
height: Int? = null,
|
height: Int? = null,
|
||||||
duration: Long? = null,
|
duration: Long? = null,
|
||||||
@@ -53,6 +61,8 @@ fun TelegramMediaVideo(
|
|||||||
rawEntities = entities.toRawMessageEntities(),
|
rawEntities = entities.toRawMessageEntities(),
|
||||||
spoilered = spoilered,
|
spoilered = spoilered,
|
||||||
showCaptionAboveMedia = showCaptionAboveMedia,
|
showCaptionAboveMedia = showCaptionAboveMedia,
|
||||||
|
cover = cover,
|
||||||
|
startTimestamp = startTimestamp,
|
||||||
width = width,
|
width = width,
|
||||||
height = height,
|
height = height,
|
||||||
duration = duration,
|
duration = duration,
|
||||||
@@ -70,13 +80,23 @@ data class TelegramMediaVideo internal constructor (
|
|||||||
private val rawEntities: List<RawMessageEntity>? = null,
|
private val rawEntities: List<RawMessageEntity>? = null,
|
||||||
@SerialName(hasSpoilerField)
|
@SerialName(hasSpoilerField)
|
||||||
override val spoilered: Boolean = false,
|
override val spoilered: Boolean = false,
|
||||||
|
@SerialName(coverField)
|
||||||
|
override val cover: InputFile? = null,
|
||||||
|
@SerialName(startTimestampField)
|
||||||
|
override val startTimestamp: Seconds? = null,
|
||||||
@SerialName(showCaptionAboveMediaField)
|
@SerialName(showCaptionAboveMediaField)
|
||||||
override val showCaptionAboveMedia: Boolean = false,
|
override val showCaptionAboveMedia: Boolean = false,
|
||||||
override val width: Int? = null,
|
override val width: Int? = null,
|
||||||
override val height: Int? = null,
|
override val height: Int? = null,
|
||||||
override val duration: Long? = null,
|
override val duration: Long? = null,
|
||||||
override val thumb: InputFile? = null
|
override val thumb: InputFile? = null
|
||||||
) : TelegramFreeMedia, SizedTelegramMedia, DuratedTelegramMedia, ThumbedTelegramMedia, VisualMediaGroupMemberTelegramMedia {
|
) : TelegramFreeMedia,
|
||||||
|
SizedTelegramMedia,
|
||||||
|
DuratedTelegramMedia,
|
||||||
|
ThumbedTelegramMedia,
|
||||||
|
CoveredTelegramMedia,
|
||||||
|
WithCustomStartTelegramMedia,
|
||||||
|
VisualMediaGroupMemberTelegramMedia {
|
||||||
override val type: String = videoTelegramMediaType
|
override val type: String = videoTelegramMediaType
|
||||||
override val textSources: TextSourcesList? by lazy {
|
override val textSources: TextSourcesList? by lazy {
|
||||||
rawEntities ?.asTextSources(text ?: return@lazy null)
|
rawEntities ?.asTextSources(text ?: return@lazy null)
|
||||||
|
|||||||
@@ -18,7 +18,16 @@ data class TelegramPaidMediaVideo (
|
|||||||
override val duration: Long? = null,
|
override val duration: Long? = null,
|
||||||
@SerialName(supportsStreamingField)
|
@SerialName(supportsStreamingField)
|
||||||
val supportsStreaming: Boolean = false,
|
val supportsStreaming: Boolean = false,
|
||||||
) : VisualTelegramPaidMedia, SizedTelegramMedia, DuratedTelegramMedia, ThumbedTelegramMedia {
|
@SerialName(coverField)
|
||||||
|
override val cover: InputFile? = null,
|
||||||
|
@SerialName(startTimestampField)
|
||||||
|
override val startTimestamp: Seconds? = null,
|
||||||
|
) : VisualTelegramPaidMedia,
|
||||||
|
SizedTelegramMedia,
|
||||||
|
DuratedTelegramMedia,
|
||||||
|
ThumbedTelegramMedia,
|
||||||
|
CoveredTelegramMedia,
|
||||||
|
WithCustomStartTelegramMedia {
|
||||||
override val type: String = videoTelegramPaidMediaType
|
override val type: String = videoTelegramPaidMediaType
|
||||||
|
|
||||||
@SerialName(mediaField)
|
@SerialName(mediaField)
|
||||||
@@ -31,7 +40,9 @@ fun VideoFile.toTelegramPaidMediaVideo(): TelegramPaidMediaVideo = TelegramPaidM
|
|||||||
thumb = thumbnail ?.fileId,
|
thumb = thumbnail ?.fileId,
|
||||||
width = width,
|
width = width,
|
||||||
height = height,
|
height = height,
|
||||||
duration = duration
|
duration = duration,
|
||||||
|
cover = cover ?.fileId,
|
||||||
|
startTimestamp = startTimestamp,
|
||||||
)
|
)
|
||||||
|
|
||||||
fun PaidMedia.Video.toTelegramPaidMediaVideo(): TelegramPaidMediaVideo = video.toTelegramPaidMediaVideo()
|
fun PaidMedia.Video.toTelegramPaidMediaVideo(): TelegramPaidMediaVideo = video.toTelegramPaidMediaVideo()
|
||||||
|
|||||||
@@ -0,0 +1,6 @@
|
|||||||
|
package dev.inmo.tgbotapi.types.media
|
||||||
|
|
||||||
|
import dev.inmo.tgbotapi.abstracts.WithCustomStartMediaData
|
||||||
|
import dev.inmo.tgbotapi.requests.abstracts.FileId
|
||||||
|
|
||||||
|
sealed interface WithCustomStartTelegramMedia : TelegramMedia, WithCustomStartMediaData
|
||||||
@@ -1,13 +1,10 @@
|
|||||||
package dev.inmo.tgbotapi.types.message
|
package dev.inmo.tgbotapi.types.message
|
||||||
|
|
||||||
import dev.inmo.micro_utils.common.Warning
|
import dev.inmo.micro_utils.common.Warning
|
||||||
import dev.inmo.micro_utils.serialization.mapper.MapperSerializer
|
|
||||||
import dev.inmo.tgbotapi.types.CustomEmojiId
|
import dev.inmo.tgbotapi.types.CustomEmojiId
|
||||||
import dev.inmo.tgbotapi.types.chat.User
|
import dev.inmo.tgbotapi.types.chat.User
|
||||||
import dev.inmo.tgbotapi.types.message.textsources.*
|
import dev.inmo.tgbotapi.types.message.textsources.*
|
||||||
import kotlinx.serialization.KSerializer
|
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
import kotlinx.serialization.builtins.ListSerializer
|
|
||||||
|
|
||||||
@Serializable
|
@Serializable
|
||||||
@Warning("This thing is subject of changes. Library do not guarantee stability of this class")
|
@Warning("This thing is subject of changes. Library do not guarantee stability of this class")
|
||||||
@@ -102,7 +99,7 @@ internal fun List<Pair<Int, TextSource>>.fillWithRegulars(source: String): TextS
|
|||||||
for (i in indices) {
|
for (i in indices) {
|
||||||
val (offset, textSource) = get(i)
|
val (offset, textSource) = get(i)
|
||||||
if (offset - index > 0) {
|
if (offset - index > 0) {
|
||||||
result.add(regular(source.substring(index, offset)))
|
result.add(regularTextSource(source.substring(index, offset)))
|
||||||
index = offset
|
index = offset
|
||||||
}
|
}
|
||||||
result.add(textSource)
|
result.add(textSource)
|
||||||
@@ -110,7 +107,7 @@ internal fun List<Pair<Int, TextSource>>.fillWithRegulars(source: String): TextS
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (index != source.length) {
|
if (index != source.length) {
|
||||||
result.add(regular(source.substring(index, source.length)))
|
result.add(regularTextSource(source.substring(index, source.length)))
|
||||||
}
|
}
|
||||||
|
|
||||||
return result
|
return result
|
||||||
@@ -127,7 +124,7 @@ private fun createTextSources(
|
|||||||
val resultList = mutableListOf<Pair<Int, TextSource>>()
|
val resultList = mutableListOf<Pair<Int, TextSource>>()
|
||||||
|
|
||||||
while (mutableEntities.isNotEmpty()) {
|
while (mutableEntities.isNotEmpty()) {
|
||||||
var parent = mutableEntities.removeFirst()
|
var parent = mutableEntities.removeAt(0)
|
||||||
val subentities = mutableListOf<RawMessageEntity>()
|
val subentities = mutableListOf<RawMessageEntity>()
|
||||||
val toAddCutted = mutableListOf<RawMessageEntity>()
|
val toAddCutted = mutableListOf<RawMessageEntity>()
|
||||||
while (mutableEntities.isNotEmpty()) {
|
while (mutableEntities.isNotEmpty()) {
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
package dev.inmo.tgbotapi.types.message.abstracts
|
package dev.inmo.tgbotapi.types.message.abstracts
|
||||||
|
|
||||||
|
import dev.inmo.tgbotapi.requests.chat.forum.CreateForumTopic
|
||||||
import dev.inmo.tgbotapi.types.MessageThreadId
|
import dev.inmo.tgbotapi.types.MessageThreadId
|
||||||
import dev.inmo.tgbotapi.types.chat.*
|
import dev.inmo.tgbotapi.types.chat.*
|
||||||
|
import dev.inmo.tgbotapi.types.message.ChatEvents.forum.ForumTopicCreated
|
||||||
import dev.inmo.tgbotapi.types.message.content.MessageContent
|
import dev.inmo.tgbotapi.types.message.content.MessageContent
|
||||||
|
|
||||||
sealed interface GroupContentMessage<T : MessageContent> : PublicContentMessage<T> {
|
sealed interface GroupContentMessage<T : MessageContent> : PublicContentMessage<T> {
|
||||||
@@ -15,6 +17,9 @@ sealed interface PotentiallyFromUserGroupContentMessage<T : MessageContent> : Gr
|
|||||||
sealed interface ForumContentMessage<T : MessageContent> : GroupContentMessage<T>, PossiblyTopicMessage {
|
sealed interface ForumContentMessage<T : MessageContent> : GroupContentMessage<T>, PossiblyTopicMessage {
|
||||||
override val chat: PreviewForumChat
|
override val chat: PreviewForumChat
|
||||||
override val threadId: MessageThreadId
|
override val threadId: MessageThreadId
|
||||||
|
|
||||||
|
override val threadCreatingInfo: ForumTopicCreated?
|
||||||
|
get() = (replyTo as? ChatEventMessage<*>) ?.chatEvent as? ForumTopicCreated
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,10 @@
|
|||||||
package dev.inmo.tgbotapi.types.message.abstracts
|
package dev.inmo.tgbotapi.types.message.abstracts
|
||||||
|
|
||||||
|
import dev.inmo.tgbotapi.requests.chat.forum.CreateForumTopic
|
||||||
import dev.inmo.tgbotapi.types.MessageThreadId
|
import dev.inmo.tgbotapi.types.MessageThreadId
|
||||||
|
import dev.inmo.tgbotapi.types.message.ChatEvents.forum.ForumTopicCreated
|
||||||
|
|
||||||
interface PossiblyTopicMessage : AccessibleMessage {
|
interface PossiblyTopicMessage : AccessibleMessage {
|
||||||
val threadId: MessageThreadId?
|
val threadId: MessageThreadId?
|
||||||
|
val threadCreatingInfo: ForumTopicCreated?
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -38,6 +38,8 @@ data class VideoContent(
|
|||||||
entities = textSources,
|
entities = textSources,
|
||||||
showCaptionAboveMedia = showCaptionAboveMedia,
|
showCaptionAboveMedia = showCaptionAboveMedia,
|
||||||
spoilered = spoilered,
|
spoilered = spoilered,
|
||||||
|
cover = media.cover ?.fileId,
|
||||||
|
startTimestamp = media.startTimestamp,
|
||||||
duration = media.duration,
|
duration = media.duration,
|
||||||
width = media.width,
|
width = media.width,
|
||||||
height = media.height,
|
height = media.height,
|
||||||
@@ -57,6 +59,7 @@ data class VideoContent(
|
|||||||
override fun asTelegramMedia(): TelegramMediaVideo = media.toTelegramMediaVideo(
|
override fun asTelegramMedia(): TelegramMediaVideo = media.toTelegramMediaVideo(
|
||||||
textSources = textSources,
|
textSources = textSources,
|
||||||
spoilered = spoilered,
|
spoilered = spoilered,
|
||||||
showCaptionAboveMedia = showCaptionAboveMedia
|
showCaptionAboveMedia = showCaptionAboveMedia,
|
||||||
|
startTimestamp = media.startTimestamp,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -45,6 +45,6 @@ data class VideoNoteContent(
|
|||||||
width = media.width,
|
width = media.width,
|
||||||
height = media.height,
|
height = media.height,
|
||||||
duration = media.duration,
|
duration = media.duration,
|
||||||
thumb = media.thumbnail ?.fileId
|
thumb = media.thumbnail ?.fileId,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import dev.inmo.tgbotapi.utils.internal.*
|
|||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @see blockquote
|
* @see blockquoteTextSource
|
||||||
*/
|
*/
|
||||||
@Serializable
|
@Serializable
|
||||||
data class BlockquoteTextSource @RiskFeature(DirectInvocationOfTextSourceConstructor) constructor (
|
data class BlockquoteTextSource @RiskFeature(DirectInvocationOfTextSourceConstructor) constructor (
|
||||||
@@ -18,6 +18,6 @@ data class BlockquoteTextSource @RiskFeature(DirectInvocationOfTextSourceConstru
|
|||||||
override val html: String by lazy { blockquoteHTML() }
|
override val html: String by lazy { blockquoteHTML() }
|
||||||
}
|
}
|
||||||
|
|
||||||
inline fun blockquote(parts: TextSourcesList) = BlockquoteTextSource(parts.makeString(), parts)
|
inline fun blockquoteTextSource(parts: TextSourcesList) = BlockquoteTextSource(parts.makeString(), parts)
|
||||||
inline fun blockquote(vararg parts: TextSource) = blockquote(parts.toList())
|
inline fun blockquoteTextSource(vararg parts: TextSource) = blockquoteTextSource(parts.toList())
|
||||||
inline fun blockquote(text: String) = blockquote(regular(text))
|
inline fun blockquoteTextSource(text: String) = blockquoteTextSource(regularTextSource(text))
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import dev.inmo.tgbotapi.utils.internal.*
|
|||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @see bold
|
* @see boldTextSource
|
||||||
*/
|
*/
|
||||||
@Serializable
|
@Serializable
|
||||||
data class BoldTextSource @RiskFeature(DirectInvocationOfTextSourceConstructor) constructor (
|
data class BoldTextSource @RiskFeature(DirectInvocationOfTextSourceConstructor) constructor (
|
||||||
@@ -18,6 +18,6 @@ data class BoldTextSource @RiskFeature(DirectInvocationOfTextSourceConstructor)
|
|||||||
override val html: String by lazy { boldHTML() }
|
override val html: String by lazy { boldHTML() }
|
||||||
}
|
}
|
||||||
|
|
||||||
inline fun bold(parts: TextSourcesList) = BoldTextSource(parts.makeString(), parts)
|
inline fun boldTextSource(parts: TextSourcesList) = BoldTextSource(parts.makeString(), parts)
|
||||||
inline fun bold(vararg parts: TextSource) = bold(parts.toList())
|
inline fun boldTextSource(vararg parts: TextSource) = boldTextSource(parts.toList())
|
||||||
inline fun bold(text: String) = bold(regular(text))
|
inline fun boldTextSource(text: String) = boldTextSource(regularTextSource(text))
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ import dev.inmo.tgbotapi.utils.internal.*
|
|||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @see botCommand
|
* @see botCommandTextSource
|
||||||
*/
|
*/
|
||||||
@Serializable
|
@Serializable
|
||||||
data class BotCommandTextSource @RiskFeature(DirectInvocationOfTextSourceConstructor) constructor (
|
data class BotCommandTextSource @RiskFeature(DirectInvocationOfTextSourceConstructor) constructor (
|
||||||
@@ -33,6 +33,6 @@ data class BotCommandTextSource @RiskFeature(DirectInvocationOfTextSourceConstru
|
|||||||
/**
|
/**
|
||||||
* @param command Without leading "/"
|
* @param command Without leading "/"
|
||||||
*/
|
*/
|
||||||
inline fun botCommand(command: String) = BotCommandTextSource("/$command")
|
inline fun botCommandTextSource(command: String) = BotCommandTextSource("/$command")
|
||||||
|
|
||||||
inline fun botCommand(botCommand: BotCommand) = botCommand(botCommand.command)
|
inline fun botCommandTextSource(botCommand: BotCommand) = botCommandTextSource(botCommand.command)
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import dev.inmo.tgbotapi.utils.internal.*
|
|||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @see cashTag
|
* @see cashTagTextSource
|
||||||
*/
|
*/
|
||||||
@Serializable
|
@Serializable
|
||||||
data class CashTagTextSource @RiskFeature(DirectInvocationOfTextSourceConstructor) constructor (
|
data class CashTagTextSource @RiskFeature(DirectInvocationOfTextSourceConstructor) constructor (
|
||||||
@@ -25,6 +25,6 @@ data class CashTagTextSource @RiskFeature(DirectInvocationOfTextSourceConstructo
|
|||||||
override val html: String by lazy { cashTagHTML() }
|
override val html: String by lazy { cashTagHTML() }
|
||||||
}
|
}
|
||||||
|
|
||||||
inline fun cashTag(parts: TextSourcesList) = CashTagTextSource(parts.makeString(), parts)
|
inline fun cashTagTextSource(parts: TextSourcesList) = CashTagTextSource(parts.makeString(), parts)
|
||||||
inline fun cashTag(vararg parts: TextSource) = cashTag(parts.toList())
|
inline fun cashTagTextSource(vararg parts: TextSource) = cashTagTextSource(parts.toList())
|
||||||
inline fun cashTag(tag: String) = cashTag(regular(tag))
|
inline fun cashTagTextSource(tag: String) = cashTagTextSource(regularTextSource(tag))
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import dev.inmo.tgbotapi.utils.internal.*
|
|||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @see code
|
* @see codeTextSource
|
||||||
*/
|
*/
|
||||||
@Serializable
|
@Serializable
|
||||||
data class CodeTextSource @RiskFeature(DirectInvocationOfTextSourceConstructor) constructor (
|
data class CodeTextSource @RiskFeature(DirectInvocationOfTextSourceConstructor) constructor (
|
||||||
@@ -16,4 +16,4 @@ data class CodeTextSource @RiskFeature(DirectInvocationOfTextSourceConstructor)
|
|||||||
override val html: String by lazy { source.codeHTML() }
|
override val html: String by lazy { source.codeHTML() }
|
||||||
}
|
}
|
||||||
|
|
||||||
inline fun code(code: String) = CodeTextSource(code)
|
inline fun codeTextSource(code: String) = CodeTextSource(code)
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import dev.inmo.tgbotapi.utils.internal.*
|
|||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @see customEmoji
|
* @see customEmojiTextSource
|
||||||
*/
|
*/
|
||||||
@Serializable
|
@Serializable
|
||||||
data class CustomEmojiTextSource @RiskFeature(DirectInvocationOfTextSourceConstructor) constructor (
|
data class CustomEmojiTextSource @RiskFeature(DirectInvocationOfTextSourceConstructor) constructor (
|
||||||
@@ -21,9 +21,9 @@ data class CustomEmojiTextSource @RiskFeature(DirectInvocationOfTextSourceConstr
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Suppress("EXPERIMENTAL_API_USAGE")
|
@Suppress("EXPERIMENTAL_API_USAGE")
|
||||||
inline fun customEmoji(emojiId: CustomEmojiId, parts: TextSourcesList) = CustomEmojiTextSource(parts.makeString(), emojiId, parts)
|
inline fun customEmojiTextSource(emojiId: CustomEmojiId, parts: TextSourcesList) = CustomEmojiTextSource(parts.makeString(), emojiId, parts)
|
||||||
inline fun customEmoji(emojiId: CustomEmojiId, vararg parts: TextSource) = customEmoji(emojiId, parts.toList())
|
inline fun customEmojiTextSource(emojiId: CustomEmojiId, vararg parts: TextSource) = customEmojiTextSource(emojiId, parts.toList())
|
||||||
/**
|
/**
|
||||||
* Without sharp (#)
|
* Without sharp (#)
|
||||||
*/
|
*/
|
||||||
inline fun customEmoji(emojiId: CustomEmojiId, text: String) = customEmoji(emojiId, regular(text))
|
inline fun customEmojiTextSource(emojiId: CustomEmojiId, text: String) = customEmojiTextSource(emojiId, regularTextSource(text))
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import dev.inmo.tgbotapi.utils.internal.*
|
|||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @see email
|
* @see emailTextSource
|
||||||
*/
|
*/
|
||||||
@Serializable
|
@Serializable
|
||||||
data class EMailTextSource @RiskFeature(DirectInvocationOfTextSourceConstructor) constructor (
|
data class EMailTextSource @RiskFeature(DirectInvocationOfTextSourceConstructor) constructor (
|
||||||
@@ -18,6 +18,6 @@ data class EMailTextSource @RiskFeature(DirectInvocationOfTextSourceConstructor)
|
|||||||
override val html: String by lazy { emailHTML(source) }
|
override val html: String by lazy { emailHTML(source) }
|
||||||
}
|
}
|
||||||
|
|
||||||
inline fun email(parts: TextSourcesList) = EMailTextSource(parts.makeString(), parts)
|
inline fun emailTextSource(parts: TextSourcesList) = EMailTextSource(parts.makeString(), parts)
|
||||||
inline fun email(vararg parts: TextSource) = email(parts.toList())
|
inline fun emailTextSource(vararg parts: TextSource) = emailTextSource(parts.toList())
|
||||||
inline fun email(emailAddress: String) = email(regular(emailAddress))
|
inline fun emailTextSource(emailAddress: String) = emailTextSource(regularTextSource(emailAddress))
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import dev.inmo.tgbotapi.utils.internal.*
|
|||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @see expandableBlockquote
|
* @see expandableBlockquoteTextSource
|
||||||
*/
|
*/
|
||||||
@Serializable
|
@Serializable
|
||||||
data class ExpandableBlockquoteTextSource @RiskFeature(DirectInvocationOfTextSourceConstructor) constructor (
|
data class ExpandableBlockquoteTextSource @RiskFeature(DirectInvocationOfTextSourceConstructor) constructor (
|
||||||
@@ -18,6 +18,6 @@ data class ExpandableBlockquoteTextSource @RiskFeature(DirectInvocationOfTextSou
|
|||||||
override val html: String by lazy { expandableBlockquoteHTML() }
|
override val html: String by lazy { expandableBlockquoteHTML() }
|
||||||
}
|
}
|
||||||
|
|
||||||
inline fun expandableBlockquote(parts: TextSourcesList) = ExpandableBlockquoteTextSource(parts.makeString(), parts)
|
inline fun expandableBlockquoteTextSource(parts: TextSourcesList) = ExpandableBlockquoteTextSource(parts.makeString(), parts)
|
||||||
inline fun expandableBlockquote(vararg parts: TextSource) = expandableBlockquote(parts.toList())
|
inline fun expandableBlockquoteTextSource(vararg parts: TextSource) = expandableBlockquoteTextSource(parts.toList())
|
||||||
inline fun expandableBlockquote(text: String) = expandableBlockquote(regular(text))
|
inline fun expandableBlockquoteTextSource(text: String) = expandableBlockquoteTextSource(regularTextSource(text))
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import dev.inmo.tgbotapi.utils.internal.*
|
|||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @see hashtag
|
* @see hashtagTextSource
|
||||||
*/
|
*/
|
||||||
@Serializable
|
@Serializable
|
||||||
data class HashTagTextSource @RiskFeature(DirectInvocationOfTextSourceConstructor) constructor (
|
data class HashTagTextSource @RiskFeature(DirectInvocationOfTextSourceConstructor) constructor (
|
||||||
@@ -33,9 +33,9 @@ data class HashTagTextSource @RiskFeature(DirectInvocationOfTextSourceConstructo
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Suppress("EXPERIMENTAL_API_USAGE")
|
@Suppress("EXPERIMENTAL_API_USAGE")
|
||||||
inline fun hashtag(parts: TextSourcesList) = (regular("#") + parts).let { HashTagTextSource(it.makeString(), it) }
|
inline fun hashtagTextSource(parts: TextSourcesList) = (regularTextSource("#") + parts).let { HashTagTextSource(it.makeString(), it) }
|
||||||
inline fun hashtag(vararg parts: TextSource) = hashtag(parts.toList())
|
inline fun hashtagTextSource(vararg parts: TextSource) = hashtagTextSource(parts.toList())
|
||||||
/**
|
/**
|
||||||
* Without sharp (#)
|
* Without sharp (#)
|
||||||
*/
|
*/
|
||||||
inline fun hashtag(hashtag: String) = hashtag(regular(hashtag))
|
inline fun hashtagTextSource(hashtag: String) = hashtagTextSource(regularTextSource(hashtag))
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import dev.inmo.tgbotapi.utils.internal.*
|
|||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @see italic
|
* @see italicTextSource
|
||||||
*/
|
*/
|
||||||
@Serializable
|
@Serializable
|
||||||
data class ItalicTextSource @RiskFeature(DirectInvocationOfTextSourceConstructor) constructor (
|
data class ItalicTextSource @RiskFeature(DirectInvocationOfTextSourceConstructor) constructor (
|
||||||
@@ -18,7 +18,7 @@ data class ItalicTextSource @RiskFeature(DirectInvocationOfTextSourceConstructor
|
|||||||
override val html: String by lazy { italicHTML() }
|
override val html: String by lazy { italicHTML() }
|
||||||
}
|
}
|
||||||
|
|
||||||
inline fun italic(parts: TextSourcesList) = ItalicTextSource(parts.makeString(), parts)
|
inline fun italicTextSource(parts: TextSourcesList) = ItalicTextSource(parts.makeString(), parts)
|
||||||
inline fun italic(vararg parts: TextSource) = italic(parts.toList())
|
inline fun italicTextSource(vararg parts: TextSource) = italicTextSource(parts.toList())
|
||||||
inline fun italic(text: String) = italic(regular(text))
|
inline fun italicTextSource(text: String) = italicTextSource(regularTextSource(text))
|
||||||
|
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ private val String.withoutCommercialAt
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @see mention
|
* @see mentionTextSource
|
||||||
*/
|
*/
|
||||||
@Serializable
|
@Serializable
|
||||||
data class MentionTextSource @RiskFeature(DirectInvocationOfTextSourceConstructor) constructor (
|
data class MentionTextSource @RiskFeature(DirectInvocationOfTextSourceConstructor) constructor (
|
||||||
@@ -33,13 +33,13 @@ data class MentionTextSource @RiskFeature(DirectInvocationOfTextSourceConstructo
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
inline fun mention(parts: TextSourcesList) = (regular("@") + parts).let { MentionTextSource(it.makeString(), it) }
|
inline fun mentionTextSource(parts: TextSourcesList) = (regularTextSource("@") + parts).let { MentionTextSource(it.makeString(), it) }
|
||||||
inline fun mention(vararg parts: TextSource) = mention(parts.toList())
|
inline fun mentionTextSource(vararg parts: TextSource) = mentionTextSource(parts.toList())
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Without leading "@"
|
* Without leading "@"
|
||||||
*/
|
*/
|
||||||
inline fun mention(whoToMention: String) = mention(regular(whoToMention))
|
inline fun mentionTextSource(whoToMention: String) = mentionTextSource(regularTextSource(whoToMention))
|
||||||
|
|
||||||
inline fun mention(whoToMention: Username) = mention(whoToMention.full.dropWhile { it == '@' })
|
inline fun mentionTextSource(whoToMention: Username) = mentionTextSource(whoToMention.full.dropWhile { it == '@' })
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import dev.inmo.tgbotapi.utils.internal.*
|
|||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @see phone
|
* @see phoneTextSource
|
||||||
*/
|
*/
|
||||||
@Serializable
|
@Serializable
|
||||||
data class PhoneNumberTextSource @RiskFeature(DirectInvocationOfTextSourceConstructor) constructor (
|
data class PhoneNumberTextSource @RiskFeature(DirectInvocationOfTextSourceConstructor) constructor (
|
||||||
@@ -18,7 +18,7 @@ data class PhoneNumberTextSource @RiskFeature(DirectInvocationOfTextSourceConstr
|
|||||||
override val html: String by lazy { phoneHTML() }
|
override val html: String by lazy { phoneHTML() }
|
||||||
}
|
}
|
||||||
|
|
||||||
inline fun phone(parts: TextSourcesList) = PhoneNumberTextSource(parts.makeString(), parts)
|
inline fun phoneTextSource(parts: TextSourcesList) = PhoneNumberTextSource(parts.makeString(), parts)
|
||||||
inline fun phone(vararg parts: TextSource) = phone(parts.toList())
|
inline fun phoneTextSource(vararg parts: TextSource) = phoneTextSource(parts.toList())
|
||||||
inline fun phone(number: String) = phone(regular(number))
|
inline fun phoneTextSource(number: String) = phoneTextSource(regularTextSource(number))
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import dev.inmo.tgbotapi.utils.internal.*
|
|||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @see pre
|
* @see preTextSource
|
||||||
*/
|
*/
|
||||||
@Serializable
|
@Serializable
|
||||||
data class PreTextSource @RiskFeature(DirectInvocationOfTextSourceConstructor) constructor (
|
data class PreTextSource @RiskFeature(DirectInvocationOfTextSourceConstructor) constructor (
|
||||||
@@ -17,5 +17,5 @@ data class PreTextSource @RiskFeature(DirectInvocationOfTextSourceConstructor) c
|
|||||||
override val html: String by lazy { source.preHTML(language) }
|
override val html: String by lazy { source.preHTML(language) }
|
||||||
}
|
}
|
||||||
|
|
||||||
inline fun pre(code: String, language: String? = null) = PreTextSource(code, language)
|
inline fun preTextSource(code: String, language: String? = null) = PreTextSource(code, language)
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import dev.inmo.tgbotapi.utils.internal.*
|
|||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @see regular
|
* @see regularTextSource
|
||||||
*/
|
*/
|
||||||
@Serializable
|
@Serializable
|
||||||
data class RegularTextSource @RiskFeature(DirectInvocationOfTextSourceConstructor) constructor (
|
data class RegularTextSource @RiskFeature(DirectInvocationOfTextSourceConstructor) constructor (
|
||||||
@@ -16,6 +16,6 @@ data class RegularTextSource @RiskFeature(DirectInvocationOfTextSourceConstructo
|
|||||||
override val html: String by lazy { source.regularHtml() }
|
override val html: String by lazy { source.regularHtml() }
|
||||||
}
|
}
|
||||||
|
|
||||||
inline fun regular(text: String) = RegularTextSource(text)
|
inline fun regularTextSource(text: String) = RegularTextSource(text)
|
||||||
|
|
||||||
inline fun regularln(text: String) = regular("$text\n")
|
inline fun regularTextSourceLn(text: String) = regularTextSource("$text\n")
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import dev.inmo.tgbotapi.utils.internal.*
|
|||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @see italic
|
* @see italicTextSource
|
||||||
*/
|
*/
|
||||||
@Serializable
|
@Serializable
|
||||||
data class SpoilerTextSource @RiskFeature(DirectInvocationOfTextSourceConstructor) constructor (
|
data class SpoilerTextSource @RiskFeature(DirectInvocationOfTextSourceConstructor) constructor (
|
||||||
@@ -18,7 +18,7 @@ data class SpoilerTextSource @RiskFeature(DirectInvocationOfTextSourceConstructo
|
|||||||
override val html: String by lazy { spoilerHTML() }
|
override val html: String by lazy { spoilerHTML() }
|
||||||
}
|
}
|
||||||
|
|
||||||
inline fun spoiler(parts: TextSourcesList) = SpoilerTextSource(parts.makeString(), parts)
|
inline fun spoilerTextSource(parts: TextSourcesList) = SpoilerTextSource(parts.makeString(), parts)
|
||||||
inline fun spoiler(vararg parts: TextSource) = spoiler(parts.toList())
|
inline fun spoilerTextSource(vararg parts: TextSource) = spoilerTextSource(parts.toList())
|
||||||
inline fun spoiler(text: String) = spoiler(regular(text))
|
inline fun spoilerTextSource(text: String) = spoilerTextSource(regularTextSource(text))
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import dev.inmo.tgbotapi.utils.internal.*
|
|||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @see strikethrough
|
* @see strikethroughTextSource
|
||||||
*/
|
*/
|
||||||
@Serializable
|
@Serializable
|
||||||
data class StrikethroughTextSource @RiskFeature(DirectInvocationOfTextSourceConstructor) constructor (
|
data class StrikethroughTextSource @RiskFeature(DirectInvocationOfTextSourceConstructor) constructor (
|
||||||
@@ -18,6 +18,6 @@ data class StrikethroughTextSource @RiskFeature(DirectInvocationOfTextSourceCons
|
|||||||
override val markdown: String by lazy { source.strikethroughMarkdown() }
|
override val markdown: String by lazy { source.strikethroughMarkdown() }
|
||||||
}
|
}
|
||||||
|
|
||||||
inline fun strikethrough(parts: TextSourcesList) = StrikethroughTextSource(parts.makeString(), parts)
|
inline fun strikethroughTextSource(parts: TextSourcesList) = StrikethroughTextSource(parts.makeString(), parts)
|
||||||
inline fun strikethrough(vararg parts: TextSource) = strikethrough(parts.toList())
|
inline fun strikethroughTextSource(vararg parts: TextSource) = strikethroughTextSource(parts.toList())
|
||||||
inline fun strikethrough(text: String) = strikethrough(regular(text))
|
inline fun strikethroughTextSource(text: String) = strikethroughTextSource(regularTextSource(text))
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import dev.inmo.tgbotapi.utils.internal.*
|
|||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @see link
|
* @see linkTextSource
|
||||||
*/
|
*/
|
||||||
@Serializable
|
@Serializable
|
||||||
data class TextLinkTextSource @RiskFeature(DirectInvocationOfTextSourceConstructor) constructor (
|
data class TextLinkTextSource @RiskFeature(DirectInvocationOfTextSourceConstructor) constructor (
|
||||||
@@ -17,4 +17,4 @@ data class TextLinkTextSource @RiskFeature(DirectInvocationOfTextSourceConstruct
|
|||||||
override val html: String by lazy { source.linkHTML(url) }
|
override val html: String by lazy { source.linkHTML(url) }
|
||||||
}
|
}
|
||||||
|
|
||||||
inline fun link(text: String, url: String) = TextLinkTextSource(text, url)
|
inline fun linkTextSource(text: String, url: String) = TextLinkTextSource(text, url)
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ import dev.inmo.tgbotapi.utils.internal.*
|
|||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @see mention
|
* @see mentionTextSource
|
||||||
*/
|
*/
|
||||||
@Serializable
|
@Serializable
|
||||||
data class TextMentionTextSource @RiskFeature(DirectInvocationOfTextSourceConstructor) constructor (
|
data class TextMentionTextSource @RiskFeature(DirectInvocationOfTextSourceConstructor) constructor (
|
||||||
@@ -22,21 +22,21 @@ data class TextMentionTextSource @RiskFeature(DirectInvocationOfTextSourceConstr
|
|||||||
override val html: String by lazy { textMentionHTML(user.id) }
|
override val html: String by lazy { textMentionHTML(user.id) }
|
||||||
}
|
}
|
||||||
|
|
||||||
inline fun mention(parts: TextSourcesList, user: User) = TextMentionTextSource(parts.makeString(), user, parts)
|
inline fun mentionTextSource(parts: TextSourcesList, user: User) = TextMentionTextSource(parts.makeString(), user, parts)
|
||||||
inline fun User.mention(parts: TextSourcesList) = mention(parts, this)
|
inline fun User.mentionTextSource(parts: TextSourcesList) = mentionTextSource(parts, this)
|
||||||
inline fun mention(parts: TextSourcesList, userId: UserId) = mention(parts, CommonUser(userId, ""))
|
inline fun mentionTextSource(parts: TextSourcesList, userId: UserId) = mentionTextSource(parts, CommonUser(userId, ""))
|
||||||
inline fun UserId.mention(parts: TextSourcesList) = mention(parts, this)
|
inline fun UserId.mentionTextSource(parts: TextSourcesList) = mentionTextSource(parts, this)
|
||||||
inline fun mention(parts: TextSourcesList, id: RawChatId) = mention(parts, UserId(id))
|
inline fun mentionTextSource(parts: TextSourcesList, id: RawChatId) = mentionTextSource(parts, UserId(id))
|
||||||
inline fun RawChatId.mention(parts: TextSourcesList) = mention(parts, this)
|
inline fun RawChatId.mentionTextSource(parts: TextSourcesList) = mentionTextSource(parts, this)
|
||||||
inline fun mention(user: User, vararg parts: TextSource) = mention(
|
inline fun mentionTextSource(user: User, vararg parts: TextSource) = mentionTextSource(
|
||||||
textSourcesOrElseTextSource(parts.toList()) {
|
textSourcesOrElseTextSource(parts.toList()) {
|
||||||
RegularTextSource("${user.lastName} ${user.firstName}")
|
RegularTextSource("${user.lastName} ${user.firstName}")
|
||||||
},
|
},
|
||||||
user
|
user
|
||||||
)
|
)
|
||||||
inline fun mention(text: String, user: User) = mention(user, regular(text))
|
inline fun mentionTextSource(text: String, user: User) = mentionTextSource(user, regularTextSource(text))
|
||||||
inline fun User.mention(text: String) = mention(this, regular(text))
|
inline fun User.mentionTextSource(text: String) = mentionTextSource(this, regularTextSource(text))
|
||||||
inline fun mention(text: String, userId: UserId) = mention(text, CommonUser(userId, ""))
|
inline fun mentionTextSource(text: String, userId: UserId) = mentionTextSource(text, CommonUser(userId, ""))
|
||||||
inline fun UserId.mention(text: String) = mention(text, this)
|
inline fun UserId.mentionTextSource(text: String) = mentionTextSource(text, this)
|
||||||
inline fun mention(text: String, id: RawChatId) = mention(text, UserId(id))
|
inline fun mentionTextSource(text: String, id: RawChatId) = mentionTextSource(text, UserId(id))
|
||||||
inline fun RawChatId.mention(text: String) = mention(text, this)
|
inline fun RawChatId.mentionTextSource(text: String) = mentionTextSource(text, this)
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ operator fun TextSource.plus(other: TextSource) = when {
|
|||||||
this is RegularTextSource && other is RegularTextSource -> listOf(RegularTextSource(source + other.source))
|
this is RegularTextSource && other is RegularTextSource -> listOf(RegularTextSource(source + other.source))
|
||||||
else -> listOf(this, other)
|
else -> listOf(this, other)
|
||||||
}
|
}
|
||||||
operator fun TextSource.plus(text: String) = this + regular(text)
|
operator fun TextSource.plus(text: String) = this + regularTextSource(text)
|
||||||
operator fun List<TextSource>.plus(text: String): List<TextSource> {
|
operator fun List<TextSource>.plus(text: String): List<TextSource> {
|
||||||
val newList = mutableListOf<TextSource>()
|
val newList = mutableListOf<TextSource>()
|
||||||
|
|
||||||
@@ -36,7 +36,7 @@ operator fun List<TextSource>.plus(text: String): List<TextSource> {
|
|||||||
|
|
||||||
val sublist = lastOrNull() ?.let {
|
val sublist = lastOrNull() ?.let {
|
||||||
it + text
|
it + text
|
||||||
} ?: listOf(regular(text))
|
} ?: listOf(regularTextSource(text))
|
||||||
|
|
||||||
newList.addAll(sublist)
|
newList.addAll(sublist)
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import dev.inmo.tgbotapi.utils.internal.*
|
|||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @see link
|
* @see linkTextSource
|
||||||
*/
|
*/
|
||||||
@Serializable
|
@Serializable
|
||||||
data class URLTextSource @RiskFeature(DirectInvocationOfTextSourceConstructor) constructor (
|
data class URLTextSource @RiskFeature(DirectInvocationOfTextSourceConstructor) constructor (
|
||||||
@@ -16,4 +16,4 @@ data class URLTextSource @RiskFeature(DirectInvocationOfTextSourceConstructor) c
|
|||||||
override val html: String by lazy { source.linkHTML(source) }
|
override val html: String by lazy { source.linkHTML(source) }
|
||||||
}
|
}
|
||||||
|
|
||||||
inline fun link(url: String) = URLTextSource(url)
|
inline fun linkTextSource(url: String) = URLTextSource(url)
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import dev.inmo.tgbotapi.utils.internal.*
|
|||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @see underline
|
* @see underlineTextSource
|
||||||
*/
|
*/
|
||||||
@Serializable
|
@Serializable
|
||||||
data class UnderlineTextSource @RiskFeature(DirectInvocationOfTextSourceConstructor) constructor (
|
data class UnderlineTextSource @RiskFeature(DirectInvocationOfTextSourceConstructor) constructor (
|
||||||
@@ -18,6 +18,6 @@ data class UnderlineTextSource @RiskFeature(DirectInvocationOfTextSourceConstruc
|
|||||||
override val html: String by lazy { underlineHTML() }
|
override val html: String by lazy { underlineHTML() }
|
||||||
}
|
}
|
||||||
|
|
||||||
inline fun underline(parts: TextSourcesList) = UnderlineTextSource(parts.makeString(), parts)
|
inline fun underlineTextSource(parts: TextSourcesList) = UnderlineTextSource(parts.makeString(), parts)
|
||||||
inline fun underline(vararg parts: TextSource) = underline(parts.toList())
|
inline fun underlineTextSource(vararg parts: TextSource) = underlineTextSource(parts.toList())
|
||||||
inline fun underline(text: String) = underline(regular(text))
|
inline fun underlineTextSource(text: String) = underlineTextSource(regularTextSource(text))
|
||||||
|
|||||||
@@ -0,0 +1,24 @@
|
|||||||
|
package dev.inmo.tgbotapi.types.payments
|
||||||
|
|
||||||
|
import dev.inmo.tgbotapi.types.*
|
||||||
|
import dev.inmo.tgbotapi.types.chat.PreviewBot
|
||||||
|
import dev.inmo.tgbotapi.types.chat.PreviewChat
|
||||||
|
import dev.inmo.tgbotapi.types.chat.PreviewUser
|
||||||
|
import dev.inmo.tgbotapi.types.chat.User
|
||||||
|
import dev.inmo.tgbotapi.types.payments.abstracts.Amounted
|
||||||
|
import kotlinx.serialization.SerialName
|
||||||
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
data class AffiliateInfo(
|
||||||
|
@SerialName(commissionPerMilleField)
|
||||||
|
val commissionPerMille: Int,
|
||||||
|
@SerialName(amountField)
|
||||||
|
override val amount: Long,
|
||||||
|
@SerialName(nanostarAmountField)
|
||||||
|
val nanostarAmount: Long,
|
||||||
|
@SerialName(affiliateUserField)
|
||||||
|
val affiliateUser: User? = null,
|
||||||
|
@SerialName(affiliateChatField)
|
||||||
|
val affiliateChat: PreviewChat? = null,
|
||||||
|
) : Amounted
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
package dev.inmo.tgbotapi.types.payments
|
||||||
|
|
||||||
|
import dev.inmo.tgbotapi.types.TelegramDate
|
||||||
|
import dev.inmo.tgbotapi.types.isFirstRecurringField
|
||||||
|
import dev.inmo.tgbotapi.types.subscriptionExpirationDateField
|
||||||
|
import kotlinx.serialization.SerialName
|
||||||
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
data class RecurringInfo(
|
||||||
|
@SerialName(subscriptionExpirationDateField)
|
||||||
|
val subscriptionExpirationDate: TelegramDate,
|
||||||
|
@SerialName(isFirstRecurringField)
|
||||||
|
val firstSubscriptionPeriod: Boolean
|
||||||
|
)
|
||||||
@@ -13,6 +13,12 @@ data class SuccessfulPayment(
|
|||||||
override val amount: Long,
|
override val amount: Long,
|
||||||
@SerialName(invoicePayloadField)
|
@SerialName(invoicePayloadField)
|
||||||
val invoicePayload: String,
|
val invoicePayload: String,
|
||||||
|
@SerialName(subscriptionExpirationDateField)
|
||||||
|
val subscriptionExpirationDate: TelegramDate? = null,
|
||||||
|
@SerialName(isRecurringField)
|
||||||
|
val isSubscriptionPayment: Boolean? = null,
|
||||||
|
@SerialName(isFirstRecurringField)
|
||||||
|
val isFirstPeriodPayment: Boolean? = null,
|
||||||
@SerialName(telegramPaymentChargeIdField)
|
@SerialName(telegramPaymentChargeIdField)
|
||||||
val telegramPaymentChargeId: TelegramPaymentChargeId,
|
val telegramPaymentChargeId: TelegramPaymentChargeId,
|
||||||
@SerialName(providerPaymentChargeIdField)
|
@SerialName(providerPaymentChargeIdField)
|
||||||
@@ -21,4 +27,15 @@ data class SuccessfulPayment(
|
|||||||
val shippingOptionId: String? = null,
|
val shippingOptionId: String? = null,
|
||||||
@SerialName(orderInfoField)
|
@SerialName(orderInfoField)
|
||||||
val orderInfo: OrderInfo? = null
|
val orderInfo: OrderInfo? = null
|
||||||
) : Amounted, Currencied
|
) : Amounted, Currencied {
|
||||||
|
val recurringInfo: RecurringInfo? by lazy {
|
||||||
|
if (isSubscriptionPayment == true && subscriptionExpirationDate != null) {
|
||||||
|
RecurringInfo(
|
||||||
|
subscriptionExpirationDate,
|
||||||
|
isFirstPeriodPayment == true,
|
||||||
|
)
|
||||||
|
} else {
|
||||||
|
null
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package dev.inmo.tgbotapi.types.payments.stars
|
|||||||
|
|
||||||
import dev.inmo.tgbotapi.types.*
|
import dev.inmo.tgbotapi.types.*
|
||||||
import dev.inmo.tgbotapi.types.chat.PreviewUser
|
import dev.inmo.tgbotapi.types.chat.PreviewUser
|
||||||
|
import dev.inmo.tgbotapi.types.payments.abstracts.Amounted
|
||||||
import dev.inmo.tgbotapi.utils.decodeDataAndJson
|
import dev.inmo.tgbotapi.utils.decodeDataAndJson
|
||||||
import dev.inmo.tgbotapi.utils.internal.ClassCastsIncluded
|
import dev.inmo.tgbotapi.utils.internal.ClassCastsIncluded
|
||||||
import kotlinx.serialization.KSerializer
|
import kotlinx.serialization.KSerializer
|
||||||
@@ -16,9 +17,9 @@ import kotlinx.serialization.json.JsonElement
|
|||||||
@Suppress("SERIALIZER_TYPE_INCOMPATIBLE")
|
@Suppress("SERIALIZER_TYPE_INCOMPATIBLE")
|
||||||
@Serializable(StarTransaction.Companion::class)
|
@Serializable(StarTransaction.Companion::class)
|
||||||
@ClassCastsIncluded
|
@ClassCastsIncluded
|
||||||
sealed interface StarTransaction {
|
sealed interface StarTransaction : Amounted {
|
||||||
val id: StarTransactionId
|
val id: StarTransactionId
|
||||||
val amount: Int
|
val nanostarAmount: Int
|
||||||
val date: TelegramDate
|
val date: TelegramDate
|
||||||
val partner: TransactionPartner
|
val partner: TransactionPartner
|
||||||
val source: TransactionPartner?
|
val source: TransactionPartner?
|
||||||
@@ -29,7 +30,9 @@ sealed interface StarTransaction {
|
|||||||
@SerialName(idField)
|
@SerialName(idField)
|
||||||
override val id: StarTransactionId,
|
override val id: StarTransactionId,
|
||||||
@SerialName(amountField)
|
@SerialName(amountField)
|
||||||
override val amount: Int,
|
override val amount: Long,
|
||||||
|
@SerialName(nanostarAmountField)
|
||||||
|
override val nanostarAmount: Int,
|
||||||
@SerialName(dateField)
|
@SerialName(dateField)
|
||||||
override val date: TelegramDate,
|
override val date: TelegramDate,
|
||||||
@SerialName(sourceField)
|
@SerialName(sourceField)
|
||||||
@@ -47,7 +50,9 @@ sealed interface StarTransaction {
|
|||||||
@SerialName(idField)
|
@SerialName(idField)
|
||||||
override val id: StarTransactionId,
|
override val id: StarTransactionId,
|
||||||
@SerialName(amountField)
|
@SerialName(amountField)
|
||||||
override val amount: Int,
|
override val amount: Long,
|
||||||
|
@SerialName(nanostarAmountField)
|
||||||
|
override val nanostarAmount: Int,
|
||||||
@SerialName(dateField)
|
@SerialName(dateField)
|
||||||
override val date: TelegramDate,
|
override val date: TelegramDate,
|
||||||
@SerialName(receiverField)
|
@SerialName(receiverField)
|
||||||
@@ -64,7 +69,9 @@ sealed interface StarTransaction {
|
|||||||
data class Unknown(
|
data class Unknown(
|
||||||
@SerialName(idField)
|
@SerialName(idField)
|
||||||
override val id: StarTransactionId,
|
override val id: StarTransactionId,
|
||||||
override val amount: Int,
|
override val amount: Long,
|
||||||
|
@SerialName(nanostarAmountField)
|
||||||
|
override val nanostarAmount: Int,
|
||||||
override val date: TelegramDate,
|
override val date: TelegramDate,
|
||||||
override val source: TransactionPartner?,
|
override val source: TransactionPartner?,
|
||||||
override val receiver: TransactionPartner?,
|
override val receiver: TransactionPartner?,
|
||||||
@@ -78,7 +85,9 @@ sealed interface StarTransaction {
|
|||||||
@Serializable
|
@Serializable
|
||||||
private data class Surrogate(
|
private data class Surrogate(
|
||||||
val id: StarTransactionId,
|
val id: StarTransactionId,
|
||||||
val amount: Int,
|
val amount: Long,
|
||||||
|
@SerialName(nanostarAmountField)
|
||||||
|
val nanostarAmount: Int,
|
||||||
val date: TelegramDate,
|
val date: TelegramDate,
|
||||||
val source: TransactionPartner? = null,
|
val source: TransactionPartner? = null,
|
||||||
val receiver: TransactionPartner? = null,
|
val receiver: TransactionPartner? = null,
|
||||||
@@ -94,6 +103,7 @@ sealed interface StarTransaction {
|
|||||||
Unknown(
|
Unknown(
|
||||||
id = data.id,
|
id = data.id,
|
||||||
amount = data.amount,
|
amount = data.amount,
|
||||||
|
nanostarAmount = data.nanostarAmount,
|
||||||
date = data.date,
|
date = data.date,
|
||||||
source = data.source,
|
source = data.source,
|
||||||
receiver = data.receiver,
|
receiver = data.receiver,
|
||||||
@@ -104,12 +114,14 @@ sealed interface StarTransaction {
|
|||||||
data.source != null -> Incoming(
|
data.source != null -> Incoming(
|
||||||
id = data.id,
|
id = data.id,
|
||||||
amount = data.amount,
|
amount = data.amount,
|
||||||
|
nanostarAmount = data.nanostarAmount,
|
||||||
date = data.date,
|
date = data.date,
|
||||||
partner = data.source
|
partner = data.source
|
||||||
)
|
)
|
||||||
data.receiver != null -> Outgoing(
|
data.receiver != null -> Outgoing(
|
||||||
id = data.id,
|
id = data.id,
|
||||||
amount = data.amount,
|
amount = data.amount,
|
||||||
|
nanostarAmount = data.nanostarAmount,
|
||||||
date = data.date,
|
date = data.date,
|
||||||
partner = data.receiver
|
partner = data.receiver
|
||||||
)
|
)
|
||||||
@@ -126,6 +138,7 @@ sealed interface StarTransaction {
|
|||||||
val surrogate = Surrogate(
|
val surrogate = Surrogate(
|
||||||
id = value.id,
|
id = value.id,
|
||||||
amount = value.amount,
|
amount = value.amount,
|
||||||
|
nanostarAmount = value.nanostarAmount,
|
||||||
date = value.date,
|
date = value.date,
|
||||||
source = value.source,
|
source = value.source,
|
||||||
receiver = value.receiver,
|
receiver = value.receiver,
|
||||||
|
|||||||
@@ -2,11 +2,19 @@
|
|||||||
|
|
||||||
package dev.inmo.tgbotapi.types.payments.stars
|
package dev.inmo.tgbotapi.types.payments.stars
|
||||||
|
|
||||||
|
import dev.inmo.tgbotapi.abstracts.types.SubscriptionPeriodInfo
|
||||||
import dev.inmo.tgbotapi.types.*
|
import dev.inmo.tgbotapi.types.*
|
||||||
|
import dev.inmo.tgbotapi.types.chat.PreviewBot
|
||||||
|
import dev.inmo.tgbotapi.types.chat.PreviewChat
|
||||||
|
import dev.inmo.tgbotapi.types.chat.PreviewPublicChat
|
||||||
import dev.inmo.tgbotapi.types.chat.PreviewUser
|
import dev.inmo.tgbotapi.types.chat.PreviewUser
|
||||||
|
import dev.inmo.tgbotapi.types.gifts.Gift
|
||||||
import dev.inmo.tgbotapi.types.message.payments.PaidMedia
|
import dev.inmo.tgbotapi.types.message.payments.PaidMedia
|
||||||
|
import dev.inmo.tgbotapi.types.payments.AffiliateInfo
|
||||||
|
import dev.inmo.tgbotapi.utils.TimeSpanAsSecondsSerializer
|
||||||
import dev.inmo.tgbotapi.utils.decodeDataAndJson
|
import dev.inmo.tgbotapi.utils.decodeDataAndJson
|
||||||
import dev.inmo.tgbotapi.utils.internal.ClassCastsIncluded
|
import dev.inmo.tgbotapi.utils.internal.ClassCastsIncluded
|
||||||
|
import korlibs.time.TimeSpan
|
||||||
import kotlinx.serialization.EncodeDefault
|
import kotlinx.serialization.EncodeDefault
|
||||||
import kotlinx.serialization.KSerializer
|
import kotlinx.serialization.KSerializer
|
||||||
import kotlinx.serialization.SerialName
|
import kotlinx.serialization.SerialName
|
||||||
@@ -40,13 +48,20 @@ sealed interface TransactionPartner {
|
|||||||
data class User(
|
data class User(
|
||||||
@SerialName(userField)
|
@SerialName(userField)
|
||||||
val user: PreviewUser,
|
val user: PreviewUser,
|
||||||
|
@SerialName(affiliateField)
|
||||||
|
val affiliate: AffiliateInfo? = null,
|
||||||
@SerialName(invoicePayloadField)
|
@SerialName(invoicePayloadField)
|
||||||
val invoicePayload: InvoicePayload? = null,
|
val invoicePayload: InvoicePayload? = null,
|
||||||
|
@SerialName(subscriptionPeriodField)
|
||||||
|
@Serializable(TimeSpanAsSecondsSerializer::class)
|
||||||
|
override val subscriptionPeriod: TimeSpan? = null,
|
||||||
@SerialName(paidMediaField)
|
@SerialName(paidMediaField)
|
||||||
val paidMedia: List<PaidMedia>? = null,
|
val paidMedia: List<PaidMedia>? = null,
|
||||||
@SerialName(paidMediaPayloadField)
|
@SerialName(paidMediaPayloadField)
|
||||||
val paidMediaPayload: PaidMediaPayload? = null
|
val paidMediaPayload: PaidMediaPayload? = null,
|
||||||
) : TransactionPartner {
|
@SerialName(giftField)
|
||||||
|
val gift: Gift? = null
|
||||||
|
) : TransactionPartner, SubscriptionPeriodInfo {
|
||||||
@EncodeDefault
|
@EncodeDefault
|
||||||
override val type: String = Companion.type
|
override val type: String = Companion.type
|
||||||
|
|
||||||
@@ -55,6 +70,21 @@ sealed interface TransactionPartner {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Serializable(TransactionPartner.Companion::class)
|
||||||
|
data class Chat(
|
||||||
|
@SerialName(chatField)
|
||||||
|
val chat: PreviewChat,
|
||||||
|
@SerialName(giftField)
|
||||||
|
val gift: Gift? = null
|
||||||
|
) : TransactionPartner {
|
||||||
|
@EncodeDefault
|
||||||
|
override val type: String = Companion.type
|
||||||
|
|
||||||
|
companion object {
|
||||||
|
const val type: String = "chat"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents [TransactionPartnerTelegramApi](https://core.telegram.org/bots/api#transactionpartnertelegramapi)
|
* Represents [TransactionPartnerTelegramApi](https://core.telegram.org/bots/api#transactionpartnertelegramapi)
|
||||||
*/
|
*/
|
||||||
@@ -71,6 +101,24 @@ sealed interface TransactionPartner {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Represents [TransactionPartnerAffiliateProgram](https://core.telegram.org/bots/api#transactionpartneraffiliateprogram)
|
||||||
|
*/
|
||||||
|
@Serializable(TransactionPartner.Companion::class)
|
||||||
|
data class AffiliateProgram(
|
||||||
|
@SerialName(sponsorUserField)
|
||||||
|
val sponsorUser: PreviewBot?,
|
||||||
|
@SerialName(commissionPerMilleField)
|
||||||
|
val commissionPerMille: Int,
|
||||||
|
) : TransactionPartner {
|
||||||
|
@EncodeDefault
|
||||||
|
override val type: String = Companion.type
|
||||||
|
|
||||||
|
companion object {
|
||||||
|
const val type: String = "affiliate_program"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Serializable(TransactionPartner.Companion::class)
|
@Serializable(TransactionPartner.Companion::class)
|
||||||
data object Ads : TransactionPartner {
|
data object Ads : TransactionPartner {
|
||||||
@EncodeDefault
|
@EncodeDefault
|
||||||
@@ -95,8 +143,18 @@ sealed interface TransactionPartner {
|
|||||||
val type: String,
|
val type: String,
|
||||||
val withdrawal_state: RevenueWithdrawalState? = null,
|
val withdrawal_state: RevenueWithdrawalState? = null,
|
||||||
val user: PreviewUser? = null,
|
val user: PreviewUser? = null,
|
||||||
|
val chat: PreviewChat? = null,
|
||||||
|
val affiliate: AffiliateInfo? = null,
|
||||||
val invoice_payload: InvoicePayload? = null,
|
val invoice_payload: InvoicePayload? = null,
|
||||||
val request_count: Int? = null
|
@Serializable(TimeSpanAsSecondsSerializer::class)
|
||||||
|
val subscription_period: TimeSpan? = null,
|
||||||
|
val paid_media: List<PaidMedia>? = null,
|
||||||
|
val paid_media_payload: PaidMediaPayload? = null,
|
||||||
|
val gift: Gift? = null,
|
||||||
|
val request_count: Int? = null,
|
||||||
|
val sponsor_user: PreviewBot? = null,
|
||||||
|
val commission_per_mille: Int? = null,
|
||||||
|
val invoicePayload: InvoicePayload? = null
|
||||||
)
|
)
|
||||||
|
|
||||||
override val descriptor: SerialDescriptor
|
override val descriptor: SerialDescriptor
|
||||||
@@ -108,38 +166,75 @@ sealed interface TransactionPartner {
|
|||||||
val unknown by lazy {
|
val unknown by lazy {
|
||||||
Unknown(data.type, json)
|
Unknown(data.type, json)
|
||||||
}
|
}
|
||||||
return when (data.type) {
|
return with(data) {
|
||||||
Other.type -> Other
|
when (data.type) {
|
||||||
User.type -> User(
|
Other.type -> Other
|
||||||
data.user ?: return unknown,
|
Chat.type -> Chat(
|
||||||
)
|
chat ?: return unknown,
|
||||||
TelegramAPI.type -> TelegramAPI(
|
gift
|
||||||
data.request_count ?: return unknown,
|
)
|
||||||
)
|
User.type -> User(
|
||||||
Ads.type -> Ads
|
user = user ?: return unknown,
|
||||||
Fragment.type -> Fragment(
|
affiliate = affiliate,
|
||||||
data.withdrawal_state ?: return unknown,
|
invoicePayload = invoice_payload,
|
||||||
)
|
subscriptionPeriod = subscription_period,
|
||||||
else -> unknown
|
paidMedia = paid_media,
|
||||||
|
paidMediaPayload = paid_media_payload,
|
||||||
|
gift = gift
|
||||||
|
)
|
||||||
|
TelegramAPI.type -> TelegramAPI(
|
||||||
|
data.request_count ?: return unknown,
|
||||||
|
)
|
||||||
|
Ads.type -> Ads
|
||||||
|
Fragment.type -> Fragment(
|
||||||
|
data.withdrawal_state ?: return unknown,
|
||||||
|
)
|
||||||
|
AffiliateProgram.type -> AffiliateProgram(
|
||||||
|
data.sponsor_user,
|
||||||
|
data.commission_per_mille ?: return unknown,
|
||||||
|
)
|
||||||
|
else -> unknown
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun serialize(encoder: Encoder, value: TransactionPartner) {
|
override fun serialize(encoder: Encoder, value: TransactionPartner) {
|
||||||
val surrogate = when (value) {
|
val surrogate = with (value) {
|
||||||
Other -> Surrogate(value.type)
|
when (this) {
|
||||||
Ads -> Surrogate(value.type)
|
Other -> Surrogate(type = value.type)
|
||||||
is User -> Surrogate(value.type, user = value.user)
|
Ads -> Surrogate(type = value.type)
|
||||||
is TelegramAPI -> Surrogate(value.type, request_count = value.requestCount)
|
is Chat -> Surrogate(
|
||||||
is Fragment -> Surrogate(
|
type = value.type,
|
||||||
value.type,
|
chat = chat,
|
||||||
value.withdrawalState
|
gift = gift
|
||||||
)
|
)
|
||||||
is Unknown -> value.raw ?.let {
|
is User -> Surrogate(
|
||||||
return JsonElement.serializer().serialize(encoder, it)
|
type = value.type,
|
||||||
} ?: Surrogate(value.type)
|
user = user,
|
||||||
|
affiliate = affiliate,
|
||||||
|
invoice_payload = invoicePayload,
|
||||||
|
subscription_period = subscriptionPeriod,
|
||||||
|
paid_media = paidMedia,
|
||||||
|
paid_media_payload = paidMediaPayload,
|
||||||
|
gift = gift
|
||||||
|
)
|
||||||
|
is TelegramAPI -> Surrogate(type = value.type, request_count = requestCount)
|
||||||
|
is Fragment -> Surrogate(
|
||||||
|
type = value.type,
|
||||||
|
withdrawal_state = withdrawalState
|
||||||
|
)
|
||||||
|
is AffiliateProgram -> Surrogate(
|
||||||
|
type = value.type,
|
||||||
|
sponsor_user = sponsorUser,
|
||||||
|
commission_per_mille = commissionPerMille
|
||||||
|
)
|
||||||
|
is Unknown -> raw ?.let {
|
||||||
|
return JsonElement.serializer().serialize(encoder, it)
|
||||||
|
} ?: Surrogate(type = value.type)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Surrogate.serializer().serialize(encoder, surrogate)
|
Surrogate.serializer().serialize(encoder, surrogate)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,10 +10,10 @@ import dev.inmo.tgbotapi.types.chat.User
|
|||||||
import dev.inmo.tgbotapi.types.message.textsources.*
|
import dev.inmo.tgbotapi.types.message.textsources.*
|
||||||
|
|
||||||
typealias EntitiesBuilderBody = EntitiesBuilder.() -> Unit
|
typealias EntitiesBuilderBody = EntitiesBuilder.() -> Unit
|
||||||
val newLine = regular("\n")
|
val newLine = regularTextSource("\n")
|
||||||
|
|
||||||
inline fun buildEntities(separator: TextSource? = null, init: EntitiesBuilderBody): TextSourcesList = EntitiesBuilder(separator).apply(init).build()
|
inline fun buildEntities(separator: TextSource? = null, init: EntitiesBuilderBody): TextSourcesList = EntitiesBuilder(separator).apply(init).build()
|
||||||
inline fun buildEntities(separator: String, init: EntitiesBuilderBody) = buildEntities(regular(separator), init)
|
inline fun buildEntities(separator: String, init: EntitiesBuilderBody) = buildEntities(regularTextSource(separator), init)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This builder can be used to provide building of [TextSource]s [List]
|
* This builder can be used to provide building of [TextSource]s [List]
|
||||||
@@ -51,7 +51,7 @@ class EntitiesBuilder(
|
|||||||
operator fun invoke(vararg source: TextSource) = addAll(source.toList())
|
operator fun invoke(vararg source: TextSource) = addAll(source.toList())
|
||||||
|
|
||||||
operator fun String.unaryPlus(): EntitiesBuilder {
|
operator fun String.unaryPlus(): EntitiesBuilder {
|
||||||
add(dev.inmo.tgbotapi.types.message.textsources.regular(this))
|
add(dev.inmo.tgbotapi.types.message.textsources.regularTextSource(this))
|
||||||
return this@EntitiesBuilder
|
return this@EntitiesBuilder
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -68,18 +68,18 @@ class EntitiesBuilder(
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add bold using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.bold]
|
* Add bold using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.boldTextSource]
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.bold(parts: TextSourcesList) = add(dev.inmo.tgbotapi.types.message.textsources.bold(parts))
|
inline fun EntitiesBuilder.bold(parts: TextSourcesList) = add(dev.inmo.tgbotapi.types.message.textsources.boldTextSource(parts))
|
||||||
/**
|
/**
|
||||||
* Version of [EntitiesBuilder.bold] with new line at the end
|
* Version of [EntitiesBuilder.bold] with new line at the end
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.boldln(parts: TextSourcesList) = bold(parts) + newLine
|
inline fun EntitiesBuilder.boldln(parts: TextSourcesList) = bold(parts) + newLine
|
||||||
/**
|
/**
|
||||||
* Add bold using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.bold].
|
* Add bold using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.boldTextSource].
|
||||||
* Will reuse separator config from [buildEntities]
|
* Will reuse separator config from [buildEntities]
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.bold(noinline init: EntitiesBuilderBody) = add(dev.inmo.tgbotapi.types.message.textsources.bold(
|
inline fun EntitiesBuilder.bold(noinline init: EntitiesBuilderBody) = add(dev.inmo.tgbotapi.types.message.textsources.boldTextSource(
|
||||||
buildEntities(separator, init)
|
buildEntities(separator, init)
|
||||||
))
|
))
|
||||||
/**
|
/**
|
||||||
@@ -88,35 +88,35 @@ inline fun EntitiesBuilder.bold(noinline init: EntitiesBuilderBody) = add(dev.in
|
|||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.boldln(noinline init: EntitiesBuilderBody) = bold(init) + newLine
|
inline fun EntitiesBuilder.boldln(noinline init: EntitiesBuilderBody) = bold(init) + newLine
|
||||||
/**
|
/**
|
||||||
* Add bold using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.bold]
|
* Add bold using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.boldTextSource]
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.bold(vararg parts: TextSource) = add(dev.inmo.tgbotapi.types.message.textsources.bold(*parts))
|
inline fun EntitiesBuilder.bold(vararg parts: TextSource) = add(dev.inmo.tgbotapi.types.message.textsources.boldTextSource(*parts))
|
||||||
/**
|
/**
|
||||||
* Version of [EntitiesBuilder.bold] with new line at the end
|
* Version of [EntitiesBuilder.bold] with new line at the end
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.boldln(vararg parts: TextSource) = bold(*parts) + newLine
|
inline fun EntitiesBuilder.boldln(vararg parts: TextSource) = bold(*parts) + newLine
|
||||||
/**
|
/**
|
||||||
* Add bold using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.bold]
|
* Add bold using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.boldTextSource]
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.bold(text: String) = add(dev.inmo.tgbotapi.types.message.textsources.bold(text))
|
inline fun EntitiesBuilder.bold(text: String) = add(dev.inmo.tgbotapi.types.message.textsources.boldTextSource(text))
|
||||||
/**
|
/**
|
||||||
* Version of [EntitiesBuilder.bold] with new line at the end
|
* Version of [EntitiesBuilder.bold] with new line at the end
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.boldln(text: String) = bold(text) + newLine
|
inline fun EntitiesBuilder.boldln(text: String) = bold(text) + newLine
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add blockquote using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.blockquote]
|
* Add blockquote using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.blockquoteTextSource]
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.blockquote(parts: TextSourcesList) = add(dev.inmo.tgbotapi.types.message.textsources.blockquote(parts))
|
inline fun EntitiesBuilder.blockquote(parts: TextSourcesList) = add(dev.inmo.tgbotapi.types.message.textsources.blockquoteTextSource(parts))
|
||||||
/**
|
/**
|
||||||
* Version of [EntitiesBuilder.blockquote] with new line at the end
|
* Version of [EntitiesBuilder.blockquote] with new line at the end
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.blockquoteln(parts: TextSourcesList) = blockquote(parts) + newLine
|
inline fun EntitiesBuilder.blockquoteln(parts: TextSourcesList) = blockquote(parts) + newLine
|
||||||
/**
|
/**
|
||||||
* Add blockquote using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.blockquote].
|
* Add blockquote using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.blockquoteTextSource].
|
||||||
* Will reuse separator config from [buildEntities]
|
* Will reuse separator config from [buildEntities]
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.blockquote(noinline init: EntitiesBuilderBody) = add(dev.inmo.tgbotapi.types.message.textsources.blockquote(
|
inline fun EntitiesBuilder.blockquote(noinline init: EntitiesBuilderBody) = add(dev.inmo.tgbotapi.types.message.textsources.blockquoteTextSource(
|
||||||
buildEntities(separator, init)
|
buildEntities(separator, init)
|
||||||
))
|
))
|
||||||
/**
|
/**
|
||||||
@@ -125,17 +125,17 @@ inline fun EntitiesBuilder.blockquote(noinline init: EntitiesBuilderBody) = add(
|
|||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.blockquoteln(noinline init: EntitiesBuilderBody) = blockquote(init) + newLine
|
inline fun EntitiesBuilder.blockquoteln(noinline init: EntitiesBuilderBody) = blockquote(init) + newLine
|
||||||
/**
|
/**
|
||||||
* Add blockquote using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.blockquote]
|
* Add blockquote using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.blockquoteTextSource]
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.blockquote(vararg parts: TextSource) = add(dev.inmo.tgbotapi.types.message.textsources.blockquote(*parts))
|
inline fun EntitiesBuilder.blockquote(vararg parts: TextSource) = add(dev.inmo.tgbotapi.types.message.textsources.blockquoteTextSource(*parts))
|
||||||
/**
|
/**
|
||||||
* Version of [EntitiesBuilder.blockquote] with new line at the end
|
* Version of [EntitiesBuilder.blockquote] with new line at the end
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.blockquoteln(vararg parts: TextSource) = blockquote(*parts) + newLine
|
inline fun EntitiesBuilder.blockquoteln(vararg parts: TextSource) = blockquote(*parts) + newLine
|
||||||
/**
|
/**
|
||||||
* Add blockquote using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.blockquote]
|
* Add blockquote using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.blockquoteTextSource]
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.blockquote(text: String) = add(dev.inmo.tgbotapi.types.message.textsources.blockquote(text))
|
inline fun EntitiesBuilder.blockquote(text: String) = add(dev.inmo.tgbotapi.types.message.textsources.blockquoteTextSource(text))
|
||||||
/**
|
/**
|
||||||
* Version of [EntitiesBuilder.blockquote] with new line at the end
|
* Version of [EntitiesBuilder.blockquote] with new line at the end
|
||||||
*/
|
*/
|
||||||
@@ -143,18 +143,18 @@ inline fun EntitiesBuilder.blockquoteln(text: String) = blockquote(text) + newLi
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add blockquote using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.blockquote]
|
* Add blockquote using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.blockquoteTextSource]
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.expandableBlockquote(parts: TextSourcesList) = add(dev.inmo.tgbotapi.types.message.textsources.expandableBlockquote(parts))
|
inline fun EntitiesBuilder.expandableBlockquote(parts: TextSourcesList) = add(dev.inmo.tgbotapi.types.message.textsources.expandableBlockquoteTextSource(parts))
|
||||||
/**
|
/**
|
||||||
* Version of [EntitiesBuilder.expandableBlockquote] with new line at the end
|
* Version of [EntitiesBuilder.expandableBlockquote] with new line at the end
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.expandableBlockquoteln(parts: TextSourcesList) = expandableBlockquote(parts) + newLine
|
inline fun EntitiesBuilder.expandableBlockquoteln(parts: TextSourcesList) = expandableBlockquote(parts) + newLine
|
||||||
/**
|
/**
|
||||||
* Add expandableBlockquote using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.expandableBlockquote].
|
* Add expandableBlockquote using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.expandableBlockquoteTextSource].
|
||||||
* Will reuse separator config from [buildEntities]
|
* Will reuse separator config from [buildEntities]
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.expandableBlockquote(noinline init: EntitiesBuilderBody) = add(dev.inmo.tgbotapi.types.message.textsources.expandableBlockquote(
|
inline fun EntitiesBuilder.expandableBlockquote(noinline init: EntitiesBuilderBody) = add(dev.inmo.tgbotapi.types.message.textsources.expandableBlockquoteTextSource(
|
||||||
buildEntities(separator, init)
|
buildEntities(separator, init)
|
||||||
))
|
))
|
||||||
/**
|
/**
|
||||||
@@ -163,35 +163,35 @@ inline fun EntitiesBuilder.expandableBlockquote(noinline init: EntitiesBuilderBo
|
|||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.expandableBlockquoteln(noinline init: EntitiesBuilderBody) = expandableBlockquote(init) + newLine
|
inline fun EntitiesBuilder.expandableBlockquoteln(noinline init: EntitiesBuilderBody) = expandableBlockquote(init) + newLine
|
||||||
/**
|
/**
|
||||||
* Add expandableBlockquote using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.expandableBlockquote]
|
* Add expandableBlockquote using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.expandableBlockquoteTextSource]
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.expandableBlockquote(vararg parts: TextSource) = add(dev.inmo.tgbotapi.types.message.textsources.expandableBlockquote(*parts))
|
inline fun EntitiesBuilder.expandableBlockquote(vararg parts: TextSource) = add(dev.inmo.tgbotapi.types.message.textsources.expandableBlockquoteTextSource(*parts))
|
||||||
/**
|
/**
|
||||||
* Version of [EntitiesBuilder.expandableBlockquote] with new line at the end
|
* Version of [EntitiesBuilder.expandableBlockquote] with new line at the end
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.expandableBlockquoteln(vararg parts: TextSource) = expandableBlockquote(*parts) + newLine
|
inline fun EntitiesBuilder.expandableBlockquoteln(vararg parts: TextSource) = expandableBlockquote(*parts) + newLine
|
||||||
/**
|
/**
|
||||||
* Add expandableBlockquote using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.expandableBlockquote]
|
* Add expandableBlockquote using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.expandableBlockquoteTextSource]
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.expandableBlockquote(text: String) = add(dev.inmo.tgbotapi.types.message.textsources.expandableBlockquote(text))
|
inline fun EntitiesBuilder.expandableBlockquote(text: String) = add(dev.inmo.tgbotapi.types.message.textsources.expandableBlockquoteTextSource(text))
|
||||||
/**
|
/**
|
||||||
* Version of [EntitiesBuilder.expandableBlockquote] with new line at the end
|
* Version of [EntitiesBuilder.expandableBlockquote] with new line at the end
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.expandableBlockquoteln(text: String) = expandableBlockquote(text) + newLine
|
inline fun EntitiesBuilder.expandableBlockquoteln(text: String) = expandableBlockquote(text) + newLine
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add spoiler using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.spoiler]
|
* Add spoiler using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.spoilerTextSource]
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.spoiler(parts: TextSourcesList) = add(dev.inmo.tgbotapi.types.message.textsources.spoiler(parts))
|
inline fun EntitiesBuilder.spoiler(parts: TextSourcesList) = add(dev.inmo.tgbotapi.types.message.textsources.spoilerTextSource(parts))
|
||||||
/**
|
/**
|
||||||
* Version of [EntitiesBuilder.spoiler] with new line at the end
|
* Version of [EntitiesBuilder.spoiler] with new line at the end
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.spoilerln(parts: TextSourcesList) = spoiler(parts) + newLine
|
inline fun EntitiesBuilder.spoilerln(parts: TextSourcesList) = spoiler(parts) + newLine
|
||||||
/**
|
/**
|
||||||
* Add spoiler using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.spoiler].
|
* Add spoiler using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.spoilerTextSource].
|
||||||
* Will reuse separator config from [buildEntities]
|
* Will reuse separator config from [buildEntities]
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.spoiler(noinline init: EntitiesBuilderBody) = add(dev.inmo.tgbotapi.types.message.textsources.spoiler(
|
inline fun EntitiesBuilder.spoiler(noinline init: EntitiesBuilderBody) = add(dev.inmo.tgbotapi.types.message.textsources.spoilerTextSource(
|
||||||
buildEntities(separator, init)
|
buildEntities(separator, init)
|
||||||
))
|
))
|
||||||
/**
|
/**
|
||||||
@@ -200,17 +200,17 @@ inline fun EntitiesBuilder.spoiler(noinline init: EntitiesBuilderBody) = add(dev
|
|||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.spoilerln(noinline init: EntitiesBuilderBody) = spoiler(init) + newLine
|
inline fun EntitiesBuilder.spoilerln(noinline init: EntitiesBuilderBody) = spoiler(init) + newLine
|
||||||
/**
|
/**
|
||||||
* Add spoiler using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.spoiler]
|
* Add spoiler using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.spoilerTextSource]
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.spoiler(vararg parts: TextSource) = add(dev.inmo.tgbotapi.types.message.textsources.spoiler(*parts))
|
inline fun EntitiesBuilder.spoiler(vararg parts: TextSource) = add(dev.inmo.tgbotapi.types.message.textsources.spoilerTextSource(*parts))
|
||||||
/**
|
/**
|
||||||
* Version of [EntitiesBuilder.spoiler] with new line at the end
|
* Version of [EntitiesBuilder.spoiler] with new line at the end
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.spoilerln(vararg parts: TextSource) = spoiler(*parts) + newLine
|
inline fun EntitiesBuilder.spoilerln(vararg parts: TextSource) = spoiler(*parts) + newLine
|
||||||
/**
|
/**
|
||||||
* Add spoiler using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.spoiler]
|
* Add spoiler using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.spoilerTextSource]
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.spoiler(text: String) = add(dev.inmo.tgbotapi.types.message.textsources.spoiler(text))
|
inline fun EntitiesBuilder.spoiler(text: String) = add(dev.inmo.tgbotapi.types.message.textsources.spoilerTextSource(text))
|
||||||
/**
|
/**
|
||||||
* Version of [EntitiesBuilder.spoiler] with new line at the end
|
* Version of [EntitiesBuilder.spoiler] with new line at the end
|
||||||
*/
|
*/
|
||||||
@@ -218,17 +218,17 @@ inline fun EntitiesBuilder.spoilerln(text: String) = spoiler(text) + newLine
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add botCommand using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.botCommand]
|
* Add botCommand using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.botCommandTextSource]
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.botCommand(command: String) = add(dev.inmo.tgbotapi.types.message.textsources.botCommand(command))
|
inline fun EntitiesBuilder.botCommand(command: String) = add(dev.inmo.tgbotapi.types.message.textsources.botCommandTextSource(command))
|
||||||
/**
|
/**
|
||||||
* Version of [EntitiesBuilder.botCommand] with new line at the end
|
* Version of [EntitiesBuilder.botCommand] with new line at the end
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.botCommandln(command: String) = botCommand(command) + newLine
|
inline fun EntitiesBuilder.botCommandln(command: String) = botCommand(command) + newLine
|
||||||
/**
|
/**
|
||||||
* Add botCommand using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.botCommand]
|
* Add botCommand using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.botCommandTextSource]
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.botCommand(botCommand: BotCommand) = add(dev.inmo.tgbotapi.types.message.textsources.botCommand(botCommand))
|
inline fun EntitiesBuilder.botCommand(botCommand: BotCommand) = add(dev.inmo.tgbotapi.types.message.textsources.botCommandTextSource(botCommand))
|
||||||
/**
|
/**
|
||||||
* Version of [EntitiesBuilder.botCommand] with new line at the end
|
* Version of [EntitiesBuilder.botCommand] with new line at the end
|
||||||
*/
|
*/
|
||||||
@@ -237,18 +237,18 @@ inline fun EntitiesBuilder.botCommandln(botCommand: BotCommand) = botCommand(bot
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add cashTag using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.cashTag]
|
* Add cashTag using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.cashTagTextSource]
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.cashTag(parts: TextSourcesList) = add(dev.inmo.tgbotapi.types.message.textsources.cashTag(parts))
|
inline fun EntitiesBuilder.cashTag(parts: TextSourcesList) = add(dev.inmo.tgbotapi.types.message.textsources.cashTagTextSource(parts))
|
||||||
/**
|
/**
|
||||||
* Version of [EntitiesBuilder.cashTag] with new line at the end
|
* Version of [EntitiesBuilder.cashTag] with new line at the end
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.cashTagln(parts: TextSourcesList) = cashTag(parts) + newLine
|
inline fun EntitiesBuilder.cashTagln(parts: TextSourcesList) = cashTag(parts) + newLine
|
||||||
/**
|
/**
|
||||||
* Add cashTag using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.cashTag].
|
* Add cashTag using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.cashTagTextSource].
|
||||||
* Will reuse separator config from [buildEntities]
|
* Will reuse separator config from [buildEntities]
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.cashTag(noinline init: EntitiesBuilderBody) = add(dev.inmo.tgbotapi.types.message.textsources.cashTag(
|
inline fun EntitiesBuilder.cashTag(noinline init: EntitiesBuilderBody) = add(dev.inmo.tgbotapi.types.message.textsources.cashTagTextSource(
|
||||||
buildEntities(separator, init)
|
buildEntities(separator, init)
|
||||||
))
|
))
|
||||||
/**
|
/**
|
||||||
@@ -257,17 +257,17 @@ inline fun EntitiesBuilder.cashTag(noinline init: EntitiesBuilderBody) = add(dev
|
|||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.cashTagln(noinline init: EntitiesBuilderBody) = cashTag(init) + newLine
|
inline fun EntitiesBuilder.cashTagln(noinline init: EntitiesBuilderBody) = cashTag(init) + newLine
|
||||||
/**
|
/**
|
||||||
* Add cashTag using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.cashTag]
|
* Add cashTag using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.cashTagTextSource]
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.cashTag(vararg parts: TextSource) = add(dev.inmo.tgbotapi.types.message.textsources.cashTag(*parts))
|
inline fun EntitiesBuilder.cashTag(vararg parts: TextSource) = add(dev.inmo.tgbotapi.types.message.textsources.cashTagTextSource(*parts))
|
||||||
/**
|
/**
|
||||||
* Version of [EntitiesBuilder.cashTag] with new line at the end
|
* Version of [EntitiesBuilder.cashTag] with new line at the end
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.cashTagln(vararg parts: TextSource) = cashTag(*parts) + newLine
|
inline fun EntitiesBuilder.cashTagln(vararg parts: TextSource) = cashTag(*parts) + newLine
|
||||||
/**
|
/**
|
||||||
* Add cashTag using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.cashTag]
|
* Add cashTag using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.cashTagTextSource]
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.cashTag(text: String) = add(dev.inmo.tgbotapi.types.message.textsources.cashTag(text))
|
inline fun EntitiesBuilder.cashTag(text: String) = add(dev.inmo.tgbotapi.types.message.textsources.cashTagTextSource(text))
|
||||||
/**
|
/**
|
||||||
* Version of [EntitiesBuilder.cashTag] with new line at the end
|
* Version of [EntitiesBuilder.cashTag] with new line at the end
|
||||||
*/
|
*/
|
||||||
@@ -275,9 +275,9 @@ inline fun EntitiesBuilder.cashTagln(text: String) = cashTag(text) + newLine
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add code using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.code]
|
* Add code using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.codeTextSource]
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.code(code: String) = add(dev.inmo.tgbotapi.types.message.textsources.code(code))
|
inline fun EntitiesBuilder.code(code: String) = add(dev.inmo.tgbotapi.types.message.textsources.codeTextSource(code))
|
||||||
/**
|
/**
|
||||||
* Version of [EntitiesBuilder.code] with new line at the end
|
* Version of [EntitiesBuilder.code] with new line at the end
|
||||||
*/
|
*/
|
||||||
@@ -285,18 +285,18 @@ inline fun EntitiesBuilder.codeln(code: String) = code(code) + newLine
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add email using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.email]
|
* Add email using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.emailTextSource]
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.email(parts: TextSourcesList) = add(dev.inmo.tgbotapi.types.message.textsources.email(parts))
|
inline fun EntitiesBuilder.email(parts: TextSourcesList) = add(dev.inmo.tgbotapi.types.message.textsources.emailTextSource(parts))
|
||||||
/**
|
/**
|
||||||
* Version of [EntitiesBuilder.email] with new line at the end
|
* Version of [EntitiesBuilder.email] with new line at the end
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.emailln(parts: TextSourcesList) = email(parts) + newLine
|
inline fun EntitiesBuilder.emailln(parts: TextSourcesList) = email(parts) + newLine
|
||||||
/**
|
/**
|
||||||
* Add email using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.email].
|
* Add email using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.emailTextSource].
|
||||||
* Will reuse separator config from [buildEntities]
|
* Will reuse separator config from [buildEntities]
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.email(noinline init: EntitiesBuilderBody) = add(dev.inmo.tgbotapi.types.message.textsources.email(
|
inline fun EntitiesBuilder.email(noinline init: EntitiesBuilderBody) = add(dev.inmo.tgbotapi.types.message.textsources.emailTextSource(
|
||||||
buildEntities(separator, init)
|
buildEntities(separator, init)
|
||||||
))
|
))
|
||||||
/**
|
/**
|
||||||
@@ -305,17 +305,17 @@ inline fun EntitiesBuilder.email(noinline init: EntitiesBuilderBody) = add(dev.i
|
|||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.emailln(noinline init: EntitiesBuilderBody) = email(init) + newLine
|
inline fun EntitiesBuilder.emailln(noinline init: EntitiesBuilderBody) = email(init) + newLine
|
||||||
/**
|
/**
|
||||||
* Add email using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.email]
|
* Add email using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.emailTextSource]
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.email(vararg parts: TextSource) = add(dev.inmo.tgbotapi.types.message.textsources.email(*parts))
|
inline fun EntitiesBuilder.email(vararg parts: TextSource) = add(dev.inmo.tgbotapi.types.message.textsources.emailTextSource(*parts))
|
||||||
/**
|
/**
|
||||||
* Version of [EntitiesBuilder.email] with new line at the end
|
* Version of [EntitiesBuilder.email] with new line at the end
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.emailln(vararg parts: TextSource) = email(*parts) + newLine
|
inline fun EntitiesBuilder.emailln(vararg parts: TextSource) = email(*parts) + newLine
|
||||||
/**
|
/**
|
||||||
* Add email using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.email]
|
* Add email using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.emailTextSource]
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.email(emailAddress: String) = add(dev.inmo.tgbotapi.types.message.textsources.email(emailAddress))
|
inline fun EntitiesBuilder.email(emailAddress: String) = add(dev.inmo.tgbotapi.types.message.textsources.emailTextSource(emailAddress))
|
||||||
/**
|
/**
|
||||||
* Version of [EntitiesBuilder.email] with new line at the end
|
* Version of [EntitiesBuilder.email] with new line at the end
|
||||||
*/
|
*/
|
||||||
@@ -323,18 +323,18 @@ inline fun EntitiesBuilder.emailln(emailAddress: String) = email(emailAddress) +
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add hashtag using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.hashtag]
|
* Add hashtag using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.hashtagTextSource]
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.hashtag(parts: TextSourcesList) = add(dev.inmo.tgbotapi.types.message.textsources.hashtag(parts))
|
inline fun EntitiesBuilder.hashtag(parts: TextSourcesList) = add(dev.inmo.tgbotapi.types.message.textsources.hashtagTextSource(parts))
|
||||||
/**
|
/**
|
||||||
* Version of [EntitiesBuilder.hashtag] with new line at the end
|
* Version of [EntitiesBuilder.hashtag] with new line at the end
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.hashtagln(parts: TextSourcesList) = hashtag(parts) + newLine
|
inline fun EntitiesBuilder.hashtagln(parts: TextSourcesList) = hashtag(parts) + newLine
|
||||||
/**
|
/**
|
||||||
* Add hashtag using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.hashtag].
|
* Add hashtag using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.hashtagTextSource].
|
||||||
* Will reuse separator config from [buildEntities]
|
* Will reuse separator config from [buildEntities]
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.hashtag(noinline init: EntitiesBuilderBody) = add(dev.inmo.tgbotapi.types.message.textsources.hashtag(
|
inline fun EntitiesBuilder.hashtag(noinline init: EntitiesBuilderBody) = add(dev.inmo.tgbotapi.types.message.textsources.hashtagTextSource(
|
||||||
buildEntities(separator, init)
|
buildEntities(separator, init)
|
||||||
))
|
))
|
||||||
/**
|
/**
|
||||||
@@ -343,17 +343,17 @@ inline fun EntitiesBuilder.hashtag(noinline init: EntitiesBuilderBody) = add(dev
|
|||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.hashtagln(noinline init: EntitiesBuilderBody) = hashtag(init) + newLine
|
inline fun EntitiesBuilder.hashtagln(noinline init: EntitiesBuilderBody) = hashtag(init) + newLine
|
||||||
/**
|
/**
|
||||||
* Add hashtag using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.hashtag]
|
* Add hashtag using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.hashtagTextSource]
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.hashtag(vararg parts: TextSource) = add(dev.inmo.tgbotapi.types.message.textsources.hashtag(*parts))
|
inline fun EntitiesBuilder.hashtag(vararg parts: TextSource) = add(dev.inmo.tgbotapi.types.message.textsources.hashtagTextSource(*parts))
|
||||||
/**
|
/**
|
||||||
* Version of [EntitiesBuilder.hashtag] with new line at the end
|
* Version of [EntitiesBuilder.hashtag] with new line at the end
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.hashtagln(vararg parts: TextSource) = hashtag(*parts) + newLine
|
inline fun EntitiesBuilder.hashtagln(vararg parts: TextSource) = hashtag(*parts) + newLine
|
||||||
/**
|
/**
|
||||||
* Add hashtag using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.hashtag]
|
* Add hashtag using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.hashtagTextSource]
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.hashtag(hashtag: String) = add(dev.inmo.tgbotapi.types.message.textsources.hashtag(hashtag))
|
inline fun EntitiesBuilder.hashtag(hashtag: String) = add(dev.inmo.tgbotapi.types.message.textsources.hashtagTextSource(hashtag))
|
||||||
/**
|
/**
|
||||||
* Version of [EntitiesBuilder.hashtag] with new line at the end
|
* Version of [EntitiesBuilder.hashtag] with new line at the end
|
||||||
*/
|
*/
|
||||||
@@ -361,18 +361,18 @@ inline fun EntitiesBuilder.hashtagln(hashtag: String) = hashtag(hashtag) + newLi
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add italic using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.italic]
|
* Add italic using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.italicTextSource]
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.italic(parts: TextSourcesList) = add(dev.inmo.tgbotapi.types.message.textsources.italic(parts))
|
inline fun EntitiesBuilder.italic(parts: TextSourcesList) = add(dev.inmo.tgbotapi.types.message.textsources.italicTextSource(parts))
|
||||||
/**
|
/**
|
||||||
* Version of [EntitiesBuilder.italic] with new line at the end
|
* Version of [EntitiesBuilder.italic] with new line at the end
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.italicln(parts: TextSourcesList) = italic(parts) + newLine
|
inline fun EntitiesBuilder.italicln(parts: TextSourcesList) = italic(parts) + newLine
|
||||||
/**
|
/**
|
||||||
* Add italic using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.italic].
|
* Add italic using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.italicTextSource].
|
||||||
* Will reuse separator config from [buildEntities]
|
* Will reuse separator config from [buildEntities]
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.italic(noinline init: EntitiesBuilderBody) = add(dev.inmo.tgbotapi.types.message.textsources.italic(
|
inline fun EntitiesBuilder.italic(noinline init: EntitiesBuilderBody) = add(dev.inmo.tgbotapi.types.message.textsources.italicTextSource(
|
||||||
buildEntities(separator, init)
|
buildEntities(separator, init)
|
||||||
))
|
))
|
||||||
/**
|
/**
|
||||||
@@ -381,17 +381,17 @@ inline fun EntitiesBuilder.italic(noinline init: EntitiesBuilderBody) = add(dev.
|
|||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.italicln(noinline init: EntitiesBuilderBody) = italic(init) + newLine
|
inline fun EntitiesBuilder.italicln(noinline init: EntitiesBuilderBody) = italic(init) + newLine
|
||||||
/**
|
/**
|
||||||
* Add italic using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.italic]
|
* Add italic using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.italicTextSource]
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.italic(vararg parts: TextSource) = add(dev.inmo.tgbotapi.types.message.textsources.italic(*parts))
|
inline fun EntitiesBuilder.italic(vararg parts: TextSource) = add(dev.inmo.tgbotapi.types.message.textsources.italicTextSource(*parts))
|
||||||
/**
|
/**
|
||||||
* Version of [EntitiesBuilder.italic] with new line at the end
|
* Version of [EntitiesBuilder.italic] with new line at the end
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.italicln(vararg parts: TextSource) = italic(*parts) + newLine
|
inline fun EntitiesBuilder.italicln(vararg parts: TextSource) = italic(*parts) + newLine
|
||||||
/**
|
/**
|
||||||
* Add italic using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.italic]
|
* Add italic using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.italicTextSource]
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.italic(text: String) = add(dev.inmo.tgbotapi.types.message.textsources.italic(text))
|
inline fun EntitiesBuilder.italic(text: String) = add(dev.inmo.tgbotapi.types.message.textsources.italicTextSource(text))
|
||||||
/**
|
/**
|
||||||
* Version of [EntitiesBuilder.italic] with new line at the end
|
* Version of [EntitiesBuilder.italic] with new line at the end
|
||||||
*/
|
*/
|
||||||
@@ -399,18 +399,18 @@ inline fun EntitiesBuilder.italicln(text: String) = italic(text) + newLine
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add mention using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.mention]
|
* Add mention using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.mentionTextSource]
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.mention(parts: TextSourcesList) = add(dev.inmo.tgbotapi.types.message.textsources.mention(parts))
|
inline fun EntitiesBuilder.mention(parts: TextSourcesList) = add(dev.inmo.tgbotapi.types.message.textsources.mentionTextSource(parts))
|
||||||
/**
|
/**
|
||||||
* Version of [EntitiesBuilder.mention] with new line at the end
|
* Version of [EntitiesBuilder.mention] with new line at the end
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.mentionln(parts: TextSourcesList) = mention(parts) + newLine
|
inline fun EntitiesBuilder.mentionln(parts: TextSourcesList) = mention(parts) + newLine
|
||||||
/**
|
/**
|
||||||
* Add mention using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.mention].
|
* Add mention using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.mentionTextSource].
|
||||||
* Will reuse separator config from [buildEntities]
|
* Will reuse separator config from [buildEntities]
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.mention(noinline init: EntitiesBuilderBody) = add(dev.inmo.tgbotapi.types.message.textsources.mention(
|
inline fun EntitiesBuilder.mention(noinline init: EntitiesBuilderBody) = add(dev.inmo.tgbotapi.types.message.textsources.mentionTextSource(
|
||||||
buildEntities(separator, init)
|
buildEntities(separator, init)
|
||||||
))
|
))
|
||||||
/**
|
/**
|
||||||
@@ -419,25 +419,25 @@ inline fun EntitiesBuilder.mention(noinline init: EntitiesBuilderBody) = add(dev
|
|||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.mentionln(noinline init: EntitiesBuilderBody) = mention(init) + newLine
|
inline fun EntitiesBuilder.mentionln(noinline init: EntitiesBuilderBody) = mention(init) + newLine
|
||||||
/**
|
/**
|
||||||
* Add mention using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.mention]
|
* Add mention using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.mentionTextSource]
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.mention(vararg parts: TextSource) = add(dev.inmo.tgbotapi.types.message.textsources.mention(*parts))
|
inline fun EntitiesBuilder.mention(vararg parts: TextSource) = add(dev.inmo.tgbotapi.types.message.textsources.mentionTextSource(*parts))
|
||||||
/**
|
/**
|
||||||
* Version of [EntitiesBuilder.mention] with new line at the end
|
* Version of [EntitiesBuilder.mention] with new line at the end
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.mentionln(vararg parts: TextSource) = mention(*parts) + newLine
|
inline fun EntitiesBuilder.mentionln(vararg parts: TextSource) = mention(*parts) + newLine
|
||||||
/**
|
/**
|
||||||
* Add mention using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.mention]
|
* Add mention using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.mentionTextSource]
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.mention(whoToMention: String) = add(dev.inmo.tgbotapi.types.message.textsources.mention(whoToMention))
|
inline fun EntitiesBuilder.mention(whoToMention: String) = add(dev.inmo.tgbotapi.types.message.textsources.mentionTextSource(whoToMention))
|
||||||
/**
|
/**
|
||||||
* Version of [EntitiesBuilder.mention] with new line at the end
|
* Version of [EntitiesBuilder.mention] with new line at the end
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.mentionln(whoToMention: String) = mention(whoToMention) + newLine
|
inline fun EntitiesBuilder.mentionln(whoToMention: String) = mention(whoToMention) + newLine
|
||||||
/**
|
/**
|
||||||
* Add mention using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.mention]
|
* Add mention using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.mentionTextSource]
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.mention(parts: TextSourcesList, user: User) = add(dev.inmo.tgbotapi.types.message.textsources.mention(parts, user))
|
inline fun EntitiesBuilder.mention(parts: TextSourcesList, user: User) = add(dev.inmo.tgbotapi.types.message.textsources.mentionTextSource(parts, user))
|
||||||
/**
|
/**
|
||||||
* Version of [EntitiesBuilder.mention] with new line at the end
|
* Version of [EntitiesBuilder.mention] with new line at the end
|
||||||
*/
|
*/
|
||||||
@@ -445,24 +445,24 @@ inline fun EntitiesBuilder.mentionln(parts: TextSourcesList, user: User) = menti
|
|||||||
inline fun EntitiesBuilder.mention(
|
inline fun EntitiesBuilder.mention(
|
||||||
user: User,
|
user: User,
|
||||||
vararg parts: TextSource
|
vararg parts: TextSource
|
||||||
) = add(dev.inmo.tgbotapi.types.message.textsources.mention(user, *parts))
|
) = add(dev.inmo.tgbotapi.types.message.textsources.mentionTextSource(user, *parts))
|
||||||
/**
|
/**
|
||||||
* Version of [EntitiesBuilder.mention] with new line at the end
|
* Version of [EntitiesBuilder.mention] with new line at the end
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.mentionln(user: User, vararg parts: TextSource) = mention(user, *parts) + newLine
|
inline fun EntitiesBuilder.mentionln(user: User, vararg parts: TextSource) = mention(user, *parts) + newLine
|
||||||
/**
|
/**
|
||||||
* Add mention using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.mention]
|
* Add mention using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.mentionTextSource]
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.mention(text: String, user: User) = add(dev.inmo.tgbotapi.types.message.textsources.mention(text, user))
|
inline fun EntitiesBuilder.mention(text: String, user: User) = add(dev.inmo.tgbotapi.types.message.textsources.mentionTextSource(text, user))
|
||||||
/**
|
/**
|
||||||
* Version of [EntitiesBuilder.mention] with new line at the end
|
* Version of [EntitiesBuilder.mention] with new line at the end
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.mentionln(text: String, user: User) = mention(text, user) + newLine
|
inline fun EntitiesBuilder.mentionln(text: String, user: User) = mention(text, user) + newLine
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add mention using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.mention]
|
* Add mention using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.mentionTextSource]
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.mention(parts: TextSourcesList, userId: UserId) = add(dev.inmo.tgbotapi.types.message.textsources.mention(parts, userId))
|
inline fun EntitiesBuilder.mention(parts: TextSourcesList, userId: UserId) = add(dev.inmo.tgbotapi.types.message.textsources.mentionTextSource(parts, userId))
|
||||||
/**
|
/**
|
||||||
* Version of [EntitiesBuilder.mention] with new line at the end
|
* Version of [EntitiesBuilder.mention] with new line at the end
|
||||||
*/
|
*/
|
||||||
@@ -476,9 +476,9 @@ inline fun EntitiesBuilder.mention(
|
|||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.mentionln(userId: UserId, vararg parts: TextSource) = mention(userId, *parts) + newLine
|
inline fun EntitiesBuilder.mentionln(userId: UserId, vararg parts: TextSource) = mention(userId, *parts) + newLine
|
||||||
/**
|
/**
|
||||||
* Add mention using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.mention]
|
* Add mention using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.mentionTextSource]
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.mention(text: String, userId: UserId) = add(dev.inmo.tgbotapi.types.message.textsources.mention(text, userId))
|
inline fun EntitiesBuilder.mention(text: String, userId: UserId) = add(dev.inmo.tgbotapi.types.message.textsources.mentionTextSource(text, userId))
|
||||||
/**
|
/**
|
||||||
* Version of [EntitiesBuilder.mention] with new line at the end
|
* Version of [EntitiesBuilder.mention] with new line at the end
|
||||||
*/
|
*/
|
||||||
@@ -486,18 +486,18 @@ inline fun EntitiesBuilder.mentionln(text: String, userId: UserId) = mention(tex
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add phone using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.phone]
|
* Add phone using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.phoneTextSource]
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.phone(parts: TextSourcesList) = add(dev.inmo.tgbotapi.types.message.textsources.phone(parts))
|
inline fun EntitiesBuilder.phone(parts: TextSourcesList) = add(dev.inmo.tgbotapi.types.message.textsources.phoneTextSource(parts))
|
||||||
/**
|
/**
|
||||||
* Version of [EntitiesBuilder.phone] with new line at the end
|
* Version of [EntitiesBuilder.phone] with new line at the end
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.phoneln(parts: TextSourcesList) = phone(parts) + newLine
|
inline fun EntitiesBuilder.phoneln(parts: TextSourcesList) = phone(parts) + newLine
|
||||||
/**
|
/**
|
||||||
* Add phone using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.phone].
|
* Add phone using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.phoneTextSource].
|
||||||
* Will reuse separator config from [buildEntities]
|
* Will reuse separator config from [buildEntities]
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.phone(noinline init: EntitiesBuilderBody) = add(dev.inmo.tgbotapi.types.message.textsources.phone(
|
inline fun EntitiesBuilder.phone(noinline init: EntitiesBuilderBody) = add(dev.inmo.tgbotapi.types.message.textsources.phoneTextSource(
|
||||||
buildEntities(separator, init)
|
buildEntities(separator, init)
|
||||||
))
|
))
|
||||||
/**
|
/**
|
||||||
@@ -506,17 +506,17 @@ inline fun EntitiesBuilder.phone(noinline init: EntitiesBuilderBody) = add(dev.i
|
|||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.phoneln(noinline init: EntitiesBuilderBody) = phone(init) + newLine
|
inline fun EntitiesBuilder.phoneln(noinline init: EntitiesBuilderBody) = phone(init) + newLine
|
||||||
/**
|
/**
|
||||||
* Add phone using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.phone]
|
* Add phone using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.phoneTextSource]
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.phone(vararg parts: TextSource) = add(dev.inmo.tgbotapi.types.message.textsources.phone(*parts))
|
inline fun EntitiesBuilder.phone(vararg parts: TextSource) = add(dev.inmo.tgbotapi.types.message.textsources.phoneTextSource(*parts))
|
||||||
/**
|
/**
|
||||||
* Version of [EntitiesBuilder.phone] with new line at the end
|
* Version of [EntitiesBuilder.phone] with new line at the end
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.phoneln(vararg parts: TextSource) = phone(*parts) + newLine
|
inline fun EntitiesBuilder.phoneln(vararg parts: TextSource) = phone(*parts) + newLine
|
||||||
/**
|
/**
|
||||||
* Add phone using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.phone]
|
* Add phone using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.phoneTextSource]
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.phone(number: String) = add(dev.inmo.tgbotapi.types.message.textsources.phone(number))
|
inline fun EntitiesBuilder.phone(number: String) = add(dev.inmo.tgbotapi.types.message.textsources.phoneTextSource(number))
|
||||||
/**
|
/**
|
||||||
* Version of [EntitiesBuilder.phone] with new line at the end
|
* Version of [EntitiesBuilder.phone] with new line at the end
|
||||||
*/
|
*/
|
||||||
@@ -524,24 +524,24 @@ inline fun EntitiesBuilder.phoneln(number: String) = phone(number) + newLine
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add pre using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.pre]
|
* Add pre using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.preTextSource]
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.pre(code: String, language: String?) = add(dev.inmo.tgbotapi.types.message.textsources.pre(code, language))
|
inline fun EntitiesBuilder.pre(code: String, language: String?) = add(dev.inmo.tgbotapi.types.message.textsources.preTextSource(code, language))
|
||||||
/**
|
/**
|
||||||
* Version of [EntitiesBuilder.pre] with new line at the end
|
* Version of [EntitiesBuilder.pre] with new line at the end
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.preln(code: String, language: String?) = pre(code, language) + newLine
|
inline fun EntitiesBuilder.preln(code: String, language: String?) = pre(code, language) + newLine
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Will add simple [dev.inmo.tgbotapi.types.message.textsources.regular] [TextSource]
|
* Will add simple [dev.inmo.tgbotapi.types.message.textsources.regularTextSource] [TextSource]
|
||||||
*
|
*
|
||||||
* @see RegularTextSource
|
* @see RegularTextSource
|
||||||
* @see dev.inmo.tgbotapi.extensions.utils.formatting.regularln
|
* @see dev.inmo.tgbotapi.extensions.utils.formatting.regularln
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.regular(text: String) =
|
inline fun EntitiesBuilder.regular(text: String) =
|
||||||
add(dev.inmo.tgbotapi.types.message.textsources.regular(text))
|
add(dev.inmo.tgbotapi.types.message.textsources.regularTextSource(text))
|
||||||
/**
|
/**
|
||||||
* Will add simple [dev.inmo.tgbotapi.types.message.textsources.regular] [TextSource] and "\n" at the end
|
* Will add simple [dev.inmo.tgbotapi.types.message.textsources.regularTextSource] [TextSource] and "\n" at the end
|
||||||
*
|
*
|
||||||
* @see RegularTextSource
|
* @see RegularTextSource
|
||||||
* @see dev.inmo.tgbotapi.extensions.utils.formatting.regular
|
* @see dev.inmo.tgbotapi.extensions.utils.formatting.regular
|
||||||
@@ -550,18 +550,18 @@ inline fun EntitiesBuilder.regularln(text: String) = regular(text) + newLine
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add strikethrough using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.strikethrough]
|
* Add strikethrough using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.strikethroughTextSource]
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.strikethrough(parts: TextSourcesList) = add(dev.inmo.tgbotapi.types.message.textsources.strikethrough(parts))
|
inline fun EntitiesBuilder.strikethrough(parts: TextSourcesList) = add(dev.inmo.tgbotapi.types.message.textsources.strikethroughTextSource(parts))
|
||||||
/**
|
/**
|
||||||
* Version of [EntitiesBuilder.strikethrough] with new line at the end
|
* Version of [EntitiesBuilder.strikethrough] with new line at the end
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.strikethroughln(parts: TextSourcesList) = strikethrough(parts) + newLine
|
inline fun EntitiesBuilder.strikethroughln(parts: TextSourcesList) = strikethrough(parts) + newLine
|
||||||
/**
|
/**
|
||||||
* Add strikethrough using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.strikethrough].
|
* Add strikethrough using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.strikethroughTextSource].
|
||||||
* Will reuse separator config from [buildEntities]
|
* Will reuse separator config from [buildEntities]
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.strikethrough(noinline init: EntitiesBuilderBody) = add(dev.inmo.tgbotapi.types.message.textsources.strikethrough(
|
inline fun EntitiesBuilder.strikethrough(noinline init: EntitiesBuilderBody) = add(dev.inmo.tgbotapi.types.message.textsources.strikethroughTextSource(
|
||||||
buildEntities(separator, init)
|
buildEntities(separator, init)
|
||||||
))
|
))
|
||||||
/**
|
/**
|
||||||
@@ -570,17 +570,17 @@ inline fun EntitiesBuilder.strikethrough(noinline init: EntitiesBuilderBody) = a
|
|||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.strikethroughln(noinline init: EntitiesBuilderBody) = strikethrough(init) + newLine
|
inline fun EntitiesBuilder.strikethroughln(noinline init: EntitiesBuilderBody) = strikethrough(init) + newLine
|
||||||
/**
|
/**
|
||||||
* Add strikethrough using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.strikethrough]
|
* Add strikethrough using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.strikethroughTextSource]
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.strikethrough(vararg parts: TextSource) = add(dev.inmo.tgbotapi.types.message.textsources.strikethrough(*parts))
|
inline fun EntitiesBuilder.strikethrough(vararg parts: TextSource) = add(dev.inmo.tgbotapi.types.message.textsources.strikethroughTextSource(*parts))
|
||||||
/**
|
/**
|
||||||
* Version of [EntitiesBuilder.strikethrough] with new line at the end
|
* Version of [EntitiesBuilder.strikethrough] with new line at the end
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.strikethroughln(vararg parts: TextSource) = strikethrough(*parts) + newLine
|
inline fun EntitiesBuilder.strikethroughln(vararg parts: TextSource) = strikethrough(*parts) + newLine
|
||||||
/**
|
/**
|
||||||
* Add strikethrough using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.strikethrough]
|
* Add strikethrough using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.strikethroughTextSource]
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.strikethrough(text: String) = add(dev.inmo.tgbotapi.types.message.textsources.strikethrough(text))
|
inline fun EntitiesBuilder.strikethrough(text: String) = add(dev.inmo.tgbotapi.types.message.textsources.strikethroughTextSource(text))
|
||||||
/**
|
/**
|
||||||
* Version of [EntitiesBuilder.strikethrough] with new line at the end
|
* Version of [EntitiesBuilder.strikethrough] with new line at the end
|
||||||
*/
|
*/
|
||||||
@@ -588,17 +588,17 @@ inline fun EntitiesBuilder.strikethroughln(text: String) = strikethrough(text) +
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add link using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.link]
|
* Add link using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.linkTextSource]
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.link(text: String, url: String) = add(dev.inmo.tgbotapi.types.message.textsources.link(text, url))
|
inline fun EntitiesBuilder.link(text: String, url: String) = add(dev.inmo.tgbotapi.types.message.textsources.linkTextSource(text, url))
|
||||||
/**
|
/**
|
||||||
* Version of [EntitiesBuilder.link] with new line at the end
|
* Version of [EntitiesBuilder.link] with new line at the end
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.linkln(text: String, url: String) = link(text, url) + newLine
|
inline fun EntitiesBuilder.linkln(text: String, url: String) = link(text, url) + newLine
|
||||||
/**
|
/**
|
||||||
* Add link using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.link]
|
* Add link using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.linkTextSource]
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.link(url: String) = add(dev.inmo.tgbotapi.types.message.textsources.link(url))
|
inline fun EntitiesBuilder.link(url: String) = add(dev.inmo.tgbotapi.types.message.textsources.linkTextSource(url))
|
||||||
/**
|
/**
|
||||||
* Version of [EntitiesBuilder.link] with new line at the end
|
* Version of [EntitiesBuilder.link] with new line at the end
|
||||||
*/
|
*/
|
||||||
@@ -606,18 +606,18 @@ inline fun EntitiesBuilder.linkln(url: String) = link(url) + newLine
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add underline using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.underline]
|
* Add underline using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.underlineTextSource]
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.underline(parts: TextSourcesList) = add(dev.inmo.tgbotapi.types.message.textsources.underline(parts))
|
inline fun EntitiesBuilder.underline(parts: TextSourcesList) = add(dev.inmo.tgbotapi.types.message.textsources.underlineTextSource(parts))
|
||||||
/**
|
/**
|
||||||
* Version of [EntitiesBuilder.underline] with new line at the end
|
* Version of [EntitiesBuilder.underline] with new line at the end
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.underlineln(parts: TextSourcesList) = underline(parts) + newLine
|
inline fun EntitiesBuilder.underlineln(parts: TextSourcesList) = underline(parts) + newLine
|
||||||
/**
|
/**
|
||||||
* Add underline using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.underline].
|
* Add underline using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.underlineTextSource].
|
||||||
* Will reuse separator config from [buildEntities]
|
* Will reuse separator config from [buildEntities]
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.underline(noinline init: EntitiesBuilderBody) = add(dev.inmo.tgbotapi.types.message.textsources.underline(
|
inline fun EntitiesBuilder.underline(noinline init: EntitiesBuilderBody) = add(dev.inmo.tgbotapi.types.message.textsources.underlineTextSource(
|
||||||
buildEntities(separator, init)
|
buildEntities(separator, init)
|
||||||
))
|
))
|
||||||
/**
|
/**
|
||||||
@@ -626,17 +626,17 @@ inline fun EntitiesBuilder.underline(noinline init: EntitiesBuilderBody) = add(d
|
|||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.underlineln(noinline init: EntitiesBuilderBody) = underline(init) + newLine
|
inline fun EntitiesBuilder.underlineln(noinline init: EntitiesBuilderBody) = underline(init) + newLine
|
||||||
/**
|
/**
|
||||||
* Add underline using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.underline]
|
* Add underline using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.underlineTextSource]
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.underline(vararg parts: TextSource) = add(dev.inmo.tgbotapi.types.message.textsources.underline(*parts))
|
inline fun EntitiesBuilder.underline(vararg parts: TextSource) = add(dev.inmo.tgbotapi.types.message.textsources.underlineTextSource(*parts))
|
||||||
/**
|
/**
|
||||||
* Version of [EntitiesBuilder.underline] with new line at the end
|
* Version of [EntitiesBuilder.underline] with new line at the end
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.underlineln(vararg parts: TextSource) = underline(*parts) + newLine
|
inline fun EntitiesBuilder.underlineln(vararg parts: TextSource) = underline(*parts) + newLine
|
||||||
/**
|
/**
|
||||||
* Add underline using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.underline]
|
* Add underline using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.underlineTextSource]
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.underline(text: String) = add(dev.inmo.tgbotapi.types.message.textsources.underline(text))
|
inline fun EntitiesBuilder.underline(text: String) = add(dev.inmo.tgbotapi.types.message.textsources.underlineTextSource(text))
|
||||||
/**
|
/**
|
||||||
* Version of [EntitiesBuilder.underline] with new line at the end
|
* Version of [EntitiesBuilder.underline] with new line at the end
|
||||||
*/
|
*/
|
||||||
@@ -644,35 +644,35 @@ inline fun EntitiesBuilder.underlineln(text: String) = underline(text) + newLine
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add customEmoji using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.customEmoji]
|
* Add customEmoji using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.customEmojiTextSource]
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.customEmoji(customEmojiId: CustomEmojiId, parts: TextSourcesList) = add(dev.inmo.tgbotapi.types.message.textsources.customEmoji(customEmojiId, parts))
|
inline fun EntitiesBuilder.customEmoji(customEmojiId: CustomEmojiId, parts: TextSourcesList) = add(dev.inmo.tgbotapi.types.message.textsources.customEmojiTextSource(customEmojiId, parts))
|
||||||
/**
|
/**
|
||||||
* Version of [EntitiesBuilder.customEmoji] with new line at the end
|
* Version of [EntitiesBuilder.customEmoji] with new line at the end
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.customEmojiln(customEmojiId: CustomEmojiId, parts: TextSourcesList) = customEmoji(customEmojiId, parts) + newLine
|
inline fun EntitiesBuilder.customEmojiln(customEmojiId: CustomEmojiId, parts: TextSourcesList) = customEmoji(customEmojiId, parts) + newLine
|
||||||
/**
|
/**
|
||||||
* Add customEmoji using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.customEmoji].
|
* Add customEmoji using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.customEmojiTextSource].
|
||||||
* Will reuse separator config from [buildEntities]
|
* Will reuse separator config from [buildEntities]
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.customEmoji(customEmojiId: CustomEmojiId, noinline init: EntitiesBuilderBody) = add(dev.inmo.tgbotapi.types.message.textsources.customEmoji(customEmojiId, buildEntities(separator, init)))
|
inline fun EntitiesBuilder.customEmoji(customEmojiId: CustomEmojiId, noinline init: EntitiesBuilderBody) = add(dev.inmo.tgbotapi.types.message.textsources.customEmojiTextSource(customEmojiId, buildEntities(separator, init)))
|
||||||
/**
|
/**
|
||||||
* Version of [EntitiesBuilder.customEmoji] with new line at the end.
|
* Version of [EntitiesBuilder.customEmoji] with new line at the end.
|
||||||
* Will reuse separator config from [buildEntities]
|
* Will reuse separator config from [buildEntities]
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.customEmojiln(customEmojiId: CustomEmojiId, noinline init: EntitiesBuilderBody) = customEmoji(customEmojiId, init) + newLine
|
inline fun EntitiesBuilder.customEmojiln(customEmojiId: CustomEmojiId, noinline init: EntitiesBuilderBody) = customEmoji(customEmojiId, init) + newLine
|
||||||
/**
|
/**
|
||||||
* Add customEmoji using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.customEmoji]
|
* Add customEmoji using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.customEmojiTextSource]
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.customEmoji(customEmojiId: CustomEmojiId, vararg parts: TextSource) = add(dev.inmo.tgbotapi.types.message.textsources.customEmoji(customEmojiId, *parts))
|
inline fun EntitiesBuilder.customEmoji(customEmojiId: CustomEmojiId, vararg parts: TextSource) = add(dev.inmo.tgbotapi.types.message.textsources.customEmojiTextSource(customEmojiId, *parts))
|
||||||
/**
|
/**
|
||||||
* Version of [EntitiesBuilder.customEmoji] with new line at the end
|
* Version of [EntitiesBuilder.customEmoji] with new line at the end
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.customEmojiln(customEmojiId: CustomEmojiId, vararg parts: TextSource) = customEmoji(customEmojiId, *parts) + newLine
|
inline fun EntitiesBuilder.customEmojiln(customEmojiId: CustomEmojiId, vararg parts: TextSource) = customEmoji(customEmojiId, *parts) + newLine
|
||||||
/**
|
/**
|
||||||
* Add customEmoji using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.customEmoji]
|
* Add customEmoji using [EntitiesBuilder.add] with [dev.inmo.tgbotapi.types.message.textsources.customEmojiTextSource]
|
||||||
*/
|
*/
|
||||||
inline fun EntitiesBuilder.customEmoji(customEmojiId: CustomEmojiId, text: String) = add(dev.inmo.tgbotapi.types.message.textsources.customEmoji(customEmojiId, text))
|
inline fun EntitiesBuilder.customEmoji(customEmojiId: CustomEmojiId, text: String) = add(dev.inmo.tgbotapi.types.message.textsources.customEmojiTextSource(customEmojiId, text))
|
||||||
/**
|
/**
|
||||||
* Version of [EntitiesBuilder.customEmoji] with new line at the end
|
* Version of [EntitiesBuilder.customEmoji] with new line at the end
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -0,0 +1,6 @@
|
|||||||
|
package dev.inmo.tgbotapi.utils.crypto
|
||||||
|
|
||||||
|
object Ed25519TelegramKeys {
|
||||||
|
const val TestEnvironment = "40055058a4ee38156a06562e52eece92a771bcd8346a8c4615cb7376eddf72ec" // hex
|
||||||
|
const val Production = "e7bf03a2fa4602af4580703d88dda5bb59f32ed8b02a56c187fe7d34caed242d" // hex
|
||||||
|
}
|
||||||
@@ -39,24 +39,24 @@ class StringFormattingTests {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun testThatCreatingOfStringWithSimpleDSLWorksCorrectly() {
|
fun testThatCreatingOfStringWithSimpleDSLWorksCorrectly() {
|
||||||
val sources: TextSourcesList = regular("It (is?) ") +
|
val sources: TextSourcesList = regularTextSource("It (is?) ") +
|
||||||
bold(italic("is") +
|
boldTextSource(italicTextSource("is") +
|
||||||
" " +
|
" " +
|
||||||
strikethrough(underline("simple"))) +
|
strikethroughTextSource(underlineTextSource("simple"))) +
|
||||||
" " +
|
" " +
|
||||||
spoiler("hello world") +
|
spoilerTextSource("hello world") +
|
||||||
" with " +
|
" with " +
|
||||||
hashtag("tag@sample") +
|
hashtagTextSource("tag@sample") +
|
||||||
" and " +
|
" and " +
|
||||||
mention("mention") +
|
mentionTextSource("mention") +
|
||||||
". Start of blockquote: " +
|
". Start of blockquote: " +
|
||||||
blockquote(
|
blockquoteTextSource(
|
||||||
"Block quotation started\n" +
|
"Block quotation started\n" +
|
||||||
"Block quotation continued\n" +
|
"Block quotation continued\n" +
|
||||||
"The last line of the block quotation"
|
"The last line of the block quotation"
|
||||||
) +
|
) +
|
||||||
"\n. Start of expandable blockquote: " +
|
"\n. Start of expandable blockquote: " +
|
||||||
expandableBlockquote(
|
expandableBlockquoteTextSource(
|
||||||
"Block quotation started\n" +
|
"Block quotation started\n" +
|
||||||
"Block quotation continued\n" +
|
"Block quotation continued\n" +
|
||||||
"The last line of the block quotation"
|
"The last line of the block quotation"
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user