Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Echo SpotとAPIでインタラクティブなカスタムスキル
Search
KIKUCHI Joe
September 14, 2018
Programming
620
0
Share
Echo SpotとAPIでインタラクティブなカスタムスキル
API Meetup Tokyo #28で発表したスライドになります。
KIKUCHI Joe
September 14, 2018
More Decks by KIKUCHI Joe
See All by KIKUCHI Joe
re:Invent初参加者が体験したre:Invent2018
woowig
1
560
PayPal Tech Meetup #2 - ブロックチェーンで資産管理
woowig
0
3.6k
Other Decks in Programming
See All in Programming
Xdebug と IDE による デバッグ実行の仕組みを見る / Exploring-How-Debugging-Works-with-Xdebug-and-an-IDE
shin1x1
0
340
Rethinking API Platform Filters
vinceamstoutz
0
11k
飯MCP
yusukebe
0
490
車輪の再発明をしよう!PHP で実装して学ぶ、Web サーバーの仕組みと HTTP の正体
h1r0
3
510
アーキテクチャモダナイゼーションとは何か
nwiizo
17
4.5k
まかせられるPM・まかせられないPM / DevTech GUILD Meetup
yusukemukoyama
0
110
AWS re:Invent 2025の少し振り返り + DevOps AgentとBacklogを連携させてみた
satoshi256kbyte
2
150
Codex CLI でつくる、Issue から merge までの開発フロー
amata1219
0
330
おれのAgentic Coding 2026/03
tsukasagr
1
140
見せてもらおうか、 OpenSearchの性能とやらを!
shunta27
1
180
PHPのバージョンアップ時にも役立ったAST(2026年版)
matsuo_atsushi
0
290
Symfonyの特性(設計思想)を手軽に活かす特性(trait)
ickx
0
130
Featured
See All Featured
Test your architecture with Archunit
thirion
1
2.2k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
160
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
320
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
27
3.4k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.4k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
220
It's Worth the Effort
3n
188
29k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
150
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
880
Deep Space Network (abreviated)
tonyrice
0
110
A designer walks into a library…
pauljervisheath
211
24k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Transcript
Echo Spot と API で インタラクティブな カスタムスキル API Meetup Tokyo
#28 (Sep 14, 2018) KIKUCHI Joe
自己紹介 名前:菊池条 勤め先:フォージビジョン株式会社 好きなAWS サービス:AWS Lambda, AWS X-Ray API Meetup
Tokyo #28 (2018/9/14) 2
会社紹介 http://forgevision.com/ API Meetup Tokyo #28 (2018/9/14) 3
Echo Spot 2018 年7 月26 日 日本でも出荷開始 「スタイリッシュでコンパクトなEcho Spot は、ス
マートスピーカーの機能にスクリーンが加わって さらに便利に」 - Amazon 製品紹介ページより 2.5 インチ タッチスクリーン API Meetup Tokyo #28 (2018/9/14) 4
インタラクティブな Alexa カスタムスキルを 作ってみた API Meetup Tokyo #28 (2018/9/14) 5
作ったスキル クイズを出題 クイズに関係した画像の表示 回答は音声か画面タッチで可能 ASK CLI とASK SDK for Node.js
を使って TypeScript で開発 API Meetup Tokyo #28 (2018/9/14) 6
使用したAPI クイズ研 API http://quizken.jp/api Google Custom Search JSON API https://developers.google.com/custom-
search/json-api/v1/overview API Meetup Tokyo #28 (2018/9/14) 7
画像表示 カスタムスキルの設定でDisplay インターフェース を有効にする レスポンスのdirectives にDisplay.RenderTemplate を 追加 テンプレートのbackgroundImage やimage
に画像の URL を指定 API Meetup Tokyo #28 (2018/9/14) 8
画像表示(コード例) const image = new ImageHelper() .withDescription(description) .addImageInstance(url) .getImage(); const
display: BodyTemplate3 = { image, textContent, title, type: 'BodyTemplate3', }; return handlerInput.responseBuilder .speak(speechText) .addRenderTemplateDirective(display) .getResponse(); API Meetup Tokyo #28 (2018/9/14) 9
タッチイベント テンプレートのタッチイベントを起こしたい箇所 のtoken を設定 テキスト中の特定の箇所にタッチイベントを入れ たい場合は<action token="token">Touch Me!</action> のようにマークアップする Display.ElementSelected
リクエストが発行されるの で、リクエストに含まれるtoken の値を見て適切に 処理する API Meetup Tokyo #28 (2018/9/14) 10
タッチイベント(コード例) const elementSelectedRequestHandler: RequestHandler = { canHandle(handlerInput: HandlerInput) { return
handlerInput.requestEnvelope.request.type === 'Display.ElementSelected'; }, handle(handlerInput: HandlerInput) { const { token } = handlerInput.requestEnvelope.request as ElementSelectedRequest; return doSomething(token); }, }; API Meetup Tokyo #28 (2018/9/14) 11
デモ API Meetup Tokyo #28 (2018/9/14) 12
作っているもの 会社の受付スキル 来客の要件を聞き、内容に応じた通知を行う A さんのお客様の場合はSlack でmention 、B さん のお客様の場合は電話、etc API
Meetup Tokyo #28 (2018/9/14) 13
会社の受付スキル(構成図) API Meetup Tokyo #28 (2018/9/14) 14
ForgeVision Engineer Blog https://techblog.forgevision.com/ API Meetup Tokyo #28 (2018/9/14) 15
ご清聴ありがとう ございました API Meetup Tokyo #28 (2018/9/14) 16