비가 오기/멈추기 30 분 전에 Slack에 알려주는 hubot 스크립트

소개



hubot-slack-rainfall-alert라는 이름으로 npm에 게시했습니다. 코드는 github에 게시됩니다.



CoffeeScript라고 할까 js도 거의 쓴 적이 없는 채 우선 만들었기 때문에 수속형같고 더럽습니다. 세세한 곳에서도 pull request 대환영입니다. 잘 부탁드립니다. → htps : // 기주 b. 코 m / 타카 shyx / 후보 ts ぁ CK 라이 ン フ ぁ l - 아 rt /

이게 뭐야?


  • Yahoo의 API를 이용해, hubot에 비가 내리기 전・멈추기 전에 Slack의 지정한 채널에 통지를 해 주는 기능을 추가합니다.
  • 통지시에는 현재로부터 60분 후까지의 강우량의 그래프, 30분 후의 비 구름의 모습, 보다 상세한 비 구름 정보에의 링크를 표시합니다.
  • cron 형식으로 체크하는 인터벌을 지정할 수 있으므로, 밤중에는 움직이지 않는다, 라고 하는 설정도 가능합니다.
  • 그대로라면 지도 이미지의 링크가 길어져 스마트폰으로 보기 어려워지므로, google URL Shortener 로 단축하고 있습니다.

  • 통지 내용은 이런 느낌.



    필요한 준비



    Yahoo의 APP ID와 Google의 API 키가 필요합니다.
  • Yahoo는 이쪽으로부터 취득→ htps : ///에. 로 ゔぇぺぺr. 야호오. 이. jp/다 sh보아 rd/ 이하의 API에 사용하고 있습니다
  • YOLP (지도) : 기상 정보 API - Yahoo! 개발자 네트워크
  • YOLP (지도) : Yahoo! 정적지도 API - Yahoo! 개발자 네트워크
  • YOLP (지도) : Yahoo! 지오코더 API - Yahoo! 개발자 네트워크

  • Google은 이쪽으로부터 취득→ htps : // 이런. 로 ゔぇぺぺrs. 오, ぇ. 코m/p로지ぇct/ 이하의 API에 사용하고 있습니다
  • URL Shortener  |  Google Developers


  • 설치



    귀하의 Slack 용 Hubot의 루트 디렉토리에서
    npm install hubot-slack-rainfall-alert --save
    

    그런 다음 hubot-slack-rainfall-alertexternal-scripts.json에 추가
    $ cat external-scripts.json
    [
      ... ,
      "hubot-slack-rainfall-alert",
      ...
    ]
    

    설정



    환경 변수로 설정합니다.

    위도 경도가 필요하지만 주소에서 위도 경도를 조사하는 경우 google maps에서 아무 곳이나 마우스 오른쪽 버튼을 클릭 → "이 위치에 대해"에서 보거나 이런 사이트을 이용하면 편리합니다.
    export HUBOT_RAINFALL_ALERT_YAHOO_APP_ID=[yahoo app id]
    export HUBOT_RAINFALL_ALERT_GOOGLE_API_KEY=[google api key]
    export HUBOT_RAINFALL_ALERT_CHANNEL_ID=[通知するチャンネルID 例: "C035AFECB" ID はこちらから取得可能です→ https://api.slack.com/methods/channels.list/test]
    export HUBOT_RAINFALL_ALERT_THRESH=[通知する雨量のしきい値(mm/h) 例: "0.5"]
    export HUBOT_RAINFALL_ALERT_CRONTIME=[定期的にチェックするインターバルをcron形式で指定 例: "0 */10 0,9-23 * * *"]
    export HUBOT_RAINFALL_ALERT_LAT=[雨量をチェックする場所の緯度を指定 例: "35.0000000"]
    export HUBOT_RAINFALL_ALERT_LON=[雨量をチェックする場所の経度を指定 例: "139.8000000"]
    export HUBOT_RAINFALL_ALERT_LAT_FOR_MAP=[雨雲マップに表示する中心の緯度を指定 例: "35.0000000"]
    export HUBOT_RAINFALL_ALERT_LON_FOR_MAP=[雨雲マップに表示する中心の経度を指定 これから来る雨雲が見やすいように、HUBOT_RAINFALL_ALERT_LONより0.8ほど小さい値をおすすめ 例: "139.0000000"]
    export HUBOT_RAINFALL_ALERT_IMAGE_WIDTH=[雨量グラフ・雨雲マップ画像の横幅 おすすめ: "500"]
    export HUBOT_RAINFALL_ALERT_IMAGE_HEIGHT=[雨雲マップ画像の縦幅 おすすめ: "500"]
    

    덤 기능



    bot가 invite되는 모든 채널에서 작동합니다. hubot에 @ 할 필요가 없습니다.
  • rainfallcheck 에서 지금 30분 후 비의 상황을 확인할 수 있습니다.
  • rainfall 場所名 로 【장소명】의 현재의 비구름의 상황을 볼 수 있습니다.
  • rainfall zoom 場所名 로 【장소명】의 현재의 비구름의 상황을 조금 줌해 볼 수 있습니다.

  • Special thanks


  • 위치를 지정해 지도를 표시하는 기능은 여기 의 구현을 참고로 했습니다. 감사합니다.
  • 훌륭한 API와 구현에 빠졌을 때의 검색을 제공해 주시고 있는 Yahoo씨 Google씨에게 감사.
  • 좋은 웹페이지 즐겨찾기