mirror of
https://github.com/InsanusMokrassar/TelegramBotAPI-examples.git
synced 2026-08-18 07:06:15 +00:00
improvements in rich messages bot
This commit is contained in:
@@ -34,12 +34,14 @@ import dev.inmo.tgbotapi.types.media.TelegramMediaAudio
|
|||||||
import dev.inmo.tgbotapi.types.media.TelegramMediaPhoto
|
import dev.inmo.tgbotapi.types.media.TelegramMediaPhoto
|
||||||
import dev.inmo.tgbotapi.types.media.TelegramMediaVideo
|
import dev.inmo.tgbotapi.types.media.TelegramMediaVideo
|
||||||
import dev.inmo.tgbotapi.types.media.TelegramMediaVoiceNote
|
import dev.inmo.tgbotapi.types.media.TelegramMediaVoiceNote
|
||||||
|
import dev.inmo.tgbotapi.types.rich.InputRichMessage
|
||||||
import dev.inmo.tgbotapi.types.rich.InputRichMessageBlocks
|
import dev.inmo.tgbotapi.types.rich.InputRichMessageBlocks
|
||||||
import dev.inmo.tgbotapi.types.rich.InputRichMessageHTML
|
import dev.inmo.tgbotapi.types.rich.InputRichMessageHTML
|
||||||
import dev.inmo.tgbotapi.types.rich.InputRichMessageMarkdown
|
import dev.inmo.tgbotapi.types.rich.InputRichMessageMarkdown
|
||||||
import dev.inmo.tgbotapi.types.rich.InputRichMessageMedia
|
import dev.inmo.tgbotapi.types.rich.InputRichMessageMedia
|
||||||
import dev.inmo.tgbotapi.types.rich.RichBlockCaption
|
import dev.inmo.tgbotapi.types.rich.RichBlockCaption
|
||||||
import dev.inmo.tgbotapi.types.rich.RichBlockTableCell
|
import dev.inmo.tgbotapi.types.rich.RichBlockTableCellAlign
|
||||||
|
import dev.inmo.tgbotapi.types.rich.RichBlockTableCellVAlign
|
||||||
import dev.inmo.tgbotapi.types.rich.RichTextPlain
|
import dev.inmo.tgbotapi.types.rich.RichTextPlain
|
||||||
import dev.inmo.tgbotapi.types.rich.buildRichText
|
import dev.inmo.tgbotapi.types.rich.buildRichText
|
||||||
import dev.inmo.tgbotapi.types.toChatId
|
import dev.inmo.tgbotapi.types.toChatId
|
||||||
@@ -375,18 +377,17 @@ suspend fun main(vararg args: String) {
|
|||||||
paragraph("Block quotation started\nBlock quotation continued on the next line\nBlock quotation continued on the same line\nThe last line of the block quotation")
|
paragraph("Block quotation started\nBlock quotation continued on the next line\nBlock quotation continued on the same line\nThe last line of the block quotation")
|
||||||
}
|
}
|
||||||
|
|
||||||
table(
|
table {
|
||||||
listOf(
|
row {
|
||||||
listOf(
|
headerCell(align = RichBlockTableCellAlign.Left, valign = RichBlockTableCellVAlign.Top) { plain("Header 1") }
|
||||||
RichBlockTableCell(RichTextPlain("Header 1"), isHeader = true, align = "left", valign = "middle"),
|
headerCell(align = RichBlockTableCellAlign.Center, valign = RichBlockTableCellVAlign.Middle) { plain("Header 2") }
|
||||||
RichBlockTableCell(RichTextPlain("Header 2"), isHeader = true, align = "center", valign = "middle")
|
headerCell(align = RichBlockTableCellAlign.Right, valign = RichBlockTableCellVAlign.Bottom) { plain("Header 2") }
|
||||||
),
|
}
|
||||||
listOf(
|
row {
|
||||||
RichBlockTableCell(RichTextPlain("left"), align = "left", valign = "middle"),
|
cell(align = RichBlockTableCellAlign.Left, valign = RichBlockTableCellVAlign.Top) { plain("left") }
|
||||||
RichBlockTableCell(RichTextPlain("center"), align = "center", valign = "middle")
|
cell(align = RichBlockTableCellAlign.Center, valign = RichBlockTableCellVAlign.Middle) { plain("center") }
|
||||||
)
|
}
|
||||||
)
|
}
|
||||||
)
|
|
||||||
paragraph {
|
paragraph {
|
||||||
plain("Text with a reference")
|
plain("Text with a reference")
|
||||||
referenceLink("id1", "id1")
|
referenceLink("id1", "id1")
|
||||||
@@ -474,22 +475,24 @@ suspend fun main(vararg args: String) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
table(
|
table {
|
||||||
listOf(
|
row {
|
||||||
listOf(
|
headerCell(align = RichBlockTableCellAlign.Left, valign = RichBlockTableCellVAlign.Middle) { plain("Metric") }
|
||||||
RichBlockTableCell(RichTextPlain("Metric"), isHeader = true, align = "left", valign = "middle"),
|
headerCell(align = RichBlockTableCellAlign.Right, valign = RichBlockTableCellVAlign.Middle) { plain("Value") }
|
||||||
RichBlockTableCell(RichTextPlain("Value"), isHeader = true, align = "right", valign = "middle")
|
}
|
||||||
),
|
row {
|
||||||
listOf(
|
cell(align = RichBlockTableCellAlign.Left, valign = RichBlockTableCellVAlign.Middle) { plain("Speed") }
|
||||||
RichBlockTableCell(RichTextPlain("Speed"), align = "left", valign = "middle"),
|
cell(align = RichBlockTableCellAlign.Right, valign = RichBlockTableCellVAlign.Middle) {
|
||||||
RichBlockTableCell(buildRichText { bold("42"); plain(" "); superscript("ms") }, align = "right", valign = "middle")
|
bold("42")
|
||||||
),
|
plain(" ")
|
||||||
listOf(
|
superscript("ms")
|
||||||
RichBlockTableCell(RichTextPlain("Status"), align = "left", valign = "middle"),
|
}
|
||||||
RichBlockTableCell(buildRichText { spoiler("ready") }, align = "right", valign = "middle")
|
}
|
||||||
)
|
row {
|
||||||
)
|
cell(align = RichBlockTableCellAlign.Left, valign = RichBlockTableCellVAlign.Middle) { plain("Status") }
|
||||||
)
|
cell(align = RichBlockTableCellAlign.Right, valign = RichBlockTableCellVAlign.Middle) { spoiler("ready") }
|
||||||
|
}
|
||||||
|
}
|
||||||
paragraph {
|
paragraph {
|
||||||
reference("note") {
|
reference("note") {
|
||||||
plain("Footnote with ")
|
plain("Footnote with ")
|
||||||
@@ -659,13 +662,35 @@ suspend fun main(vararg args: String) {
|
|||||||
onCommand("rich_markdown") {
|
onCommand("rich_markdown") {
|
||||||
val sent = sendRichMessage(
|
val sent = sendRichMessage(
|
||||||
it.chat.id,
|
it.chat.id,
|
||||||
testMarkdownInputRichMessageBlocks
|
InputRichMessageMarkdown(
|
||||||
|
testMarkdownText
|
||||||
|
)
|
||||||
)
|
)
|
||||||
println(sent)
|
println(sent)
|
||||||
}
|
}
|
||||||
|
|
||||||
// sendRichMessage with Markdown-formatted content
|
// sendRichMessage with Markdown-formatted content
|
||||||
onCommand("rich_markdown_medialess") {
|
onCommand("rich_markdown_medialess") {
|
||||||
|
val sent = sendRichMessage(
|
||||||
|
it.chat.id,
|
||||||
|
InputRichMessageMarkdown(
|
||||||
|
testMarkdownMediaLessText
|
||||||
|
)
|
||||||
|
)
|
||||||
|
println(sent)
|
||||||
|
}
|
||||||
|
|
||||||
|
// sendRichMessage with Markdown-formatted content
|
||||||
|
onCommand("rich_markdown_blocks") {
|
||||||
|
val sent = sendRichMessage(
|
||||||
|
it.chat.id,
|
||||||
|
testMarkdownInputRichMessageBlocks
|
||||||
|
)
|
||||||
|
println(sent)
|
||||||
|
}
|
||||||
|
|
||||||
|
// sendRichMessage with Markdown-formatted content
|
||||||
|
onCommand("rich_markdown_medialess_blocks") {
|
||||||
val sent = sendRichMessage(
|
val sent = sendRichMessage(
|
||||||
it.chat.id,
|
it.chat.id,
|
||||||
testMarkdownMediaLessInputRichMessageBlocks
|
testMarkdownMediaLessInputRichMessageBlocks
|
||||||
|
|||||||
Reference in New Issue
Block a user