1
0
mirror of https://github.com/InsanusMokrassar/TelegramBotAPI.git synced 2026-04-16 23:12:33 +00:00

Compare commits

...

5 Commits

Author SHA1 Message Date
c10da2a10a Update CHANGELOG.md 2022-10-22 17:59:54 +06:00
8ed216619d deprecate TelegramBot#getStickerSet 2022-10-22 17:41:55 +06:00
62a9c687d5 update dependencies and changelog 2022-10-22 14:33:43 +06:00
c2918c308f Merge pull request #668 from d1snin/wait-command-message
Added `BehaviourContext.waitCommandMessage` supporting `BotCommand`
2022-10-20 06:56:06 +06:00
d1snin
81fbff0bf5 added BehaviourContext.waitCommandMessage supporting BotCommand 2022-10-19 22:15:15 +03:00
4 changed files with 33 additions and 5 deletions

View File

@@ -2,13 +2,21 @@
## 3.3.0
**THIS VERSION CONTAINS UPGRADE KOTLIN (AND ALL RELATED LIBRARIES) UP TO 1.7.20**
* `Versions`:
* `Kotlin`: `1.7.10` -> `1.7.20`
* `Kotlin Serialization`: `1.4.0` -> `1.4.1`
* `Korlibs`: `3.1.0` -> `3.2.0`
* `MicroUtils`: `0.12.17` -> `0.13.1`
* `Core`:
* Add opportunity to create command text source and add command in entities builder
via `BotCommamd` (thanks to [d1shin](https://github.com/InsanusMokrassar/TelegramBotAPI/pull/664))
* `API`:
* New extensions `TelegramBot#getStickerSetOrNull` and `TelegramBot#getStickerSetOrThrow`
* Old `TelegramBot#getStickerSet` has been deprecated
* `Behaviour Builder`:
* Add opportunity to use triggers with `BotCommand` (thanks to [d1shin](https://github.com/InsanusMokrassar/TelegramBotAPI/pull/664))
* Add opportunity to use triggers and waiters with `BotCommand` (thanks to [d1shin](https://github.com/InsanusMokrassar/TelegramBotAPI/pull/664))
## 3.2.7

View File

@@ -1,16 +1,16 @@
[versions]
kotlin = "1.7.10"
kotlin-serialization = "1.4.0"
kotlin = "1.7.20"
kotlin-serialization = "1.4.1"
kotlin-coroutines = "1.6.4"
javax-activation = "1.1.1"
korlibs = "3.1.0"
korlibs = "3.2.0"
uuid = "0.5.0"
ktor = "2.1.2"
ksp = "1.7.10-1.0.6"
ksp = "1.7.20-1.0.7"
kotlin-poet = "1.12.0"
microutils = "0.13.1"

View File

@@ -10,8 +10,21 @@ suspend fun TelegramBot.getStickerSet(
GetStickerSet(name)
)
@Deprecated("Renamed", ReplaceWith("getStickerSetOrThrow(sticker)", "dev.inmo.tgbotapi.extensions.api.get.getStickerSetOrThrow"))
suspend fun TelegramBot.getStickerSet(
sticker: Sticker
) = getStickerSet(
sticker.stickerSetName ?: error("Sticker must contains stickerSetName to be correctly used in getStickerSet method")
)
suspend fun TelegramBot.getStickerSetOrNull(
sticker: Sticker
) = sticker.stickerSetName ?.let {
getStickerSet(it)
}
suspend fun TelegramBot.getStickerSetOrThrow(
sticker: Sticker
) = getStickerSet(
sticker.stickerSetName ?: error("Sticker must contains stickerSetName to be correctly used in getStickerSet method")
)

View File

@@ -4,6 +4,7 @@ import dev.inmo.tgbotapi.extensions.behaviour_builder.BehaviourContext
import dev.inmo.tgbotapi.extensions.behaviour_builder.utils.handlers_registrar.doWithRegistration
import dev.inmo.tgbotapi.extensions.utils.*
import dev.inmo.tgbotapi.requests.abstracts.Request
import dev.inmo.tgbotapi.types.BotCommand
import dev.inmo.tgbotapi.types.message.abstracts.CommonMessage
import dev.inmo.tgbotapi.types.message.content.TextContent
import dev.inmo.tgbotapi.types.message.textsources.BotCommandTextSource
@@ -39,6 +40,12 @@ suspend fun BehaviourContext.waitCommandMessage(
errorFactory: NullableRequestBuilder<*> = { null }
) = waitCommandMessage(Regex(command), initRequest, errorFactory)
suspend fun BehaviourContext.waitCommandMessage(
botCommand: BotCommand,
initRequest: Request<*>? = null,
errorFactory: NullableRequestBuilder<*> = { null }
) = waitCommandMessage(botCommand.command, initRequest, errorFactory)
fun Flow<CommonMessage<TextContent>>.requireCommandAtStart() = filter {
it.content.textSources.firstOrNull() is BotCommandTextSource
}