読者です 読者をやめる 読者になる 読者になる

MinatoのBlog

東京中央区のシステム制作会社「株式会社Minato」の公式ブログです。IT関連のニュースや作ってみたもの・試したことなどを書きます。スマホアプリ・Web開発・IoTなどなど

Facebook Messenger PlatformとDocomoの雑談対話APIで雑談BOTを作って公開する 第一回

やってみた

最近LineやFacebookからBotに使えるAPIが公開されました。
Botって何?Botを使うことで何ができるようになるの?という方も多いとは思いますが、その話題については気が向いたら書くとして…

今回はFacebook messender platformとDocomoの雑談対話APIを使ってBotを作り、公開する方法を書きたいと思います。

ですが、完成してから書くと手順が抜けたりするので、作りながらメモしつつ書きます。(完成したら綺麗にまとめ直します。) 


こちらの記事もどうぞ

blog.minato.jp.net


目次

はじめに

作るもの

Facebookのメッセンジャーで簡単な雑談相手になってくれるBotを作ります。

完成イメージ(左がBot)

シュールですが、こんな感じ。
今回の記事ではここまで作ります。

Facebook Messenger Platformとは

FacebookのメッセンジャーでBotとやり取りをするためのプラットフォームです。
自作のプログラムを使ってやり取りさせることができます。

Docomo 雑談対話APIとは

Docomoさんが提供している雑談をするためのプログラムです。
細かくプログラミングをしなくても、メッセージを投げるだけで雑談相手になってくれます。

これら二つの技術を組み合わせることで雑談してくれるBotを作ります。

制作の流れ

(初期段階での想定ですので、変更になる可能性もあります)

  1. 作るものの概要決定と必要なものの把握
  2. サーバー設定からFB bot APIの使い方を把握・テスト
  3. Docomo 雑談APIの使い方を把握・テスト
  4. 2と3の組み合わせ・テスト
  5. 一般向けに公開(次回以降の記事)

このような流れで進めます。
本記事では4番まで。

一般公開するには審査があったり、色々とハードルが高いので次回以降の記事にします。

手順1:全体図と必要なものの把握

全体の流れ

流れとしては上の図のように

  1. メッセージをBOTに向けて送信
  2. メッセージが来たらFBのMessenger APIがサーバーのプログラムを呼びに行く
  3. サーバーはそれを受けてDocomoの雑談APIを呼ぶ
  4. Docomoの雑談APIで返答を生成
  5. FB MessengerAPIに返答を送る
  6. 返信完了

 となります。(たぶん)

必要なもの

  • サーバー(SSL通信可能なもの)
  • FBアカウント・FBアプリ・FBページ
  • DocomoAPIアカウント

くらいでしょうか。

手順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について参考にしたサイト

Docomo APIサンプルコード

GitHub - fetus-hina/docomo-dialogue: docomo対話API

手順4:2と3の組み合わせ

ここまで出来たら、あとは組み合わせるだけです。

最初に書いた図のようにプログラムが呼び合うようにします。

試してみた

ソースコード

ソースコードはこちら

まとめ&次回予告

Herokuに慣れていなかったのでサーバーの設定で少し時間がかかりましたが、初心者でも半日もあれば試せる程度の難易度でした。

今回はここまでです。
自分のアカウントからは利用できますが、一般公開するためにはFacebookの審査が必要になってきます。

次回はその辺りを書きます。