SlideShare une entreprise Scribd logo
1  sur  37
Google Apps Scriptで
Facebook BOTを作る!
2016/5/18
Shoko Kondo
Twitter: @shoko3168
Facebook: 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.com/blo
g/API
 位置情報から
電源を使えるカフェ情報
をJSON形式で返してくれ
る
 実行例
 http://oasis.mogya.com/api
/v0/search?n=35.668961&
s=35.660961&e=139.7320
65&w=139.725065
モバイラーズオアシスAPIを使いま
す
北(N)
西(W)
東(E)
南(S)
構成
GAS
(BOTサーバ)
APIFBページユーザー モバイラーズオアシス
位置情報が
来たら
HTTP 200
URLをキッ
ク
BOTサーバを作る
Googleドライブを開き、
「Google Apps Script」 新規作成
キックするためのtestメソッドを書く
(CやJavaで言うmainメソッドのような)
getMobileOasisListメソッドを書き、
Logger.log()メソッドで実行ログを確認
メッセージ受信用の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利用の流れ
Facebookページにメッセージが届いたら、
先ほど作成したWebアプリを呼んでもらうように
Facebookアプリの設定をする
テキスト、位置情報などの
ハンドリングをするプログラムを書く
テキストメッセージが来たら「位置情報を送って
ね」と
返すプログラムを書く
位置情報が来たら、充電スポットを返すプログラ
ムを書く
ログは随時
Spreadsheetへ出力
Facebookアプリの設定
->Facebook Developer Site->ハカバくんアプリページ->プロダクト設定
Callback設定補足
FBページFB API
合言葉
「8063」
8063
NodeJSの場合
GASの場合
FacebookBOTを作ろう
Facebookメッセージ受信(1)
ログは随時
Spreadsheetへ出力
Facebook APIが
要求する形に合わせた
リクエスト
位置情報が入ってる場所
全貌は公式ドキュメント
に
ListをButtonに整形
ハカバくん
完成!
注意点など
注意点1
GAS
(BOTサーバ)
APIFBページユーザー モバイラーズオアシス
HTTP 200
注意点2
GAS
(BOTサーバ)
APIFBページユーザー モバイラーズオアシス
HTTP 200
BOTサーバQueue
注意点3
GAS
(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人で遊べる!

Contenu connexe

En vedette

プログラミングで数を楽しむ:)
プログラミングで数を楽しむ:)プログラミングで数を楽しむ:)
プログラミングで数を楽しむ:)Shoko Kondo
 
Octopress簡単スタートガイド
Octopress簡単スタートガイドOctopress簡単スタートガイド
Octopress簡単スタートガイドYukimitsu Izawa
 
Google Apps Script活用事例 Tokyo GAS 2013春
Google Apps Script活用事例 Tokyo GAS 2013春Google Apps Script活用事例 Tokyo GAS 2013春
Google Apps Script活用事例 Tokyo GAS 2013春Junya Sato
 
Goji とレイヤ化アーキテクチャ
Goji とレイヤ化アーキテクチャGoji とレイヤ化アーキテクチャ
Goji とレイヤ化アーキテクチャShiroyagi Corporation
 
Confluence - 活きた情報共有による現場改善
Confluence - 活きた情報共有による現場改善 Confluence - 活きた情報共有による現場改善
Confluence - 活きた情報共有による現場改善 智治 長沢
 
Dockerを使ってOSコマンドインジェクションが出来るSlack botを作った話
Dockerを使ってOSコマンドインジェクションが出来るSlack botを作った話Dockerを使ってOSコマンドインジェクションが出来るSlack botを作った話
Dockerを使ってOSコマンドインジェクションが出来るSlack botを作った話Tomoya Kita
 
【Mobidays】KM-Report 2016年9月
【Mobidays】KM-Report 2016年9月【Mobidays】KM-Report 2016年9月
【Mobidays】KM-Report 2016年9月Mobidays
 
サンタBot説明
サンタBot説明サンタBot説明
サンタBot説明okazakit
 
LINE@ 新手帳號設定五步驟介紹
LINE@ 新手帳號設定五步驟介紹LINE@ 新手帳號設定五步驟介紹
LINE@ 新手帳號設定五步驟介紹LINEATTWN
 
Facebook Messenger Platform Framework
Facebook Messenger Platform FrameworkFacebook Messenger Platform Framework
Facebook Messenger Platform FrameworkRam Murat Sharma
 
我が家を支えるChatOps
我が家を支えるChatOps我が家を支えるChatOps
我が家を支えるChatOps空宙 小笠原
 
やるおがtriphone HMMを作るようです
やるおがtriphone HMMを作るようですやるおがtriphone HMMを作るようです
やるおがtriphone HMMを作るようですShinya Shimizu
 
Slackとgoogle appsscript(js)で作る俺の秘書ハンズオン
Slackとgoogle appsscript(js)で作る俺の秘書ハンズオンSlackとgoogle appsscript(js)で作る俺の秘書ハンズオン
Slackとgoogle appsscript(js)で作る俺の秘書ハンズオン健一 茂木
 
Facebook Messenger Platform で始める Bot 開発
Facebook Messenger Platform で始める Bot 開発Facebook Messenger Platform で始める Bot 開発
Facebook Messenger Platform で始める Bot 開発sters
 
Bot に家計を任せる
Bot に家計を任せるBot に家計を任せる
Bot に家計を任せるYuki Ishikawa
 
Microsoft Bot framework 概要
Microsoft Bot framework 概要Microsoft Bot framework 概要
Microsoft Bot framework 概要Koichiro Sasaki
 
Bot mashup world LT Bot ✖️ HMM
Bot mashup world LT  Bot ✖️ HMMBot mashup world LT  Bot ✖️ HMM
Bot mashup world LT Bot ✖️ HMMRyota Sakamoto
 
千里之行,始於足下:動手寫自己的App
千里之行,始於足下:動手寫自己的App千里之行,始於足下:動手寫自己的App
千里之行,始於足下:動手寫自己的AppSmallr Huang
 

En vedette (20)

プログラミングで数を楽しむ:)
プログラミングで数を楽しむ:)プログラミングで数を楽しむ:)
プログラミングで数を楽しむ:)
 
Octopress簡単スタートガイド
Octopress簡単スタートガイドOctopress簡単スタートガイド
Octopress簡単スタートガイド
 
Google Apps Script活用事例 Tokyo GAS 2013春
Google Apps Script活用事例 Tokyo GAS 2013春Google Apps Script活用事例 Tokyo GAS 2013春
Google Apps Script活用事例 Tokyo GAS 2013春
 
Goji とレイヤ化アーキテクチャ
Goji とレイヤ化アーキテクチャGoji とレイヤ化アーキテクチャ
Goji とレイヤ化アーキテクチャ
 
Confluence - 活きた情報共有による現場改善
Confluence - 活きた情報共有による現場改善 Confluence - 活きた情報共有による現場改善
Confluence - 活きた情報共有による現場改善
 
Dockerを使ってOSコマンドインジェクションが出来るSlack botを作った話
Dockerを使ってOSコマンドインジェクションが出来るSlack botを作った話Dockerを使ってOSコマンドインジェクションが出来るSlack botを作った話
Dockerを使ってOSコマンドインジェクションが出来るSlack botを作った話
 
【Mobidays】KM-Report 2016年9月
【Mobidays】KM-Report 2016年9月【Mobidays】KM-Report 2016年9月
【Mobidays】KM-Report 2016年9月
 
サンタBot説明
サンタBot説明サンタBot説明
サンタBot説明
 
LINE@ 新手帳號設定五步驟介紹
LINE@ 新手帳號設定五步驟介紹LINE@ 新手帳號設定五步驟介紹
LINE@ 新手帳號設定五步驟介紹
 
Facebook Messenger Platform Framework
Facebook Messenger Platform FrameworkFacebook Messenger Platform Framework
Facebook Messenger Platform Framework
 
我が家を支えるChatOps
我が家を支えるChatOps我が家を支えるChatOps
我が家を支えるChatOps
 
やるおがtriphone HMMを作るようです
やるおがtriphone HMMを作るようですやるおがtriphone HMMを作るようです
やるおがtriphone HMMを作るようです
 
Slackとgoogle appsscript(js)で作る俺の秘書ハンズオン
Slackとgoogle appsscript(js)で作る俺の秘書ハンズオンSlackとgoogle appsscript(js)で作る俺の秘書ハンズオン
Slackとgoogle appsscript(js)で作る俺の秘書ハンズオン
 
Facebook Messenger Platform で始める Bot 開発
Facebook Messenger Platform で始める Bot 開発Facebook Messenger Platform で始める Bot 開発
Facebook Messenger Platform で始める Bot 開発
 
Bot に家計を任せる
Bot に家計を任せるBot に家計を任せる
Bot に家計を任せる
 
Microsoft Bot framework 概要
Microsoft Bot framework 概要Microsoft Bot framework 概要
Microsoft Bot framework 概要
 
Bot mashup world LT Bot ✖️ HMM
Bot mashup world LT  Bot ✖️ HMMBot mashup world LT  Bot ✖️ HMM
Bot mashup world LT Bot ✖️ HMM
 
千里之行,始於足下:動手寫自己的App
千里之行,始於足下:動手寫自己的App千里之行,始於足下:動手寫自己的App
千里之行,始於足下:動手寫自己的App
 
DDoS対策の自動化
DDoS対策の自動化DDoS対策の自動化
DDoS対策の自動化
 
Botと対話する
Botと対話するBotと対話する
Botと対話する
 

Similaire à Facebook bot(20160518)

WebXR と Bot Composer で表現力の高いチャット ボットを作ろう
WebXR と Bot Composer で表現力の高いチャット ボットを作ろうWebXR と Bot Composer で表現力の高いチャット ボットを作ろう
WebXR と Bot Composer で表現力の高いチャット ボットを作ろうYusuke Hara
 
Microsoft bot frameworkを触ってみた
Microsoft bot frameworkを触ってみたMicrosoft bot frameworkを触ってみた
Microsoft bot frameworkを触ってみたKazuhide Maruyama
 
Bot frameworkでbot入門
Bot frameworkでbot入門Bot frameworkでbot入門
Bot frameworkでbot入門Tsubasa Yoshino
 
CLR/H #clrh104 あなたのアプリにスパイスを! ~ コグニティブと対話 Botのプチレシピ
 CLR/H #clrh104 あなたのアプリにスパイスを! ~ コグニティブと対話 Botのプチレシピ CLR/H #clrh104 あなたのアプリにスパイスを! ~ コグニティブと対話 Botのプチレシピ
CLR/H #clrh104 あなたのアプリにスパイスを! ~ コグニティブと対話 BotのプチレシピKazumi IWANAGA
 
「JPOHC」のロゴ制作の話
「JPOHC」のロゴ制作の話「JPOHC」のロゴ制作の話
「JPOHC」のロゴ制作の話典子 松本
 
20201006 bot framework composer1-1-1
20201006 bot framework composer1-1-120201006 bot framework composer1-1-1
20201006 bot framework composer1-1-1ひかり 影中
 

Similaire à Facebook bot(20160518) (11)

20200809 jcdug lt
20200809 jcdug lt20200809 jcdug lt
20200809 jcdug lt
 
ChatOps with Hubot
ChatOps with HubotChatOps with Hubot
ChatOps with Hubot
 
WebXR と Bot Composer で表現力の高いチャット ボットを作ろう
WebXR と Bot Composer で表現力の高いチャット ボットを作ろうWebXR と Bot Composer で表現力の高いチャット ボットを作ろう
WebXR と Bot Composer で表現力の高いチャット ボットを作ろう
 
Microsoft bot frameworkを触ってみた
Microsoft bot frameworkを触ってみたMicrosoft bot frameworkを触ってみた
Microsoft bot frameworkを触ってみた
 
Bot Service 概要
Bot Service 概要Bot Service 概要
Bot Service 概要
 
Bot frameworkでbot入門
Bot frameworkでbot入門Bot frameworkでbot入門
Bot frameworkでbot入門
 
CLR/H #clrh104 あなたのアプリにスパイスを! ~ コグニティブと対話 Botのプチレシピ
 CLR/H #clrh104 あなたのアプリにスパイスを! ~ コグニティブと対話 Botのプチレシピ CLR/H #clrh104 あなたのアプリにスパイスを! ~ コグニティブと対話 Botのプチレシピ
CLR/H #clrh104 あなたのアプリにスパイスを! ~ コグニティブと対話 Botのプチレシピ
 
20200714 cogbot
20200714 cogbot20200714 cogbot
20200714 cogbot
 
Bot Framework で会話のログを取る
Bot Framework で会話のログを取るBot Framework で会話のログを取る
Bot Framework で会話のログを取る
 
「JPOHC」のロゴ制作の話
「JPOHC」のロゴ制作の話「JPOHC」のロゴ制作の話
「JPOHC」のロゴ制作の話
 
20201006 bot framework composer1-1-1
20201006 bot framework composer1-1-120201006 bot framework composer1-1-1
20201006 bot framework composer1-1-1
 

Dernier

知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptxsn679259
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Hiroshi Tomioka
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsWSO2
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video UnderstandingToru Tamaki
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...Toru Tamaki
 

Dernier (11)

知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 

Facebook bot(20160518)