Telegram === ###### tags: `GSS` `telegram` ## 1.使用Telegram (1) 需要建立一個 Telegram 的 bot 1. 建立 Telegram 的 bot 官方有一個專門的 bot 在處理 [BotFather](https://telegram.me/BotFather) 2. 加入 BotFather 之後請輸入 `/newbot` 他會請你輸入 bot 的名稱 ![](https://i.imgur.com/fALIBVY.png) 3. 接下來會請你輸入 bot 的 username,在這邊請填入你的 bot 在 **ldl** 的 **bot id** ![](https://i.imgur.com/Y18ZyZF.png) 4. 完成後會顯示類似下面的畫面,請記住 BotFather 回覆的 **token** ![](https://i.imgur.com/nsQZFxX.png) 5. 若是之後忘記 token,可以跟 BotFather 輸入 `token` 他就會顯示你的 bot 的 token 6. 設定bot在群組中的模式 * 如果你想要 bot 在群組中可以直接接收到所有人的訊息的話,請到 [BotFather](https://telegram.me/BotFather) 輸入 `/setprivacy` 並將 privacy 設定為 Disable * 如果不想要 bot 在群組中一直回覆的話,一樣請到請到 [BotFather](https://telegram.me/BotFather) 輸入 `/setprivacy` 並將 privacy 設定為 Enable,這樣如果需要跟 bot 溝通,需要在文字前面加上 `/` bot 才會接收到訊息 (2) 註冊 Telegram Channel 所需要的設定 * token - 將 `步驟1` 取得的 token 填入 ldl 的 bot config 或是到 ldl admin 填入 ```json { ..., "channelHook": { "telegram": { "token": "[your token]" } } } ``` (3) 設定 **webhook** 1. 在 ldl admin 新增一個 telegram 的 channel 並輸入 token ![](https://i.imgur.com/2Fs0H48.png) 2. 點擊存擋 ![](https://i.imgur.com/mY363uc.png) 3. 按下`設定 webhook` 按鈕即可設定完成 ![](https://i.imgur.com/8LjZI2s.png) ![](https://i.imgur.com/dN6PQaB.png) ## 2.Telegram 的使用限制 #### (1) 訊息格式的轉換 | Bot Framework Message | Telegram | | --------------------- | ----------------------------------------- | | Text | Message | | Suggested Action | keyboard button | | Image | Image | | Audio | Audio | | Video | Video | | Hero Card | Message | | Thumbnail Card | Message | | SignIn Card | Message | | Receipt Card | N/A | | Animation Card | Message | | Audio Card | Audio | | Video Card | Video | | Adaptive Card | N/A | #### (2) 一般訊息的限制 (文字、圖片、聲音、影像) * **文字** * text 最多 **4096** 個字 * **圖片** * 圖片連結必須是有效的 * Url 字數沒有限定,支援的協定:HTTP、HTTPS #### (3) 卡片格式的限制 * **文字** * text 最多 **4096** 個字 * **圖片** * 圖片連結必須是有效的 * Url 字數沒有限定,支援的協定:HTTP、HTTPS * 一張卡片只能有一張照片 * **按鈕數量** * 未限制 * **按鈕 Action** * ImBack (註1) * Button Label 字數未限制 * payload 最多 **64** 個字 * Postback * Button Label 字數未限制 * payload 最多 **64** 個字 * URL * Button Label 字數未限制 * Url 字數沒有限定,支援的協定:HTTP、HTTPS(此連結必須有效,否則顯示出來不會有連結的效果) 註1:ImBack 和 Postback 在卡片這邊都會被當做 PostBack * **Gallery** (多個卡片橫向擺置) * 不支援 #### (4) Quick Reply Message * 支援以下按鈕 Action * ImBack (註2) * Button Label 字數未限制 * payload 最多 **64** 個字 * Postback * Button Label 字數未限制 * payload 最多 **64** 個字 * URL * Button Label 字數未限制 * Url 字數沒有限定,支援的協定:HTTP、HTTPS(此連結必須有效,否則顯示出來不會有連結的效果) 註2:ImBack 和 Postback 在卡片這邊都會被當做 ImBack 及顯示按鈕文字 #### (5) 其他限制 * Telegram 不支援 `Adaptive Card` 詳細可以查看[Telegram 官方文件](https://core.telegram.org/bots/api#available-methods) ## 3.LDL 防火牆設定 Teams 發 request 到 LDL,ip 如下: * 91.108.6.156 port 80 and 443 LDL 會發 request 到 Teams,domain 如下: * https://api.telegram.org port 80 and 443