Herokuでサンプルボットを作成する

このチュートリアルでは、Messaging API SDK for Javaを使って、単純なEchoボットとすべての機能を備えたKitchensinkボットをHerokuでデプロイする方法を説明します。

サンプルボットを別言語でデプロイしたい場合は、以下のMessaging API SDKリポジトリを参照してください。

始める前に

以下の作業が完了していることを確認します。

Echoサンプルボットをデプロイする

受け取ったテキストメッセージをエコーするボットをデプロイする手順は、以下のとおりです。

  1. コンソールで、チャネルシークレットとチャネルアクセストークンを確認します。
  2. GitHubのsample-spring-boot-echoディレクトリのREADMEファイルに含まれる[Deploy to Heroku]ボタンをクリックします。
  3. 手順1で確認した値を使って、[App name](任意)、[LINE_BOT_CHANNEL_TOKEN]、および[LINE_BOT_CHANNEL_SECRET]の各フィールドに入力し、[Deploy app]をクリックします。次の手順で使うので、アプリ名は記録しておきます。アプリがデプロイされるまでしばらく待ちます。
  4. https://{HEROKU_APP_NAME}.herokuapp.com/callback」というURL形式で、webhook URLをコンソールに入力します。
    注:{HEROKU_APP_NAME}は手順3で指定したアプリ名です。
  5. コンソールの[Channel基本設定]ページにあるQRコードを読み取って、LINEでボットを友だち追加します。
  6. ボットにLINEでテキストメッセージを送り、同じメッセージが返ってくることを確認します。

Heroku CLIでログを確認する

ボットのログをHerokuで確認する手順は、以下のとおりです。

  1. Heroku CLIをダウンロードし、インストールします。
  2. ターミナルまたはコマンドラインアプリケーションを使って、Herokuにログインします。
    $ heroku login
    
  3. ログを確認します。注:{HEROKU_APP_NAME}は手順3で指定したアプリ名です。
    $ heroku logs --tail --app {HEROKU_APP_NAME}
    

Kitchensinkサンプルボットアプリをデプロイする

Kitchensinkサンプルボットアプリには、テンプレートやイメージマップメッセージなど、Messaging APIで利用できるすべての機能が含まれています。Kitchensinkボットをデプロイするには、Herokuダッシュボードで新しいHerokuアプリを作成します。

  1. コンソールで新しいチャネルを作成し、チャネルシークレットとチャネルアクセストークンを確認します。コンソールの[Channel基本設定]ページにあるQRコードを読み取って、ボットを友だち追加します。
  2. GitHubのline-bot-sdk-javaリポジトリのクローンをローカルコンピューターに作成します。
  3. Procfileを開き、すべてのechokitchensinkに置き換えます。
    // 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-secretおよびchannel-tokenフィールドに入力します。「This is tempalte file for configuration. Please copy as application.yml and change your value」の部分は削除します。
  5. Herokuダッシュボードで新しいHerokuアプリを作成して、アプリ名をコピーします。
  6. ローカルのline-bot-sdk-javaディレクトリに移動してGitリモートを追加します。注:{HEROKU_APP_NAME}は手順5で指定したアプリ名です。
    $ heroku git:remote -a {HEROKU_APP_NAME}
    
  7. 変更をHerokuにプッシュします。
    $ git add .
    $ git commit -m 'First commit'
    $ git push heroku master
    
  8. https://{HEROKU_APP_NAME}.herokuapp.com/callback」というURL形式で、webhook URLをコンソールに入力します。
  9. LINEを使って以下の機能をボットで試してみます。
  • 「profile」と入力して、ユーザープロフィールを取得する。
  • 「buttons」、「confirm」、または「carousel」と入力して、テンプレートメッセージを送る。
  • 「imagemap」と入力して、イメージマップメッセージを送る。
  • ボットをグループチャットに招待する。「bye」と入力すると、チャットからボットを退出させられます。
  • ボットに画像、音声、動画、位置情報などを送る。ボットはこれらのコンテンツを取得し、同じものを送り返してきます。

次のステップ

Messaging APIを使ったボットの作成方法について詳しくは、「ボットを作成する」および『Messaging APIリファレンス』を参照してください。