iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 3
33
Modern Web

只要有心,人人都可以做卡米狗系列 第 3

第三天:作一隻最簡單的 Line 聊天機器人

我們今天來作一個最簡單的 Line 聊天機器人,要完成這個目標,我們連一行程式都不用寫。

建立 Line Messaging API 帳號

第一步:開啟 Line developers 首頁

https://developers.line.me/en/

首頁長這樣:

我們把注意力放到右上角,看到那顆 Log in 按鈕了嗎?勇敢地按下去。

他說:請輸入你正確的名字(Name)跟信箱(Email address)。

填好後就可以按下 Confirm。

然後他要求你再次確認你沒有亂填,當然我相信你沒有亂填,這裡直接按下右邊的 Register 就可以。

恭喜你成為一個開發者,這邊我們直接按下 Start。

玩到這裡你應該會注意到一件事:如果畫面上有綠色按鈕,按下去就對了。所以這裡我們按 Create provider。

如果你有開公司,這裡填公司名字。沒有開公司的話這裡就填你的名字,填完按 Confirm。

又是再次確認畫面,按綠色的 Create。

哇!這裡有三個綠色按鈕,該按哪個呢?答案是按右邊的 Messaging API。

從這裡開始,我們要填入的是聊天機器人的相關資訊。

  • App icon:聊天機器人的大頭照
  • App name:聊天機器人的顯示名稱
  • App description:聊天機器人的簡介,不過這欄隨便填就可以了,因為好像不會被任何人看見。
  • Plan:Developer Trail 是試用版,Free 是免費版。當然試用版也是免費,差別在於試用版只能加 50 個好友,但是可以使用加值功能,建議選試用版。
  • Category:這個隨便選
  • Subcategory:這個也隨便選
  • Email address:這裡填信箱

我的填完之後長這樣:

填好就可以按 Confirm。

不曉得為什麼, Line 很愛再次確認,這裡有兩個勾勾要打,先打勾再按 Create。

終於創好聊天機器人囉!點進去看看,這裡當然就不是點綠色按鈕了。

訊息量很大,不過我們直接看到最後面有個 QR code of your bot。

加入聊天機器人為好友

拿起你的手機,作行動條碼掃描。

點綠色的加入。

傳訊息給這個聊天機器人

點進私聊畫面後會看到他傳了一個訊息給你:

這是歡迎訊息(Greeting messages),隨便跟他說句話先。

你應該會注意到沒地方可以打字,這裡要先按左下角的鍵盤按鈕,然後再打字。

這是自動回覆訊息(Auto-reply messages)。

最簡單的聊天機器人到此完成!!!!

但是要怎麼控制他呢?

登入後台修改歡迎訊息

從這個網址可以找到剛剛創好的聊天機器人。

https://developers.line.me/console/

跟剛剛一樣,先點進去,最下面的 QR code of your bot 再往上一點:

這裡可以修改歡迎訊息和自動回覆訊息,這裡我們先點下面的 Set message。

你有可能會看見要求登入的畫面:

或者直接進入招呼語設定頁:

這裡是全中文的,是因為這裡已經是 Line@ 的後台,而不是 Line developer 的後台。Line developer 的後台目前還沒有作中文版。也就是說,我們剛創好的聊天機器人帳號,其實是一個啟用了 Line Messaging API 的 Line@ 帳號。

稍微改一下字之後按儲存。這裡我們需要測試一下剛剛的設定有沒有正確運作。

測試的方法是先封鎖聊天機器人。

再解除封鎖。

成功!

修改自動回應

我們不用回到 Line Developer 後台,直接點左邊的自動回應作設定就可以。

點擊後會看到這個畫面。

接著一樣點紅色箭頭的部分,修改預設值。

這裡就隨便填入一個幹話。

按儲存,然後試用一下。

馬上就變成幹話機器人。

新增關鍵字回應

如果你都有仔細看,應該會發現左邊有一個叫作是關鍵字回應訊息的,剛剛應該很想點進去看吧?現在可以點了,點進去長這樣:

我們點綠色的建立關鍵字按紐。

在代表關鍵字我們填入「QQ」,然後在下面一堆按紐的地方點一下文字按紐,接著在文字區塊填入「我難過」。

然後按下儲存。

測試一下結果:

所以關鍵字回應其實 Line@ 平台已經作好了。

對的,只有作者能教的卡米狗這樣就完成了,你還能自行切換大頭照跟顯示名稱。

怎麼讓聊天機器人能加入群組?

其實就在剛剛的 Line Developer 後台,再往上看一點。

Allow bot to join group chats (允許機器人加入群聊) 預設值是 Disabled,我們按一下右邊那個鉛筆按鈕,改成另一個選項,再按 Update 就好了。

怎麼讓其他人也能加關鍵字回應?

要像卡米狗那樣讓大家都能夠透過對話新增關鍵字回應的話,我們需要使用 Line Messaging API 中的 Webhook 功能。

明天會介紹 Webhook 的運作原理。


上一篇
第二天:認識卡米狗
下一篇
第四天:認識 Webhook
系列文
只要有心,人人都可以做卡米狗33
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
3
polly
iT邦新手 5 級 ‧ 2018-01-02 03:26:13

原來是這樣,很詳細的解說,感謝分享

/images/emoticon/emoticon41.gif

1
ss870622
iT邦新手 5 級 ‧ 2018-05-28 20:22:52

https://imgur.com/m2jNKXD
我的gem不能用
(上面圖片發不出來)

你還沒裝 ruby 吧?

ss870622 iT邦新手 5 級 ‧ 2018-05-29 14:18:06 檢舉

解決了 裝很多次
還跑去還原
從版本問題 一直到
sqlite3的問題都有
最後總算是解決了

ss870622 iT邦新手 5 級 ‧ 2018-05-29 14:18:08 檢舉

解決了 裝很多次
還跑去還原
從版本問題 一直到
sqlite3的問題都有
最後總算是解決了

0
king540514
iT邦見習生 ‧ 2018-07-15 15:35:20

要怎麼讓機器人進群阿,即使開了能讓機器人進群,但是既收不到用戶傳來的群組網址,也無法收到邀請

不可能啊!

你開個新群組,邀請 bot 進群會失敗?

0
king540514
iT邦見習生 ‧ 2018-07-17 21:19:10

沒收到邀請,bot也沒有進

你做了什麼事情?

你是不是邀到有其他機器人的群組
我剛剛試邀也忘記這個前提

0
zhouwan391
iT邦新手 5 級 ‧ 2018-10-15 15:08:19

請問 關鍵字回覆用圖片 卻沒有出現?

看更多先前的回應...收起先前的回應...

什麼東西沒出現?

在關鍵字的回覆中
也可以用圖片回覆對吧?
我有上傳圖片
測試 卻沒有出來

你可以到line後台截個圖嗎?

0
just871107
iT邦見習生 ‧ 2018-12-06 16:43:23

請問有辦法設定機器人在群組有人進入/退出時自動講話嗎?

從上個月開始 可以

0
just871107
iT邦見習生 ‧ 2018-12-07 13:25:14

請問有教學嗎?麻煩你了

OK 我有空寫

請關注最新的卡米狗系列文:https://ithelp.ithome.com.tw/users/20107309/ironman/2079

0
t310512
iT邦見習生 ‧ 2018-12-14 01:01:25

請問要怎麼設計進群跟離群的發言

之後會寫在新的系列文,請關注最新的卡米狗系列文:https://ithelp.ithome.com.tw/users/20107309/ironman/2079

感謝回答,幫助很多。

1
sammi98
iT邦新手 5 級 ‧ 2019-02-26 16:05:08

真的很簡單~ 謝謝~ 你教得很詳細

謝謝~

0
flyhome55
iT邦新手 5 級 ‧ 2019-03-04 21:37:36

大大您好 不好意思打擾您了 能否請教您一些有關於賴群機器人的問題
有看了您的文章 但還是想請教一下要如何讓機器人在有人加進群組的時候會自動傳送歡迎之類的訊息?
另想請教要如何讓機器人在某個固定的人發新貼文或是開直播的時候機器人會自動貼連結到群組裡?
以上問題想向您請教 麻煩您了 非常感謝您

Q:如何讓機器人在有人加進群組的時候會自動傳送歡迎之類的訊息?

A:當你使用 Line Messaging API 時,你的聊天機器人會在有人加入群組時收到一個 memberJoined 事件,詳細請參考:https://developers.line.biz/en/reference/messaging-api/#member-joined-event

你可以對這個事件作回應。

Q:要如何讓機器人在某個固定的人發新貼文或是開直播的時候機器人會自動貼連結到群組裡?

你需要使用 Line 提供的 push API,並且串接對方(Facebook 或者 twitch)提供的 API,或者使用爬蟲技術去定期檢查有沒有新貼文。

或者你可以考慮使用 IFTTT + Line Notify 來做。

0
qazft12v
iT邦新手 5 級 ‧ 2019-05-13 19:56:06

請問有可能有tag all的功能嗎?
因為內建群組沒有這個功能,遇到百人以上群組就有點累@@

LINE 沒有提供喔

0
scps960740
iT邦見習生 ‧ 2019-06-08 04:42:22

請問有辦法在群組tag某個人名嗎
我目前是用getProfile拿到人名後 直接在前面加個@ reply回去
但好像沒有效果..

不行哦

0
alaulau
iT邦見習生 ‧ 2019-06-13 16:19:08

請問怎麼讓聊天機器人 回收已發出的訊息

無法哦

0
fru0071
iT邦見習生 ‧ 2019-06-24 16:17:31

想請問上面有人發問的友人進群時自動發送歡迎訊息的文章有寫出來了嗎??
有找看看過但是沒找到相關文章,不知道是不是沒看見
然後這篇文章很詳細!大概花五分鐘就把機器人完成了XD
謝謝

這個部分還沒寫文哦 如果直接看文件的話是要參考這個:
https://developers.line.biz/en/reference/messaging-api/#member-joined-event

0
s0438
iT邦新手 5 級 ‧ 2019-06-24 20:18:10

LINE的機器人

我目前只能設定關鍵字回復 沒辦法像你的一樣 會自己抓天氣圖呢?

怎麼用???

請參考:https://ithelp.ithome.com.tw/articles/10197544

s0438 iT邦新手 5 級 ‧ 2019-06-24 21:28:56 檢舉

我就是照你的那個走,但是就直接出現程式碼呢

請按照順序看文章

0
fru0071
iT邦見習生 ‧ 2019-06-29 02:18:27

請教一下??
關鍵字那邊的頁面好像有更新過是嗎?我操作的時候長得不太一樣,編輯完之後試用打出關鍵字,機器人卻不會回話,不太知道是哪裡出了問題

對 LINE 改版了

0
Marceline
iT邦見習生 ‧ 2019-07-01 21:58:47

想請問要如何連結dde 即時系統回傳呢

0
kiss7960353
iT邦新手 5 級 ‧ 2019-07-04 18:08:58

不好意思請問一下,我把我做的機器人分享給我的朋友,那我這裡看得到他們的聊天紀錄嗎?

如果你有將 chatbot 接收到的訊息都儲存起來的話 可以看到

0
q2451625
iT邦新手 5 級 ‧ 2019-07-17 09:58:21

還是不太理解如果有人進入群組或退出群組會發訊息這部分該怎麼設定,請大大解惑

0
shecon4444
iT邦新手 5 級 ‧ 2022-01-05 01:14:21

你好請問隨機對話這個功能也是需要架設網站跟使用程式碼才能使用的功能嗎?我在BOT設定似乎找不到這個功能(例如說骰色子,有設定的話會從1-6裡面隨機說一個數字)
那如果沒接觸過程式碼,如何打出自己想要的功能呢?像我想找隨機對話的程式碼我就GOOGLE不到了

後面會教哦

我要留言

立即登入留言