asTextSources

fun MessageText.asTextSources(): List<TextSource>

This message as ktgbotapi's own text sources.

The mapping is the whole cost of keeping MessageText in :core instead of putting ktgbotapi's types in telek's signatures — thirty lines, in one place, that nobody writing a bot ever reads. What it buys is that :telegram maps the same document to its own client's entities, one builder serves both, and telek's public API keeps naming Telegram rather than a library.

public because a bot that reaches past telek for something it does not model — a media caption, a reply to a specific message — should be able to build the text with the same builder and hand it to ktgbotapi directly, instead of dropping back to a string.