mirror of
https://github.com/InsanusMokrassar/TelegramBotAPI.git
synced 2024-11-22 16:23:48 +00:00
add makeLinkToAddStickerSet
This commit is contained in:
parent
5fbde4bc06
commit
648f1b488b
@ -57,8 +57,11 @@
|
|||||||
* `TelegramotAPI`:
|
* `TelegramotAPI`:
|
||||||
* Fix: for sending requests caption and text lengths limits were updated
|
* Fix: for sending requests caption and text lengths limits were updated
|
||||||
* New variant of `row` was added
|
* New variant of `row` was added
|
||||||
|
* `makeLinkToMessage` extensions has been deprecated (replaced into `TelegramBotAPI-extensions-utils`)
|
||||||
* `TelegramBotAPI-extensions-utils`:
|
* `TelegramBotAPI-extensions-utils`:
|
||||||
* `safely` function was introduced. It is in `PreviewFeature` state currently
|
* `safely` function was introduced. It is in `PreviewFeature` state currently
|
||||||
|
* `makeLinkToMessage` extensions has been added
|
||||||
|
* `makeLinkToAddStickerSet` function and its variations were added
|
||||||
|
|
||||||
### 0.27.4
|
### 0.27.4
|
||||||
|
|
||||||
|
@ -0,0 +1,76 @@
|
|||||||
|
package com.github.insanusmokrassar.TelegramBotAPI.extensions.utils
|
||||||
|
|
||||||
|
import com.github.insanusmokrassar.TelegramBotAPI.types.MessageIdentifier
|
||||||
|
import com.github.insanusmokrassar.TelegramBotAPI.types.ParseMode.*
|
||||||
|
import com.github.insanusmokrassar.TelegramBotAPI.types.StickerSetName
|
||||||
|
import com.github.insanusmokrassar.TelegramBotAPI.types.chat.abstracts.PrivateChat
|
||||||
|
import com.github.insanusmokrassar.TelegramBotAPI.types.chat.abstracts.UsernameChat
|
||||||
|
import com.github.insanusmokrassar.TelegramBotAPI.types.chat.abstracts.extended.ExtendedChat
|
||||||
|
import com.github.insanusmokrassar.TelegramBotAPI.utils.link
|
||||||
|
|
||||||
|
private const val internalLinkBeginning = "https://t.me"
|
||||||
|
|
||||||
|
fun makeLinkToMessage(
|
||||||
|
username: String,
|
||||||
|
messageId: MessageIdentifier
|
||||||
|
): String = "$internalLinkBeginning/$username/$messageId"
|
||||||
|
|
||||||
|
private val linkIdRedundantPartRegex = Regex("^-100")
|
||||||
|
private val usernameBeginSymbolRegex = Regex("^@")
|
||||||
|
|
||||||
|
fun makeLinkToMessage(
|
||||||
|
chat: ExtendedChat,
|
||||||
|
messageId: MessageIdentifier
|
||||||
|
): String? {
|
||||||
|
return when {
|
||||||
|
chat is UsernameChat && chat.username != null -> {
|
||||||
|
"$internalLinkBeginning/${chat.username ?.username ?.replace(usernameBeginSymbolRegex, "")}/$messageId"
|
||||||
|
}
|
||||||
|
chat !is PrivateChat -> chat.id.chatId.toString().replace(
|
||||||
|
linkIdRedundantPartRegex,
|
||||||
|
""
|
||||||
|
).let { bareId ->
|
||||||
|
"$internalLinkBeginning/c/$bareId/$messageId"
|
||||||
|
}
|
||||||
|
else -> return null
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private const val stickerSetAddingLinkPrefix = "$internalLinkBeginning/addstickers"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a link for adding of sticker set with name [stickerSetName]. Was added thanks to user Djaler and based on
|
||||||
|
* https://github.com/Djaler/evil-bot/blob/master/src/main/kotlin/com/github/djaler/evilbot/utils/StickerUtils.kt#L6-L8
|
||||||
|
*
|
||||||
|
* @see [makeLinkToAddStickerSetInMarkdownV2]
|
||||||
|
* @see [makeLinkToAddStickerSetInMarkdown]
|
||||||
|
* @see [makeLinkToAddStickerSetInHtml]
|
||||||
|
*/
|
||||||
|
fun makeLinkToAddStickerSet(
|
||||||
|
stickerSetName: StickerSetName,
|
||||||
|
parseMode: ParseMode
|
||||||
|
) = (stickerSetName to "$stickerSetAddingLinkPrefix/$stickerSetName").link(
|
||||||
|
parseMode
|
||||||
|
)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return Link for adding of sticker set with name [stickerSetName] with formatting for [MarkdownV2]
|
||||||
|
*/
|
||||||
|
fun makeLinkToAddStickerSetInMarkdownV2(stickerSetName: StickerSetName) = makeLinkToAddStickerSet(
|
||||||
|
stickerSetName,
|
||||||
|
MarkdownV2
|
||||||
|
)
|
||||||
|
/**
|
||||||
|
* @return Link for adding of sticker set with name [stickerSetName] with formatting for [Markdown]
|
||||||
|
*/
|
||||||
|
fun makeLinkToAddStickerSetInMarkdown(stickerSetName: StickerSetName) = makeLinkToAddStickerSet(
|
||||||
|
stickerSetName,
|
||||||
|
Markdown
|
||||||
|
)
|
||||||
|
/**
|
||||||
|
* @return Link for adding of sticker set with name [stickerSetName] with formatting for [HTML]
|
||||||
|
*/
|
||||||
|
fun makeLinkToAddStickerSetInHtml(stickerSetName: StickerSetName) = makeLinkToAddStickerSet(
|
||||||
|
stickerSetName,
|
||||||
|
HTML
|
||||||
|
)
|
@ -7,6 +7,7 @@ import com.github.insanusmokrassar.TelegramBotAPI.types.chat.abstracts.extended.
|
|||||||
|
|
||||||
private const val internalLinkBeginning = "https://t.me"
|
private const val internalLinkBeginning = "https://t.me"
|
||||||
|
|
||||||
|
@Deprecated("Replaced into TelegramBotAPI-extensions-utils project")
|
||||||
fun makeLinkToMessage(
|
fun makeLinkToMessage(
|
||||||
username: String,
|
username: String,
|
||||||
messageId: MessageIdentifier
|
messageId: MessageIdentifier
|
||||||
@ -15,6 +16,7 @@ fun makeLinkToMessage(
|
|||||||
private val linkIdRedundantPartRegex = Regex("^-100")
|
private val linkIdRedundantPartRegex = Regex("^-100")
|
||||||
private val usernameBeginSymbolRegex = Regex("^@")
|
private val usernameBeginSymbolRegex = Regex("^@")
|
||||||
|
|
||||||
|
@Deprecated("Replaced into TelegramBotAPI-extensions-utils project")
|
||||||
fun makeLinkToMessage(
|
fun makeLinkToMessage(
|
||||||
chat: ExtendedChat,
|
chat: ExtendedChat,
|
||||||
messageId: MessageIdentifier
|
messageId: MessageIdentifier
|
||||||
|
Loading…
Reference in New Issue
Block a user