Amazon Echo経由でLINE botにメッセージを投げてもらう
背景
Amazon Echoを買ったはいいものの「アレクサ、音楽流して」とか「アレクサ、今日の天気は?」など、ごくありふれた用途でしか使っていませんでした。
Amazon Echoには【Alexa Skill】という拡張機能が用意されています。一般に公開されているSkillだけでなくSkillを自作して組み込むこともできるので、じゃ作ってみるかというのが動機です。
なぜLINE botなのか
私の所属する課でLINEのグループを作っています。朝起きた時にメンバーからフレックス出勤の連絡が入ることがあります。もちろん私もします。
ちなみに私は、なんとなくダルイなど、そんな理由で取得します。*1そんなときってLINEを起動して手で入力するのって面倒な訳です。むしろ寝ながらでも申請したいのです。
手でLINEへの入力が面倒 ⇒ 声で入力すれば楽かも? ⇒ 完成したら寝ながら連絡できるじゃん!とそんな理由です。
設計
まず結論から。こんな感じに仕上げました。*2
Alexa関連
https://developer.amazon.com/ja/alexa-skills-kit/training/building-a-skill
すごく丁寧に記述されているのでちゃんと読んで手を動かせば、かなりイメージが掴めるはずです。この記事がなかったら作れなかったと思います。
【メッセージ加工】のLambdaで、Alexaから渡された時間情報を使って、後ろにいるLINE botにpushさせるメッセージを作っています。
メッセージ加工~LINE botへのPushまわり
完全に私の周りの都合ですがLINEグループに所属していない人もいます。普段はその人へはSMSで投げています。将来的にはそれぞれに同時に投げたいので、複数の配信先に通知するサービス、つまりSNSを間に挟んでいます。*3
LINE bot
https://developers.line.me/ja/
公式ページです。
仕様がかなりわかりやすいのと、言語毎のサンプルを用意してくれているので、ほとんど詰まらず作成できました。コピペで動かせるものってホント素晴らしい。*4
実際にPush指示を出すのは前段のLambdaで実装しています。
おわりに
設計などの情報をアウトラインレベルですがまとめてみました。
次回以降のエントリでそれぞれの設定や実装をまとめてみます。
(12/29 追記。まとめました。)