sendMessage
fun <S : State> TransitionBuilder<S>.sendMessage(chatId: Long, message: MessageTextBuilder.() -> Unit, keyboard: InlineKeyboardBuilder.() -> Unit? = null)
fun <S : State> TransitionBuilder<S>.sendMessage(chatId: Long, message: MessageText, markup: InlineKeyboardMarkup? = null)
fun <S : State> TransitionBuilder<S>.sendMessage(chatId: Long, text: String, markup: InlineKeyboardMarkup? = null)
Deprecated
Telegram parses this string, so foreign text in it must be escaped and unbalanced markup fails the whole message. Use sendMessage(chatId, message = { ... }), or MessageText.plain(text) to send it literally.
Replace with
sendMessage(chatId, MessageText.plain(text), markup)Content copied to clipboard
Sends text for Telegram to parse as legacy Markdown — what every message did before entities.
Kept for one release so a bot with hand-written Markdown keeps rendering while it migrates: had this overload started sending the string as plain text instead, every asterisk in every message would have become literal on upgrade, with nothing failing.
MessageText.plain(text) is the other reading — send it literally, markup and all — and it is the right one for anything a person typed.