Upgrade to Pro — share decks privately, control downloads, hide ads and more …

슬랙 Bolt를 이용해 개발팀 전체가 사용하는 슬랙봇을 만든 이야기

unsu0707
November 19, 2020

슬랙 Bolt를 이용해 개발팀 전체가 사용하는 슬랙봇을 만든 이야기

슬랙 Bolt를 이용해 개발팀 전체가 사용하는 슬랙봇을 만든 이야기
@Kodeveloper 2020.11

unsu0707

November 19, 2020
Tweet

More Decks by unsu0707

Other Decks in Programming

Transcript

  1. 2 Introduce Myself Eunsu Jang / 장 은수 일본 생활

    5년차, 웹 개발 8년차 엔지니어 Rakuten C2C Service 개발 담당 Web Application Engineer - Ruby on Rails Assistant Engineering Manager - 사원 채용, 팀 관리, 멤버 평가 등
  2. 3 Agenda 1. Bot 만든 배경 2. Slack Bolt 3.

    Bot 만들기까지 4. Bot 만든 후 5. 정리
  3. 9 초반엔 비교적 괜찮았는데.. 개발인원이 급증함 ↓ 문제 발생 1.

    @here 멘션 난무 2. 현재 사용상황 파악 힘듬
  4. 12 이렇게 안내해줬으면.. DEV API2 빌릴 수 있어요? 그러면 STG

    API2 빌릴래요 벌써 @eng1이 사용중이에요 네 그럼 @eng3님이 사용중으로 바꿀게요 @eng3
  5. 16 Slack Bolt? • 슬랙 ‘App’을 편리하게 만들 수 있도록

    Slack에서 제공하는 JS프레임워크 • Slack API들을 편리하게 사용 가능 • Node.js로 만들어짐
  6. 17 Bolt를 이용한 Slash 커맨드 처리 흐름 Slash 커맨드다! 리퀘스트

    보내야겠다 이벤트 떴다! Bolt의 리스너 메소드로 처리하자 Chat.postMessage 레스폰스가 도착했네! 채널에 메세지 적어야지 처리 결과를 내보내자
  7. 19 Bolt를 이용한 Slash 커맨드 처리 흐름 Slash 커맨드다! 리퀘스트

    보내야겠다 이벤트 떴다! Bolt의 리스너 메소드로 처리하자 Chat.postMessage 레스폰스가 도착했네! 채널에 메세지 적어야지 처리 결과를 내보내자
  8. 22 Bolt를 이용한 Slash 커맨드 처리 흐름 Slash 커맨드다! 리퀘스트

    보내야겠다 이벤트 떴다! Bolt의 리스너 메소드로 처리하자 Chat.postMessage 레스폰스가 도착했네! 채널에 메세지 적어야지 처리 결과를 내보내자
  9. 24 한 엔드포인트에서 여러 리스너 메소드로 전달 Event API에서의 리퀘스트

    .event(eventType, fn); .command(commandName, fn); .action({ callback_id: callbackId }, fn); Slash 커맨드에서의 리퀘스트 Modal 다이얼로그에서의 리퀘스트 /slack/even ts
  10. 25 구현 예시 Slash커맨드의 리스너 /deus 만 쓰면, 처리를 고르기

    위해 Views.open 레스폰스에서 ’Modal’을 열게됨 /deus [커맨드] 식으로 작성하면, 곧바로 처리가 진행됨
  11. 26 Bolt를 이용한 Slash 커맨드 처리 흐름 Slash 커맨드다! 리퀘스트

    보내야겠다 이벤트 떴다! Bolt의 리스너 메소드로 처리하자 Chat.postMessage 레스폰스가 도착했네! 채널에 메세지 적어야지 처리 결과를 내보내자
  12. 33

  13. 36 Bot을 만들면 좋은 점 - Bolt 편하다 - 구현하는데

    난이도가 어렵지 않다 - 나도 재미있게 만들고, 개발팀에도 조금이나마 기여할 수 있었다