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