前言
隨著 Telegram 版本更新,本文章的教學與知識可能會過期。
文字訊息的格式
Telegram 中的訊息本身就支援「粗體、斜體、底線、刪除線、等寬字體、超連結」等特殊格式。
目前上述等格式皆可以在新版本客戶端中選取文字並套用,在舊版本 Telegram 中,若要套用文字格式,必須使用機器人傳送才可以。
解析模式
如果您有在使用機器人 Bot API 的話,若要套用文字格式就得依賴解析模式(parse_mode
),例如:在 sendMessage 中設定 parse_mode=HTML
或是 parse_mode=Markdown
。接著參數 text
或 caption
就可以套用以下語法來傳送特殊格式的訊息。
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}
=聊天室內訊息唯一識別碼,為一串數字。