fixes in links

This commit is contained in:
InsanusMokrassar 2022-07-09 22:43:19 +06:00
parent 7c4808f163
commit c2487c5adc
3 changed files with 23 additions and 7 deletions

View File

@ -2,6 +2,9 @@
## 2.1.3
* `Utils`:
* Rename `UserId` extension `link` to `userLink`
## 2.1.2
* `Versions`:

View File

@ -11,6 +11,8 @@ import kotlinx.serialization.encoding.Encoder
import kotlinx.serialization.json.JsonPrimitive
import kotlinx.serialization.json.longOrNull
const val internalLinkBeginning = "https://t.me"
@Serializable(ChatIdentifierSerializer::class)
sealed class ChatIdentifier
@ -26,16 +28,29 @@ data class ChatId(
* https://core.telegram.org/bots/api#formatting-options
*/
@Warning("This API have restrictions in Telegram System")
val Identifier.link: String
val Identifier.userLink: String
get() = "tg://user?id=$this"
/**
* https://core.telegram.org/bots/api#formatting-options
*/
@Warning("This API have restrictions in Telegram System")
val UserId.link: String
get() = chatId.link
val UserId.userLink: String
get() = chatId.userLink
val User.link: String
get() = id.link
get() = id.userLink
/**
* https://core.telegram.org/bots/api#formatting-options
*/
@Deprecated("Renamed", ReplaceWith("userLink", "dev.inmo.tgbotapi.types.userLink"))
val Identifier.link: String
get() = "$internalLinkBeginning/tg://user?id=$this"
/**
* https://core.telegram.org/bots/api#formatting-options
*/
@Deprecated("Renamed", ReplaceWith("userLink", "dev.inmo.tgbotapi.types.userLink"))
val ChatId.link: String
get() = chatId.link
typealias UserId = ChatId

View File

@ -5,8 +5,6 @@ import dev.inmo.tgbotapi.types.message.textsources.link
import dev.inmo.tgbotapi.types.chat.*
import dev.inmo.tgbotapi.types.message.abstracts.Message
private const val internalLinkBeginning = "https://t.me"
fun makeUsernameLink(username: String) = "$internalLinkBeginning/$username"
fun makeUsernameDeepLinkPrefix(username: String) = "${makeUsernameLink(username)}?start="
inline val Username.link
@ -73,7 +71,7 @@ val Message.link: String?
val Chat.link: String?
get() {
if (this is UsernameChat) {
username ?.username ?.let { return it }
username ?.link
}
if (this is ExtendedPublicChat) {
inviteLink ?.let { return it }