3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

陽菜が「ねぇ、今から晴れるよ?」という瞬間を捉える

Posted at

#やりたいこと
陽菜が代々木会館で「ねぇ、今から晴れるよ?」とつぶやく瞬間を捉える

#やりかた
今雨が降っていて、これから雨が止む瞬間を捉える

#気づき方
Slackに通知する。

#実現方法
Yahoo! Open Local Platformに気象情報で降水情報を発信しているので、
これを利用して雨が止む瞬間を捉える

#すると、こうなる
hareruyo.png

#スクリプト
スクリプトは以下のような感じです。Gas使えるようにして、YOLPのappIDを取得すれば↓貼り付けてappidとか書き換えてgasのトリガー設定で10分ごと起動にして、お好きなSlackで作ったincomingWebHookのurl設定すりゃ動きます。たぶん。

imahare.gs
function imahare(){
  var ima = 0;
  var gofungo = 0;
  var message="ねぇ、今から晴れるよ:sunny:";
  //経度、緯度@代々木会館
  var keido = "139.7016769";
  var ido   = "35.6832461";
  //yolpのAPPID
  var appId = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
  //YOLPをコールする。位置情報と降水情報の粒度を指定
  var url = "https://map.yahooapis.jp/weather/V1/place?coordinates=" + keido + "," + ido + "&output=json&appid=" + appId + "&interval=5";
  var response = UrlFetchApp.fetch(url);
  var js = JSON.parse(response.getContentText());

  //YOLPの結果から今の降水量と5分後の降水量を取得
  ima = js.Feature[0].Property.WeatherList.Weather[0].Rainfall;  
  gofungo = js.Feature[0].Property.WeatherList.Weather[1].Rainfall;
  
  //現在降水量があって5分後予報が0だったら晴れるよっていう
  if(ima > 0){
    if(gofungo == 0){
      //SlackのincomingWebhookのurl
      var postUrl = 'https://hooks.slack.com/services/XXXXXXXXX/XXXXXXXX/xxxxxxxxxxxxxxxxxxxxxxxxx';
      var jsonData =
      {
         "username" : "陽菜",
         "icon_url" : "https://xxxxxx",//適当な画像url
         "text" : message 
      };
      var payload = JSON.stringify(jsonData);

      var options =
      {
        "method" : "post",
        "contentType" : "application/json",
        "link_names": 1,
        "payload" : payload
      };
  
      UrlFetchApp.fetch(postUrl, options);
    }
  }
  
}

#動かし方参考url
YOLPのAppID取得方法
アプリケーションIDを登録する
incomingWebhookの作り方
SlackのWebhook URL取得手順
【Google Apps Script(GAS)】トリガーを設定してスクリプトを実行する

#参考URL
SlackとGoogleAppsScript(GAS)を連携する手順・事例
初心者がGASでSlack Botをつくってみた
Yahooが提供する気象情報API(YOLP) を使ってbotにお天気(降水情報)を教えてもらう~pythonでslack bot開発④~
Google Apps Script試行錯誤Blog
#あとがき
やっと映画見てきました。一回記事書いたのだけど、雑すぎたのでもっかい書きました。たしょうはマシになったか?

これ作るとスマホの通知で陽菜が晴れるタイミング教えてくれるのでちょっと可愛いです。
おためしあれ!

3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?