準備
Spring Boot セットアップ
https://start.spring.io/ でテンプレートを作成して次の依存関係を追加します。
<dependency> <groupId>com.linecorp.bot</groupId> <artifactId>line-bot-spring-boot</artifactId> <version>2.7.0</version> </dependency>
Heroku セットアップ
今回は linebotbeta
というアプリケーション名にしました。
heroku create -n -a linebotbeta
-
参考: HerokuでSpringBootアプリを動かしてみる > ローカルでビルドした jar をデプロイする 及びそのリンク先
LINE platform セットアップ
LINEデベロッパーコンソール で今回のbotが利用するプロバイダ、チャネルを作成します。
「チャネル基本設定」タブで次の設定を行います。
設定項目 | 設定値 |
---|---|
アクセストークン(ロングターム) |
(発行しておく) |
Webhook送信 |
利用する |
Webhook URL |
Webhook URL の設定値について、 linebotbata
というのは先に作成したHeroku上のapp名、 /callback
は line-bot-spring-bootのデフォルトのコールバックエンドポイントです。
これは line.bot.handler.path
プロパティで変更可能です。
実装
コントローラ(ハンドラ)実装
今回はとりあえず README にあるオウム返しするハンドラを試しに実装しておきます。
@LineMessageHandler public class MyController { @EventMapping public TextMessage handleTextMessageEvent(final MessageEvent<TextMessageContent> event) throws Exception { System.out.println("event: " + event); return new TextMessage(event.getMessage().getText()); } }
プロパティ設定
src/main/resources/application.properties
に、デベロッパーコンソールの今回使用するチャネルに表示されている次の項目をセットします。
設定項目 | 設定値 |
---|---|
line.bot.channelToken |
|
line.bot.channelSecret |
|
ビルド&デプロイ
mvn package heroku deploy:jar target/line-bot-sample-0.0.1-SNAPSHOT.jar -a linebotbeta
実行してみる
デベロッパーコンソールのチャネルページにQRコードが表示されていると思いますので、スマートフォンのLINEアプリで読み取ってチャネルにアクセスします。
トーク画面で何かメッセージを入力すると、botがオウム返ししてきます。
botのログは heroku logs
コマンドで確認できます。
heroku logs -a linebotbeta