GAS로 하루 종일 통지되는 LINEbot 만들기

GAS라면 환경이라든지 정돈하지 않아도 마음대로 움직여 주므로, GAS로 LINEbot을 만들었습니다.
초보자 때에 만들었기 때문에 꽤 잡음이지만, 여기에서 공양 ....

소개



어머니가 하루에 두는 가사를 오늘 했는지 어제 했는지 항상 잊고 있었으므로, 마음대로 통지해 줍니다.
스마트 폰에 희미해도 LINE이라면 사용하고 있기 때문에 통지를 알아 차릴까라고 생각.
결과적으로 생각하지 않아도 마음대로 통보가 오기 때문에 편해진 것 같아서 좋았습니다.

목표



하루 종일 그룹 라인에 알림이 온다.
(LINEAPI의 사양상 그룹 라인에 보낼 수밖에 없기 때문에 가족의 그룹 라인을 만들었습니다.)
  • LINE Notify 토큰 얻기
  • GAS 쓰기
  • 트리거 설정
  • 기타

  • 만드는 방법



    LINE Notify 의 토큰 취득
    htps : // 후 fy 보 t. 네. 메/그럼/
    LINE Notify에 대해서는 이쪽의 기사를 알기 쉽기 때문에 그쪽을 참고로 해 보세요.

    ②GAS 쓰기
    하루에 두고 통지를 하고 싶기 때문에, 간단한 날에의 계산을 한다.
  • 오늘의 날을 얻고 스프레드 시트에 기록
  • 기록한 날에 비추어 2일 전이라면 통지하고 통지한 날을 덮어쓰기
  • 하루 전이라면 아무것도하지 않습니다
  • //LINE NOTIFYトークン 
    var token = ["ここに取得したトークンを書いてね"];
    

    (잊어버렸지만 어째서 배열로 하고 있을까? 그렇게 하는 이유가 무엇인가 있었던 것일까?)
    //日付の計算をしてスプレッドシートに記載、真偽で返す
    function getdate(){
      var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
      var sheet = spreadsheet.getActiveSheet();
      var date = sheet.getRange("A1").getValue();
      var fmt_date = Utilities.formatDate(new Date(date), 'Asia/Tokyo', 'yyyy/MM/dd');
      var twodays = new Date(new Date().getFullYear(),new Date().getMonth(),new Date().getDate()-2);
      Logger.log(twodays);
      var fmt_twodays = Utilities.formatDate(twodays, 'Asia/Tokyo', 'yyyy/MM/dd');
      var today = Utilities.formatDate(new Date(), 'Asia/Tokyo', 'yyyy/MM/dd');
    
      if(fmt_date == fmt_twodays){  
      sheet.getRange("A1").setValue(today);
      return true;
    
      }else{
      return false;
      }  
    };
    

    나중에 알기 쉽게하기 위해 true 또는 false를 반환하려고합니다.
    //1日置きにLineに通知を送る
    function LineNotify(){
      var message = '今日はお風呂のお湯を替える日だよ!\uDBC0\uDC5E';
      var options = 
          {"method" : "post",
           "payload" : "message=" + message,
           "headers" : {"Authorization" : "Bearer "+ token}
          };
    
      UrlFetchApp.fetch("https://notify-api.line.me/api/notify",options);
    };
    

    이것은 이런 주문이라고 생각하는 것이 좋을 것 같다.
    보내는데 이런 형식으로 하지 않으면 LINE씨가 인지해주지 않아.
    message의 끝에 써 있다 \uDBC0\uDC5E는 이모티콘.
    ※이모티콘에 관해서는 여기 의 블로그가 참고가 되었습니다. 정말 고마워요.
    //LINEに送るための関数
    function sendLine(){
      var bool = getdate();
      if(bool == true){
        LineNotify()
      };
    }
    

    이것으로 마지막!

    ③ 트리거 설정
    GAS 측 설정에서 sendLine으로 설정합니다.
    같은 시간에 짜증나면 좋았기 때문에 시간 기반의 13시경에 오도록(듯이) 설정했습니다.
    확실히 이 시간에 오도록! 그렇다면 다시 코드 쓰면 할 수 있습니다.

    기타
    마지막으로 가장 먼저 통지하는 날을 셀의 A1에 써 주세요. ( yyyy/MM/dd形式 에서)

    웹 애플리케이션에서 공개를 선택하지 않으면 가동하지 않으므로 주의입니다.
    (이전 IDE라면 공개 버튼이 있었지만, 새로운 IDE라면 배포 버튼 눌러 새로운 배포를 선택하면 행복해질 수 있다고 생각한다.)



    결론



    이것은 사무원의 일을 하고 있었을 때에 가르쳐 주면서 공부한 지식으로 만들 수 있는 bot이므로, 엔지니어가 아닌 사람에게도 꼭 만들어 봐 주었으면 합니다.
    그리고, 이런 것 만들어 가장 기쁜 것은 반응이 있는 것이므로, 무엇인가 만들어 준 사람에게는 반응해 줄 수 있는, 그러한 사람에게 나는 되고 싶다.
    (대략 이런 작은 편리 상품을 만들어 칭찬해주는 엔지니어들)

    여기는 이러한 편이 좋다든가 있으면 교시해 주셨으면 합니다. .

    좋은 웹페이지 즐겨찾기