Discord 봇으로 문제 공지 자동화하기
AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

Discord 봇 개발 회고: 문제 공지 메시지 자동화하기

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

앱 개발

대상자

  • *JavaScript/Node.js 개발자, Discord 봇 개발에 관심 있는 초보자**
  • 난이도: 중간(기초적인 라이브러리 사용 경험 필요)*

핵심 요약

  • /문제공지 슬래시 명령어로 Google Sheets의 문제 데이터를 자동으로 Discord 채널에 공지
  • discord.jsgoogleapis 라이브러리 사용, Bun 런타임 환경 적용
  • Koyeb + Docker를 통해 클라우드 배포, 로컬 서버 의존성 제거

섹션별 세부 요약

  1. 프로젝트 개요
  • 주요 목표: 알고리즘 스터디의 수동 문제 공지 작업 자동화
  • 요구사항: 슬래시 명령어 기반 자동 메시지 전송, Google Sheets 연동
  • 기대 효과: 매주 5분 이상의 수작업 시간 절약
  1. 기술 스택
  • discord.js (디스코드 봇 핵심 라이브러리)
  • googleapis (Google Sheets API 연동)
  • Bun (Node.js 대체 런타임, 성능 강조)
  • Koyeb (무료 서버리스 호스팅, Docker 지원)
  1. 개발 과정
  • 초기 설정: Bun으로 환경 구성, discord.js 및 googleapis 설치
  • 기능 구현: 슬래시 명령어 처리, Google Sheets 데이터 추출
  • 테스트: 로컬 환경에서 수동 테스트 및 오류 수정
  • 배포: Koyeb + Docker를 통한 클라우드 배포
  1. 트러블슈팅
  • GitHub Actions 대신 Koyeb 선택 (Bot 서버 대기 상태 문제 해결)
  • 인증 정보 모듈 분리 미흡, 향후 코드 리팩토링 계획
  1. 결과 및 학습
  • 문제 공지 자동화 성공, 수작업 시간 절약
  • TypeScript 전환단위 테스트 코드 작성 계획
  • 코드 품질 향상을 위한 ESLint + Prettier 도입

결론

  • *무료 호스팅(Koyeb) + Docker를 활용한 클라우드 배포는 디스코드 봇의 지속 가동을 가능하게 하며, discord.jsgoogleapis**의 조합이 효율적인 자동화를 실현합니다. 향후 코드 리팩토링과 TypeScript 전환을 통해 유지보수성을 높이는 것이 추천됩니다.