Upload
shoko-kondo
View
865
Download
0
Embed Size (px)
Citation preview
Google Apps Script でFacebook BOT を作る!
2016/5/18
Shoko KondoTwitter: @shoko3168Facebook: shoko3168
自己紹介(近藤 祥子) XTREME DESIGN ( 技術秘書 ) Hackers Bar ( ハッカー ) ダイヤモンドメディア株式会社 ( エンジニア )
過去 : 証券、ソシャゲハカバくん:ハッカーズバー公式マスコット
本日の流れ Bot おさらい GAS で学ぶサーバサイドプログラム Facebook 用 Bot をつくろう まとめ
各 Bot 特性のおさらいFacebookBot
• 「 Facebook ページ」にキャラクターを紐付け
• Button 選択、 Receipt 出力が出来る
Slack Bot
• 「 /mobileoasis 」といったオリジナルコマンドも作成可能
• BOT のキャラクターを発信ごとに設定可能
Chatwork API
• 一方的に発信• リマインダー、
周知のような使い方
LINE Bot• 音声、動画、
位置情報といったメディア発信に強い
• スタンプでの会話
• メッセージ発信する際、事前登録した IP から送る必要がある
今回作る Bot
ハカバくん
Google Apps Script( 以下、 GAS) とは
・ Google のサービスを Javascript で操作・ Google アカウントだけがあれば誰でも使える
早速作り始めます( 電源スポットを取得する GAS)
モバイラーズオアシス http://oasis.mogya.co
m/blog/API 位置情報から
電源を使えるカフェ情報を JSON 形式で返してくれる 実行例 http://oasis.mogya.co
m/api/v0/search?n=35.668961&s=35.660961&e=139.732065&w=139.725065
モバイラーズオアシス API を使います
北 (N)
西 (W)東 (E)
南 (S)
構成GAS(BOT サーバ )
APIFB ページ モユーザー モバイラーズオアシス
位置情報が来たらHTTP 200
URL をキック
BOT サーバを作るGoogleドライブを開き、「Google Apps Script」 新規作成
キックするためのtestメソッドを書く(CやJavaで言うmainメソッドのような)メッセージ受信用のWebアプリを作る(Helloと表示されるだけ)
GAS の公開範囲に注意シークレットモードでテストすること
コーディング例 (javascript)
コーディング例 (javascript) – 続き
充電スポット取得
詰めかえて返却
GAS で空の Web アプリを作ります
GAS で Web 公開する際の注意点->GAS-> 公開 -> ウェブアプリケーションとして導入
Web アプリケーションとして公開 (4)
FacebookBOT 利用準備
クイックスタートドキュメントhttps://developers.facebook.com/docs/messenger-platform/クイックスタートhttps://developers.facebook.com/docs/messenger-platform/quickstart
アプリとページを作りますFacebook for Developers登録済の
Facebookアカウントが必要ハカバくんBOT
(電源スポット検索アプリ)
ハカバくん ( ページ )
Facebook BOT 利用の流れテキスト、位置情報などのハンドリングをするプログラムを書く
テキストメッセージが来たら「位置情報を送ってね」と返すプログラムを書く位置情報が来たら、充電スポットを返すプログラムを書く
ログは随時Spreadsheet へ出力
Facebook アプリの設定->Facebook Developer Site-> ハカバくんアプリページ -> プロダクト設定
Callback 設定補足FB ページFB API
合言葉「 8063 」
8063
NodeJS の場合
GAS の場合
FacebookBOT を作ろう
Facebook メッセージ受信 (1)ログは随時
Spreadsheet へ出力
Facebook API が要求する形に合わせたリクエスト
位置情報が入ってる場所全貌は公式ドキュメントに
List を Button に整形
ハカバくん
完成!
注意点など
注意点 1GAS(BOT サーバ )
APIFB ページ モユーザー モバイラーズオアシス
HTTP 200
注意点 2GAS(BOT サーバ )
APIFB ページ モユーザー モバイラーズオアシス
HTTP 200
BOT サーバQueue
注意点 3GAS(BOT サーバ )
APIFB ページ モユーザー モバイラーズオアシス
HTTP 200
BOT サーバQueue
キューが必要な理由Queue BOT サーバ
キューが必要な理由Queue BOT サーバ
ログ出力イメージ
オマケ 1二次会会場探し支援 BOT (充電スポットと併用)
オマケ 2ゲームが出来る LINE BOT を昨日作りました。「とろろ人狼 Bot 」で検索http://toroneko.hatenablog.jp/entry/2016/05/17/175144
村
村狼 占
霊村
BOT
それぞれのLINE に配役通知
村
村
狼
占
霊_
GM配役を全て知っているゲーム参加不可
6 人で遊ぶ場合
6 人で遊べる!