8
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

updated at

Alexaでtogglのタイマーを開始する

モチベーション

togglでタイマーを開始させるときに入力がめんどくさいことがある.
Alexaを使ってタイマーを開始/終了できるようにする.

概要

  • 「アレクサ,トグルで{プロジェクト}の{タイトル}を開始して」でtogglのタイマーを開始する.
  • 「アレクサ,トグルで時間を止めて」でtogglのタイマーを停止する.
  • 「アレクサ,トグルで{日付}を振り返って」でその日のプロジェクトごとの時間w

やること

Amazon Developer でスキルの作成

参考→Alexaスキル 開発チュートリアル

注意点

  • 公開しないときは使用中の Echoと同じアカウントを使用 する.
    公開しなくても,スキルを使用することが可能になる.
    開発中のスキルが勝手にAmazon Echoにスキルが反映される

作業

  1. スキルを作成する.(モデル: カスタム, ホスティング方法: Alexa-Hosted)
  2. 「スキル呼び出し名(Skill Invocation Name)」をトグルにする
  3. タイマー開始のインテントを作成する
    • インテント名: startTimerIntent
    • サンプル発話: 「{project} の {title} を開始して」
    • スロットの追加: project, titleのスロットを追加する.スロットタイプは「AMAZON.Genre」 ※困ったこと1
  4. タイマー終了のインテントを作成する
    • インテント名: stopTimerIntent
    • サンプル発話: 「時間を止めて」 ※困ったこと2
  5. エンドポイントに「AWS LambdaのARN」を貼り付け

AWS Lambda でlambda関数の作成

参考→Build an Alexa City Guide Skill in ASK Python SDK

作業

  1. ロールの作成 参考→Python による Lambda 関数のビルド
  2. Lambda関数を作成する.
    • 一から作成を選択
    • python 3.6を選択
    • 既存のロールを選択.作成したロールを選択
    • 関数を作成
  3. トリガーを追加(Alexa Skills Kit)
    スキルIDを貼り付けて追加(Alexa Developerのスキル一覧からスキルIDを取得)
  4. lambda_function.py を実装して,zipにしてアップロード
    参考→st34-satoshi/alexa-toggl

参考

困ったこと

1. 自由な言葉に対応するスロットタイプがない

文字列にタイプを指定する必要があるが,いいタイプがなくて困る.
自由な言葉に対するおうむ返しはできない?
literalがなくなってしまった → ユーザーの自由発話に対応する Alexa Skill を作る
Migrate Slot Types that Used AMAZON.LITERAL

AMAZON.SearchQueryはなぜかうまく使えなかった.

2. 「タイマーを止めて」は使わない方がいい

タイマー という言葉を使うと,アレクサにある他の機能を呼び出してしまうことがあるみたい

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
8
Help us understand the problem. What are the problem?