今さらだけどAlexaのカスタムスキルを作ってみた
今さらな備忘録。
Alexaスキル始め
アカウントを用意し、公式ページのチュートリアルや動画を見つつ進めます。アカウント作成についてはこちらを参照。
Alexaの知識がないところからスキルを作ってみた日記 その1
作成するもの
「日付を伝えたら曜日を返してくれる」カスタムスキルを作ってみます。
呼び出し名の設定
実際にAmazon Echoに話しかけるための呼び出し名を設定します。今回は適当に「曜日確認」という呼び出し名にします。
インテントの作成
次にインテントの作成をします。変数を利用して、最初にどんな日付でも受け付けられるようにします。{date}
変数は日付形式を扱いたいので、「Amazon.DATE」をスロットタイプには指定します。こうすることで、Alexaが認識した{date}
をYYYY-MM-DD
の形式に変換して呼び出し先のパラメータとして渡してくれる様になります。
呼び出し先Lambda関数の作成
作成してきたAlexaのスキルが呼び出す先のLambda関数を作成します。呼び出し元に「AlexaSkillKit」を指定して、中身を実装します。今回はPython3.6で簡単に実装しました。
import datetime
import locale
def lambda_handler(event, context):
intent = event['request']['intent']
date_str = intent['slots']['date']['value']
locale.setlocale(locale.LC_TIME, 'ja_JP.UTF-8')
date = datetime.datetime.strptime(date_str, '%Y-%m-%d')
res_str = date.strftime("%Y") + "年" + date.strftime("%m") + "月" + date.strftime("%d") + "日は、" + date.strftime("%A") + "です。"
response = {
'version': '1.0',
'response': {
'outputSpeech': {
'type': 'PlainText',
'text': res_str
}
}
}
return response
エンドポイントの設定
Lambdaが呼び出せるようになったら、ARNを「デフォルトの地域」に入力します。
テストしてみる
ここまでできればビルドが通るようになってますし、「テスト」をしてみます。
音声入力をしましたが、いい感じに解釈して返事を返してくれるようです。
まとめ
Alexaのスキル開発をしたのは約2年ぶりなのですが(初めて触ったのは2016のre:Inventのときでした)、以前に比べてかなり使いやすくなってます。チュートリアルも動画も豊富なので、さっと始めるには親切なナビゲーションがあったのはありがたい限りです。
Author And Source
この問題について(今さらだけどAlexaのカスタムスキルを作ってみた), 我々は、より多くの情報をここで見つけました https://qiita.com/kojiisd/items/bc6e53026b08fca38aab著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .