2022-02-23 16:30:26 +01:00
<!DOCTYPE html>
< html class = "" >
< head >
< meta charset = "utf-8" >
< title > Styled text with message entities< / title >
< meta name = "viewport" content = "width=device-width, initial-scale=1.0" >
< meta property = "description" content = "How to create styled text with message entities" >
< meta property = "og:title" content = "Styled text with message entities" >
< meta property = "og:image" content = "d2441cad7ecfa0d622" >
< meta property = "og:description" content = "How to create styled text with message entities" >
2022-04-21 15:52:36 +02:00
< link rel = "icon" type = "image/svg+xml" href = "/img/website_icon.svg?4" >
< link rel = "apple-touch-icon" sizes = "180x180" href = "/img/apple-touch-icon.png" >
< link rel = "icon" type = "image/png" sizes = "32x32" href = "/img/favicon-32x32.png" >
< link rel = "icon" type = "image/png" sizes = "16x16" href = "/img/favicon-16x16.png" >
< link rel = "alternate icon" href = "/img/favicon.ico" type = "image/x-icon" / >
2022-02-23 16:30:26 +01:00
< link href = "/css/bootstrap.min.css?3" rel = "stylesheet" >
2022-04-19 13:29:30 +02:00
< link href = "/css/telegram.css?227" rel = "stylesheet" media = "screen" >
2022-02-23 16:30:26 +01:00
< style >
< / style >
< / head >
< body class = "preload" >
< div class = "dev_page_wrap" >
< div class = "dev_page_head navbar navbar-static-top navbar-tg" >
< div class = "navbar-inner" >
< div class = "container clearfix" >
< ul class = "nav navbar-nav navbar-right hidden-xs" > < li class = "navbar-twitter" > < a href = "https://twitter.com/telegram" target = "_blank" data-track = "Follow/Twitter" onclick = "trackDlClick(this, event)" > < i class = "icon icon-twitter" > < / i > < span > Twitter< / span > < / a > < / li > < / ul >
< ul class = "nav navbar-nav" >
< li > < a href = "//telegram.org/" > Home< / a > < / li >
< li class = "hidden-xs" > < a href = "//telegram.org/faq" > FAQ< / a > < / li >
< li class = "hidden-xs" > < a href = "//telegram.org/apps" > Apps< / a > < / li >
< li class = "active" > < a href = "/api" > API< / a > < / li >
< li class = "" > < a href = "/mtproto" > Protocol< / a > < / li >
< li class = "" > < a href = "/schema" > Schema< / a > < / li >
< / ul >
< / div >
< / div >
< / div >
< div class = "container clearfix" >
< div class = "dev_page" >
< div id = "dev_page_content_wrap" class = " " >
< div class = "dev_page_bread_crumbs" > < ul class = "breadcrumb clearfix" > < li > < a href = "/api" > API< / a > < / li > < i class = "icon icon-breadcrumb-divider" > < / i > < li > < a href = "/api/entities" > Styled text with message entities< / a > < / li > < / ul > < / div >
< h1 id = "dev_page_title" > Styled text with message entities< / h1 >
< div id = "dev_page_content" > < p > Telegram supports styled text using < a href = "/type/MessageEntity" > message entities< / a > .< / p >
< p > A client that wants to send styled messages would simply have to integrate a < a href = "https://en.wikipedia.org/wiki/Markdown" > Markdown< / a > /< a href = "https://en.wikipedia.org/wiki/HTML" > HTML< / a > parser, and generate an array of message entities by iterating through the parsed tags.< / p >
< p > Special care must be taken to consider the UTF-8 length of strings when generating message entities, see example implementations: < a href = "https://github.com/tdlib/td/tree/master/td/telegram/MessageEntity.cpp" > tdlib< / a > , < a href = "https://github.com/danog/MadelineProto/blob/master/src/danog/MadelineProto/TL/Conversion/BotAPI.php" > MadelineProto< / a > .< / p >
< p > Nested entities are supported.< br >
For example the following HTML/Markdown aliases for message entities can be used:< / p >
< ul >
< li > < a href = "https://core.telegram.org/constructor/messageEntityBold" > < strong > messageEntityBold< / strong > < / a > => < code > < b> bold< /b> < / code > , < code > < strong> bold< /strong> < / code > , < code > **bold**< / code > < / li >
< li > < a href = "https://core.telegram.org/constructor/messageEntityItalic" > < em > messageEntityItalic< / em > < / a > => < code > < i> italic< /i> < / code > , < code > < em> italic< /em> < / code > < code > *italic*< / code > < / li >
< li > < a href = "https://core.telegram.org/constructor/messageEntityCode" > < code > messageEntityCode< / code > < / a > => < code > < code> code< /code> < / code > , < code > `code`< / code > < / li >
< li > < a href = "https://core.telegram.org/constructor/messageEntityStrike" > < del > messageEntityStrike< / del > < / a > => < code > < s> strike< /s> < / code > , < code > < strike> strike< /strike> < / code > , < code > < del> strike< /del> < / code > , < code > ~~strike~~< / code > < / li >
< li > < a href = "https://core.telegram.org/constructor/messageEntityUnderline" > < u > messageEntityUnderline< / u > < / a > => < code > < u> underline< /u> < / code > < / li >
< li > < a href = "https://core.telegram.org/constructor/messageEntityPre" > < code > messageEntityPre< / code > < / a > => < code > < pre language="c++"> code< /pre> < / code > , < / li >
< / ul >
< pre >
```c++
code
```
< / pre >
< p > The following entities can also be used to < a href = "/api/mentions" > mention< / a > users:< / p >
< ul >
< li > < a href = "/constructor/inputMessageEntityMentionName" > inputMessageEntityMentionName< / a > => < a href = "https://t.me/botfather" > Mention a user< / a > < / li >
< li > < a href = "/constructor/inputMessageEntityMentionName" > messageEntityMention< / a > => < a href = "https://t.me/botfather" > @botfather< / a > (this mention is generated automatically server-side for @usernames in messages)< / li >
2022-03-10 21:15:11 +01:00
< / ul >
< p > A number of other entities are also available, see the < a href = "/type/MessageEntity" > type page for the full list »< / a > .< / p > < / div >
2022-02-23 16:30:26 +01:00
< / div >
< / div >
< / div >
< div class = "footer_wrap" >
< div class = "footer_columns_wrap footer_desktop" >
< div class = "footer_column footer_column_telegram" >
< h5 > Telegram< / h5 >
< div class = "footer_telegram_description" > < / div >
Telegram is a cloud-based mobile and desktop messaging app with a focus on security and speed.
< / div >
< div class = "footer_column" >
< h5 > < a href = "//telegram.org/faq" > About< / a > < / h5 >
< ul >
< li > < a href = "//telegram.org/faq" > FAQ< / a > < / li >
< li > < a href = "//telegram.org/blog" > Blog< / a > < / li >
< li > < a href = "//telegram.org/jobs" > Jobs< / a > < / li >
< / ul >
< / div >
< div class = "footer_column" >
< h5 > < a href = "//telegram.org/apps#mobile-apps" > Mobile Apps< / a > < / h5 >
< ul >
< li > < a href = "//telegram.org/dl/ios" > iPhone/iPad< / a > < / li >
< li > < a href = "//telegram.org/dl/android" > Android< / a > < / li >
< li > < a href = "//telegram.org/dl/wp" > Windows Phone< / a > < / li >
< / ul >
< / div >
< div class = "footer_column" >
< h5 > < a href = "//telegram.org/apps#desktop-apps" > Desktop Apps< / a > < / h5 >
< ul >
< li > < a href = "//desktop.telegram.org/" > PC/Mac/Linux< / a > < / li >
< li > < a href = "//macos.telegram.org/" > macOS< / a > < / li >
< li > < a href = "//telegram.org/dl/web" > Web-browser< / a > < / li >
< / ul >
< / div >
< div class = "footer_column footer_column_platform" >
< h5 > < a href = "/" > Platform< / a > < / h5 >
< ul >
< li > < a href = "/api" > API< / a > < / li >
< li > < a href = "//translations.telegram.org/" > Translations< / a > < / li >
< li > < a href = "//instantview.telegram.org/" > Instant View< / a > < / li >
< / ul >
< / div >
< / div >
< div class = "footer_columns_wrap footer_mobile" >
< div class = "footer_column" >
< h5 > < a href = "//telegram.org/faq" > About< / a > < / h5 >
< / div >
< div class = "footer_column" >
< h5 > < a href = "//telegram.org/blog" > Blog< / a > < / h5 >
< / div >
< div class = "footer_column" >
< h5 > < a href = "//telegram.org/apps" > Apps< / a > < / h5 >
< / div >
< div class = "footer_column" >
< h5 > < a href = "/" > Platform< / a > < / h5 >
< / div >
< div class = "footer_column" >
< h5 > < a href = "https://twitter.com/telegram" target = "_blank" data-track = "Follow/Twitter" onclick = "trackDlClick(this, event)" > Twitter< / a > < / h5 >
< / div >
< / div >
< / div >
< / div >
2022-04-19 13:29:30 +02:00
< script src = "/js/main.js?46" > < / script >
2022-02-23 16:30:26 +01:00
< script > b a c k T o T o p I n i t ( " G o u p " ) ;
removePreloadInit();
< / script >
< / body >
< / html >