SlideShare uma empresa Scribd logo
1 de 20
AWS×LINE×LINE BOT AWARDS
About Me
• 平岡雅俊
• Sonicmoov Co,. Ltd.
• Webエンジニア歴 10年
• 休日は自宅で映画鑑賞なインドア派
• 猫好き
• 病弱
About Sonicmoov
• BtoB & BtoC
• Guile
• 動画広告配信プラットフォーム
• https://www.guile.jp/
• Tonariwa
• LINE BUSINESS CONNECT
• ONE STOP SOLUTION
• 企画・デザインから開発、運用まで社内で内製する体制
• Sonicmoov LAB
• https://lab.sonicmoov.com/
LINE BOT AWARDS
• http://botawards.line.me/ja/
• 誰でも参加可能
• 優勝賞金1000万円!
AWSで構築するLINE BOT
• システム構成
• API Gateway
• Queue + Job Worker
• アカウント設定
• Messaging API
• Reply Message
• Push Message
• Template Message
Systems Architecture
Queue Server
Internet gateway
API Gateway
Worker Server
Api Gateway
• Messaging API の Callback URL は https のみ
• Let‘s Encrypt などでも可能だが、独自ドメインが必要
• 無料利用枠でなら、最大12ヶ月、100万回/月の呼び出しが無料
• Lambda ももちろん可能
• 今回はHttp Proxy として利用
• X-Line-Signature の転送設定を忘れずに
• https://gist.github.com/hirarin/30114ac0eb1186a27fc599f41946261a
Queue + Job Worker
• https://github.com/wa0x6e/php-resque-ex
• Queue Serverで受け取った event をRedis にスタック
• 処理としてはQueueを登録するだけなので高速
• Worker Serverで順次処理
• 時間のかかる処理(外部API呼び出しなど)をゆっくり行う
• 処理結果からメッセージを構築してLINE へ投げる
• Worker のプロセス数を上げれば並列処理でさらに快適
Phalcon 3.0.1 + line-bot-sdk-php
• https://phalconphp.com/ja/
• 爆速PHPフレームワーク
• PHP Extensionとして、Zephir言語で書かれている
• remiリポジトリ経由でrpmが配布されています
• https://github.com/line/line-bot-sdk-php
• LINE社が提供しているSDK
• exampleにSlimFrameworkで組まれたEchoBotなどもあり、参考になります
Developer Trial
アカウントの取得
• https://business.line.me/ja/services/bot
• 上記サイトから登録してアカウントを発行
• LINE Developer サイトでWebhook URLを設定
• AWS API Gateway のEndpointを指定
• Channel Access Tokenの発行
• LINE@ MANAGER サイトでWebhookを有効化
Messaging API
Reply Message
• リクエスト内のReply Tokenを利用することで無料でメッセージを送信可能
• Reply Tokenには有効期限がある
• Reply Tokenは1度だけ使うことができる
/** @var LINELINEBot $bot */
$bot = $this->getDI()->get('bot');
$response = $bot->replyText(
$event->getReplyToken(),
'位置情報を送ってね!'
);
Push Message
• Channel Access Tokenを利用するメッセージ送信
• ユーザーからのメッセージがなくてもいつでも送信可能
• 処理に時間がかかるような返信はPush Messageで
/** @var LINELINEBot $bot */
$bot = $this->getDI()->get('bot');
$response = $bot->pushMessage(
$event->getUserId(),
new TextMessageBuilder('付近に居酒屋はないようです')
);
Template Message
• 予め用意されたテンプレート形式でメッセージを送信する
• Button
• Confirm
• Carousel
• 今回はCarouselで店舗情報を表示
/** @var LINELINEBot $bot */
$bot = $this->getDI()->get('bot');
$carouselTemplateBuilder = new CarouselTemplateBuilder($columns);
$multiMessageBuilder = new MultiMessageBuilder();
$response = $bot->pushMessage(
$event->getUserId(),
$multiMessageBuilder
->add(new TextMessageBuilder('近くに居酒屋を発見しました!'))
->add(new TemplateMessageBuilder('alt text', $carouselTemplateBuilder))
->add(new TextMessageBuilder('Powered by ぐるなび'))
);
DEMO
居酒屋検索BOT
位置情報を送信すると近くの居酒屋を探してくれます
https://github.com/hirarin/izakaya-bot
最後に
ソニックムーブではエンジニアを募集しています!
• 新しい技術が好き
• インフラもアプリケーションもやりたい
• 自分好みの環境を作りたい
• 島根で働きたい
そんなアナタ!
ソニックムーブで一緒に切磋琢磨しませんか?
https://www.sonicmoov.com/recruit/
ご清聴ありがとうございました

Mais conteúdo relacionado

Mais procurados

Mais procurados (6)

Mobile cloudnight 2015/11/11
Mobile cloudnight 2015/11/11Mobile cloudnight 2015/11/11
Mobile cloudnight 2015/11/11
 
クラウドAPIを利用した開発について ~ セルフポータル、ストレージサービス、Infrastructure as a code ~
クラウドAPIを利用した開発について ~ セルフポータル、ストレージサービス、Infrastructure as a code ~クラウドAPIを利用した開発について ~ セルフポータル、ストレージサービス、Infrastructure as a code ~
クラウドAPIを利用した開発について ~ セルフポータル、ストレージサービス、Infrastructure as a code ~
 
IVS CTO Night and Day Recap - #CTONight 2016 Spring
IVS CTO Night and Day Recap - #CTONight 2016 SpringIVS CTO Night and Day Recap - #CTONight 2016 Spring
IVS CTO Night and Day Recap - #CTONight 2016 Spring
 
進化を続けるBluemix 最新情報
進化を続けるBluemix 最新情報進化を続けるBluemix 最新情報
進化を続けるBluemix 最新情報
 
Micronaut on Azure 試してみた
Micronaut on Azure 試してみたMicronaut on Azure 試してみた
Micronaut on Azure 試してみた
 
OpenCVを使ったiQONの画像処理の全容
OpenCVを使ったiQONの画像処理の全容OpenCVを使ったiQONの画像処理の全容
OpenCVを使ったiQONの画像処理の全容
 

Semelhante a Aws x line x line bot awards

Sharoid Service Menu
Sharoid Service MenuSharoid Service Menu
Sharoid Service Menu
sharoid
 

Semelhante a Aws x line x line bot awards (20)

Platform.html5
Platform.html5Platform.html5
Platform.html5
 
自社クラウドサービスをAnsibleで作った話
自社クラウドサービスをAnsibleで作った話自社クラウドサービスをAnsibleで作った話
自社クラウドサービスをAnsibleで作った話
 
観たいセッションがかぶった!なんて心配ご無用。今年は、興味の赴くままにあれもこれも♪
観たいセッションがかぶった!なんて心配ご無用。今年は、興味の赴くままにあれもこれも♪観たいセッションがかぶった!なんて心配ご無用。今年は、興味の赴くままにあれもこれも♪
観たいセッションがかぶった!なんて心配ご無用。今年は、興味の赴くままにあれもこれも♪
 
Programming AWS with Python
Programming AWS with Python  Programming AWS with Python
Programming AWS with Python
 
SORACOM Technology Camp 2018 | A3. IoT×クラウドデザインパターン
SORACOM Technology Camp 2018 | A3. IoT×クラウドデザインパターンSORACOM Technology Camp 2018 | A3. IoT×クラウドデザインパターン
SORACOM Technology Camp 2018 | A3. IoT×クラウドデザインパターン
 
【de:code 2020】 ハンズオンで学ぶ AI ~ Bot Framework Composer + QnA Maker / Custom Visi...
【de:code 2020】 ハンズオンで学ぶ AI ~ Bot Framework Composer + QnA Maker / Custom Visi...【de:code 2020】 ハンズオンで学ぶ AI ~ Bot Framework Composer + QnA Maker / Custom Visi...
【de:code 2020】 ハンズオンで学ぶ AI ~ Bot Framework Composer + QnA Maker / Custom Visi...
 
Sharoid Service Menu
Sharoid Service MenuSharoid Service Menu
Sharoid Service Menu
 
HTML5J AWS でできるIoT
HTML5J AWS でできるIoTHTML5J AWS でできるIoT
HTML5J AWS でできるIoT
 
クラウドサービスで作成するノンコーディングBot
クラウドサービスで作成するノンコーディングBotクラウドサービスで作成するノンコーディングBot
クラウドサービスで作成するノンコーディングBot
 
20180119 AI で業務効率化 ~B To Employee ではじめる Chat Bot~
20180119 AI で業務効率化 ~B To Employee ではじめる Chat Bot~20180119 AI で業務効率化 ~B To Employee ではじめる Chat Bot~
20180119 AI で業務効率化 ~B To Employee ではじめる Chat Bot~
 
【AWS×Deployment】TechTalk #5
【AWS×Deployment】TechTalk #5【AWS×Deployment】TechTalk #5
【AWS×Deployment】TechTalk #5
 
AWS Black Belt Online Seminar 2016 AWS IoT
AWS Black Belt Online Seminar 2016 AWS IoTAWS Black Belt Online Seminar 2016 AWS IoT
AWS Black Belt Online Seminar 2016 AWS IoT
 
Bpstudy20180725
Bpstudy20180725Bpstudy20180725
Bpstudy20180725
 
AWS All Stars ~Lightning Talks x 13~
AWS All Stars ~Lightning Talks x 13~AWS All Stars ~Lightning Talks x 13~
AWS All Stars ~Lightning Talks x 13~
 
Pepper用課金ボックス「ロボコイン」
Pepper用課金ボックス「ロボコイン」Pepper用課金ボックス「ロボコイン」
Pepper用課金ボックス「ロボコイン」
 
TypeScript x Bot Framework
TypeScript x Bot FrameworkTypeScript x Bot Framework
TypeScript x Bot Framework
 
20200708サーバーレスでのAPI管理の考え方
20200708サーバーレスでのAPI管理の考え方20200708サーバーレスでのAPI管理の考え方
20200708サーバーレスでのAPI管理の考え方
 
IBM STARTUP MEETUP!(スタートアップカフェ大阪)
IBM STARTUP MEETUP!(スタートアップカフェ大阪)IBM STARTUP MEETUP!(スタートアップカフェ大阪)
IBM STARTUP MEETUP!(スタートアップカフェ大阪)
 
AWSによるサーバーレスアーキテクチャ
AWSによるサーバーレスアーキテクチャAWSによるサーバーレスアーキテクチャ
AWSによるサーバーレスアーキテクチャ
 
dots. 7/7 DSWBハンズオン資料
dots. 7/7 DSWBハンズオン資料dots. 7/7 DSWBハンズオン資料
dots. 7/7 DSWBハンズオン資料
 

Último

物流は成長の準備ができていますか? 警告 1 日あたり 1 章を超えて消費しないでください コンテンツが覚醒と変化への意志を引き起こす
物流は成長の準備ができていますか? 警告 1 日あたり 1 章を超えて消費しないでください コンテンツが覚醒と変化への意志を引き起こす物流は成長の準備ができていますか? 警告 1 日あたり 1 章を超えて消費しないでください コンテンツが覚醒と変化への意志を引き起こす
物流は成長の準備ができていますか? 警告 1 日あたり 1 章を超えて消費しないでください コンテンツが覚醒と変化への意志を引き起こす
Michael Rada
 

Último (6)

日本上場SaaS企業データを使った経験曲線の分析|売上成長によるコストダウン戦略
日本上場SaaS企業データを使った経験曲線の分析|売上成長によるコストダウン戦略日本上場SaaS企業データを使った経験曲線の分析|売上成長によるコストダウン戦略
日本上場SaaS企業データを使った経験曲線の分析|売上成長によるコストダウン戦略
 
共有用_aio基本保守プラン_WordPressサイト_20240509.pdf
共有用_aio基本保守プラン_WordPressサイト_20240509.pdf共有用_aio基本保守プラン_WordPressサイト_20240509.pdf
共有用_aio基本保守プラン_WordPressサイト_20240509.pdf
 
物流は成長の準備ができていますか? 警告 1 日あたり 1 章を超えて消費しないでください コンテンツが覚醒と変化への意志を引き起こす
物流は成長の準備ができていますか? 警告 1 日あたり 1 章を超えて消費しないでください コンテンツが覚醒と変化への意志を引き起こす物流は成長の準備ができていますか? 警告 1 日あたり 1 章を超えて消費しないでください コンテンツが覚醒と変化への意志を引き起こす
物流は成長の準備ができていますか? 警告 1 日あたり 1 章を超えて消費しないでください コンテンツが覚醒と変化への意志を引き起こす
 
company profile.pdf
company profile.pdfcompany profile.pdf
company profile.pdf
 
セルフケア研修で使えるカードゲーム『攻略!きみのストレスを発見せよ!: ゲームで身につくストレスマネジメント』
セルフケア研修で使えるカードゲーム『攻略!きみのストレスを発見せよ!: ゲームで身につくストレスマネジメント』セルフケア研修で使えるカードゲーム『攻略!きみのストレスを発見せよ!: ゲームで身につくストレスマネジメント』
セルフケア研修で使えるカードゲーム『攻略!きみのストレスを発見せよ!: ゲームで身につくストレスマネジメント』
 
Broadmedia Corporation. 240510fy2023_4q
Broadmedia Corporation.  240510fy2023_4qBroadmedia Corporation.  240510fy2023_4q
Broadmedia Corporation. 240510fy2023_4q
 

Aws x line x line bot awards