Skip to content

feat: 급식 캐시 개선 및 관리자 권한 에러를 본인만 보이게 변경 - #73

Merged
koreahghg merged 1 commit into
feat/performance-refactorfrom
feat/meal-toggle-ephemeral
Sep 24, 2026
Merged

koreahghg merged 1 commit into
feat/performance-refactorfrom
feat/meal-toggle-ephemeral

Conversation

@koreahghg

Copy link
Copy Markdown
Member

개요

!밥 on/off를 관리자가 아닌 사람이 쓰면 채널 전체에 보이던 권한 에러를 본인만 보이게 바꿨습니다. 급식 조회 캐시도 같이 개선했습니다.

#72 위에 쌓인 브랜치입니다. #72를 먼저 머지해 주세요. (머지 후 base를 develop으로 바꾸면 이 PR의 변경분만 남습니다)

권한 에러

  • 디스코드의 "나만 보기(ephemeral)"는 슬래시 명령 응답에서만 가능해서 두 가지로 처리
    • /밥 설정:on|off 추가: 권한 에러가 본인에게만 보임
    • !밥 on/off: 권한 에러 답장이 5초 뒤 자동 삭제
  • /밥 설정 옵션을 !명령어 도움말에 추가

급식 캐시

  • 동시에 들어온 같은 요청 병합, "급식 없음"(주말·방학) 10분 캐시
  • 예열 대상을 오늘 + 내일로 확장 (저녁 이후 !밥은 내일 아침을 조회)
  • TTL을 예열 주기보다 길게(40분) 잡아 예열 사이 캐시 공백 제거
  • 캐시 미스일 때 defer해서 슬래시 3초 제한 방지
  • API 자체가 실패하면 "급식 정보가 없습니다" 대신 오류 임베드 표시

테스트

  • npm run typecheck, npm run format:check, npm test 통과
  • 가짜 Discord 객체로 !밥 off(자동 삭제)와 /밥 설정:off(ephemeral) 권한 에러 경로 확인

🤖 Generated with Claude Code

@koreahghg koreahghg self-assigned this Sep 24, 2026
@koreahghg
koreahghg merged commit 5ea0699 into feat/performance-refactor Sep 24, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant