# 建立聊天機器人

本頁介紹如何使用 Messaging API 建立 LINE 聊天機器人。如欲部署範例聊天機器人,請至 使用 Heroku 建立範例聊天機器人

# 開始之前

請確認下列項目已完成:

# 在 LINE Developers Console 建立聊天機器人

此聊天機器人 app 需要一個 channel access token 以進行 API call,以及一個 webhook URL 以接收來自 LINE Platform 的 webhook payload。

自動回應訊息和加入好友的歡迎訊息的設定

使用 Messaging API 時,請確認在 Channel 的 Messaging API 頁籤中, 自動回應訊息加入好友的歡迎訊息 的設定為 停用 狀態。

# 發佈一個 Channel Access Token

此 Channel Access Token 為長期 token,您可以使用以下方法建立 Token:

# 設定 webhook URL

此 webhook URL 為聊天機器人 server 的 endpoint,由此發出 webhook payload。

  1. 登入 LINE Developers Console 並點選 provider,以設定 Messaging API channel。

  2. 點選 Messaging API channel。

  3. 點選 Webhook URL 欄位的 Edit 按鈕,並輸入 Webhook URL (當 LINE platform 向聊天機器人發送 event 時,此 Webhook URL 為最終到達網址),接著點選 Update

  4. 點選 Use webhook 欄位的 Edit 按鈕,並點選 Enabled,接著點選 Update

    Webhook URL 必須使用 HTTPS,並且要是可信賴的認證機構所發行的 SSL/TLS 憑證(自行簽證的憑證將無法使用)。若 SSL/TLS 設定時發生問題,請確認憑證串接是否完整,並確認伺服器上已正確安裝憑證。

  5. 點選 Verify

    如 webhook URL 接受 request,則畫面將顯示 Success

  6. 允許 使用 Webhook

Messaging API > Webhook > Webhook URL

# 將 LINE 官方帳號加為好友

前往 LINE Developers Console 掃描 Messaging API 頁面中的 QR code,將連接此聊天機器人 channel 的 LINE 官方帳號加為好友。

# 調整 security settings (非必須)

為改善資訊安全,開發者可於 LINE Developers Console 中的 Security settings 頁面指定 server 以呼叫 LINE Platform API。開發者可個別註冊 IP 位址,如有多個 server,開發者可使用 CIDR(Classless Inter-Domain Routing) notation 註冊 network address。

Security settings page

# 確認 webhook 設定

當用戶與開發者的 LINE 官方帳號進行互動,例如將 LINE 官方帳號加為好友,或對 LINE 官方帳號發送訊息,LINE Platform 將傳送包含 webhook event object 的 HTTP POST request 至聊天機器人 server,此 server 可於 Messaging API 中的 Webhook URL 欄位指定。此 request header 包含 signature。

此部份說明如何確認 server 可接收 webhook event,以及如何驗證 webhook event 的 signature。

# 接收 webhook event

為確保 server 可接收 webhook event,請封鎖 LINE 官方帳號,並檢視 server log,以確認聊天機器人 server 接收到來自 LINE Platform 的 unfollow event。下方為 log 範例:

2017-07-21T09:18:46.755256+00:00 app[web.1]: 2017-07-21 09:18:46.737  INFO 4 --- [io-13386-exec-2] c.e.bot.spring.KitchenSinkController     : unfollowed this bot: UnfollowEvent(source=UserSource(userId=Uxxxxxxxxxx...), timestamp=2017-07-21T09:18:46.031Z)

確認 webhook 的運作正常後,請再次將 LINE 官方帳號加為好友。

# 透過 LINE Official Account Manager 進行設定

LINE Official Account Manager (opens new window) 是用於管理 LINE Official Account 的工具。除了使用 Messaging API 提供的功能,開發者可透過 個人化 your profile、創作 Timeline post,以及運用更多 LINE Official Account Manager 的功能,改善使用者體驗。

如欲取得 LINE Official Accounts 完整功能列表,請至 LINE for Business (opens new window) 網站。

# 個人化 your profile

Your profile 為用戶提供開發者 LINE 官方帳號的基本資訊。

請至 LINE Official Account Manager 為 LINE 官方帳號新增基本資訊。開發者可為顯示圖片、logo、按鈕,以及提供的資訊進行個人化。

LINE Official Account Manager Profile

# 設定歡迎訊息 (非必須)

如於 LINE Developers console 中的 Messaging API 頁面開啟 Greeting message 選項,可至 LINE Official Account Manager 設定歡迎訊息,於用戶首次將此 LINE 官方帳號加為好友時發送。開發者亦可撰寫程式,回覆用戶傳送的 follow webhook event。

# 設定 auto reply 訊息 (非必須)

如於 LINE Developers Console 中的 Messaging API 頁面開啟 Auto-reply messages 選項,可至 LINE Official Account Manager 設定自動回覆訊息,以回應用戶發送的訊息。如同透過程式設定聊天機器人,開發者亦可運用 Messaging API,用不同的方式回應各種 webhook events。

# 下一步

聊天機器人設定完成後,您可以從 Client 端接收訊息,也可以透過 LINE 官方帳號向用戶發送訊息。除了透過 LINE 官方帳號發送訊息外,還可以使用 Quick Reploy 以及 Rich menu 等功能,為每位用戶提供個人化的體驗。

如欲取得更多相關資訊、了解 Messaging API 提供的功能,請查看 Messaging API documentation

若您為了使聊天機器人可以接收 LINE Things 的 webhook events,請參考 Receiving messages (webhook)