Python – Telegram 報訊機器人實戰教學 (1)

TG_bot_Featured_Pics

前言:

關於聊天機器人報訊機器人也是聊天機器人的其中一種。我們開發爬蟲程式去爬資料以後,若不能馬上爬完,例如爬N天的任務,總是會想要知道到底爬得如何,結果能不能直接回傳手機呢? 本文就要教大家直接來製作自己的Telegram機器人。雖然之前有文章撰寫過,但相信你還是會遇到坑,今天就重頭來,讓大家知道整個實戰製作的經過。這下你又跳過很多坑了。

用python傳送文字到telegram機器人總是缺字-一個指令解決

什麼是Telegram? 關於它的背景可以點上面連結觀看了解。為了方便書寫,後面關於Telegram就簡稱TG了;這也是坊間大家對Telegram的稱呼。

嚴格來說,本文其實跟Python關連不大,但大家總是用Python來當爬蟲居多,因此文章後面章節會直接提供 Python Sample Code供大家複製貼上使用。

本文章學習的架構如下

  • A. 在TG裡面申請機器人
  • B. 開一個群組並取得chat_id
  • C. 立即傳文字訊息
  • D. 加碼教你傳送照片

A. 在TG裡面申請機器人

TG申請機器人時,有個很有趣的機制,要先到搜尋的介面搜尋BotFather,所有的TG聊天機器人,都是這個機器人之父所產生的。

進去以後他會有個歡迎畫面。

直接按下Start 就開幹了!

真是有夠佛心的,免費的功能還一堆。

要創立新的機器人就直接打 /newbot

想要編輯或設定舊的機器人就打 /mybot

這邊要注意,機器人名字的結尾都要是 _bot

不得不說;這邊就可以玩非常久了,裡面有很豐富的設定,設定頭像、說明等等。

總之照著這個BotFather聊天機器人的引導就能設定完成了,這邊不贅述。

這邊最重要的工作只有兩個 1. 設定好機器人 2.取得 bot API Token

bot API Token它長這樣
606248885:AAGvwTOJdNNMcv3toHKddX6M1devs1tGxJA
一串號碼+一串亂碼,總之先複製保存起來吧,後面都要用上。

B. 開一個群組並取得chat_id

這邊我們要做的事情是開一個聊天群組,把機器人加入群組,然後讓機器人在裡面服務整個群組的人。包含自動報訊息、聊天互動等等…

TG 很佛心也很有彈性,更支持各種開發工具、平台的API,因此其實最快最簡單的方式,就是直接在Web Browser上打一段URI,就可以直接傳訊息到對應的群組。 因此,若你無法取得群組的 chat_id,你就無法把訊息正確傳進來。chat_id 就像房子的門牌號碼,沒給對,外送員無法把派對食物送達。

前方高能注意!!

不得不說,這裡就是一個大坑,因為所有的文件都要把下面的連結貼到瀏覽器裡面,去找出chat_id

https://api.telegram.org/bot<這裡改成你的API Token>/getUpdates

嘿嘿,若你照做,你會看到一個空的JSON資料,任你玩弄幾遍也出不來。人生就這樣無盡的消耗掉。

試著這樣做,先在群組裡面打打文字,產生一點互動。

接著把這段URI再貼到群組,你猴急在TG的群組裡面點下去,結果也什麼都沒有。沒關係,哭吧~

https://api.telegram.org/bot<這裡改成你的API Token>/getUpdates

接下來試著長按這個連結,接著它會跳出下面的介面,問你是要OPEN還是COPY,點選OPEN。

恭喜你閃過坑了!! 成功增加壽命! 不用把人生消耗在無謂的嘗試上面。當然也不要問我為什麼會這樣,或是你的方法跟我不一樣,一樣有辦法找出來。這邊提供的是一種方法,可以讓你閃坑不要被雷到,也許有其他的方法,就不探究了。

看著下面的圖,JSON的檔案裡面藏有chat_id,直接用瀏覽器的搜尋吧,打入 id

有 id 的地方都亮黃色了!! 這時候你要注意,裡面有很多不是你要的東西。我們要找的是群組chat_id,有個相當顯著的特色,就是群組號碼前面有 – 號
如下圖 -49883**** 開頭的就是了。記住它,它就是你聊天派對的門牌號碼!!

小結:

以上就完成了設定bot,以及找出群組chat_id的步驟了。礙於篇幅過長不易閱讀,文章先寫到這邊,若有需要實操 Python Sample Code的人請關注下面連結

Python – Telegram 報訊機器人實戰教學 (2)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *