マイクロソフトやLINE、Facebookが人工知能を使ったBotのプラットフォームを公開しだしたので早速自分も弄くってみました。

今回はFacebookのMessenger上に最新の地震情報を10件取得するBotを作成しました。(本当はLINE BOTでやりたかったんですけど申し込み締め切りで使えませんでした泣)

動作DEMO

何かしらメッセージを打ち込むと地震情報が流れてきます。
何かしらメッセージを打ち込むと地震情報が流れてきます。

今回はどんなメッセージを打ち込んでも最新の地震情報が10件流れてくる仕様にしていますが、「地震」とかメッセージを限定することも可能です。

動作環境

動作環境は「これからPHPでFacebook Messenger Botづくりを始める人向けの簡易スターターキット」を使って構築しました。環境構築手順はリンク先を参照して下さい。

コード

上記のindex.phpは先程紹介したスターターキットをもとに制作しています。簡単な流れを言うとFacebookのメッセンジャーに接続して地震情報APIから地震情報を引っ張ってきて情報を加工してPOSTしてる感じです。

上の32行目にあるurlの一番後ろの数字を変更すると取得する地震件数が変わります。

ハマったところ

DEMOを見てもらうとわかるのですが、地震1件に対して1POST(投稿)にしています。元々、1POST内に10件の地震情報を詰め込んでいたのですが、どうやら文字数制限?があるようでうまく動作しませんでした。(ドキュメントを読んでいるわけではないのでわかる方いたら教えて下さい。)よってforeachの反復処理ごとにPOSTをしています。


2,3時間で簡単にBotを作れて面白かったです。次回は「形態素解析とマルコフ連鎖」使って言語処理してみたいなと思っております。

(´-`).。oO(このBot分野、仕事になるんだろうか…)