# 2026-03-30: 이벤트 리마인더 분 단위 옵션 구현 (Event Reminder Offsets Implementation) 이벤트 리마인더를 고정된 1시간 전 / 10분 전 방식에서, 분 단위 목록을 직접 입력하는 방식으로 확장했습니다. ## 주요 변경 사항 ### 1. 리마인더 설정 구조 변경 - `GuildEvent` 모델에 `reminderOffsets`와 `sentReminderOffsets` 배열 필드를 추가했습니다. - 이제 이벤트마다 `0,10,60` 같은 분 단위 리마인더 목록을 저장할 수 있습니다. - `0`은 이벤트 시작 시점 즉시 공지를 의미합니다. ### 2. `/event create` 입력 방식 변경 - `reminders` 문자열 옵션을 추가했습니다. - 예: - `0` - `10` - `0,10,60` - 입력하지 않으면 자동 공지를 전혀 보내지 않습니다. ### 3. 이벤트 처리 루프 변경 - 기존의 고정 불리언 플래그 대신, 아직 전송하지 않은 분 단위 오프셋만 확인해 알림을 보냅니다. - `startsAt <= now` 시점에 `0`이 포함되어 있으면 즉시 시작 공지를 전송합니다. - `sentReminderOffsets`를 사용해 같은 오프셋 알림이 중복 전송되지 않도록 했습니다. ### 4. 목록 표시 개선 - `/event list`에서 리마인더 상태를 단순 on/off 대신 `0m, 10m, 60m` 형식으로 표시합니다. - 리마인더가 없으면 "자동 공지 없음"으로 표시합니다. ### 5. 검증 결과 - `yarn build`: 성공 - `yarn test --runInBand`: 6개 테스트 스위트, 40개 테스트 통과