TomatoJuice 디스코드 봇을 만들며 느낀 창작기 1편
TomatoJuice를 만들며 겪은 문제점과 해결 방법.
시작
누구나 Discord 사용 중에 한번 쯤 불편한 경험을 한 번쯤 겪어봤을겁니다.
저 역시 그러한 불편함을 느끼고, Mee6과 같은 디스코드 봇을 직접 만들어보면 어떨까 하는 생각을 했습니다.
그렇게 해서 시작된 프로젝트가 바로 TomatoJuice라는 디스코드 봇을 개발하게 된 계기입니다.
왜 그런 결론이 나오는가?
TomatoJuice라는 봇을 개발하기 이전에, 저는 코딩이 라는 봇을 먼저 만들었습니다.
코딩이 라는 봇이 개발 될 2020년에는 FredBoat과 Mee6이 가장 인기 있는 디스코드 봇으로 꼽혔지만,
저는 Minecraft 유저 검색, 원하는 커스텀 명령어, 그리고 유저들이 직접 주식을 만들수 있는 경제 기능을 포함한 경제 시스템 같은 것을 원했습니다.
이러한 기능들은 당시 인기 있는 봇들에서는 찾아볼 수 없었습니다. 그래서 매우 조잡한 개발 실력과 discord.py를 가지고 코딩이 라는 봇을 제작하였습니다.
현재 이름은 무시해주세요.
하지만 코딩이 봇은 결국 널리 알려지지 못하고 소수의 사람들만 사용할 수 있는 상태로 남아 있다가 2021년 경에 서비스를 종료하게 되었습니다.
뭐. 초기에 많은 버그, 예로 들어 하루에 한번 받을수 있는 돈을 여러 번 받을수 있음 같은 버그들이 있었기도 했고요.
그리고 호스팅 문제도 있었습니다. 당시에는 아직 초등학교 6학년이였기 때문에 24시간 내내 운영할수 있는 호스팅 서비스를 이용할 수 없었습니다. 임시로 24시간 컴퓨터를 가동하는 방안도 고려해보았지만 사용량에 비해 전기세가 많이 나오기에 하기 어려웠죠.
그러나 코딩이 봇을 만들면서 얻은 경험도 있었습니다. 이 경험을 통해 다음 봇을 개발할 때 어떤 방식으로 접근해야 하는지, 어떤 기능을 포함시켜야 할지에 대한 것을 얻을 수 있었습니다.
코딩이에서 TomatoJuice로
2021년 7월, 주변 친구들이 디스코드 봇을 제작하는 모습을 보며, 한때 잊고 있었던 코딩이 디스코드 봇을 다시 만들어볼까 하는 생각이 들었습니다.
개발할 때 discord.py와 discord.js 중에서 고민했습니다. 저는 discord.js를 잘 다룰 자신이 없었기 때문에 discord.py를 사용하기로 결정했습니다. 하지만 사실 discord.py도 자신 있게 잘 사용할 수 있다고 확신하는 것은 아닙니다.
그런데 단순히 이전과 같은 코딩이 같은 이름으로 진행하기엔 뭔가 특별함이 부족해 보였습니다. 개인적으로 토마토를 싫어하는 마음에서 영감을 얻어, 토마토를 갈아 만든다는 재미있는 컨셉으로 TomatoJuice라는 이름으로 선택하게 되었습니다.
하지만 단순히 TomatoJuice라는 이름만으로 디스코드 봇을 운영하기에는 부족하다고 느꼈고, 당시 유행하던 캐릭터 컨셉의 봇을 추세에 맞춰 TomatoJuice의 캐릭터를 만들기로 결정했습니다.
사실 TomatoJuice의 캐릭터를 만드는 것은 그리 어렵지 않았습니다. 단 하루 만에 완성했으니까요.
토마토 같은 머리카락 색상과 그라데이션 머리카락과 포장지라고 생각되는 목도리와 옷. 그리고 개인 취향으로 넣은 줄무늬 스타킹..
- TomatoJuice Art from Ra_TanG
이 캐릭터를 제작하면서 두 가지 주된 느낌이 있었습니다.
첫 번째는 예상보다 캐릭터가 잘 만들어진 대한 놀라움이었습니다.
두 번째로는, 이 캐릭터의 모습이 애니메이션에 나오는 여동생 같은 컨셉과 잘 어울릴 것 같다는 생각이 들었습니다.
사실, TomatoJuice 또한 초기 버전에서는 다소 조악했습니다.
- 명령어 실행 후 일정 확률로 뜨는데 안되는 명령어에서 뜨는 것으로 보아 버그가 난 모습…
초기 버전은 많은 버그를 동반하며 운영되었습니다.
그럼에도 불구하고, 이전에 만든 코딩이 보다는 훨씬 개선된 버전이었습니다.
코딩이를 개발할 때는 데이터베이스 사용법을 몰라 텍스트 파일과 폴더를 이용해 데이터베이스를 대체하는 방식으로 구현했었죠.
datetime을 쓰는 방법도 몰라서 월요일부터 금요일까지 문자열 비교해서 표시하는 건 지금봐도 끔찍한 코드이긴 한데 말이에요. ㅋㅋ
다음 편에서는 TomatoJuice의 개발 및 유지보수 과정에서 발생한 일들과 그 해결 방법에 대해 이야기해보겠습니다!
감사합니다!