はじめに
一人暮らしをはじめてからというもの、衝動買いに歯止めが利かなくなってしまい
部屋にAmazonのダンボールが増え続ける生活を送っております。これではいかん。
無駄遣いはしないと決心をしても、効果がないのはわかりきっていたので、
Amazonサイトでの衝動買いを減らせるような仕組みを作ろうとした記録になります。
概要
amazonのサイトを訪れると、無駄遣いしないようにGoogle Home Miniが釘を刺してくれます。
※google-home-notifier周りをほぼ自動化したこちらを元にGoogle Spreadsheetを噛ませているので、サンプルコードはSpreadsheetへPOSTするようになっています。
Google Home Miniに喋ってもらう準備(google-home-notifier)
前回の記事でも紹介させていただきましたが、
GoogleHomeスピーカーに外部からプッシュして自発的に話してもらいます
こちらの記事を参考に行えば、特に詰まることはないかと思います。
改めまして、すばらしい記事をありがとうございます
ちょっと違う声で喋ってほしい!
google-home-notifierの設定が完了すると、通常の"OK, Google!"時の声とは違う音声で喋ってくれます。
この音声がいまいち…という方は
VoiceText Web APIを使用することで、好みの声で喋らせることが可能です!
#Google Home で野太い声になるアプリ「筋肉ボイス」を作った!筋肉はいいぞ#ActionsOnGoogle 対応した!
— ちょまど@広島なう (@chomado) 2018年3月16日
これで声から起動できる!
Microsoft のサーバーレスのサービス「#AzureFunctions」使って、
言語は C# を使ってプログラミングした!
コードは全部上げたよ!https://t.co/K5zJCJlUyt
ー pic.twitter.com/FssZ6UDw0M
ちょまどさんがこちらのツイートで紹介されているアプリで使用されているものです!
いつも参考にさせていただいております
今回は、こちらの記事を参考に実装しました。
Google Homeで好きな言葉を話してもらう その2(VoiceText)
めちゃくちゃ助かりました
特定のWebページを訪れたら、google-home-notifierに通知する
Amazonのサイトに来たらgoogle-home-notifierにPOSTするChromeの拡張機能を作成して実現しました。
ページ遷移のたびに喋られるのは鬱陶しいので、
セッションで最初の訪問の際に喋ってもらうようにしました。
{
"name": "Google-Home-Page-Alert-Chrome-Extension",
"version": "1",
"manifest_version": 2,
"description": "When you visit Amazon's website, alert to Google Home",
"content_scripts": [{
"matches": ["https://www.amazon.co.jp/*"],
"js": ["alert.js"]
}],
"permissions": [ "https://script.google.com/macros/s/*", "tabs" ]
}
var pageUrl = location.pathname;
var url = [YOUR URL];
if(window.sessionStorage.getItem(["GHAlert"]) === null){
/* セッションで最初の訪問だったときの処理 */
// セッションに値を登録
window.sessionStorage.setItem(["GHAlert"],["1"]);
var msg = "無駄遣いしないようにね";
postGHN(url, msg);
}else if(~pageUrl.indexOf("/gp/cart/view.html")){
/* カートページを訪れたときの処理 */
var msg = "それ本当に必要なの?";
postGHN(url, msg);
}
/* google-home-notifierにPOSTするための関数 */
function postGHN(url, msg) {
var xhr = new XMLHttpRequest();
msg = encodeURIComponent(msg);
xhr.open("POST", url, true);
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhr.withCredentials = "true";
xhr.send("msg=" + msg);
}
デモ
Amazonのサイトを見ると、Google Home Miniが無駄遣いしないように釘をさしてくれる拡張機能を作りました! pic.twitter.com/BMVA2MLpxz
— にみり (@nimiri_) March 30, 2018
Google Home との楽しい同棲生活に少し近づいた気がしますね!
作り終わったあとで、スマートスピーカーを使う必要性が全くないことに気づきました