Chatwork에서 Slack의 리마인드에 해당하는 것을 GAS로 만들었습니다.

개요



Slack에서는, /remind hoge fuga piyo 로 빨리 만들 수 있는 리마인더 기능.
Chatwork에는 그와 유사한 것은 현재가 아닙니다.
그래서 만들어 보았습니다.

개념



엔지니어라면 스스로 bot 만들면 됩니다.
비엔지니어라도 설정할 수 있도록 하고 싶습니다.
그래서 스프레드 시트에 설정을 쓰면 움직이는 것과 같습니다.

구현 환경



그런 이유로 스프레드 시트 + GAS입니다.

설정 시트



이런 식으로 해 보았습니다.

  • 실행 형식은 크게 나누어 2개입니다.
  • 날짜와 시간을 지정하여 한 번만 실행
  • 요일과 시간을 지정하여 반복 실행

  • 발언자는 내부적으로 설정된 API 토큰으로 변환됩니다.
  • 대화방 ID가 아닌 대화방 이름으로 내부 변환하는 것도 생각했지만, 대화방 ID로 했습니다.
  • 룸명에서 변환하면 새로운 방이 늘어날 때마다 엔지니어가 설정해야 한다
  • 어쩌면 관리자의 토큰이라고 getRooms로 모든 방을 취득 할 수 있을지도 모르지만, 관리자가 아니고 (´・ω・`)

  • URL에서 채팅 룸 ID를 추출하는 것은 누구나 할 수 있다고 말하지는 않지만 자료를 제시하면 어떻게 될까요

  • 그렇지 않다고 생각합니다만, 중복 송신을 피하기 위한 송신 완료 플래그를, 시트내에 가지고 있습니다.

  • 스크립트 사양



    대체로 이런 느낌으로 움직입니다.
  • GAS의 트리거 기능으로 매분 시작
  • 설정 시트를 읽고 발언해야 할 것이 있으면 발언
  • 발언 타이밍은 우선, 「설정 일시가 과거 5분 이내」로 했다
  • 「매분 동작으로 과거 1분 이내」뿐이라면, 흘림이나 중복이 일어날 것 같은 생각이 들었다
  • 5 분 이내로 흘림을 방지했습니다.
  • 전송 된 플래그로 중복 전송을 방지했습니다




  • GAS 트리거 기능으로 매일 한 번 0시에 시작
  • 전송 된 플래그 지우기


  • 소스 코드



    감상이라고 할까



    GAS 데뷔작입니다. 흥분이 있으면 지적해 주시면 고맙습니다.

    감사의 말



    왠지 당연한 것처럼 getRooms라든지 쓰고 있었습니다만, Chatwork의 라이브러리는 이쪽 사용하게 되었습니다. 감사합니다.
    htps : // 기주 b. 코 m / cw - 시부야 / 짱 rk - c ぃ 엔 t

    좋은 웹페이지 즐겨찾기