Skip to content

Instantly share code, notes, and snippets.

@rs6000
Last active May 7, 2020 21:29
Show Gist options
  • Save rs6000/70da1900abc6a964234aa706f01439cf to your computer and use it in GitHub Desktop.
Save rs6000/70da1900abc6a964234aa706f01439cf to your computer and use it in GitHub Desktop.
01_TelegramBot

建立Telegram ChatBot in Django2.0

前言:

本篇內容需要以下的材料:

  • python 3.6以上
  • 安裝 Git
  • 下載 Ngrok
  • 申請 Heroku 帳號 & 安裝 Heroku CLI
  • 申請 Telegram Bot

快速懶人包:

直接使用本篇的範例程式:

$ git clone https://github.com/rs6000/01TelegramBotQuickStart.git
$ cd mysite
$ pip install -r requirements.txt

填入TelegramBot的token:

# mysite/myapp/views.py
bot=telebot.TeleBot('請輸入你的token!!!')

執行Ngrok取得測試用網址:

圖片1

設定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對話視窗 & 測試:

圖片2

最後:

如果電腦內已經有安裝python &編輯器的話,把這篇提供範例檔 下載到電腦,建立環境到測試Telegram ChatBot,應該不超過10分鐘 網路上有很多Telegram ChatBot的範例(Python版) 但大多是單檔或用Flask。用Telegram + Django 相關的關鍵字在Google底下,找不到適合起步的範例 ...最後在Youtube看到教學影片,才把內容寫成這篇。

剩下佈署到Heroku的內容留到下篇文章。


Reference:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment