預備資源及能力
- Telegram 帳號
- Node.js
- git
- 英文閱讀能力
Telegram新增機器人
-
先在搜尋欄搜尋: @BotFather
- 其為Telegram的機器人始祖,所有的機器人都需先向它註冊
-
訊息欄輸入「/newbot」指令,開始創新的機器人
- 接下來輸入想給機器人取的名字(任何語言即可)
- 取username,就像這個機器人專屬的ID一樣,一定要bot做結尾。BotFather會回傳一組token(黃色遮起來的部份)給你,這很重要!!,因為當你要佈署機器人到伺服器後,設定setwebhook時就需要token了!
- 當上面步驟完成後,就能在搜尋欄搜尋自己的機器人了,例如我的username是「THU_mou_bot」,如下圖:
-
機器人基本設定
- 回到BotFather的聊天室,輸入「/mybots」指令,列出自己所創的所有機器人。
- 點選你剛剛所創的機器人
- 點選「Edit Bot」,編輯機器人基本資訊。
- 點選任何想更改的資訊,照著BotFather給的回應,很快就能設定好了!
- 修改「Description」,會把其資訊顯示在一開始進入機器人時的畫面。
- 修改「About」,會顯示在機器人的個人資訊。
- 當你修改好這些設定,會發現,上面的訊息會同步更新。
- 修改「Botpic」,上傳機器人的大頭貼,按下按鈕後,請上傳一張圖片。
- 點選「Edit Commands」,即可為機器人增加指令,可讓人家快速查閱此機器人的指令,就像你在BotFather輸入「/newbot」、「/mybots」一樣,都是在這裡設定而成的指令。
- 可回到自己的機器人,再訊息欄輸入「/」開頭,就會顯示剛剛設定的指令了
編寫程式碼
太多要解釋了,我很懶XD,直接git clone這一個範例即可
下載回你自己的電腦後,記得把.git的資料夾重新init哦,不然你push時的目標會是我的github
Heroku設定
-
https://dashboard.heroku.com ,請先自行申請帳號
-
進入dashboard後,選擇右上角的「New」,新增一個App,點選「Create new app 」。
-
幫heroku app取名,不能有底線、不能有大寫等規則。
-
創建好後,應會在「deploy」的選單頁面,往下看,會看到「Deploy using Heroku Git」區塊,這裡是教你怎麼把寫好的node.js app發佈到Heroku上。 第一次佈署跟往後的deploy會不太一樣。
a. 先下載Heroku CLI,往後的佈署皆會需要用到。
b. 照著上面的步驟繼續,先回到node.js的專案,開啟終端機,輸入「heroku login」,這時會跳出網頁頁面,讓你輸入heroku帳密,認證後,就可以做佈署了。
c. 確認路徑在node.js專案下後,輸入下方的指令:
d. 發佈完成的node.js專案:
e. 再來回到你的機器人,輸入任何語句,即會得到回覆,如下:
SetWebhook
-
若輸入訊息,機器人已讀不回,可能有一個原因是webhook跑掉了,需要重置。
-
打開任一個瀏覽器,輸入:
-
發佈在heroku上的url,可至 Settings 找到 「Heroku git URL」,是即。
-
這一個步驟是把Telegram Bot與Heroku上的專案串聯起來