Skip to content

mergr to main - #77

Merged
koreahghg merged 23 commits into
mainfrom
develop
Sep 29, 2026
Merged

koreahghg merged 23 commits into
mainfrom
develop

Conversation

@koreahghg

Copy link
Copy Markdown
Member

No description provided.

dependabot Bot and others added 23 commits July 19, 2026 15:32
Bumps the github-actions-dependencies group with 1 update: [actions/setup-node](https://github.com/actions/setup-node).


Updates `actions/setup-node` from 6 to 7
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](actions/setup-node@v6...v7)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
…ithub-actions-dependencies-eefdb6dedd

chore(deps): bump actions/setup-node from 6 to 7 in the github-actions-dependencies group
- `!gif등록 키워드 URL`(또는 GIF 파일 첨부)로 서버별 키워드를 등록하고, 해당 키워드를 그대로 입력하면 봇이 GIF로 답장
- `!gif목록` / `!gif삭제 키워드` 추가, `!명령어` 도움말에 GIF 항목 추가
- 디스코드 CDN 링크는 서명이 만료되므로 URL이 아니라 파일 바이트를 받아 gif_triggers 테이블(MEDIUMBLOB)에 보관
- 일반 메시지마다 DB를 조회하지 않도록 키워드 문자열만 메모리에 캐시하고, BLOB은 키워드가 일치할 때만 조회
- 등록 URL은 봇이 서버에서 직접 열기 때문에(SSRF) https만 허용하고 사설/loopback/link-local 대역과 리다이렉트 경유를 차단
- `/gif등록`(키워드 + 파일 첨부 또는 주소), `/gif목록`, `/gif삭제` 추가, 서버 전용 명령어 목록에 포함
- 다운로드가 3초를 넘길 수 있어 `/gif등록`은 deferReply 후 editReply로 응답
- 접두어·슬래시가 등록/목록/삭제 로직을 공유하도록 정리
- 응답 본문을 전부 받은 뒤 크기를 재던 것을 스트림으로 읽으며 8MB 초과 시 즉시 연결을 끊도록 변경
- 차단 대역에 IPv4-mapped IPv6 16진 표기(::ffff:7f00:1), NAT64(64:ff9b::/96), 192.0.0/24, 198.18/15 추가
feat: 키워드 입력 시 등록된 GIF 자동 전송 기능 추가
- 메시지 전체 일치 대신 포함(includes) 판정으로 변경, 여러 키워드가 걸리면 더 긴 쪽을 선택
- 아무 메시지에나 걸리는 걸 막기 위해 1글자 키워드 등록을 거부
- `!명령어` 도움말 문구를 포함 판정에 맞게 수정
feat: 메시지 중간에 키워드가 있어도 GIF가 나가도록 변경
feat: GIF 용량 12MB 확대 및 메시지당 최대 4개 트리거
- NEIS 급식/시간표/학사일정, 기상청 날씨에 TTL 캐시 추가 (급식·날씨는 30분마다 예열러로 선제 갱신)
- GIF 트리거 blob 캐시(이벤트 무효화), 도박 활성화 여부 캐시(db.ts) 추가
- 카지노 버튼 핸들러(코인플립/바카라/룰렛/블랙잭)에서 DB 작업 전에 deferUpdate부터 호출하도록 순서 수정 — 룰렛은 9초 애니메이션 전에 DB 호출이 있어 Discord 3초 ack 제한을 넘길 위험이 있었음
- updateBalanceAndGet 추가로 잔액 갱신 후 불필요한 재조회 제거, 송금 처리 일부 병렬화
- NEIS/KMA 요청 타임아웃 8s→4s, 재시도 백오프 1~2s→300ms로 단축

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
perf: 응답속도 개선 — 캐싱 + DB/ack 지연 정리
- guild_settings에 meal_enabled 컬럼 추가, gamblingEnabled와 동일한 lazy 캐시 패턴 적용
- 관리자가 !밥 on / !밥 off 로 서버별 급식 기능을 켜고 끌 수 있음
- 비활성화 시 !밥/!아침/!점심/!저녁 등 급식 관련 메시지·슬래시 명령어 전부 차단

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
feat: 급식 기능 서버별 on/off 토글 추가
- 기존엔 비활성화 안내 메시지를 매번 보냈는데, !밥 off 상태에선 !밥 관련 명령어에 아예 반응하지 않도록 변경
- !밥 on 하면 그때부터 다시 정상 응답

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
fix: 급식 기능 꺼졌을 때 응답 없이 무시
feat: 급식 캐시 개선 및 관리자 권한 에러를 본인만 보이게 변경
feat: 전체 성능 개선 및 텍스트·슬래시 명령 로직 리팩토링
- !모레아침 / !모레점심 / !모레저녁 텍스트 명령 추가
- /급식 날짜 옵션에 모레 선택지 추가
- /급식 특정날짜 옵션 추가 (10/5, 1005, 2026-10-05, 20261005 등)
- parseMealDate 테스트 추가, README·도움말 갱신

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
feat: 급식 모레 조회 및 특정 날짜 조회 추가
@koreahghg koreahghg self-assigned this Sep 29, 2026
@koreahghg
koreahghg merged commit 2a7d969 into main Sep 29, 2026
8 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.

2 participants