Alexa お祝いスキル
はいさい。
二辺の比とその間の間の角が等しい.
よって、二つの三角形は相似。
証明終了。
数学検定準二級のイェスタデイです。
(シーサーズラボどこいった)
さてさて、完全に自己満足のアレクサスキルを作ってました。
先日、推しのアイドルさんの誕生日でした。
Twitter上には、お祝いメッセージが溢れてました。
それを眺めていて、このお祝いメッセージは本人に届くのか?
とふと思いました。
(ハッシュタグを追えば見れるんですけどね。)
そこで、お祝いメッセージをピックアップして読んでくれたら
お祝いしたほうも、される方もハッピーなのでは?
と思って作ってみました。
細かい説明は、置いておいて、、、動作はこんな感じ。
![](https://lh3.googleusercontent.com/dfaf1IkCB2N2qXRNdwCoRZpfWD49d19GcWoN-V9ASV0CbtWxRzgHccsNMXoKG4wf_Vkqri-f3GvaBIOqHiCintwHHaj_BU7_drkS_MxamvVOVwSnHEtnuLKrWJwyCt2EDEc5Ddp5BlI=w2400)
(動画埋め込みのやり方がわかりませんでした・・・・)
ランダムで、Twitter上のお祝いメッセージを読み上げます。
Alexaスキルは、いくつかのワードからできていて、
最初は、必ず「アレクサ」、これで音声受付モードになります。
そのあとの「みりんちゃん、おめでとう」が今回のスキルの呼び出し名。
そのあとに細かい「インテント」や「スロット」がありますが
今回は使ってません。
その辺の事もいずれ説明書けたら書きたいと思います。
今回は、スキルの概要。
流れは、「Alexa Skills Kit」からAWSの「Lambda」を呼びだす感じ。
Lambdaへ渡されるイベント(Json)の中に情報として、
上にあげた「インテント」や「スロット」の情報が含まれます。
Jsonはこんな感じ。
{
"version": "1.0",
"session": {
"new": true,
"sessionId": "amzn1.echo-api.session.434c2e66-4552-49b9-a1c0-fb6d5a760107",
"application": {
"applicationId": "amzn1.ask.skill.73d92069-a667-430f-b958-bef03de0d304"
},
"user": {
"userId": "amzn1.ask.account.[ユーザーID]"
}
},
"context": {
"System": {
"application": {
"applicationId": "amzn1.ask.skill.73d92069-a667-430f-b958-bef03de0d304"
},
"user": {
"userId": "amzn1.ask.account.[ユーザーID]"
},
"device": {
"deviceId": "amzn1.ask.device.[デバイスID]",
"supportedInterfaces": {}
},
"apiEndpoint": "https://api.fe.amazonalexa.com",
"apiAccessToken": [アクセストークン]
}
},
"request": {
"type": "IntentRequest",
"requestId": "amzn1.echo-api.request.afc3ce94-6d64-46d9-a130-f370c230c74d",
"timestamp": "2018-09-19T14:44:19Z",
"locale": "ja-JP",
"intent": {
"name": "[インテント名]",
"confirmationStatus": "NONE"
}
}
}
ここのインテント名で、スキル呼び出し後の動作を分岐させることができます。
詳細は、、、今回は使ってないので割愛。
その後は、Lambdaで処理して、Alexaに話させたい内容を返せばOK。
今回のシステム構成はざっくり↓のようになります。
Twitterから、お祝いメッセージのハッシュタグを収集。
データベースに情報を保存。
Alexaスキルから呼ばれたら、データベースからランダムに一つを選択して、返答。
という感じ。
しばらく、日記書いてなかったのでちゃんと書くか、、、
と思いましたが、意外と雑。
もう少しちゃんと技術ブログ書きたい。。。
以上。
二辺の比とその間の間の角が等しい.
よって、二つの三角形は相似。
証明終了。
数学検定準二級のイェスタデイです。
(シーサーズラボどこいった)
さてさて、完全に自己満足のアレクサスキルを作ってました。
先日、推しのアイドルさんの誕生日でした。
Twitter上には、お祝いメッセージが溢れてました。
それを眺めていて、このお祝いメッセージは本人に届くのか?
とふと思いました。
(ハッシュタグを追えば見れるんですけどね。)
そこで、お祝いメッセージをピックアップして読んでくれたら
お祝いしたほうも、される方もハッピーなのでは?
と思って作ってみました。
細かい説明は、置いておいて、、、動作はこんな感じ。
(動画埋め込みのやり方がわかりませんでした・・・・)
ランダムで、Twitter上のお祝いメッセージを読み上げます。
Alexaスキルは、いくつかのワードからできていて、
最初は、必ず「アレクサ」、これで音声受付モードになります。
そのあとの「みりんちゃん、おめでとう」が今回のスキルの呼び出し名。
そのあとに細かい「インテント」や「スロット」がありますが
今回は使ってません。
その辺の事もいずれ説明書けたら書きたいと思います。
今回は、スキルの概要。
流れは、「Alexa Skills Kit」からAWSの「Lambda」を呼びだす感じ。
Lambdaへ渡されるイベント(Json)の中に情報として、
上にあげた「インテント」や「スロット」の情報が含まれます。
Jsonはこんな感じ。
{
"version": "1.0",
"session": {
"new": true,
"sessionId": "amzn1.echo-api.session.434c2e66-4552-49b9-a1c0-fb6d5a760107",
"application": {
"applicationId": "amzn1.ask.skill.73d92069-a667-430f-b958-bef03de0d304"
},
"user": {
"userId": "amzn1.ask.account.[ユーザーID]"
}
},
"context": {
"System": {
"application": {
"applicationId": "amzn1.ask.skill.73d92069-a667-430f-b958-bef03de0d304"
},
"user": {
"userId": "amzn1.ask.account.[ユーザーID]"
},
"device": {
"deviceId": "amzn1.ask.device.[デバイスID]",
"supportedInterfaces": {}
},
"apiEndpoint": "https://api.fe.amazonalexa.com",
"apiAccessToken": [アクセストークン]
}
},
"request": {
"type": "IntentRequest",
"requestId": "amzn1.echo-api.request.afc3ce94-6d64-46d9-a130-f370c230c74d",
"timestamp": "2018-09-19T14:44:19Z",
"locale": "ja-JP",
"intent": {
"name": "[インテント名]",
"confirmationStatus": "NONE"
}
}
}
ここのインテント名で、スキル呼び出し後の動作を分岐させることができます。
詳細は、、、今回は使ってないので割愛。
その後は、Lambdaで処理して、Alexaに話させたい内容を返せばOK。
今回のシステム構成はざっくり↓のようになります。
Twitterから、お祝いメッセージのハッシュタグを収集。
データベースに情報を保存。
Alexaスキルから呼ばれたら、データベースからランダムに一つを選択して、返答。
という感じ。
しばらく、日記書いてなかったのでちゃんと書くか、、、
と思いましたが、意外と雑。
もう少しちゃんと技術ブログ書きたい。。。
以上。