"王様達のヴァイキング"の9巻が出てる!と思ったら8巻を買ってなかった…
買い忘れないように
新刊.netを使う。 キーワードを登録すると発売日のリストを出してくれる。Kindle版の発売日にも対応していて便利。 iCal形式のカレンダーも作ってくれるので、Google Calendar等から参照すると使ってるカレンダーアプリから通知が来る。 これで買い忘れることは無くなった。
すぐ買えるように
発売日だと分かっても、購入するまでに
- amazonに行って、
- タイトル入力して検索かけて、
を毎回繰り返すのは面倒。 早く読みたいというのが真の願いなので、発売日が知れるだけでなく、少しでも早く購入出来るようになっている方が便利。 ASINが分かれば最高だったけど、さすがに望めなそうなので検索結果ページヘのリンクを付けることにする。 通知先はまたもSlack。自分の中では自分宛にpush通知したいときにとりあえず使うもの、という扱いになっている気がする。
前と同じように下のコードを日タイマーで動くように設定した。
function notifyNewBooks() {
var date = new Date();
var titles = titles_(date);
if (titles.length > 0) {
var mmdd = Utilities.formatDate(date, 'GMT+0900', 'MM/dd');
var text = mmdd + "の新刊\n" + titles.map(function(x) { return x + "\n" + url_(x) }).join("\n");
notify_(text);
}
}
function notify_(text) {
var payload = {
text: text,
channel: '#general',
username: '新刊通知',
icon_emoji: ':books:'
}
var url = 'https://hooks.slack.com/services/xxxxxxxxxx/xxxxxxxxxx/xxxxxxxxxx';
UrlFetchApp.fetch(url, { method: 'POST', payload: JSON.stringify(payload) });
}
function titles_(date) {
var id = 'xxxxxxxxxx';
return CalendarApp.getCalendarById(id).getEventsForDay(date).map(function(x) { return x.getTitle(); });
}
function url_(title) {
var x = 'http://www.amazon.co.jp/s/ref=nb_sb_noss?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&url=search-alias%3Daps&field-keywords=';
return x + encodeURIComponent(title);
}
これで、
- 発売日になったら通知がきて、
- リンクから(わりと)すぐに買う
ことができるようになった。便利。