ダウンロード サンプルファイル (1.4 MB)
本連載では、今後広がっていくであろうBotの開発手法を、LINE Botを例として解説していきます。開発はPHP、サーバーはHerokuのフリーアカウントを利用するので簡単に、そして無料で運用が可能です。第3回となる今回は、LINE Bot SDKの持つ主要な機能を実際にBotを作りながら学んでいきます。画像やスタンプなどリッチなコンテンツを送ったり、テンプレートを使った確認ダイアログや横並びの画像+ボタンのダイアログなどを簡単に実装できます。
LINE Bot Awardsエントリー受付中!(2017年2月22日まで)
グランプリ賞金1000万円のLINE Bot Awards、エントリー絶賛受付中です。他にも賞金50万円の9部門、そして学生賞は賞金100万円となっています。革新的なBotを開発して入賞を狙いましょう!
はじめに
LINE Bot SDKにはさまざまな機能があり、簡単に使えるものが多いので今後のBot作りのため、1つずつ実装しながら学んでいきましょう。前回作成したプロジェクトに機能を追加する形でどんどん作っていきましょう。
Botから送れるデータはテキスト、画像、位置情報、スタンプ、動画、音声ファイル、テンプレートで、さらにこれらを組み合わせて送ることもできます。
テンプレートメッセージを使うとYES/NOの確認ダイアログや、選択を促すダイアログ、情報を写真付きで横並びに表示できるカルーセルも表示できるようになります。
対象読者
- Webアプリケーション開発経験者
- スマートフォンなどのアプリ開発経験者
必要な環境
PHPが利用できる環境でしたらどのような環境でも開発が可能ですが、解説はMacで行い、Windows環境で手順に違いがある場合は都度解説します。
筆者の環境はMac OS X El Capitan(10.11.6)、PHPのバージョンは5.6.25です。
準備
前回作ったBotを利用し、機能を追加していく形となります。まだ終わっていない方は前回を参考にして名前とスタンプを送り返すBotを作っておいてください。
テキストメッセージの送信
テキストメッセージの送信には、Bot->replyText関数が手軽ですが、他のメッセージと合わせて送ることも考慮しTextMessageBuilderを使って送信しましょう。
編注:ソースコード部分の表現について
以下、ソースコードのオレンジ色の部分は「新規に追加するコード」、取り消し線の部分は「削除するコード」を表します。
削除するコード
新規に追加するコード
index.phpの最後?>より前に以下のコードを追記してください。
function replyTextMessage($bot, $replyToken, $text) {
$response = $bot->replyMessage($replyToken, new \LINE\LINEBot\MessageBuilder\TextMessageBuilder($text));
if (!$response->isSucceeded()) {
error_log('Failed!'. $response->getHTTPStatus . ' ' . $response->getRawBody());
}
}
?>
動作確認のため、以下のようにコードを変更します。
$profile = $bot->getProfile($event->getUserId())->getJSONDecodedBody();
$message = $profile["displayName"] . "さん、おはようございます!今日も頑張りましょう!";
$bot->replyMessage($event->getReplyToken(),
(new \LINE\LINEBot\MessageBuilder\MultiMessageBuilder())
->add(new \LINE\LINEBot\MessageBuilder\TextMessageBuilder($message))
->add(new \LINE\LINEBot\MessageBuilder\StickerMessageBuilder(1, 114))
);
replyTextMessage($bot, $event->getReplyToken(), "TextMessage");
function replyTextMessage($bot, $replyToken, $text) {
これで一度デプロイして、適当にBotに呼びかけてみましょう。Botからテキストが送られます。正常に動作しない時は前回を参考に、ターミナルでエラーログを見てみてください。
この記事は参考になりましたか?
- 日本一わかりやすいLINE Bot開発講座連載記事一覧
-
- LINE Bot SDKが持つ主要機能の実装方法
- LINE Bot開発の概要と実装の基本
- 誰でも簡単にできる! LINE Botの作り方
- この記事の著者
-
立花 翔(タチバナ ショウ)
LINE株式会社テクニカルエバンジェリスト 個人アプリケーションデベロッパーとして世界中で1000万近くのユーザーと接点を持った経験を元に、デベロッパーのLINEのAPIを利用したビジネスの成功をお手伝いさせて頂いております。 各種APIを始めとするプラットフォームとしてのLINEを啓蒙し、目指...
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア

