前言:
本篇內容需要以下的材料:
- python 3.6以上
- 安裝 Git
- 下載 Ngrok
- 申請 Heroku 帳號 & 安裝 Heroku CLI
- 申請 Telegram Bot
快速懶人包:
直接使用本篇的範例程式: GitHub
$ git clone https://github.com/rs6000/01TelegramBotQuickStart.git
$ pip install -r requirements.txt
填入TelegramBot的token:
# mysite/myapp/views.py
bot=telebot.TeleBot('yout token')
執行Ngrok取得測試用網址:
設定Telegram Bot所需的webhook:
格式:
https://api.telegram.org/bot{TOKEN}/setwebhook?url={URL}
本篇範例所使用的網址格式:
https://api.telegram.org/bot{TOKEN}/setwebhook?url={URL}/api/telegram
把token跟Ngrok給的網址複製貼上到上面的格式中,再把整串貼到瀏覽器上
開啟。正確的話會得到回應如下:
{"ok":true,"result":true,"description":"Webhook was set"}
ps:如果之前已經設定過webhook,請先刪除舊的再換上新的。Ngrok每次
的網址都是不同的。
格式:
https://api.telegram.org/bot{$token}/deleteWebhook
輸入正確會得到下面的回應:
{"ok":true,"result":true,"description":"Webhook was deleted"}
打開Telegram Bot對話視窗 & 測試:
最後:
如果電腦內已經有安裝python &編輯器的話,把這篇提供範例檔
下載到電腦,建立環境到測試Telegram ChatBot,應該不超過10分鐘
網路上有很多Telegram ChatBot的範例(Python版)
但大多是單檔或用Flask。用Telegram + Django
相關的關鍵字在Google底下,找不到適合起步的範例
...最後在Youtube看到教學影片,才把內容寫成這篇。
剩下佈署到Heroku的內容留到下篇文章。
Reference:
- heroku-deploy-django-telegrambot-webhook 作者來自烏茲別克
- pyTelegramBotAPI 本篇所使用的套件,範例程式就很好用了
- Python Telegram Bot 機器人 教學文章 使用Flask