「저기, 지금부터 맑을거야」를 자동화한다!

8601 단어 YOLP슬랙botgas
GAS+YOLP로 SlackBot을 만들었으므로 소개해 보겠습니다.
모처럼이므로 시사 재료를 흩어졌습니다.
qiita라고 하지만 기술 블로그 같은 것 쓰기의 처음이므로 손 부드럽게.

GAS? YOLP? 슬랙? 



GAS는 google Apps Script의 약자입니다. 자세한 것은 구구레.
google이 제공하는 JavaScript로 무료로 서버 신세 없이 작동하며,
정시 기동 등을 할 수 있어 web 공개해 webhook로부터 두드리기 하기 때문에 매우 즐거운 것입니다.

YOLP는 Yahoo! Open Local Platform의 약자로, Yahoo! JAPAN이 제공하고 있는 지도·지역 정보의 API·SDK입니다.
이 중 이번에는 기상 정보 API를 이용합니다.
기상 정보라는 이름의 주제에 강수량의 현재치와 예보치 밖에 돌려주지 않는다.
이름 잃지 않니?

Slack에 관해서는 설명하지 않아요?

동작 이미지





이런 느낌으로 요요기 회관(원작으로 맑은 이 모델)의 비가 멈춘다고 가르쳐 줍니다.
이것으로 몇시라도 맑을거야! 라고 말하는 타이밍이 헤아릴 수 있네요!

스크립트



스크립트는 다음과 같은 느낌입니다. 참고 url라든지에서 받은 코드가 9할입니다.

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



Slack과 GoogleAppsScript (GAS)를 연결하는 절차 및 사례
초보자가 GAS로 Slack Bot을 만들려고
Yahoo가 제공하는 기상 정보 API(YOLP)를 사용해 bot에게 날씨(강수 정보)를 가르쳐 준다~python으로 slack bot개발④~
Google Apps Script 시행착오 Blog

후기



동작 이미지 후반에 히나에게 부르고 무언가와 히나가 대답해 주는 녀석은,
원래 이쪽을 먼저 하고 있어 지금 맑음이 부산물인 느낌입니다.
GAS+YOLP(기상 정보)+DarkSky+YAHOO 일본어 형태소 해석 API+Googlegiococoding API+google reverse geocoding에서 움직이고 있습니다만, 마음이 가면 소개합니다.

좋은 웹페이지 즐겨찾기