서비스 내용
방학 중 친구들과 마인크래프트 서버를 운영하면서, 디스코드 서버를 효율적으로 관리할 필요성을 느꼈습니다. 수동으로 채팅을 관리하고 멤버 상태를 확인하는 데 시간이 많이 들었기에, 디스코드 봇을 개발해 서버 관리를 자동화하고 재미있는 커뮤니티 환경을 만들고자 했습니다.
기능
서버 봇
•
온/오프라인 멤버를 확인 할 수 있으며 비정상적인 문장은 삭제할 수 있는 기능 등의 기능을 담고 있습니다.
사용 기술 및 라이브러리
Python + discrod
•
커뮤니티 지원
활발한 커뮤니티와 풍부한 문서로 빠른 문제 해결과 개발 지원이 가능하기에 채택하였습니다.
•
비동기 처리
비동기 이벤트 기반으로 Discord API와 상호작용하여 실시간 명령어 처리에 최적화되기에 채택하였습니다.
맡은 역할
프로젝트 전체 담당
•
온 / 오프라인 멤버 확인 명령어 구현
•
채팅 청소 기능 명령어 구현
•
Discord Token 및 채널을 이용해 봇 구축
•
Docker Compose를 이용해 Discord Bot 배포
겪었던 어려움
파이썬 코드를 짜려고 하였는데 옛날버전과 최신버전 2개가 헷갈리게 자료가 정리되있어서 구현하는데 어려움을 겪었습니다.
해결 방안
Docs 참조
•
Docs와 제일 최신 블로그를 참조하여 파이썬 코드를 작성 후 테스트 하여 Docker Compose 를 통해 배포하였습니다.
성과
Python과 discord.py 라이브러리를 처음 사용하며 비동기 프로그래밍과 라이브러리 활용에 대한 실질적인 경험을 쌓았습니다. 특히, 오래된 문서와 최신 문서를 구분하며 공식 문서 의존성의 중요성을 배웠습니다. Docker Compose를 활용한 배포 과정에서는 컨테이너 기반 배포의 편리함을 체감했고, 이는 이후 프로젝트에서 배포 자동화를 고려하는 계기가 되었습니다.