Incoming Webhook에서 무작위로 청소 알림을 받으세요!

무엇을 원하십니까?



Bot(Incoming Webhook)에 청소할 날을 정해달라고 지정하는 시간에 통지를 해 주었으면 한다.

계기


  • 여러 사람이 사용하는 사무실이 있습니다
  • 정기적으로 청소할 날이 없습니다
  • 청소를 위해 정기적으로 모이기가 어렵습니다

  • → Bot에서 알림으로 합류한 사람들로 청소하자.
    라고 생각했다

    사용하는 애플리케이션


  • Slack
    비즈니스에서 자주 사용하기 위해
  • Incoming Webhook
    항상 실행할 필요가 없으며 서버를 설치할 필요가 없습니다
  • Google Apps Script(GAS로 약칭)
    정기적으로 코드를 실행하는 설정이 쉽습니다

  • 구체적인 진행 방법


  • Slack 채널과 Incoming Webhook을 연결합니다
  • Incoming Webhook에서 1/30의 확률로 Slack에 알리기 위해 GAS에 코드를 작성합니다
  • GAS의 notify 트리거로 정해진 시간대에 코드를 실행하도록 설정한다

  • 1. Slack 채널과 Incoming Webhook을 연결



    참고 Slack Bot의 종류와 거친 만드는 방법

    htps : // s ck. 코 m/아 ps/아 0F7X 즈아~-인코민 g-우ぇb 호오 k-? 네 xt_i d=0로 이동하여 Slack에 추가를 누릅니다.

    채널에 게시물에서 도입할 채널 선택

    ※ Webhook URL은 나중에 사용하기 때문에 복사


    2. Incoming Webhook에서 1/30 확률로 Slack에 알리도록 GAS에 코드 작성



    h tps://d ゔぇ. 오, ぇ. 코 m / d 리 ゔ / u / 0 / my - d ri로 이동하여 왼쪽 상단에서 신규 → 기타 → Google Apps Script를 누릅니다.

      코드는 다음과 같이 썼다.  Incoming Webhook의 메시지는 자유롭게 바뀔 수 있습니다. 참고 Block Kit Builder
    
    
    function main(){
      var result;
    
    // 1/30の確率で通知させたい
    //Math.random()は0~1未満までをランダムに生成
    //Math.floor()は小数点以下を切り捨て整数を返す
    //0~29のうち29以上であればIncomigWebhookから通知が来る
      result = Math.floor(Math.random()*30); 
      if(result >= 29){
        Do_notify();
      }
    }
    
    function Do_notify() {
      var options =
      { // 以下のテキストはJSONの様式にそって書くと変更できる
        "method" : "post",
        "contentType" : "application/json",
        "payload" : JSON.stringify(
          {
            "attachments":[
          {
             "fallback":"今日は掃除の日です",
             "pretext":"<!channel> 今日は掃除の日です",
             "color":"#D00000",
             "fields":[
                {
                   "title":"掃除内容は以下の通りです ",
                   "value":"*_掃除機かける_* \n *_デスクのアルコール除菌_* \n *_ホワイトボード消し_*",
                   "short":false,
                  "mrkdwn_in": ["value"]
                }
             ]
            }
           ]
          }
        )
      };
    
      UrlFetchApp.fetch("https://hooks.slack.com/services/XXXXXXX/XXXXXX/XXXXXXXXXXXXXX", options);
    }
    
    

    3. GAS의 notify 트리거로 정해진 시간대에 코드를 실행하도록 설정한다



    아래 버튼을 눌러 트리거 설정



    트리거 추가를 눌러 분 또는 시간 기준으로 정기적으로 실행할 수 있도록 설정할 수 있습니다.

    하루 17시부터 18시 사이에서 실행되도록 설정하고 저장을 누르면 완성



    참고한 기사


  • 【Slack】 이것이라면 간단! Webhook에서 메시지 송신하기까지의 3 단계
  • Slack에서 Incoming Webhook 사용
  • Block Kit Builder
  • 좋은 웹페이지 즐겨찾기