Herokuを使ってLINEBOTを作ってみた(サンプルボットの説明)

こんにちは!今回は題名の通り、Herokuを使ってLINEBOTを作成しました。

作成したと豪語しましたが、既にLINEよりMessagingAPI対応されたSDKが提供されており、それを使用すれば簡単に作成することが可能です。ちなみ本記事はかなり初心者向けな内容となっておりますのでご了承ください(笑)。

また、今回はJavaを使用しましたが、SDKは以下の言語で提供されております。

 

  • Java
  • PHP
  • Go
  • Perl
  • Ruby
  • Python
  • Node.js

 

作成手順についてはLINE公式ページにてMessaging API SDK for JavaとHerokuを使ってサンプルボットを作る手順が記載されており、改めて説明する必要もなさそうなので省きます(笑)。

上記ページでは「Echoサンプルボットをデプロイする」と「Kitchensinkサンプルボットアプリをデプロイする」という2つの内容に分かれており、今回は両方実施しました。

Echoサンプルの方は本当に簡単で、それこそ2~3分で作成可能です。

こんな感じ。ひたすらこちらからのメッセージに対してオウム返しします。

スタンプはスルーされます。

 

対してKitchensinkサンプルボットは、上記のオウム返しに加え、Messaging APIで利用できるすべての機能が含まれています。具体的には以下となります。

 

■「profile」と入力

自分のLINEでのユーザ名とステータスメッセージが返ってきます。

(上のスクショではステータスメッセージ登録してないのでnullとなってますが…)

 

■「buttons」と入力

ボタンテンプレート(画像、タイトル、テキストに加えて複数のアクションボタンが含まれたメッセージ)が返ってきます。

 

■「confirm」と入力

確認テンプレート(ボタンが2つ含まれたメッセージ)が返ってきます。

 

■「carousel」と入力

カルーセルテンプレート(複数のカラムオブジェクトをユーザーがスクロールして閲覧することのできるメッセージタイプ)が返ってきます。

 

■「imagemap」と入力

イメージマップメッセージ(異なるリンクやアクションに結びつく複数のタップ領域が指定された画像)が返ってきます。

 

こんな感じで一通り試してみることができます。

 

これだけだと物足りないので、ほんのちょっとですがソースをいじってみました。

BOT作成時にクローンした、ローカル環境にあるSDKの以下ディレクトリ配下のファイルを開きます。

\line-bot-sdk-java\sample-spring-boot-kitchensink\src\main\java\com\example\bot\spring\KitchenSinkController.java

試しに確認テンプレートにて選択肢を押した時のメッセージ内容を変えてみます。

以下は279行目以降のコードです。

「confirm」というメッセージが送信された場合の処理が記載されているので、ここをいじってみます。


case “confirm”: {
ConfirmTemplate confirmTemplate = new ConfirmTemplate(
“Do it?”,
new MessageAction(“Yes”, “Yes!“),
new MessageAction(“No”, “No!“)
);
TemplateMessage templateMessage = new TemplateMessage(“Confirm alt text”, confirmTemplate);
this.reply(replyToken, templateMessage);
break;
}


case “confirm”: {
ConfirmTemplate confirmTemplate = new ConfirmTemplate(
“Do it?”,
new MessageAction(“Yes”, “\(^_^)/“),
new MessageAction(“No”, “;つД`)“)
);
TemplateMessage templateMessage = new TemplateMessage(“Confirm alt text”, confirmTemplate);
this.reply(replyToken, templateMessage);
break;
}


赤字のところが変更箇所です。適当にYesっぽい絵文字とNoっぽい絵文字に変えてみました。

これをコミットしてHerokuへプッシュします。

試しにメッセージを送ってみると…

反映されました!Yesと押すと「\(^_^)/」が送信され、Noだと「;つД`)」が送信されます。

今回は本当に触りだけやってみた感じですが、検索してみると面白いBOTを作っている方がいらっしゃるので、もっと色々触ってみて自分も面白いBOTを作ってみたいですね。

とりあえず今回はここまでとします!

この記事が気に入ったら
いいね ! しよう

Twitter で
The following two tabs change content below.
アバター
髙橋 千紘
エンジニア
プログラミング開発できるエンジニアを目指し勉強中の身です。 今までは要件定義、仕様調整等、上流工程をメインとした仕事をしていました。

【採用情報】一緒に働く仲間を募集しています

採用情報
ページトップへ