2018.08.13

LINE@のMessaging APIを使ってシナリオ型bot開発

LINE@のMessagingAPIを使った自動返信ボットをhanaCMSのプラグインとしてPHPで開発していました。最近少し触ることがあったのでその内容を綴っています。新しくなったMessagingAPIですが特に大きな変更点もなく、以前のバージョンのまま対応できたのでよかったです。

LINE@ Messaging APIで会話を自動化

LINE@でbot用のAPIが公開された時、面白い事ができるのではないかと妄想して色々と調べて作ったことがありました。色々と調べた結果、hachidoriというサービスが理想だなぁ~などと記憶しています。
それに影響されて、シナリオを作っていく人工無能型のhanaCMS用のプラグインを開発しました。勿論できれば、人工知能を使ってみたかったのですが、知識が乏しく、AIを会話に応用する方法が全く思いつかず結局手動でif分岐を作成する方法になりました。

一度、会話にマッチしたワードを記憶

人工無能なりに、ワード郡にマッチしたワードは記憶させ次のシナリオの条件にできるようにしてみました。少し生きた会話になったかも…しれません。暴言を会話内で一度でも発していれば、誰でも会話の最後まで「良い印象」は持てないものです。そんなものを再現したかった記憶があります。

LINE@Developerの廃止と新Messaging API

そろそろ出来上がってきたなぁと思っていた矢先、LINEのDeveloperツール?が廃止されるという情報を目にした。よく見れば、廃止後もMessagingAPIは別の形で継続するとあった。APIの仕様の変更も当然あるのだろうと完全に興味をなくしたのもこの頃。
しかし、2018年08月13日に久しぶりに覗いてみると…前より少しボットアカウントの管理画面が分かり易くなっていた。
そこで以前そのままで試してみる。
動かない!
原因を探る…分からない!しかも思い出した苦い思い出が。。。PHPのデバッグでどこまでデータが生きているのか探る場合、var_dump($data);などとして内容を確認する事は多いと思います。ですが、MessagingAPIの場合はPHPのエラーログで見るか、自分で変数をlog.txtなどに書き込んで調べる方法になる。もし何かしらエラーがあればLINEは反応しないだけ。
半分泣きながらよく調べてみると…以前作成したときの仕様を忘れていただけという結果に。

以前の自分はしっかり作りこんでいたのには関心しましたが、オリジナルの機能なのに仕様を詳細まで残していなかったのは問題ありです。今後気を付けたいと思います。

今後のLINE@ボットプラグイン

かなり久しぶりに使った感じは意外に悪くない印象でした。今後、人工知能を組み込む拡張や、テキストと画像やステッカーだけだったものをAPIで提供されているユーザビリティに優れた機能も追加していきたいとも感じました。
機会があれば触っていきたいと思います。