寫了一個套件,雖然現在還沒啥功能,只能發送文字和照片。
也不是只有搞了個套件,還嘗試了用Sphinx自動產生文件然後托管到Read The Docs,被autodoc路徑折騰了不少時間...這是另一段故事了。雖然現在才開始研究怎麼寫Telegram Bot,也有多種程式語言的現成框架可以用,但我不想要使用高度封裝的複雜框架,所以決定一邊學習Telegram Bot API,一邊完成這個套件,希望我有足夠的時間和心力 😌
Botlegram
鏘!鏘!經過一番折騰終於發佈到Github上了,我希望能保持它的彈性,不要做多餘的事,它就只是一個Telegram Bot API的Python版本,所以功能函式命名也會盡可能地保持與Telegram Bot API methods一致。
- source code: Botlegram
- online document: Botlegram Doc
Tutorial
準備工作:
- 以下說明是以部署在Heroku為例,所以必須先準備一個Heroku帳號,然後建立一支APP
- 初次使用Heroku則必須先安裝Heroku CLI
- 下載我預先準備的Telegram Bot懶人包: echo Bot
- 和Telegram官方帳號BotFather進行對話 (取名叫Bot Father我覺得很有趣 😆 ),按指示建立Bot取得專屬token,此token必須由你自己妥善保管,因為任何人都能使用這個token來控制你的Bot。
解壓縮懶人包echoBot.zip
開啟app.py:
- your_bot_token替換成你的專屬token
- your_host替換成你的Heroku App網址,請注意不可忽略的斜線 e.g. "https://APP_NAME.herokuapp.com/"
部署到Heroku
打開終端機依照下方指令操作,APP_NAME替換成你的Heroku App name
shell
$ cd echoBot
$ heroku login
$ heroku git:remote -a APP_NAME
$ git add .
$ git commit -am "echo Bot"
$ git push heroku master
確認與測試
部署成功的話,可以在Heroku的APP Logs頁面看到「Webhook is already set」
shell
Starting process with command `gunicorn app:app`
[INFO] Starting gunicorn 20.0.4
[INFO] Listening at: http://0.0.0.0:10426 (4)
[INFO] Using worker: sync
[INFO] Booting worker with pid: 10
[INFO] Booting worker with pid: 11
State changed from starting to up
* [Bot] Webhook is already set
* [Bot] Webhook is already set
打開Telegram和你的機器人對話,它應該會開始鸚鵡學舌囉 🐧