Facebook Messenger PlatformとDocomoの雑談対話APIで雑談BOTを作って公開する 第一回
最近LineやFacebookからBotに使えるAPIが公開されました。
Botって何?Botを使うことで何ができるようになるの?という方も多いとは思いますが、その話題については気が向いたら書くとして…
今回はFacebook messender platformとDocomoの雑談対話APIを使ってBotを作り、公開する方法を書きたいと思います。
ですが、完成してから書くと手順が抜けたりするので、作りながらメモしつつ書きます。(完成したら綺麗にまとめ直します。)
こちらの記事もどうぞ
目次
- はじめに
- 制作の流れ
- 手順1:全体図と必要なものの把握
- 手順2:サーバー設定からFB bot APIの使い方を把握・テスト
- 手順3:Docomo 雑談対話APIの使い方を把握・テスト
- 手順4:2と3の組み合わせ
- まとめ&次回予告
はじめに
作るもの
Facebookのメッセンジャーで簡単な雑談相手になってくれるBotを作ります。
完成イメージ(左がBot)
シュールですが、こんな感じ。
今回の記事ではここまで作ります。
Facebook Messenger Platformとは
FacebookのメッセンジャーでBotとやり取りをするためのプラットフォームです。
自作のプログラムを使ってやり取りさせることができます。
Docomo 雑談対話APIとは
Docomoさんが提供している雑談をするためのプログラムです。
細かくプログラミングをしなくても、メッセージを投げるだけで雑談相手になってくれます。
これら二つの技術を組み合わせることで雑談してくれるBotを作ります。
制作の流れ
(初期段階での想定ですので、変更になる可能性もあります)
- 作るものの概要決定と必要なものの把握
- サーバー設定からFB bot APIの使い方を把握・テスト
- Docomo 雑談APIの使い方を把握・テスト
- 2と3の組み合わせ・テスト
- 一般向けに公開(次回以降の記事)
このような流れで進めます。
本記事では4番まで。
一般公開するには審査があったり、色々とハードルが高いので次回以降の記事にします。
手順1:全体図と必要なものの把握
全体の流れ
流れとしては上の図のように
- メッセージをBOTに向けて送信
- メッセージが来たらFBのMessenger APIがサーバーのプログラムを呼びに行く
- サーバーはそれを受けてDocomoの雑談APIを呼ぶ
- Docomoの雑談APIで返答を生成
- FB MessengerAPIに返答を送る
- 返信完了
となります。(たぶん)
必要なもの
くらいでしょうか。
手順2:サーバー設定からFB bot APIの使い方を把握・テスト
Facebook Messenger Platformとは?
Facebook Messenger Platformで何ができるかはこの記事を読むとわかりやすいです。
Facebook Messenger Platform BETAでできる全ての事を試してみた(LINE BOT APIとの比較あり) - Qiita
サーバーとFB BOT APIの設定
サーバーとFB BOT APIの設定まではこちらの記事に網羅されています。
Facebook Messenger Platform + さくらのレンタルサーバ + RapidSSL + PHP で BOT作成 - Qiita
SSL通信が可能なサーバーが必要です。
今回は手軽さからHerokuを選びました。(一般公開時にはVPSを使うかもしれません)
上の記事を参考にしつつ、まずはここまでやってみました。
ここまで動かしてみた
はい。
ここまででは決まりきった返答しかできません。
そこで、次のDocomoさんの雑談対話APIに組み合わせていきます。
手順3:Docomo 雑談対話APIの使い方を把握・テスト
次はDocomoさんの雑談対話APIを単体でテストしてみました。
まずはユーザー登録をして、APIキーの発行。
その次にそのAPIキーを使い、サンプルのソースコードを動かしてみました。
試してみた
コミュ障か。
Docomo 雑談対話APIについて参考にしたサイト
GitHub - fetus-hina/docomo-dialogue: docomo対話API
手順4:2と3の組み合わせ
ここまで出来たら、あとは組み合わせるだけです。
最初に書いた図のようにプログラムが呼び合うようにします。
試してみた
ソースコード
まとめ&次回予告
Herokuに慣れていなかったのでサーバーの設定で少し時間がかかりましたが、初心者でも半日もあれば試せる程度の難易度でした。
今回はここまでです。
自分のアカウントからは利用できますが、一般公開するためにはFacebookの審査が必要になってきます。
次回はその辺りを書きます。