Skip to content

Hheojiwon/Mudy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎧📚 Mudy — Study + Music Discord Bot

노션 링크 : https://www.notion.so/27da3c4c42a48010a908c9d7a935cae3?source=copy_link

공부 효율을 높이기 위한 디스코드 스터디 지원 + 음악 재생 봇

Mudy는 학습 환경을 더 편하게 만들기 위해 설계된 Discord Bot으로,

편리한 스터디 관리 기능 + 집중을 도와주는 음악 재생 기능을 동시에 제공합니다.

본 프로젝트는 우테코 오픈미션(제한 협업 미션)으로 진행되었으며, 다음 두 명이 함께 개발했습니다.

  • 🎵 Music 모듈 담당 — @hheojiwon
  • 📚 Study 모듈 담당 — @h0108j

🚀 기획

  • 평소 스터디를 하며 느꼈던 불편한 점을 해결하고자 기획
  • Discord의 높은 활용성을 이용해 손쉽게 공부 환경 관리
  • 처음 사용하는 도구(JDA + Discord Bot + 🪝LavaPlayer)에 도전하는 학습 목적의 프로젝트
  • 협업 규칙:
    1. 모든 PR은 반드시 상대방 코드 리뷰 후 머지
    2. 새로운 기능 사용 시 공식 문서 링크 + 요약 정리 필수

📁 프로젝트 구조

mudy.common

- 공통 유틸, 상수, 인터페이스

mudy.global
├── config
│   └── BotConfig.java
├── exception
│   └── 전역 예외 처리
└── util
└── 전역 유틸

mudy.music
├── command
├── listener          // ⭐ 음악 전용 리스너
├── manager
├── model
└── service

mudy.study
├── command
├── listener          // ⭐ 스터디 전용 리스너
├── model
├── service
└── util

✨ 주요 기능

🎧 MUSIC 기능

🔊 음악 재생

기능 설명
/재생 [theme] 음악 재생 시작 (테마: 케이팝/피아노/팝송)
/정지 재생 중단 + 큐 전체 삭제
/일시정지 현재 곡 일시정지
/다시재생 일시 정지된 음악 다시 재생
/다음곡 다음 트랙으로 이동
/현재곡 현재 재생 중인 음악 정보 표시

LavaPlayer 사용

🔗 https://github.com/lavalink-devs/lavaplayer#readme

🎶 플레이리스트 / 즐겨찾기

기능 설명
/즐겨찾기추가 현재 재생 중인 곡을 즐겨찾기에 저장
/즐겨찾기목록 저장된 즐겨찾기 목록 표시
/즐겨찾기삭제 number 특정 번호의 즐겨찾기 삭제
/즐겨찾기이동 from to 즐겨찾기 순서 변경

🔊 볼륨 / 음성 채널 제어

기능 설명
/볼륨 level(0–100) 음악 볼륨 조절
자동 저장 유저별 이전 볼륨값 저장

📚 STUDY 기능

📝 과제 관리

기능 설명
/과제등록 title deadline 과제 등록
/과제목록 등록된 과제 조회
/과제완료 title 과제 완료 처리
/과제삭제 title 과제 삭제
/과제완료율 개인 완료율 조회

📅 출석 / 스터디 기록

기능 설명
/스터디출석 출석 체크
/스터디종료 스터디 종료 및 시간 합산
/스터디순위 누적 공부시간 기반 랭킹 표시

⚙ 사용 기술

  • JDA (Java Discord API) – Discord Slash Command 기반
  • Lavaplayer – 음악 재생 엔진
  • Java 17
  • Gradle
  • In-Memory 저장소 (간단한 스터디/플레이리스트 데이터 관리)

About

공부 효율을 높이기 위한 디스코드 스터디 지원 + 음악 재생 봇, Mudy

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages