Telegram聊天機器人超詳細懶人包,商管人都看得懂【附Python程式碼】

👉【行銷搬進大程式】給您更多實用文章與免費教學影片,附贈Python程式碼!

Telegram聊天機器人超詳細懶人包,商管人都看得懂【附Python程式碼】

您肯定有發現許多名人、政治人物的官方Line帳號,最近都不再發訊息了呢?其實有在經營Line@的朋友都知道,自從Line@的收費機制改變後,每發一次訊息所需的費用高答數十萬(不同粉絲數量金額不同),少有人能付的起。

Telegram佈署的完整架構

Line@所費變高,但Line bot價格沒變,為何還要換Telegram?

會讓我想要退出Line bot機器人的最大原因,是因為Line bot開始限制每月推播數量。免費版每月只有500則,常常測試到一半就爆表,更別說要用來發送訊息給客戶的您;就算是付費版,也還是有上限,超過以量計價,品牌端真的吃不消。

[图片上传失败...(image-bf198f-1661917678555)]
](https://upload-images.jianshu.io/upload_images/28427114-ffb08f475dab4813.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

相對的我測試了Telegram,在15分鐘內,用迴圈無限循環,一直發送訊息,發送了1618封訊息,仍然還在進行。由於一直跳訊息有礙工作,所以沒有更深入的測試。

使用for迴圈一直對機器發送訊息

Telegram成了品牌與使用者溝通的下一個平台,除了主打免費外,群組人數最多可達20萬人,大大超越Line的500人。其中令我著迷的是,Telegram在機器人上,有許多令我欣喜若狂的資源,但在本篇文章不會介紹,我們先以做出一個「會重複說話」的機器人,為可交付成果。

可交付成果

1. 平台創建

本文的建造方式與前篇文章「打造聊天機器人,商管人也看得懂的最詳細步驟【2020年最新更新版本】」類似,都有申請HerokuGithub,但基於清楚的流程表達,這裡還是重複帶領您申請一次。若您已經熟悉了,可以自行跳過。

本次專案會使用到HerokuTelegramGithub三個平台,以下為您詳細說明建立流程。

1–1. Telegram API:

1–1–1. 呼叫BotFather:

telegram並沒有如Line Developer建立一個那麼龐大的平台,而是全部內嵌在telegram中。Telegram API的申請,首先要到BotFather,按下send message,就會在您的Telegram打開這個官方的「機器人老爸」了。

[图片上传失败...(image-63b806-1661917678555)]
](https://upload-images.jianshu.io/upload_images/28427114-1f9e1f432d89c18e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

1–1–2. 開始申請機器人:

在您的Telegram中,BotFather有給我們幾個超連結,是Telegram API的詳細文件,而對話框輸入的位置,會有一個「Start」的按鈕,按下就會下達指令「/start」。

會多一個機器人好友BotFather

1–1–3. 創立新的機器人:

每個「/」都代表一個指令,Telegram這邊介紹許多指令。而我們要使用到的是「/newbot」,顧名思義,就是創立一個新的機器人。這裡可以選擇用點擊的或者直接輸入「/newbot」。

在BotFather中輸入指令

1–1–4. 為機器人命名:

命名必須符合規則,Telegram要求機器人名稱的結尾一定要是「_bot」或者「Bot」,並且這個名稱必須要是獨一無二的。因此舉例來說,當初我想要命名「Ivan_bot(被用過)」或者「Ivanbot(不符合規定)」都不行,最後我使用「IvanYang_bot」作為機器人的名稱。

為機器人命名

到這裡機器人的申請告一段落,最後留下一串非常重要的token,因為作者必須保護自己的隱私,因此在本文將token假設為「8302849587:egrRdav568Qf9kEGfYJU」。

請注意!若有心人士拿到這個token,他就可以操控您的機器人,因此請妥善保管。

1–1–4.啟動機器人:*

完成後就會跳出聊天視窗,輸入的位置點選「Start」,就會看到屬於您自己的機器人了。

啟動機器人

1–2. Heroku平台:

平台在文章「打造聊天機器人,商管人也看得懂的最詳細步驟【2020年最新更新版本】」中有詳細介紹。

1–2–1. 創辦heroku帳號:

密碼要求必須要英文大小寫、數字混合。接下來的範例,需要將程式碼部屬(傳送)到上面。

Heroku連結

上圖顯示之商標權屬Heroku公司所有,會顯示該商標純屬連結貼入產生之結果,如有侵犯您權益,可以聯絡我們,立即移除

1–1–2. 創立一個新的APP專案:

按下右上角「Creat new app」。

創立一個新的AP

1–1–3. 創立專案:

專案的名稱必須是世界上獨一無二,類似線上遊戲角色ID的概念。到這裡heroku平台就告一段落了。等等進行串接的時候會再回來。

創建Heroku專案

1–3. Github:

平台在文章「打造聊天機器人,商管人也看得懂的最詳細步驟【2020年最新更新版本】」中有詳細介紹。

1–3–1. 創立Github帳號:

因為資安意識的抬頭,帳號申請加入了很多機器人驗證的過程。

Github連結

創立Github帳號

1–3–2. 創立Github專案:

專案的名稱只要不要在帳號中有重複即可。非常重要的一點,必須要句選Privite,否則等等上傳的程式碼中,會有您機器人的「密碼」,如果別人知道這組密碼,那它就可以利用您的機器人,隨意散播訊息,甚至是不法用途。

創建新的Github專案

2. 三大平台串聯

Telegram的串接,流程是與line一樣的,但並沒有像line那樣的繁瑣,相信您會更快上手。

2–1.下載Telegram bot程式碼:

裡面有三個檔案,簡單與您介紹。

Procfile

Heroku所需要的文件,讓Heroku的主機知道要開啟機器人的主程式是哪一個。因此檔案app.py的名稱若有做修改,這裡面也必須一起修改。

app.py

機器人的主程式,本文章會修改的程式碼都在這個檔案中。檔案內的方法reply_handler(bot, update)是主要編輯區塊,但與Line不同的是,Telegram API支援呼叫function,因此reply_handler並不是唯一可以被使用者呼叫的方法。

requirements.txt

告訴Heroku要安裝哪一些套件。requirement的意思就是先決條件,要搭建這個機器人,需要用到的套件,就是他的先決條件。

app.py

2–2. 貼上token:

將我們一開始申請機器人所得到的token貼在app.py程式碼第10行。

貼上token

2–3. 貼上你自己的ID:

找到自己ID的方式很有趣。首先先跟自己的機器人聊天兩句(當然他還不會理你)。而後在瀏覽器中輸入以下網址:

https://api.telegram.org/bot【你的token】/getUpdates

例如範例:

https://api.telegram.org/bot8302849587:egrRdav568Qf9kEGfYJU/getUpdates

您就會在網頁中得到類似下列的訊息。其中第二行可以看到「”id”: 1975876568」就是我的ID,這裡也是因為資安疑慮,所以修圖替換過。

貼上你自己的ID

到這裡聰明的您也發現,Telegram竟然幫我們記錄所有對話的時間、內容,連資料庫都省下來了,這對於財力不足的中小企業而言,是一大福音。

最後將你的ID貼到app.py程式碼中的第11行。

貼上你自己的ID

2–3:串接Webhook:

Webhook的設定方式與ID類似。首先到我們剛辦好的Heroku專案中,按下「Open app」,複製打開的網站網址。接下來將以下網址在瀏覽器中貼上:

請確認最後面要加/hook

https://api.telegram.org/bot【你的token】/setWebhook?url=【你的Heroku專案網址】/hook

如我的範例:

https://api.telegram.org/bot8302849587:egrRdav568Qf9kEGfYJU/setWebhook?url=https://ivan20200505.herokuapp.com/hook
串接Webhook

3. 上傳程式碼到平台

到了驗收的時刻,流程與之前Line bot機器人的教學一模一樣,但又更為簡單。

3–1. 上傳程式碼到Github:

請切換到各位剛辦好的Github專案,點選「Upload files」,並將四個檔案都拉進去。

上傳程式碼到Github

3–2. Heroku與Github連接:

請選擇Deployment method中的Github,以前機器人都是使用第一個heroku Git,他是使用終端機的方式。當初會這樣選擇是因為,當時github設置私有專案是要付費的,但現在變成免費的,那也會建議商管人用圖形化介面的Github就好,不要一直與終端機打交道。

Heroku與Github連接

3–3:佈署機器人:

拉到最下方,按下Deploy Branch即可佈署了。

佈署機器人

3–4. 測試機器人:

如果您的機器人有主動密你說:「你可以開始了」,那心就可以放一半了,如果你對機器人說話,他會重複你說的話,那就是成功了喔。

完整成品

下載完整程式碼-請點我


👉想看更多Python實作教學影片【免費】👈

📌Python基礎課程

📌Line Bot 聊天機器人

📌行銷人轉職爬蟲王實戰|5大社群+2大電商

📌Telegram Bot 聊天機器人

📌實用工具

▶ 點此:https://marketingliveincode.com/

查看更多Python工具技巧、商業分析、教學影片

滿意我們餐點嗎?給點 Claps 吧👏👏

1. 我學習到了新的概念與工具 1–10+

2. 我理解了這篇內容所講述的工具與技巧 20–30+

3. 我可以將這篇的內容運用到學習和工作上20–30+

作者:楊超霆(行銷搬進大程式 創辦人)

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,793评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,567评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,342评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,825评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,814评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,680评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,033评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,687评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,175评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,668评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,775评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,419评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,020评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,206评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,092评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,510评论 2 343

推荐阅读更多精彩内容