本篇大綱
Commands 代替選單的快速功能表
在上一篇寫 Telegram Bot Keyboard 裡,就有寫到 Commands 了,就是在 Telegram 上打 /
時,會出現的功能清單。
Telegram Keyboard 的建立比較麻煩,如果說機器人的功能很少,或是不需要到第二層選單,用 Commands 是比較快的。
本篇就來紀錄如何在 Telegram Bot 上製作命令列表。
關於 Commands
Telegram Bot Commands,這邊翻作命令列,一般看一些程式語言教學,都會說開啟終端機或命令提示字元後,下 Command 去安裝功能之類的,而 Telegram 的 Command 又是長這樣:

因此覺得翻作命令列會比較好理解。
在申請新的 Telegram Bot,跟 BotFather 溝通時,就是在用 Commands 功能了,只是一開始在用沒有解譯會不知道這就是機器人的 Commands。
建立 Telegram Bot Commands
建立機器人的 Commands,不用寫任何的 code,但在判斷使用者按了哪個 Commands 後執行不同的 function 就需要了。
首先,要先跟 BotFather 對話,輸入/mybot
,然後點要建立 Commands 的機器人帳號,再點選 Edit Bot,就會看見選單中出現 Edit Commands:

點擊 Edit Commands 後,就會出現該送什麼訊息給 BotFather,才會讓你的機器人有 Commands:
這是廣告,點擊一下可以幫本站多個一點點的廣告收入,謝謝
OK. Send me a list of commands for your bot. Please use this format:
command1 – Description
command2 – Another description
比方說,我們想要機器人的 Commands,在輸入 /
後會出現的選單是以下:
/start 開啟keyboard
/test1 執行功能1
/test2 執行功能2
那只要貼以下訊息給 BotFather 就行:
start - 開啟keyboard
test1 - 執行功能1
test2 - 執行功能2
送出給 BotFather 後,就會收到更新成功的訊息:

接著打開剛設定的機器人視窗,就會看見輸入訊息欄的旁邊多了「/」的按鈕,按下去或是直接輸入 /
,就會看到剛設定的 Commands:


收到 Commands後
當使用者按下 Commands 後,就會發送那個 Command 的訊息:

機器人收到的訊息,JSON 就會是這樣子:

所以我們只要寫一個判斷 message.text 是 /start
時,要執行某個 function 的 code 就行了,以下是用 Google Apps Script 的範例:
怎麼使用 Google Apps Script 當 Telegram Bot 的 Webhook,請參考這篇:
Telegram Bot 學習筆記 – 2:用 Google Apps Script 接收 / 推播訊息
這是廣告,點擊一下可以幫本站多個一點點的廣告收入,謝謝
Telegram Bot 學習筆記系列
- 用 GCP + Node.js 接收 / 推播訊息
- 用 Google Apps Script 接收 / 推播訊息
- 鍵盤 Keyboard
- 命令列 Commands
- 取得使用者大頭照
- Google 表單提交時收到通知


以下是留言,但關於留言的部份必需先讓你們知道:
本站的文章都是 August 因為覺得有趣,才會實作並整理成筆記文而後進行發表。
如果留言是希望把 Demo 改成「你想要」的樣子,或是把功能改成「符合你需求」的樣子,
Sorry~ 除非那修改是 August 也有興趣的,不然不會幫你們寫程式去面對工作或是交作業。
未來這類的留言不會再主動回覆。😎
另外,公開信箱是為了讓金流驗證用,
因為之前遇過幾次回信協助解決問題後,對方卻一聲謝謝也沒有,就這樣拿去幫工作交差。
因此決定不再回覆信件,有疑問就利用留言功能囉。