코드로 우주평화

개발자 글쓰기 커뮤니티는 '슬랙 봇'을 어떻게 사용하고 있을까? 본문

나는 이렇게 논다/글또 슬랙 봇 개발기

개발자 글쓰기 커뮤니티는 '슬랙 봇'을 어떻게 사용하고 있을까?

daco2020 2024. 2. 17. 20:25

글 쓰는 또라이가 세상을 바꾼다

 

 

글또(글 쓰는 또라이가 세상을 바꾼다)라고 하는 개발자 글쓰기 커뮤니티가 있습니다.

 

현재 진행 중인 글또 9기는 454명이 참여 중이고, 전체 일정의 중반을 넘어서고 있죠. 저는 글또를 7기부터 참여하고 있고, 현재 9기까지 약 2년에 가까운 시간 동안 함께하고 있습니다. 그리고 8기 때부터는 운영진으로 참여하며 커뮤니티에 직접적으로 기여하고 있는데요. 저는 커뮤니티 내 '또봇'이라고 부르는 '슬랙 봇'을 개발하여 운영하고 있습니다.

 

글또는 한 기수가 5~6개월 동안 진행되며, 멤버들은 2주에 한 번씩 글을 슬랙에 공유하는 방식으로 소통합니다. 이 과정에서 서로의 글에 피드백을 주고받고, 가끔은 멤버들 간 커피챗을 통해 지식이나 경험을 나누기도 합니다. 저는 여기에 더해 '슬랙 봇'(이하 '또봇')을 통해 멤버들이 더 많이 소통하고, 어떻게 커뮤니티 활동을 도와줄 수 있을지를 고민하고 있습니다. 그리고 이 글에서는 그 고민의 결과를 소개해보려고 합니다. 

 

'커뮤니티 자동화'나 '슬랙 봇'에 대한 관심이 있으시다면, 이 글을 통해 '또봇'이 글또 커뮤니티를 어떻게 변화시키고 있는지 확인해보세요.

 


 

서로 더 많이 소통할 수 있도록

제가 처음 7기에 참여했을 때는, 멤버들이 자신이 속한 소그룹 채널에 '글 링크'를 올리는 방식으로 글을 제출했습니다. 저는 제 소그룹 외의 글도 읽고 싶었지만, 수십 개의 채널을 하나하나 확인하는 것은 꽤나 번거로웠습니다. 게다가 슬랙의 메시지는 시간이 지나면 사라지기 때문에 제출된 글은 얼마 안 가 사라지곤 했죠.

8기 운영진으로 활동하게 된 저는 이러한 경험을 바탕으로 멤버들이 글을 쉽게 찾고, 읽고, 소통할 수 있는 환경을 만들고자 했습니다. 글 제출 과정을 시스템화하여 글 데이터를 직접 저장하고 관리할 수 있다면, 멤버들은 채널이나 기한에 구애받지 않고 원하는 글을 쉽게 찾아볼 수 있을 것이라고 생각했습니다. 그리고 이 아이디어를 실현할 수 있는 가장 적절한 방법이 '슬랙 봇' 이었죠.

 

그렇게 만들어진 슬랙 봇이 지금의 '또봇' 입니다.

9기 또봇 귀엽죠? :)

 

 


 

그래서 또봇은 어떻게 쓰이는데?

현재 또봇은 다음의 기능들을 글또 멤버들에게 제공하고 있습니다.

 

- 글 제출

- 글 패스

- 글 검색

- 글 북마크

- 글 제출내역 조회

- 예치금 조회

- 메시지 저장 (최근에 추가!)

그리고 곧 추가될 '글 피드백 요청'과 '글 제출 리마인드' 기능까지! 글또 8기서부터 현재 9기까지 유용한 기능들을 지속적으로 추가하고 있습니다. 그럼 각 기능들을 어떻게 사용하는지, 그리고 멤버들은 또봇을 얼마나 사용하고 있는지에 대해서 알려드리겠습니다.

 

 

 

글 제출 과 패스 

글또 커뮤니티의 가장 핵심 기능인 '글 제출' 과 '글 패스' 기능입니다. 현재 시간 기준(2월 18일 12시), 지금까지 또봇을 통해 제출된 글은 4301건입니다.

 

글 제출은 다음처럼 동작합니다. 

 

글 제출 기능은 슬랙 내에서 '/제출' 명령어로 실행할 수 있습니다. 자세한 설명을 덧붙이자면,

 

현재 회차와 마감일, 멤버의 제출 여부를 알려줍니다. 2주 간격으로 글 제출을 하다 보니 간혹 현재 회차와 제출여부가 헷갈릴 때가 있습니다. 멤버들이 실수하지 않도록 이에 대한 정보들을 알려줍니다.

 

글 링크에 대한 유효성을 검사합니다. 멤버가 제출하는 링크가 정상적인 URL인지 확인합니다. 또 특수한 경우에는 멤버들에게 추가 행동을 요구하기도 합니다. 예를 들어 또봇은 글의 title 태그를 스크래핑하여 링크와 글 제목을 매칭시키고 있는데, 일부 노션 페이지는 글의 title 태그를 수집하기 어렵습니다. 이 경우에는 멤버가 직접 글 제목을 입력하도록 요구합니다.

 

카테고리나 태그는 글의 메타데이터입니다. 카테고리나 태그는 글 검색이나 통계에 활용하기 위하여 수집합니다. 아래 차트처럼 멤버들이 어떤 카테고리의 글을 많이 쓰는지도 알 수 있죠.

개발자 커뮤니티 답게 '기술&언어'가 압도적이다..!

 

큐레이션 대상 여부를 체크합니다. 8기에는 모든 글이 큐레이션 대상이었으나 9기부터는 큐레이션 요청 시에만 대상에 포함시킵니다. 참고로 언급하자면 글또에서는 제출 회차별 양질의 글을 큐레이션 하여 커뮤니티 내에 공유하고 있습니다.

 

 

글 제출을 완료하면 멤버가 속한 채널에 다음처럼 또봇이 메시지를 남겨줍니다.

 

메시지 하단을 보면 [자기소개 보기], [이전 작성글 보기], [북마크 추가] 버튼이 함께 있는데요. 버튼을 누르면 모달창을 통해 해당 정보를 확인할 수 있습니다.

 

차례대로 '자기소개', '이전 작성글', '북마크 추가' 모달

 

[자기소개 보기] 는 글또 활동을 시작할 때 멤버 본인이 남긴 자기소개입니다. 슬랙은 시간이 지나면 메시지가 사라진다고 말씀드렸죠? 자기소개로 올린 메시지 또한 시간이 되면 사라지기에 멤버들은 서로에 대한 정보를 얻기가 어려웠습니다. 그래서 또봇은 글 제출 시 글쓴이가 어떤 사람인지 쉽게 알 수 있도록 자기소개 정보를 제공합니다.

 

추가로, 자기소개의 경우 글또 활동기간 동안 취업이나 이직처럼 상황 변화가 있을 수 있기에 멤버들이 직접 내용을 수정할 수 있는 기능을 제공하고 있습니다.

 

[이전 작성글 보기] 는 해당 멤버가 지금까지 쓴 글의 내역을 보여줍니다. 글쓴이가 이전에 어떤 글을 썼는지 궁금할 때 쉽게 확인할 수 있죠. 

 

[북마크 추가] 는 해당 글을 저장하여 두고두고 보고 싶을 때 사용하는 기능입니다. 인상 깊은 글이나 나중에 시간을 내서 보고 싶은 글이라면 북마크에 저장하여 나중에 다시 볼 수 있습니다.

 

글또 9기에서 [자기소개 보기] 는 1554번, [이전 작성글 보기] 는 464번 호출되었습니다. 글또 멤버들이 다른 멤버들에게 얼마나 관심을 가지고 있는지 알 수 있습니다.

 

이처럼 또봇은 단순히 글을 제출하는 것뿐만 아니라 멤버들끼리 서로를 더 알아가고 소통할 수 있는 환경을 만들어가고 있습니다.

 

 

 

글 패스는 다음처럼 동작합니다.

 

글 패스 기능은 슬랙 내에서 '/패스' 명령어로 실행할 수 있습니다.

 

현재 회차와 마감일, 패스에 대한 규칙을 알려줍니다. 글또에서는 한 기수당 2번의 패스를 허용합니다. 단, 연속으로 사용할 수는 없죠. 이런 규칙들을 멤버가 패스를 사용할 때마다 안내해 줍니다.

 

'/제출' 과 '/패스' 명령어는 본인이 속한 코어 채널(소그룹 채널)에서만 호출할 수 있는데요. 만약 다른 채널에서 명령어를 호출하면 아래와 같은 에러 모달을 만나게 됩니다. 

에러 모달에 기재된 채널 이름을 클릭하면 해당 채널로 바로 이동합니다 :)

 

 

에러 모달을 만난 멤버가 당황하지 않도록 어떤 채널에서 다시 시도해야 하는지, 문제가 지속될 경우 어떤 채널에 문의를 남겨야 하는지를 함께 안내해 줍니다.

 

 

 

글 검색 과 북마크

멤버들이 서로의 글을 더 쉽게 접할 수 있도록 글을 '검색'하고 '북마크'하여 저장할 수 있는 기능입니다. 제가 또봇을 만든 가장 큰 이유이기도 하죠. 현재 진행 중인 글또 9기에서 멤버들이 검색을 이용한 수는 795번, 멤버들이 저장한 북마크 수는 147건입니다. 

 

글 검색은 다음처럼 동작합니다.

 

글 검색 기능은 슬랙 내에서 '/검색' 명령어로 실행할 수 있습니다. 

 

검색 키워드로 글을 검색할 수 있습니다. 이때 검색 키워드는 글 '제목', '태그', 제출 시 작성한 '하고 싶은 말'을 조회하여 가져옵니다.

 

작성자 이름으로 글을 검색할 수 있습니다. 만약 다른 글또 멤버와 커피챗을 해야 하는 상황이라고 가정해 봅시다. 이름을 검색하여 상대가 작성한 글을 미리 보고 간다면 더 알찬 시간을 보낼 수 있겠죠? 이처럼 특정 멤버가 궁금할 때 상대의 글만 찾아볼 수 있습니다.

 

카테고리를 기준으로 글을 검색할 수 있습니다. 글또에는 기본적으로 6가지의 카테고리가 있습니다. 카테고리를 통해 관심 있는 주제의 글을 찾아볼 수 있습니다.

 

현재 시간 기준, 글 검색 기능을 통해 읽어 볼 수 있는 글은 4301건입니다. 이전 8기에 제출된 글도 함께 제공하고 있죠. 기수가 누적될수록 검색할 수 있는 글의 양이 늘어납니다.

 

 

 

글 북마크는 다음처럼 동작합니다.

 

'글 제출' 에서도 설명했듯이 제출 후에 생기는 [북마크 추가] 버튼을 통해 해당 글을 저장할 수 있습니다. 글에 대한 메모도 함께 남길 수 있죠. 또한 '글 검색' 으로 조회한 글도 북마크 저장을 할 수 있습니다.

 

이렇게 저장한 북마크는 슬랙 내에서 '/북마크' 명령어를 통해 확인할 수 있으며, 작성했던 [메모]를 확인하거나 [북마크 취소]를 할 수도 있습니다. 

'글 검색' 중 [북마크 추가] 하는 방법

 

 

최근, 북마크 조회 시 '페이지 이동' 기능을 추가했습니다. 

 

슬랙의 모달은 특성상 표현할 수 있는 block의 수가 제한되어 있는데요. 기존에는 이 제한으로 인해 20개까지의 결과만 보여줄 수 있었다면, 지금은 페이지 이동을 통해 20개 이상의 북마크도 모두 조회할 수 있습니다.

 

 

 

글 제출내역 과 예치금 조회

멤버 본인이 '제출한 글 내역'과 현재 '예치금 현황'을 확인할 수 있는 기능입니다.

 

기존에는 본인 글의 제출내역과 예치금을 확인하려면 별도의 스프레드 시트에 접속하여 자신의 이름을 검색해야 했습니다. 또봇은 기존 스프레드 시트의 데이터를 서버로 가져와 멤버들에게 제공합니다. 현재 진행 중인 글또 9기에서 멤버들이 제출내역을 조회한 수는 692번, 멤버들이 예치금을 조회한 수는 376번입니다. 

 

글 제출내역은 다음처럼 동작합니다.

 

글 제출내역 기능은 슬랙 내에서 '/제출내역' 명령어로 실행할 수 있습니다.

 

본인이 해당 기수에 제출한 모든 글을 볼 수 있습니다. 제출내역에는 제출 '회차'와 '일시', '글 링크'를 확인할 수 있습니다. 보통은 글을 제출한 후에 정상적으로 제출되었는지 확인하기 위해 사용합니다.

 

 

예치금 조회는 다음처럼 동작합니다.

 

예치금 조회 기능은 슬랙 내에서 '/예치금' 명령어로 실행할 수 있습니다.

 

글또는 예치금을 맡기고 글 제출을 누락할 때마다 일정 금액을 차감합니다. 이후 글또 활동이 종료되면 남은 예치금을 되돌려 주죠. 글또는 독특하게도 원래의 예치금보다 더 많은 돈을 돌려받을 수 있는데요. 글또 활동 중 커피챗을 하고 인증샷을 남기면 일정 금액을 예치금에 더해주기 때문입니다. 글또는 수익화가 목적인 커뮤니티가 아니기 때문에 오히려 예치금을 더 얹어주고 있습니다.

 

또봇은 슬랙 내에서 언제든지 예치금을 확인할 수 있는 기능을 제공합니다. 만약 자세한 예치금 내역이 궁금하다면 안내 링크를 통해 예치금 내역 페이지로 이동할 수 있습니다.

 

 

 

메시지 저장

글뿐만 아니라, 멤버들의 일반 메시지도 저장할 수 있도록 만든 기능입니다.

 

글또에서는 멤버들이 자발적으로 소모임을 만들어 활동하는데요. 그중에는 '회고' 나 '아침 기상'을 인증하는 소모임도 있습니다. 이렇게 인증하는 모임의 경우 본인이 작성한 메시지를 저장하고 싶어 하는 니즈가 있었고, 이를 반영하기 위해 '메시지 저장' 기능을 추가했습니다. 현재 진행 중인 글또 9기에서 멤버들이 저장한 메시지 수는 465건입니다. 

 

메시지 저장은 다음처럼 동작합니다.

 

먼저 '/저장키워드등록' 명령어로 멤버가 직접 저장할 키워드를 생성할 수 있습니다. 예를 들어 제가 '$회고' 라는 키워드를 생성했다면, 키워드 생성 이후부터 '$회고' 라는 단어가 포함된 모든 메시지가 저장됩니다.

 

이때 저장한 메시지는 또봇이 이모지와 스레드로 확인 메시지를 남겨줍니다. 만약 멤버가 메시지를 수정한다면 수정한 내용도 업데이트해주죠.

 

김은찬 멤버가 $테스트를 3번째 저장했고, 해당 메시지를 수정했다는 것까지 알 수 있다

 

 


 

멤버들과 함께 만들어가는 또봇

현재까지 또봇은 저의 1인 개발로 운영되었습니다만, 사실은 '글또 멤버들과 함께' 만든 슬랙 봇이라고 할 수 있습니다. 현재 또봇이 제공하는 기능 대부분은 멤버들의 문의 혹은 건의로부터 시작되었기 때문이죠.

 

예를 들어 글 제출 시에 제공하는 '회차와 제출 여부'에 대한 정보는 한 멤버의 건의로 추가되었습니다. '북마크'는 글을 저장하고 싶어 하는 멤버들의 니즈를, '자기소개 수정'은 실제 멤버들의 수정 문의를 받으면서, '메시지 저장' 기능은 회고를 저장하고 싶어 하는 니즈를 확인하면서 개발하게 되었습니다. 앞으로 추가할 '피드백 요청 기능' 또한 커피챗을 통해 얻은 멤버들의 아이디어로 시작했죠.

 

또봇은 새로운 기능이 추가될 때마다 멤버들에게 공지를 해주는데요. 공지 사항에는 해당 기능이 누구로부터 시작된 것인지 분명하게 알려주고 있습니다. 저는 멤버들의 아이디어를 구체화하고 커뮤니티에 구현하는 역할을 맡고 있는 것이죠. 그러니 또봇은 저 혼자가 아닌 멤버들과 함께 만들었다고 할 수 있습니다.

'메시지 저장' 기능은 민혜 님, 혜람 님으로부터 영감을 받아 개발하였다

 

 

또봇은 멤버들의 소통, 그리고 멤버 친화적인 사용성을 우선순위로 두고 있습니다. 그 시작은 저라는 한 명의 멤버로부터 시작하였지만 이제는 저뿐만 아니라 다른 멤버들과 함께 만들어가고 있습니다. 만약 이 글을 보고 계시는 글또 멤버분들이 계시다면 언제든지 불편사항과 개선 아이디어를 보내주세요~

 

앞서 말했듯이 이제 곧 '글 피드백 요청' '글 제출 리마인드' 기능도 추가할 예정입니다. 뿐만 아니라 '저장한 메시지'를 모아 볼 수 있는 웹페이지도 준비하고 있습니다. 이를 구현하기 위해 다른 멤버들과도 협업하고 있죠. 앞으로도 또봇은 소통에 유용한 기능을 추가하고 사용성을 꾸준히 개선할 예정입니다. 계속해서 강해지는 또봇을 지켜봐주세요. 🤟

 

또봇은 아직 배고프다...

 

 

 

지금까지 글또라고 하는 개발자 글쓰기 커뮤니티에서 '슬랙 봇'을 어떻게 사용하고 있는지에 대해 설명했습니다. 이후 글에서는 또봇 서버가 어떻게 동작하는지, 슬랙 봇 테스트와 디버깅은 어떻게 하는지 등에 대해서도 다루어보겠습니다.

 

끝으로 또봇이 마음껏 활개?치도록 허락해주신 글또 모임장 성윤님과 모든 글또 멤버들에게 감사하다는 말씀드리면서 글을 마칩니다. 🫡

 

 


 

 

'개발자 글쓰기 커뮤니티'에 관심이 있다면 글또 페이지를 방문해보세요!

 

글 쓰는 또라이가 세상을 바꾼다 - 글또 페이지 | Notion

URL : https://bit.ly/geultto_intro

zzsza.notion.site

 

 

'또봇의 코드'가 궁금하다면? 또봇 깃헙을 확인해보세요!

 

GitHub - Daco2020/ttobot: 글로 더 많이 소통할 수 있도록, 글또 커뮤니티 활동을 도와주는 슬랙 앱 `또

글로 더 많이 소통할 수 있도록, 글또 커뮤니티 활동을 도와주는 슬랙 앱 `또봇` 이에요. - Daco2020/ttobot

github.com