facebook messenger platform で始める bot 開発

35
Facebook Messenger Platform で始めるBot開発 尾崎 翔太

Upload: shota-ozaki

Post on 14-Apr-2017

277 views

Category:

Engineering


9 download

TRANSCRIPT

Page 1: Facebook Messenger Platform で始める Bot 開発

Facebook Messenger Platformで始めるBot開発

尾崎 翔太

Page 2: Facebook Messenger Platform で始める Bot 開発

はじめに

Facebook Messenger Platform を

やったことがあるひと

Bot開発したことがある

プログラミングしたことがある

今日に向けてアイデアを考えてきた

メンターも付くので大丈夫! がんばってみましょう!

Page 3: Facebook Messenger Platform で始める Bot 開発

目次

なぜBot開発ハッカソンなのか

Facebook Messenger Platform のしくみ

開発時のサーバについて

Facebook Messenger Platform を利用した「オウム返しBot」までの道

Page 4: Facebook Messenger Platform で始める Bot 開発

目次

なぜBot開発ハッカソンなのか

Facebook Messenger Platform のしくみ

開発時のサーバについて

Facebook Messenger Platform を利用した「オウム返しBot」までの道

Page 5: Facebook Messenger Platform で始める Bot 開発

なぜBot開発ハッカソンなのか

プラットフォームが盛り上がってきている

LINE, Facebook, Twitter, Slack, …etc

簡単なサポートやエンターテイメントとしてボットを

提供する企業が出てきている

機械の発展で高度なこともできるようになってきている

技術×プラットフォーム という土台が整いつつある今がアツい!

Page 6: Facebook Messenger Platform で始める Bot 開発

目次

なぜBot開発ハッカソンなのか

Facebook Messenger Platform のしくみ

開発時のサーバについて

Facebook Messenger Platform を利用した「オウム返しBot」までの道

Page 7: Facebook Messenger Platform で始める Bot 開発

Facebook Messenger Platform とは?

参照:https://developers.facebook.com/products/messenger/

Page 8: Facebook Messenger Platform で始める Bot 開発

Facebook Messenger Platform とは?

Facebook Messger 上で動くボット

簡単なテキストメッセージだけでなく、用意されているテンプレート沿ったメッセージやボタンのあるメッセージを送ることができる

Page 9: Facebook Messenger Platform で始める Bot 開発

Facebook Messenger Platform とは?

Page 10: Facebook Messenger Platform で始める Bot 開発

Facebook Messenger Platform の仕組み

メッセージはこのように流れていきます

メッセージ送信 メッセージ送信

Page 11: Facebook Messenger Platform で始める Bot 開発

Facebook Messenger Platform の仕組み

画像などの処理をしたい場合はFacebookに対して取得しにいく必要があります

画像送信

画像があるよ

画像を取得

Page 12: Facebook Messenger Platform で始める Bot 開発

Facebook Messenger Platform の仕組み

メッセージの送信は真逆になるだけです

メッセージ送信 メッセージ送信

Page 13: Facebook Messenger Platform で始める Bot 開発

Facebook Messenger Platform の仕組み

画像などのメディアがある場合も同じです

画像である旨のメッセージを送るとFacebookが取得しに来ます

画像送信

画像があるよ

画像を取得

Page 14: Facebook Messenger Platform で始める Bot 開発

余談:しっかりとBotを運用するならば?

Page 15: Facebook Messenger Platform で始める Bot 開発

余談:しっかりとBotを運用するならば?

受付窓口 キュー

ボット処理バッチ

Page 16: Facebook Messenger Platform で始める Bot 開発

目次

なぜBot開発ハッカソンなのか

Facebook Messenger Platform のしくみ

開発時のサーバについて

Facebook Messenger Platform を利用した「オウム返しBot」までの道

Page 17: Facebook Messenger Platform で始める Bot 開発

開発時のサーバについて

サーバを用意してあります。

オウム返しをするBotをサンプルとして設置済み。

Page 18: Facebook Messenger Platform で始める Bot 開発

目次

なぜBot開発ハッカソンなのか

Facebook Messenger Platform のしくみ

開発時のサーバについて

Facebook Messenger Platform を利用した「オウム返しBot」までの道

Page 19: Facebook Messenger Platform で始める Bot 開発

必要なものの準備:ツール編

Windows

SSH:PuTTy

FTP:WinSCP

Mac/Linux

SSH:ターミナル(標準で入っています)

FTP:CyberDuck / FileZilla

配られている情報でサーバにログインできるか確認してください

Page 20: Facebook Messenger Platform で始める Bot 開発

Facebookページ作成

URL:https://www.facebook.com/pages/create

ページタイプ:※ 何でもOK

※ その他はスキップ

必要なものの準備:Facebookページの作成

Page 21: Facebook Messenger Platform で始める Bot 開発

必要なものの準備:Facebookアプリの作成

https://developers.facebook.com/ へアクセス

Page 22: Facebook Messenger Platform で始める Bot 開発

1. 「マイアプリ」からアプリ作成画面へ移行

2. 「新しいアプリを作成」からアプリ追加

必要なものの準備:Facebookアプリの作成

Page 23: Facebook Messenger Platform で始める Bot 開発

1. 「表示名」を入力(なんでもOK)

2. 「連絡先メールアドレス」入力

3. 「カテゴリ」を選択(一番近いカテゴリ選択)

必要なものの準備:Facebookアプリの作成

Page 24: Facebook Messenger Platform で始める Bot 開発

必要なものの準備:Facebookアプリの設定

「製品追加」からMessangerを追加

Page 25: Facebook Messenger Platform で始める Bot 開発

必要なものの準備:Facebookアプリの設定

ページアクセストークン生成

Facebookページ:先ほど作ったページを選択

※このトークンはあとで使うのでどこかにコピーしておいてください

Page 26: Facebook Messenger Platform で始める Bot 開発

必要なものの準備:Facebookアプリの設定

アプリトークン確認

設定 → ベーシック → アプリID / app secret

※このトークンはあとで使うのでどこかにコピーしておいてください

Page 27: Facebook Messenger Platform で始める Bot 開発

必要なものの準備:WebhookのためのBotの設定

ページアクセストークンの設定

好きな言語を選んで、ページアクセストークンにコピーした値を設定する

Page 28: Facebook Messenger Platform で始める Bot 開発

必要なものの準備:WebhookのためのBotの設定

コールバックトークンの設定

好きな言語を選んで、コールバックトークンに好きな値を設定する

デフォルト: my_callback_token

Page 29: Facebook Messenger Platform で始める Bot 開発

必要なものの準備:WebhookのためのBotの設定

アプリトークンの設定

好きな言語を選んで、アプリトークンに確認した値を設定する

Page 30: Facebook Messenger Platform で始める Bot 開発

必要なものの準備:WebhookのためのBotの設定

Botの設定

好きな言語を選んで、コールバックトークンに好きな値を設定する

デフォルト: my_callback_token

Page 31: Facebook Messenger Platform で始める Bot 開発

必要なものの準備:Botの起動

Botの起動

SSH接続して選んだ言語のBotを起動する

言語 コマンド

PHP php –S localhost:ポート番号 index.php

Ruby bundler exec shotgun –p ポート番号

Python python3 main.py –p ポート番号

Node.js npm start -- -p ポート番号

Page 32: Facebook Messenger Platform で始める Bot 開発

必要なものの準備:Facebookアプリの設定

WebHook設定

コールバックURL:※配られているURL

トークン:※サーバ側で設定したトークン(任意の文字列)

Page 33: Facebook Messenger Platform で始める Bot 開発

Botの動作確認

Botにメッセージを送ってみましょう

Page 34: Facebook Messenger Platform で始める Bot 開発

Botプログラムの簡単な説明

トークンの検証を行っています メッセージの改ざんをチェックするためです

受信したメッセージにテキストメッセージが含まれている場合

その文言をテキストメッセージ送信処理します

それ以外の場合 Not supported という文言を送信します

テキストメッセージを送信する処理しかありません 画像や動画、ボタンなどを送信したい場合は自分で作りましょう☆

Page 35: Facebook Messenger Platform で始める Bot 開発

説明おわり

自由な発想で、身の回りの人の課題が解決できるような

Botが出来上がることを楽しみにしています!