# 使用 Heroku 建立範例聊天機器人

本頁介紹如何使用 Messaging API SDK for JavaHeroku 上部署一個簡單的 “echo” 聊天機器人,以及一個功能齊全的 “kitchensink” 聊天機器人。

如欲透過其他程式語言部署範例聊天機器人,請見下列 Messaging API SDK repository。

# 開始之前

請確認下列項目已完成:

# 部署 "echo" 範例聊天機器人

請依照下列步驟,部署一個聊天機器人,使它在接收到文字訊息後,可回傳一模一樣的訊息。

  1. LINE Developers Console 取得 channel secret 及 channel access token。

  2. 點選 README 檔案 中的 Deploy to Heroku 按鈕,該檔案位於 sample-spring-boot-echo GitHub 目錄中。

  3. 將透過步驟 1 取得的值填入 "App name" (選填)、"LINE_BOT_CHANNEL_TOKEN",以及 "LINE_BOT_CHANNEL_SECRET" 欄位,並點選 Deploy app。請複製 app 名稱,下一個步驟將使用該名稱。部署需要一些時間,請稍加等候。

  4. 點選 Messaging API 表單。

  5. LINE Developers Console 中輸入 webhook URL,請使用此 URL 格式:https://{HEROKU_APP_NAME}.herokuapp.com/callback

    注意

    {HEROKU_APP_NAME} 請使用來自步驟 3 的 app 名稱。

  6. 開啟 Use webhook

    注意

    此處預設值為 "Disabled"。

  7. 前往 LINE Developers Console 掃描位於 channel 設定頁面下 Messaging API 表單中的 QR code,將與此聊天機器人連接的 LINE 官方帳號加為好友。

  8. 對此 LINE 官方帳號發送一則文字訊息,並確認該帳號回傳一模一樣的訊息。

# 透過 Heroku CLI 查看 log

請依照下列步驟,於 Heroku 中查看聊天機器人的 log:

  1. 下載並安裝 Heroku CLI

  2. 透過 terminal 或 command line 應用登入 Heroku:

    $ heroku login
    
  3. 查看 log 內容。

    注意

    {HEROKU_APP_NAME} 請使用來自上方步驟 3 的 app 名稱。

    $ heroku logs --tail --app {HEROKU_APP_NAME}
    

# 部署 kitchensink 範例聊天機器人 app

kitchensink 範例聊天機器人 app 具有 Messaging API 的完整功能,例如 template 與圖文訊息。為了部署 kitchensink 聊天機器人,請於 Heroku dashboard 建立新的 Heroku app。

  1. LINE Developers Console 中建立新的 channel,並取得 channel secret 與 channel access token。掃描 Basic settings 表單中的 QR code,將與此聊天機器人連接的 LINE 官方帳號加為好友。

  2. line-bot-sdk-java GitHub 目錄複製至 local machine。

  3. 開啟 Procfile 並以 echo instance 取代所有 kitchensink instance。

    // Before
    web: java $JAVA_OPTS -jar sample-spring-boot-echo/build/libs/sample-spring-boot-echo-*.jar --server.port=$PORT
    // After
    web: java $JAVA_OPTS -jar sample-spring-boot-kitchensink/build/libs/sample-spring-boot-kitchensink-*.jar --server.port=$PORT
    
  4. 複製 sample-spring-boot-kitchensink/src/main/resources/application-template.yml 檔案,並重新命名為 application.yml。將來自步驟 1 的值填入 channel-secretchannel-token 欄位。請刪除 "This is a template for the configuration file. Make a copy called `application.yml` and change the values below."。

  5. 請於 Heroku dashboard 建立新的 Heroku app,並複製 app 名稱。

  6. 前往 line-bot-sdk-java 目錄並新增 Git™ 遠端目錄。

    注意

    {HEROKU_APP_NAME} 請使用來自步驟 5 的 app 名稱。

    $ heroku git:remote -a {HEROKU_APP_NAME}
    
  7. 將變更提交至 Heroku。

    $ git add .
    $ git commit -m 'First commit'
    $ git push heroku master
    
  8. LINE Developers Console 中輸入 webhook URL,請使用此 URL 格式:https://{HEROKU_APP_NAME}.herokuapp.com/callback

  9. 透過 LINE 官方帳號,試用下列功能:

    • 輸入 "profile" 以取得用戶檔案。
    • 輸入 "buttons"、"confirm" 或 "carousel" 以傳送 template message
    • 輸入 "imagemap" 以傳送 imagemap message
    • 將 LINE 官方帳號加入群聊,並輸入 "bye" 使它離開聊天群組。
    • 將圖檔、音訊、影片,或位置訊息發送至 LINE 官方帳號,聊天機器人將取得內容,並回傳此內容。
    回應延遲

    部署後可能需要一些時間以啟動聊天機器人。如聊天機器人未立即回覆訊息,請於數分鐘後重試。

# 下一步

如欲取得更多訊息、了解如何使用 Messaging API 建立聊天機器人,請查看 building a botMessaging API reference