const subMinutes = require("date-fns/subMinutes"); const roundToNearestMinutes = require("date-fns/roundToNearestMinutes"); const format = require("date-fns-tz/format"); const utcToZonedTime = require("date-fns-tz/utcToZonedTime"); const nyanco = require("./util/nyanco"); const timeZone = "Asia/Tokyo"; const prefNumber = 34; const pageURL = `https://www.tenki.jp/radar/7/${prefNumber}/`; const imgURL = (target) => [ "https://static.tenki.jp/static-images/radar/", format(target, "yyyy/MM/dd/HH/mm/ss", { timeZone }), `/pref-${prefNumber}-large.jpg`, ].join(""); module.exports = [ /天気/, async ({ say }) => { const target = utcToZonedTime( roundToNearestMinutes(subMinutes(new Date(), 5), { nearestTo: 5, }), timeZone ); return say( [ `${nyanco()} < ${format( target, "HH時mm分の雨雲の様子にゃーん", timeZone )}`, imgURL(target), pageURL, ].join("\n") ); }, ];