Telegram 公眾索引系統

關於 Telegram 上的解析模式(Markdown、HTML)、文字格式

由 Weil Jimmer 更新於 十月 31, 2020


前言

隨著 Telegram 版本更新,本文章的教學與知識可能會過期。

文字訊息的格式

Telegram 中的訊息本身就支援「粗體、斜體、底線、刪除線、等寬字體、超連結」等特殊格式。

目前上述等格式皆可以在新版本客戶端中選取文字並套用,在舊版本 Telegram 中,若要套用文字格式,必須使用機器人傳送才可以。

解析模式

如果您有在使用機器人 Bot API 的話,若要套用文字格式就得依賴解析模式(parse_mode),例如:在 sendMessage 中設定 parse_mode=HTML 或是 parse_mode=Markdown。接著參數 textcaption 就可以套用以下語法來傳送特殊格式的訊息。

Markdown 語法範例

*粗體文字*
_斜體文字_
__底線文字__
~刪除線文字~
*粗體文字 _粗斜體文字 ~粗斜體刪除線文字~ __粗斜底線文字___ 粗體文字*
[超連結文字](超連結網址)
`等寬字體`
```
多行等寬字體
的文字區塊
```

HTML 語法範例

<b>粗體文字</b> 或 <strong>粗體文字</strong>
<i>斜體文字</i> 或 <em>斜體文字</em>
<u>底線文字</u>, <ins>底線文字</ins>
<s>刪除線文字</s> 或 <strike>刪除線文字</strike> 或 <del>刪除線文字</del>
<b>粗體文字 <i>粗斜體文字 <s>粗斜體刪除線文字</s> <u>粗斜底線文字</u></i> 粗體文字</b>
<a href="超連結網址">超連結文字</a>
<code>等寬字體</code>
<pre>多行等寬字體
的文字區塊</pre>

Telegram 內建網址

如果我想要在文字訊息中提及(mention)某人,則應該如何做?如何使用 Deep link

這本身與上述所說到的「超連結」功能很相似,只是超連結改以 Telegram 客戶端軟體可以解析的通訊協定。

以下使用 Markdown 作為範例:

[超連結文字(自訂)](tg://user?id=要被提及的人的UID)
[王小明](tg://user?id=123456789)
[按這裡可以切換語系](tg://setlanguage?lang=zhhanttw)
[Username](tg://resolve?domain=Username)
[開啟bot查詢](tg://resolve?domain=UsernameBot&start=payload)
[將bot加入群組](https://t.me/UsernameBot?startgroup=payload)
[加入私人群組](tg://join?invite=AAAAAAAAAAAAAAAAAAAAAA)
[新增貼圖包](tg://addstickers?set=lazypanda)
[跳到私人群組中目標訊息](https://t.me/c/1234567890/1234)
[跳到公開群組中目標訊息](https://t.me/username/3)
tg://user?id={UID}
{UID}=使用者識別碼,為一串數字,機器人也有該識別碼。
tg://resolve?domain={Username}
https://t.me/{Username}
{Username}=使用者名稱,為一串英文數字底線的組合。
tg://resolve?domain={UsernameBot}&start={payload}
https://t.me/{UsernameBot}?start={Payload}
https://t.me/{UsernameBot}?startgroup={payload}
{UsernameBot}=機器人使用者名稱,為一串英文數字底線的組合、{payload}=機器人查詢數據(自定義)
tg://join?invite={InviteHash}
https://t.me/joinchat/{InviteHash}
{InviteHash}=邀請連結的後段部分,為一串英文數字、連接號、底線的組合。
例如:https://t.me/joinchat/AAAAAAAAAAAAAAAAAAAAAA,此連結紅色部分為 {InviteHash},通常為 22 位數。
tg://setlanguage?lang={LangPackName}
https://t.me/setlanguage/{LangPackName}
{LangPackName}=語言包短名稱,為一串英文數字、連接號的組合。
tg://addstickers?set={Packsetname}
https://t.me/addstickers/{Packsetname}
{Packsetname}=貼圖包短名稱,為一串英文數字底線的組合。
tg://addtheme?slug={Themesetname}
https://t.me/addtheme/{Themesetname}
{Themesetname}=主題包短名稱,為一串英文數字底線的組合。
tg://resolve?domain={Username}&post={MessageId}
https://t.me/{Username}/{MessageId}
{Username}=使用者名稱,為一串英文數字底線的組合、{MessageId}=聊天室內訊息唯一識別碼,為一串數字。
tg://resolve?domain={Username}&post={MessageId}&comment={MessageId}
https://t.me/{Username}/{MessageId}?comment={MessageId}
{Username}=使用者名稱,為一串英文數字底線的組合、{MessageId}=聊天室內訊息唯一識別碼,為一串數字。
tg://openmessage?chat_id={ChatId}&message_id={MessageId}
tg://privatepost?channel={ChatId}&post={MessageId}
https://t.me/c/{ChatId}/{MessageId}
{ChatId}=聊天室識別碼(註:去除超級群前驟-100。)、{MessageId}=聊天室內訊息唯一識別碼,為一串數字。
tg://privatepost?channel={ChatId}&post={MessageId}&thread={MessageId}
https://t.me/c/{ChatId}/{MessageId}?thread={MessageId}
{ChatId}=聊天室識別碼(註:去除超級群前驟-100。)、{MessageId}=聊天室內訊息唯一識別碼,為一串數字。
TG公眾索引系統