LINE BOT APIで「こわい猫」返信ボットを作ってみた

LINE BOT APIで「こわい猫」返信ボットを作ってみた

ソフトバンク・au・ドコモの方は、公式のオンラインショップを利用すれば頭金不要で通常のショップよりお得に購入できます。

現在Lineが「BOT API Trial Account」でline bot apiを提供すると言って話題になっておりますね。
http://linecorp.com/ja/pr/news/ja/2016/1320

先着1万名様まで無料なのですかさず登録し、他の方々と同じように簡単なボットを作成いたしました。

猫転送BOT

「かわいい猫」

image05

「こわい猫」

image09

とricemanが作成したLINEアカウントに投稿すると、猫の画像を送り返してくれます。

これ以外のメッセージは「既読スルー!!」することとさせていただきました。

開発までの大まかな流れ

1.アカウント登録
https://developers.line.me/
ここのどこかから登録できます!
早くしないと無料期間終わってしまいますよ!!!

ちなみに個人でも企業でも登録できます。
私は個人利用で登録いたしました。

2.BOT用のサーバーを作成/利用
ボットを使うためにはサーバーが必要になりますね!
今回このAPIを利用するための最低要件は以下の通りです。
 ・HTTPSが使えること
 ・IPアドレスを知っていること

IPアドレスについてはLINE側でwhitelistとしてIPを記入する必要があるようです。

image08

こんな感じですね。

3.LINEからメッセージが送られた時に発動するプログラムファイルを用意
すでに他に素晴らしいプログラムを作られている方がいましたので、
参考にさせていただきました。
http://qiita.com/betchi/items/8e5417dbf20a62f2239d

APIの内部構造については、以下公式サイトをご確認ください!
思った以上に色々できるなという印象です。
https://developers.line.me/bot-api/api-reference

result{0}->content;
$from = $content->from;

//今回はテキストの受け取りのみ
if($content->toType == 1){

$originalImage = null;
$previewImage = null;
$text = $content->text;
if($text == "かわいい猫"){
$originalImage = $kawaiiNekoOriginalImage;
$previewImage = $kawaiiNekoPreviewImage;
}

if($text == "こわい猫"){
$originalImage = $kowaiNekoOriginalImage;
$previewImage = $kowaiNekoPreviewImage;
}

if(is_null($originalImage)){
exit();
}
$post = <<< EOM { "to":["{$from}"], "toChannel":1383378250, "eventType":138311608800106203, "content":{ "contentType":2, "toType":1, "originalContentUrl":"{$originalImage}", "previewImageUrl":"{$previewImage}" } } EOM; api_post_request("/v1/events", $post); } function api_post_request($path, $post) { $url = "https://trialbot-api.line.me{$path}"; $headers = array( "Content-Type: application/json", "X-Line-ChannelID: {$GLOBALS['channnelId']}", "X-Line-ChannelSecret: {$GLOBALS['channnelSecret']}", "X-Line-Trusted-User-With-ACL: {$GLOBALS['mid']}" ); $curl = curl_init($url); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); curl_setopt($curl, CURLOPT_POSTFIELDS, $post); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); $output = curl_exec($curl); } ?>

4.作成したプログラムファイルが置いてあるURLを管理画面で登録
https://developers.line.me/ → 右上のChannelsをクリック
右下にあるEditからcallback urlを記入してください

image06

 例
 https://www.samplericeman:443/callback.php
 ※443とポート番号も記入する必要があるようです。

作ってみて

これは面白いですね!
久々に色々できそうな可能性を感じるものでした。

結局自分のサーバーで色々なことができると思うので、
例えば
・近所のオススメのご飯を紹介したりとかも可能です。
・商品の注文
・商品入荷のお知らせとか

また、試していませんが、音声の入力/出力できるので、対話形式のボットもできるかもしれませんね。
(試しに音声入力した場合のjson構造みたのですが、よくわかりませんでした。。。)

とにかく!面白いのでぜひ皆様もチャレンジしてみてくださいね!

ソフトバンク・au・ドコモの方は、公式のオンラインショップを利用すれば頭金不要で通常のショップよりお得に購入できます。

【週刊bitWave】(メルマガ)始めました!

登録はこちらからメールアドレスを入力してお申込みください。

ご登録いただいたメールアドレスは 【週刊bitWave】の更新情報の配信にのみ使用します。

個人情報の取扱いに関しては、「プライバシーポリシー」をご確認ください。解除はいつでもこちらから行うことが可能です。

あなたにおすすめ