안녕하세요? LINE IT 전략실에서 사내 시스템의 개발 및 운영을 담당하고 있는 suzuki-shunsuke입니다. 오늘은 얼마 전 grpc를 이용해 여러 개의 슬랙봇(Slack Bot)을 하나로 통합했던 이야기를 해 볼까 합니다.
배경
저는 사내 Slack을 관리하는 팀에서 슬랙봇을 만들고 운영하고 있습니다. 어느 날 '봇을 하나로 합쳐줬으면 좋겠다'는 요청이 있었습니다. 다음과 같은 이유 때문이었습니다.
대화창에 여러 봇을 초대하기 번거롭다.
어떤 봇들이 있는지 다 알 수 없다
여러 봇을 자꾸 추가하는 것보다는 하나의 봇에 기능을 추가하는 편이 사용자 입장에서 봇에 더 애착이 간다.
봇을 하나로 합친다는 것은 정확히 어떤 것일까요? 이해를 돕고자 두 개의 봇이 있다고 가정해 보겠습니다. 하나는 채널 이름을 바꿀 수 있는 @renamechan이라는 봇이고 다른 하나는 사내 메일링 리스트에 소속된 사용자를 초대할 수 있는 @spinvite라는 봇이라고 하겠습니다. 자, 채널 이