【GAS】Chatwork의 Webhook을 사용해 BOT를 만들어 보자

※투고 내용은 개인의 학습 목적의 기사이며, 소속 조직과는 일절 관계 없습니다.
Chatwork 공식 문서가 아니므로 자기 책임으로 이용하십시오.

안녕하세요, 사카구치 ( @ 사카구치_ 마미이 )입니다.

이번에는 "칭찬해"라고 Chatwork의 그룹 채팅에 투고하면, 칭찬을 돌려주는 BOT를 작성해 갑니다.

API 토큰 얻기



오른쪽 상단 메뉴에서 API 설정을 선택합니다.


비밀번호를 입력합니다.


API 토큰을 얻는다.


라이브러리 로드



Chatwork에 메시지 전송은 "Chatwork Client for Google Apps Script"을 이용합니다.

프로젝트 키: M6TcEyniCs1xb3sdXFF_FhI-MNonZQ_sT



스크립트


const token = 'APIトークン';

function doPost(e) {

  var json = JSON.parse(e.postData.contents);
  if(json.webhook_event.body === "褒めて"){

    var account_id = json.webhook_event.account_id;
    var message_id = json.webhook_event.message_id;
    var room_id = json.webhook_event.room_id;

    var message = '';
    message += '[rp aid=' + account_id;
    message += ' to=' + room_id + '-' + message_id + '] ';
    message += 'あなたは素晴らしい!';

    var client = ChatWorkClient.factory({token: token});
    client.sendMessage({
      room_id: room_id,
      body: message
    });

  }
}

웹 애플리케이션으로 도입



공개 > 웹 애플리케이션으로 도입을 선택한다.


배포 정보를 설정하고 Deploy를 클릭합니다.


「Current web app URL」을 메모장 등에 기재한다.
(후속 webhook 설정에서 사용합니다.)


webhook 설정



오른쪽 상단 메뉴에서 API 설정을 선택합니다.


Webhook을 선택하고 새로 만들기를 클릭합니다.


필요한 정보를 입력하고 만들기를 클릭합니다.


테스트



칭찬받았다!


마지막으로



지금은 정해진 말 밖에 돌려주지 않기 때문에, 스플릿 시트에 쓴 칭찬한 말을 랜덤에 돌려줄 수 있게 되었으면 합니다. 언제?

좋은 웹페이지 즐겨찾기