Line Chatbot 開發攻略(一)

ObAIoT - Build your own IoT
HonDTour
Published in
7 min readMar 8, 2018

Line帳戶端申請與設定

======================

Line公眾號帳戶種類介紹

1. Line@ Account

2. Messaging API(Bot) Account

Line @ Manager — 用來管理Line帳戶的後台

======================

Line公眾號帳戶種類介紹

  1. Line@ Account

https://at.line.me/en/

Line@公眾號帳戶開立以後,透過下載Line@App來管理其他用戶透過Line與這個公眾號間的訊息互動;同時可以加入其他管理者一同經營這個帳號。

Line@ Account可以轉換為Messaging API帳戶,但為不可逆的­­­­­­,一旦開通Messaging API功能,就無法再透過Line@App與其他用戶1對1直接互動。

欲開發Line Chatbot,必須使用以下第二種 Messaing API(Bot) 帳戶。

2. Messaging API Account

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

開發Chatbot必須申請Messaging API的帳號

  • 建立一個新的Channel

這一個步驟,需要注意的是Plan的選擇:

(1) Developer Trial可以使用所有的Message API功能,但是帳戶可以加入的人數上限為50人,同時此方案無法升級為其他方案。

(2) Free方案無人數上限,可是僅能被動回覆使用者的輸入,不能主動推送訊息給使用者,未來可以根據需要升級方案。

— 被動回覆使用者:

使用者輸入一個訊息,Line server會以POST方式送至開發者程式後台Webhook URL,每個訊息帶有一個Reply Token,這個Token有時效性,可以根據這個Token使用Reply API回覆使用者。

— 主動推送訊息給使用者

由開發者程式後台透過Push API主動推送訊息給使用者。

帳戶範例

  • App Type:Bot (Messaging API)
  • Plan:For Developer (Developer Trial)
  • Available features

— REPLY_MESSAGE:回覆使用者輸入的API功能

— PUSH_MESSAGE:主動推送訊息給使用者的API功能

  • Allow bot to join group chats:Bot是否可以被加入群組中,群聊時使用。
  • Auto-reply messages:使用者在Bot輸入文字時,是否會自動回覆如以下的訊息:

若要透過開發者程式後台回覆,則選擇Disabled。

  • Greeting messages:使用者第一次加入或封鎖後重新解除封鎖Bot帳戶時會看到的歡迎訊息。
  • QR code of your bot:掃描QR code加入bot。另有兩種方式可以加入Bot帳戶(在Line @ Manager中詳述)
  • Your user ID:Bot帳戶對於每個加入的使用者都給予一個Unique ID,這個ID跟Line帳戶帳號無關,故無安全性的考量。此ID特別列在這邊為方便開發者測試API功能,如用Push API傳訊息給自己。

Line @ Manager — 用來管理Line帳戶的後台

儘管使用Messaging API不能使用Line@App,仍可以透過Line @ Manager後台來做為Bot的操作與管理:

  • Message:即時/排程傳送訊息、(關鍵字)自動回覆訊息、歡迎訊息。
  • Rich menu:如下圖Taxi Go與中國信託Line bot為例,進入後最下方的功能即是選單。最多被設計使用的是六格式的" Image type I "選單,對於每個圖案點擊後所產生的Event,大致上可以分為四種:

— Keyword:產生一個關鍵字並且回覆對應的訊息。

— URL:訪問一個網址

— Text:產生一個關鍵字,不對應回覆的訊息。(串接開發者使用程式後台使用這個選項)

— No action

  • Line Beacon:採用Google 陣營的Eddystone Beacon Protocol,Line自行定義了自己的UUID。Beacon Hardware ID即為每個Bot對應會產生Line Beacon event的Frame data。

https://admin-official.line.me/beacon/register

到這個連結處來產生Line bot所對應的Beacon Hardware ID,每個Bot最多可以對應到10組Hardware ID。

  • Settings

— Basic account settings:基礎的bot設置,透過@[Account ID]、QR code及Add friend button中的link(Mobile)可以用來加入bot。

— Manage user authorizations:用來產生不同權限的Token URL提供其他使用者操作Line@ Manager。這個Token在幾周後會失效,必須重新產生,一個Token URL僅供一位使用者登入使用。

以上總結,可以觀察,Line @ Manager和Messaging API 後台介面(https://developers.line.me/en/)有部分功能重疊。同時,Line @ Manager當中Rich menu的部分,也已經有API可以用程式方式即時上傳與設定。

======================

Copyright © 2018 Josh Chang, Obaiot All rights reserved

To be continued~

箴言 3:5–6

你要專心仰賴耶和華,不可倚靠自己的聰明,
在你一切所行的事上都要認定他,他必指引你的路。

======================

--

--