LINE bot on WebAppsで遊んでみた。

投稿日:

どーも。まーやです。
噂のLINE bot (Messaging API) であそんでみたよ。

LINEのデベロッパー登録はずっとしてあったものの、実際にやっと今日使った感じです。

アカウントの作成

LINEデベロッパーアカウントの登録はすでに終わっているていで話を進めますね。ここでいう「アカウント作成」は実際にbotさせるbotユーザアカウント(公式アカウント)です。登録の手順はこちらに書かれているのですが、英語だしDeveloperダッシュボードと公式アカウントダッシュボードを行ったり来たりしてめんどくさかった。。。ここは根気よくやるしかありません。

公式アカウントマネージャー側の設定

TOP画像の設定とか、アカウント名とか、背景画像の編集とか、ポチポチ系の設定はお好みで設定して。ここでは大事な設定のみ備忘録しておきます。
line
アカウント設定>Bot設定 の中にある「Webhook送信」を利用するにしておきます。botユーザアカウントにお友達からメッセージが送られた際にWebhookが実行され、自分が作ったサーバへ情報が送られます。ので、利用するにしておかないといくらアプリを作成してもうんともすんとも言いません。

あと、自動応答メッセージを利用しないにしておくといいと思います。これは、お友達からメッセージが送られてきたら自動で言葉を返信してくれる機能です。メンテナンス中とかの時はこれを使うと便利ですね。今回はbotを作成したのでいったん使用しないことにします。

LINEデベロッパー側の設定

developer
Basic Informationページで設定を行います。設定するのは1か所、WebhookURLです。アプリが出来上がったらアプリのエンドポイントをここに設定するのをわすれずに。気を付けなければいけないことは、HTTPSでないとエラーになってしまうこと。 私は今回Azure WebAppsに上げていたので、何も考えずにHTTPSが使えていたのですが、AWSでチャレンジした友達はアプリできた!サーバに上げた!WebhookURL設定するぞ!->エラー となってかなり落ちこんでおりました。私的には本当WebApps様ありがとう、って感じでした。

また、Channel Access Tokenは後程Messaging APIをたたくのに使いますので、メモしておいてください。

アプリの開発

APIリファレンスが用意されていますのでこれに沿って実装していきます。 Webhookリファレンスに書かれている内容が、Webhookから送られてくるJSONになります。これをアプリのリクエストボディで受け取ればOKです。今回は無料契約で使えるReply Message APIを使ってみることにしました。

すごーく突貫で作ったのでばっちぃコードですがこちらで開発中です。(早くもう少し綺麗にせねば・・・)ReplyControlerクラスのメソッドを呼ぶことでReply Message APIがたたかれるようになっています。「line/reply」がURLになります。内容はいたってふざけたbotで、application.ymlのresponse.messagesに設定された文言(カンマ区切り)をランダムにリプしてくれるというものです。実際に使ってみましたが、たった4つでもそれなりに会話になりました。上司の話をやる気なく聞く部下のようなbotになります。

開発中つらかったのは、動作確認。上述したように、エンドポイント指定をしないと動作確認ができないので、対象のサーバにデプロイするか、ローカルで一工夫して実行してあげるかしなければならなかったでした(もっといい方法知ってる方いたら情弱な私にぜひ教えてください)。今回はお試しだったので都度WebAppにデプロイして確認していましたが、本気で開発するのであればCI環境必須ですね。
slack-for-ios-upload

今後引き続きやりたいこと

①Functionsへ移行
とりあえずLINEbotをやってみたくてAzure WebApps にアップしましたが、これAzure Functionsのが向いてそうですよね。Webhook契機で稼働するAPIなので。まだFunctions触ったことないのでこっちにアプリを移動してみたいと思います。

②やる気のない部下ではなくできる友達へ
今は本当にやっつけメッセージしか返してくれないので、もう少し有能なbotに仕立ててみたいです。自力機械学習するのか、どっかのAPI借りてくるのかまだ何も決めていませんが、何かかしら高性能にしていきたいと思います。

③LINEだけでなく他のアプリのbotもやりたい
botに味をしめたので、Microsoft Bot Frameworkにもチャレンジしてみたいですね。

以上、簡易おためしでした。

広告

1件のコメント 追加

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中