Python+LINE Bot 輕鬆打造股市機器人(四) : LINE Bot基本功能-推播與回覆

更新於 發佈於 閱讀時間約 8 分鐘

上篇文章中,我們學會了如何串接各個平台,並且簡單做出了一個會模仿我們說話的機器人,接下來我們將會從LINE Bot有哪些基本的回訊息功能來介紹起,而今天就先從推播以及回覆開始說起吧!!

何謂推播與回覆

其實在上一篇教學中,我們就有使用到推播與回覆功能,簡單來說,推播就是機器人主動傳送訊息,而回覆則是使用者輸入訊息後,機器人就會根據訊息進行相對應的回覆

但近幾年LINE開始針對機器人開始收費了,因此免費版的LINE Bot就會有一些的限制,像是一個月推播只能使用500則,而回覆則是無上限,因此想使用推播功能的使用者,就要注意這500則的上限,不然也可以改製作Telegram的機器人,Telegram就是免費無上限的,但因為本人還是習慣使用LINE,因此未來如果有機會再考慮看看是否要將股市功能製作到 Telegram上。

程式碼編寫

推播

在上一篇中,我們所使用到推播的地方就是在程式佈署完畢後,機器人會主動說出「你可以開始了」的字樣,在這我們使用到的程式碼就是「push_message」,所以我們打開 Visual Studio Code ,找到以下的程式碼,可以看到該段程式碼正是用到了push_message,而後方需要輸入兩個參數,一個為自己LINE Bot的ID,一個為要輸出的訊息為何

line_bot_api.push_message('你自己的ID', TextSendMessage(text='你可以開始了'))

那有人就會問拉,我怎麼知道目前我使用了幾則推播呢?

這部分我們要去LINE DEV中進行查詢,我們進入LINE DEV並且登入自己的LINE帳戶後,我們點選下圖中「Statistics」,也就是統計的部分

raw-image

接著往下看就可以看到每日的推播(Push messages)以及回覆(Reply messages)次數,也可以看到每月的統整次數,這樣就可以根據當月剩餘次數去安排如何進行推播

raw-image

回覆

回覆將會是我們LINE Bot中最常使用的一個功能,只要是使用者輸入一段訊息,機器人回覆相對應的訊息,這就叫做「回覆

最基本的回覆就是回覆指定文字,因此,我們今天就是要來練習如何回覆指定文字吧!!

還記得我們上篇教學中製作的機器人嗎,當我們隨便輸入文字後,機器人就會回覆一模一樣的話回來,這就是最簡單的回覆訊息方式,其程式碼如下

@handler.add(MessageEvent, message=TextMessage) 
def handle_message(event):
  message =event.message.text
  line_bot_api.reply_message(event.reply_token,TextSendMessage(message))
  1. @handler.add(MessageEvent, message=TextMessage) : 為告訴LINE Bot,當使用者輸入訊息,且訊息是文字時,我們就執行以下的程式碼,其中TextMessage為LINE Bot處理文字時所使用,我們將其放入message中
  2. message =event.message.text : 我們將接收到的message中的文字利用「.text」取出,並且再放入message中
  3. line_bot_api.reply_message(event.reply_token,TextSendMessage(message)) : 如果要回覆的話,就使用「reply_message」,往後的回覆都必須使用此函式,而括弧中必須傳入兩個參數,一個為接收訊息的token,每當有使用者輸入訊息時就會產生一個token,該token只會使用1次,用完即丟,此主要是因為LINE Bot可能需要同時面對多個使用者,其必須知道是要回覆哪個使用者訊息。另一個參數就是我們要回傳給使用者的訊息,在此我們希望的是回覆一模一樣的話,因此,我們要將剛剛接收到並擷取出來的訊息放入此參數,而我們前面說過,我們要回傳文字訊息的話,就必須加上TextSendMessage,不然系統就會出現錯誤唷!!

但這時就會有人問拉,這機器人只會回覆一模一樣的話,真的太不夠智慧了吧,我們當然是希望回傳不一樣的文字才對

所以,我們就來製作一個,當LINE Bot收到特定訊息時,我們可以回傳另一個特定訊息回去

import re 
@handler.add(MessageEvent, message=TextMessage)
def handle_message(event):
  message = event.message.text
  if re.match("你是誰",message):
    line_bot_api.reply_message(event.reply_token,TextSendMessage("才不告訴你勒~~"))
  else:
    line_bot_api.reply_message(event.reply_token,TextSendMessage(message))
  1. if re.match("你是誰",message) : 在此我們使用到re,re.match的作用就是判斷文字是否一樣,我們一樣需要2個參數,一個為要符合的文字,一個為要比對的文字,在此我們希望的是接收的訊息為「你是誰」,所以當使用者輸入你是誰時,LINE Bot就會跑到這個if中執行其中的程式碼(※記得在先前import那多加上「import re」,這樣才能使用唷!!)
  2. line_bot_api.reply_message(event.reply_token,TextSendMessage("才不告訴你勒~~")) : 這行應該不用多說了吧,跟上面唯一不同的地方就在最後要回傳的訊息,我們改為回傳「才不告訴你勒~~」

上傳並佈署

最後當然就是要重新將寫好的程式碼上傳到Github中,並佈署到heroku上囉!!

記得要先將寫好的程式碼按下「Ctrl + s」才會儲存喔!!

一樣,先打開自己的github,並且選擇上次創建的資料夾,接下來一樣點選「Add file」中的「Upload files」進行上傳

raw-image

進去以後,將我們更改過的app.py進行上傳,如果不記得哪個程式檔有修改過,也可以將所有程式檔一同上傳更新,這樣就不會遺漏掉了

raw-image

如果程式檔有修改過,重新上傳的檔案就會顯示最新時間「now」,如果上傳一樣的檔案,但沒有進行修改過,github將不會更改上傳時間,因此可以查看這時間是否有更新,來判斷檔案是否上傳成功

raw-image

接下來打開heroku進行佈署

一樣點選「Deploy

raw-image

向下滑到底點選「Deploy Branch」進行佈署

raw-image

當佈署成功後,我們的機器人就會跳出「你可以開始了」表示佈署成功,接著我們一樣輸入「你好」,機器人一樣會回答「你好」,但當我們輸入「你是誰」時,機器人則告訴我們「才不告訴你勒~~」,這樣就表示我們今天的任務達成拉🤗

raw-image

總結

今天我們又更進一步了,不再只是單純回答一模一樣的文字,則是有點像是對話的回答了,在這大家可以先嘗試指定多個特定訊息,並且讓機器人回傳各式各樣的訊息,也要記得最後一步「上傳並佈署」,往後都會是一樣的步驟,就不會再多做說明,所以請熟記這一步驟,那我們下次就再教大家更多LINE Bot提供的不同回話方式吧!!

留言
avatar-img
留言分享你的想法!
avatar-img
陳式語言の投資之道
191會員
59內容數
我出生於財務金融與資訊背景,滿20歲便開始踏入股市。從當初對股市一無所知的菜鳥,到現在成為一名專注於AI股市研究的分析師,這是我的成長歷程。   我崇尚彼得·林區所強調的理念,認為在生活和工作中觀察,從周遭環境中挑選出適合投資的股票,並搭配近期快速崛起的程式交易、大數據分析等AI技術,立志打造輕鬆又便利的投資之路。
2022/12/03
在上一篇教學中,我們學會了如何創建簡易且免費的資料庫,而本篇我們就來學習如何利用python與SQL進行結合,並將資訊傳遞到LINE BOT之中,我們將以簡單的股票追蹤清單作為教學,如果還沒看過上一篇如何安裝SQL Server 2019 免費開發版的人記得先去安裝唷!!
Thumbnail
2022/12/03
在上一篇教學中,我們學會了如何創建簡易且免費的資料庫,而本篇我們就來學習如何利用python與SQL進行結合,並將資訊傳遞到LINE BOT之中,我們將以簡單的股票追蹤清單作為教學,如果還沒看過上一篇如何安裝SQL Server 2019 免費開發版的人記得先去安裝唷!!
Thumbnail
2022/11/05
當我們抓取了相當多的網站資料,這些來自不同網站的資料總不可能全都匯集成一張Excel吧,因此通常在寫程式的使用者,都需要一個可以存放資料,並進行串聯的資料庫(SQL),因此我們今天就來教大家如何安裝使用免費的資料庫吧!!
Thumbnail
2022/11/05
當我們抓取了相當多的網站資料,這些來自不同網站的資料總不可能全都匯集成一張Excel吧,因此通常在寫程式的使用者,都需要一個可以存放資料,並進行串聯的資料庫(SQL),因此我們今天就來教大家如何安裝使用免費的資料庫吧!!
Thumbnail
2022/10/15
每個人都有自己檢視個股好壞的方式,但總是希望每次在查詢時,如果能一鍵就檢視完成那該有多好。今天我們就來學習如何製作一份地雷股檢視圖,學會後就能夠如法炮製,製作自己的一鍵檢視清單,不用再上網依靠其他網站手動檢查,可以省下一大段時間,又能及時了解要投資的個股好壞,以便能適時做出買賣決策
Thumbnail
2022/10/15
每個人都有自己檢視個股好壞的方式,但總是希望每次在查詢時,如果能一鍵就檢視完成那該有多好。今天我們就來學習如何製作一份地雷股檢視圖,學會後就能夠如法炮製,製作自己的一鍵檢視清單,不用再上網依靠其他網站手動檢查,可以省下一大段時間,又能及時了解要投資的個股好壞,以便能適時做出買賣決策
Thumbnail
看更多
你可能也想看
Thumbnail
常常被朋友問「哪裡買的?」嗎?透過蝦皮分潤計畫,把日常購物的分享多加一個步驟,就能轉換成現金回饋。門檻低、申請簡單,特別適合學生與上班族,讓零碎時間也能創造小確幸。
Thumbnail
常常被朋友問「哪裡買的?」嗎?透過蝦皮分潤計畫,把日常購物的分享多加一個步驟,就能轉換成現金回饋。門檻低、申請簡單,特別適合學生與上班族,讓零碎時間也能創造小確幸。
Thumbnail
嗨!歡迎來到 vocus vocus 方格子是台灣最大的內容創作與知識變現平台,並且計畫持續拓展東南亞等等國際市場。我們致力於打造讓創作者能夠自由發表、累積影響力並獲得實質收益的創作生態圈!「創作至上」是我們的核心價值,我們致力於透過平台功能與服務,賦予創作者更多的可能。 vocus 平台匯聚了
Thumbnail
嗨!歡迎來到 vocus vocus 方格子是台灣最大的內容創作與知識變現平台,並且計畫持續拓展東南亞等等國際市場。我們致力於打造讓創作者能夠自由發表、累積影響力並獲得實質收益的創作生態圈!「創作至上」是我們的核心價值,我們致力於透過平台功能與服務,賦予創作者更多的可能。 vocus 平台匯聚了
Thumbnail
打造 LINE AI Chatbot,將 LINE 官方渠道串接 ChatGPT AI,讓 AI 根據用戶問題給予對應回覆,在回覆廣度或深度都更完整。輕鬆處理龐大訊息量,自動生成回覆並立即回應,提升訊息處理效率!更支援「針對 AI 回答設定框架」,於指定資料表內搜尋資料生成回覆,提高回覆準確性!
Thumbnail
打造 LINE AI Chatbot,將 LINE 官方渠道串接 ChatGPT AI,讓 AI 根據用戶問題給予對應回覆,在回覆廣度或深度都更完整。輕鬆處理龐大訊息量,自動生成回覆並立即回應,提升訊息處理效率!更支援「針對 AI 回答設定框架」,於指定資料表內搜尋資料生成回覆,提高回覆準確性!
Thumbnail
這堂課闡述開發ChatGPT所需的重要概念和工具。涵蓋語言模型如何處理文字(Token),LLM的兩種類型(Base LLM和Instruction tuned LLM),系統、助手和用戶的角色定義。並介紹以Prompting簡化AI開發流程,且透過實戰教學說明如何進行分類和預防注入提示
Thumbnail
這堂課闡述開發ChatGPT所需的重要概念和工具。涵蓋語言模型如何處理文字(Token),LLM的兩種類型(Base LLM和Instruction tuned LLM),系統、助手和用戶的角色定義。並介紹以Prompting簡化AI開發流程,且透過實戰教學說明如何進行分類和預防注入提示
Thumbnail
由于 ChatGPT 的出現讓我們看到了聊天機器人的新可能性,我們這篇文章的目的,就是要來製作第一個屬於自己的聊天機器人。 我們先來準備範例的程式碼,並且稍後會再跟大家介紹要設計自己的 ChatGPT 聊天機器人的重要概念。 初始專案與環境設定 下載程式碼 請先使用下面這一段指令下載我們的範例程式碼
Thumbnail
由于 ChatGPT 的出現讓我們看到了聊天機器人的新可能性,我們這篇文章的目的,就是要來製作第一個屬於自己的聊天機器人。 我們先來準備範例的程式碼,並且稍後會再跟大家介紹要設計自己的 ChatGPT 聊天機器人的重要概念。 初始專案與環境設定 下載程式碼 請先使用下面這一段指令下載我們的範例程式碼
Thumbnail
前言 ChatGPT 的熱門程度早已想當然而,企業們爭相開始導入 OpenAI 技術的應用,好比進入了 AI 群雄割據的年代,不過 Microsoft Copilot 的主權宣示,這個重視高生產力時代,將會暫時遠離一場腥風血雨的爭鬥。 回歸本次的主角「AI 客服機器人」,筆者將他應用於課程回覆的狀況
Thumbnail
前言 ChatGPT 的熱門程度早已想當然而,企業們爭相開始導入 OpenAI 技術的應用,好比進入了 AI 群雄割據的年代,不過 Microsoft Copilot 的主權宣示,這個重視高生產力時代,將會暫時遠離一場腥風血雨的爭鬥。 回歸本次的主角「AI 客服機器人」,筆者將他應用於課程回覆的狀況
Thumbnail
如果常常遇到顧客詢問相同的問題,或是打烊期間沒有辦法即時回覆顧客 這時候就可以設定自動回覆訊息幫店家減輕回覆人力,也不會讓顧客覺得怎麼都沒有人回應喔! 如果!!又不想讓客戶感覺在跟機器人對話 想在空閒時間可以回覆客戶,聊天功能要先開啟喔! 確定什麼時間才可以回覆顧客後,就可以開始設定回應的
Thumbnail
如果常常遇到顧客詢問相同的問題,或是打烊期間沒有辦法即時回覆顧客 這時候就可以設定自動回覆訊息幫店家減輕回覆人力,也不會讓顧客覺得怎麼都沒有人回應喔! 如果!!又不想讓客戶感覺在跟機器人對話 想在空閒時間可以回覆客戶,聊天功能要先開啟喔! 確定什麼時間才可以回覆顧客後,就可以開始設定回應的
Thumbnail
程式原碼: https://github.com/JokerWuXin/ChatGpt-LineBot 步驟: S1.至OPEN AI 取得 API KEY S2.至LineBot 取得 Channel access token 、Channel secret 並 進行相關設定 S3.至Verce
Thumbnail
程式原碼: https://github.com/JokerWuXin/ChatGpt-LineBot 步驟: S1.至OPEN AI 取得 API KEY S2.至LineBot 取得 Channel access token 、Channel secret 並 進行相關設定 S3.至Verce
Thumbnail
今天我們再來教更多不一樣的回訊方式,像是讓機器人回傳圖片、影片,甚至是音訊,使我們的機器人更佳的活靈活現,就讓我們趕快開始今天的教學吧!!
Thumbnail
今天我們再來教更多不一樣的回訊方式,像是讓機器人回傳圖片、影片,甚至是音訊,使我們的機器人更佳的活靈活現,就讓我們趕快開始今天的教學吧!!
Thumbnail
今天我們繼續來教學LINE Bot的一些基本功能,在之前的教學中,我們都單純的讓機器人回覆文字,但這樣就讓機器人顯得有點生硬,為了讓其更加的活靈活現,LINE官方還提供其他不一樣的回訊方式,而今天我們就來教大家如何讓機器人回傳貼圖以及位置座標吧!!
Thumbnail
今天我們繼續來教學LINE Bot的一些基本功能,在之前的教學中,我們都單純的讓機器人回覆文字,但這樣就讓機器人顯得有點生硬,為了讓其更加的活靈活現,LINE官方還提供其他不一樣的回訊方式,而今天我們就來教大家如何讓機器人回傳貼圖以及位置座標吧!!
Thumbnail
在上篇文章中,我們學會了如何串接各個平台,並且簡單做出了一個會模仿我們說話的機器人,接下來我們將會從LINE Bot有哪些基本的回訊息功能來介紹起,而今天就先從推播以及回覆開始說起吧!!
Thumbnail
在上篇文章中,我們學會了如何串接各個平台,並且簡單做出了一個會模仿我們說話的機器人,接下來我們將會從LINE Bot有哪些基本的回訊息功能來介紹起,而今天就先從推播以及回覆開始說起吧!!
Thumbnail
什麼是聊天機器人?聊天機器人為什麼重要?Facebook聊天機器人應用AI聊天機器人。哪種聊天機器人應用適合你? 簡單化人類和計算機之間互動的新工具已經進入市場。聊天機器人或虛擬助手。在銀行業務中,聊天機器人和虛擬助理是業界最新的工具,旨在簡化人類和計算機之間的互動。
Thumbnail
什麼是聊天機器人?聊天機器人為什麼重要?Facebook聊天機器人應用AI聊天機器人。哪種聊天機器人應用適合你? 簡單化人類和計算機之間互動的新工具已經進入市場。聊天機器人或虛擬助手。在銀行業務中,聊天機器人和虛擬助理是業界最新的工具,旨在簡化人類和計算機之間的互動。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News