
개발자로서 블로그 하나쯤은 있어야한다 생각했습니다. 한승우가 아닌, 헬로월드로서의 제 이야기는 솔이 보안봇으로 시작되었습니다. 그 이야기를 블로그의 시작으로 하고자 합니다.
2024년 당시 저는 Typescript를 기반으로 하는 BDSX 마인크래프트 BE 플러그인을 만들어본게 개발 경험의 전부였습니다. 물론 좋은 퀄리티도 아니였고, 당시에 코드조차 제대로 이해 못하며 만들었던 플러그인이였습니다. (type에 다 any 적어넣음) 그러나 그 플러그인의 레포지토리가 38스타를 넘기며 코딩으로 무언가를 만들어 사람들에게 배포하는것에 대해 흥미를 가지게 되었습니다. 사소할지도 모르는 이러한 서비스들이 누군가에게는 큰 도움이 되고 있다는 사실이 너무 자랑스러웠으며, 제 플러그인을 쓰는 서버에 갔을때 알아봐주는 그 기분이 매우 좋았습니다. 이때부터 개발자 혹은 기획자의 꿈을 가지게 된것 같습니다.
마인크래프트 계열에 대한 흥미가 점점 식고 제가 주로 활동하던 플렛폼인 omlet.gg가 서비스를 종료하게 되며 저는 디스코드로 주활동 플렛폼을 옮기게 되었습니다. 당시 같이 플렛폼을 옮긴 지인중 한명이 디스코드에서 봇을 개발 운영하는것을 보고 저도 디스코드 봇을 만들어보기로 결심했습니다.
마인크래프트와 디스코드의 활동공백 기간에 저는 node.js를 공부했었으며, express.js로 간단한 api 서버를 구축할수 있는 수준으로 성장했었습니다. 제가 유일하게 할줄 아는 개발언어는 자바스크립트뿐이였으며, 그러기에 discord.js로 디스코드 봇을 만들기 시작했습니다. 저는 이미 존재하지 않는 기능을 가진 봇을 만들고 싶었습니다. 알로항이나 하루봇과 같이 잡다한 유틸리티 기능을 제공하는 봇은 이미 많았으며, 크시와 같이 대화형 봇도 흔했으며, 도박봇과 노래봇은 셀수도 없을 정도로 많았습니다. 그러나 보안봇은 없었습니다. 있더라도 대부분 발전이 없었으며 잡다한 기능들 사이에 보안기능을 넣어놓은 봇이었습니다. 이때당시 Wick봇을 이용해봤기에 한국어로 된 Wick봇과 같은 전문 디스코드 보안봇을 만들어보고 싶다는 생각을 하게 되었습니다.
아래와 같은 원칙과 신념으로 봇을 개발하기 시작했으며, 지금까지 이를 지키고자 노력하고 있습니다.
- 잡다한 기능들을 만들지 않을것.
- 대체 불가한 독점적인 기능을 만들것.
- 보기 좋으며, 사용하기 간편하게 만들것.
디스코드에서 문제를 일으킨 악성유저들을 신고받아 데이터베이스에 저장해 놓고, 다른 서버에서도 그 유저가 악성유저임을 알려주는 기능인 글로벌 블랙리스트 기능을 만들었습니다. 이 기능을 통해 독점적인 악성유저 정보 데이터를 쌓고 이를 통해 대체 불가능한 봇으로 성장하였습니다. 많은 봇들이 비슷한 기능을 만들었으나 우리봇의 방대한 데이터양을 뛰어넘진 못했습니다.
항상 디스코드 봇에 쓸데없는 기능들이 있는게 이해가 안됬습니다. 도대체 노래봇인데 경고기능이 왜있는지, 보안봇인데 노래기능이 왜있는지.. 저는 특정 카테고리의 봇이라면 그 기능만을 전문적으로 다뤄야한다 생각했으며, 그러기에 우리의 봇을 보안만을 다루는 봇으로 제작했습니다.
개발자들의 특징인지는 모르겠으나, 대부분의 봇이 보기 불편하다 생각했습니다. 색은 난잡했으며, 임베드는 이해하기 어렵게 구성되어 있었습니다. 저는 이용자들이 봇을 이용할때 편하게 이용할수 있도록 노력하고 싶었습니다. 어려운 용어를 최대한 쓰지 않도록, 모든 부분을 한글로 작성하도록 노력했습니다. 강조의 경우를 제외한 모든 색을 대표색으로 통일하였으며, 마크다운 문법과 전용 이모지를 적극 활용하여 임베드를 디자인했습니다.
지금 솔이 디스코드 보안봇은 수천개의 서버에서 수십만명을 보호하고 있습니다.

“위대한 일을 하는 유일한 방법은 자신이 하는 일을 사랑하는 것이다.”2005년 스탠포드 졸업식 연설