2018-06-30-gaaamii
復帰したといいつつ更新せず2週間も経ってしまっていた...
なんかやるぞ〜
ご本人の音声じゃないとなにも面白くないことに気づいたが、とりあえず自前スキルを手元で確かめられることがわかった。
今回はAlexa経由で使えるStudyplusみたいなかんじの勉強記録サービスのプロトタイプを作りたい。tommy.icon /icons/よさそう.icon 仕様
Alexaに「Alexa, 勉強します」というとその時刻を記録
Alexaに「Alexa, 勉強終わりました」というとその時刻を記録
開始時間と終了時間をなんかしらのグラフで画面に表示
とりあえずここまでできればネタにはなりそう。
できれば画面側はElmでつくりたい。
まずプロジェクトを作ろう。
これでなにすればいいんだっけ
「スキルビルダーのチェックリスト」というところに親切にガイドが出てる
https://gyazo.com/a90f7106d210add127354d7dd8895352
呼び出し名
「勉強」とかでいいと思うけどどうしよう、こんなことが書いてある。
呼び出し名は2語以上でなければなりません。また、使用できるのはひらがな、カタカナ、漢字、小文字のアルファベット、スペースのみです。数字などは文字で表現しなければなりません。(例: 「二十一」など)
なんかユニークなあれを考えないとか
ほんとうにだめなのか?
「勉強」でモデルをビルドしてみる。
なんかエラーでた
Missing sample utterance. At least one sample utterance is required.エラーコード: MissingSampleUtterance
一語だからだめって感じでもない
先にインテントとか設定しないとだめなんだっけ
インテントってなんだ
インテントとは、ユーザーの音声によるリクエストを満たすアクションを表します。インテントでは、スロットという引数を任意で使用することもできます。たとえば、旅行を計画するスキルで、fromCity、toCity、およびtravelDateという名前のスロットを含むPlanMyTripという名前のインテントを定義することができます。ユーザーが次のように話すとします。
ユーザー: アレクサ、トリッププランを開いて次の金曜日にシアトルからポートランドまでの旅行を計画して
Alexaサービスは、トリッププランサービスにPlanMyTripインテントを送ります。その際、fromCityスロットには値「シアトル」、toCityスロットには「ポートランド」、travelDateスロットには次の金曜日の日付を指定します。サービスはこの情報を保存し、テキストを送り返して音声に変換します。
ほほ〜ん(よくわからん)
Alexaのdeveloper console、読み込みが遅めでちょっとつらい
なんか雰囲気だけ先につくった
https://gyazo.com/225e9c76e344c28fed3c3880f93ce090
「勉強くんを開いて」っていう呼びかけくそだるいけど細かいことはあとで
現在こんな感じ
https://gyazo.com/057863e30fd89185d6263bb5f417536a
勉強開始時刻と終了時刻を実際に記録しよう
どうやるんだ
何をつかうんだ
AWSで揃えたほうがいいのか、自前でなんか作るほうがいいのか
雑にテーブルつくってみよう
https://gyazo.com/612a8449fc3b8fe1f6b8d786804e2487
プライマリキー?普通にidでいいか
idというか自動連番みたいなものじゃなさそうな雰囲気を感じる
わからんけど idにしておこう。さっぱりわからん。
一旦雑でいいからとりあえずLambdaからDynamoDB扱えるようにしたい
どうやるんだ
よくわからんけど開始時刻を入れるところまではできた(?)
https://gyazo.com/6b88f6b881efa6d49dd9bfa64d55d3ca
あとは終了時に update(key, { ended_at: new Date().getTime() })みたいなことがしたい
どうやればいいんだ
ここまででできていることのデモ tommy.icon /icons/いいぞ!.icon
https://vimeo.com/277766823