좋은 일이 있다면 불꽃 놀이를 올리는 슬랙의 슬래시 명령을 만든 이야기

7377 단어 슬랙gas

배경



미라이 번역에서는 커뮤니케이션 툴의 slack을 사용하고 있어 여러가지 bot이 움직이고 있습니다.
저는 상용 서비스 계약 수와 DAU 정보를 게시하는 bot를 만들고 운영하고 있습니다.
이 봇은 매일의 계약수를 담담하게 투고하는 것만으로, 그다지 재미도 없기 때문에,
큰 계약 등 기쁜 일이 있었을 때, 속보로서 불꽃 놀이가 발사하는 기능이 있으면 좋다
라고 생각했으므로, 그것을 구현했습니다!

구현까지의 단계


  • slackbot 소개 (slash 명령을 사용할 수 있도록)
  • Google Apps Script와 협력
  • Google Apps Script의 내용을 불꽃 놀이로 시작 (이번에는 여기를 설명)

  • 1., 2.에 대해서는
    htps : // 이 m/자마_8722/이고 ms/5893d968f120이다 d90f11
    여기와 같이 구현하면 문제 없다고 생각합니다.

    3. Google Apps Script의 내용을 불꽃놀이 발사로 변경



    우선 불꽃 놀이의 이미지를 준비합니다.
    이번에는 PAKUTASO의 소재를 사용하겠습니다.
    GAS에 소재 URL의 이미지를 쓰는 것은 어색하기 때문에 google spread sheet에 소재의 URL을 넣어두고 그 중에서 무작위로 선택하도록 합니다.
    스프레드시트의 내용은 다음과 같이 합니다.


    GAS의 내용을 아래와 같이 하는 것으로 잘 움직입니다.
    function doPost(e) {
      // スプレッドシートからの情報取得
      var url = "https://docs.google.com/spreadsheets/d/************/edit";
      var spreadsheet = SpreadsheetApp.openByUrl(url);
      var sheets = spreadsheet.getSheets();
      var sheet = sheets[0]; //シート複数ある場合には変更する必要があります
      var url_num = sheet.getLastRow();
      var row_num = Math.floor(Math.random()*(url_num))+1; //ランダムで選びます
      var sheetdata = sheet.getSheetValues(row_num, 1, row_num, 1)[0][0]; //A列に入っているURLのうちをrow_num行のものを読み込み
    
      // slack投稿する内容
      post_json = {
        "response_type":'in_channel',
        "text": "<@"+e["parameters"]["user_id"]+">" + "から嬉しいお知らせがあるようです!",
        "attachments": [{
            "image_url": sheetdata
         }]
      };
    
      out = ContentService.createTextOutput();
      out.setMimeType(ContentService.MimeType.JSON);
      out.setContent(JSON.stringify(post_json));
      return out
    }
    

    json의 내용으로 "response_type":"in_channel" 로 두지 않으면 슬래시 명령을 친 사람에게만 보이므로 주의가 필요합니다. 1

    또, 마지막 4행도 Qiita내에 좋은 해설 2 가 있기 때문에 참조해 주세요.

    이것에 의해 훌륭하게 불꽃이 오르게 되었습니다!





    htps : // 이 m / 냐 / ms / d2f4f648103 에 f41 아베 5 

    htps : // 이 m/리ょぇ rsun/아 ms/c924c 70에 16예 3후 3바 #우에 b아피%에3%82%92%에3%81%아4%에3% 81% 8F% 3% 82% 8B 

    좋은 웹페이지 즐겨찾기