Commit Graph

65 Commits

Author SHA1 Message Date
이정수 ad8b47d4ec feat: add console output to logger and remove redundant deferReply in autorole command 2026-04-10 10:25:55 +09:00
이정수 1e31f83ff3 fix(i18n): restore missing channelLocked translation key in ko.ts 2026-04-10 09:40:26 +09:00
이정수 bbc4bed551 Merge branch 'origin/main' into feature/invite-role and resolve conflicts 2026-04-10 09:38:39 +09:00
안명현 b9d509a9e8 fix(fishing): clear stale sessions for deleted threads 2026-04-09 13:48:33 +09:00
안명현 55fc7b46fc fix(fishing): avoid stale no-session response on session end 2026-04-09 13:12:24 +09:00
안명현 7022900eff fix(fishing): use editReply for deferred slash responses 2026-04-09 12:52:29 +09:00
안명현 233615e6d0 Merge branch 'main' into myong_dev 2026-04-09 12:46:45 +09:00
안명현 9f903f676f chore: remove BOM from fishing-related files 2026-04-09 12:39:07 +09:00
안명현 1432e0d090 fix(commands): re-sync global commands when definitions change 2026-04-09 12:25:04 +09:00
안명현 c80bcffb08 Implement fishing progression features 2026-04-09 12:02:54 +09:00
mineseo-kim dbadd936ca feat(logging): wire LOG_DIR through env and align systemd helper
- logger uses config/env for LOG_DIR and LOG_LEVEL (single source of truth)
- Document absolute LOG_DIR for wipe/redeploy (Jenkins) in env and .env.example
- setup-kord-user-log-file.sh reads LOG_DIR from KORD_HOME/.env and syncs
  StandardOutput/StandardError/ExecStartPre mkdir to the same path

Made-with: Cursor
2026-04-09 10:00:58 +09:00
mineseo-kim ca9413e665 fix(db): honor DATABASE_URL schema for pg Pool and PrismaPg
node-postgres ignores Prisma's ?schema= query param, so connections
defaulted to public. Parse the schema from the URL, set search_path on
the pool, and pass schema to PrismaPg (see prisma/prisma#28611).

Made-with: Cursor
2026-04-09 09:45:10 +09:00
mineseo-kim f317be9eab fix(logging): clarify LOG_DIR creation and bootstrap errors
- Wrap mkdir in ensureLogDir with stderr message on failure.

- Trim LOG_DIR; note in .env.example that the directory is created at startup.

Made-with: Cursor
2026-04-09 09:38:59 +09:00
mineseo-kim f2ffdb64a8 feat(logging): switch to log4js with file output and env-driven level
- Replace console logger with log4js dateFile under LOG_DIR (default logs).

- No console appender; daily rotation with 7-day retention (numBackups).

- Add LOG_LEVEL and LOG_DIR to env and .env.example; document in env.ts.

Made-with: Cursor
2026-04-09 09:34:15 +09:00
mineseo-kim f5f597d73d fix(i18n): restore ko locale and remove UTF-8 BOM
- Replace mojibake in ko.ts with proper Korean aligned to en.ts.

- Strip UTF-8 BOM from the 9 other text files (docs, commands, services, tests, en.ts).

Made-with: Cursor
2026-04-09 09:23:14 +09:00
mineseo-kim 586f516d4a Respect DOTENV_CONFIG_PATH for dotenv load path
Matches systemd Environment=DOTENV_CONFIG_PATH=/home/psa/.env so keys are not reported as 0 when only ~/.env exists.

Made-with: Cursor
2026-04-09 09:14:57 +09:00
mineseo-kim 1a4652c185 Fix slash command timeouts: defer before locale DB reads
- interactionCreate: deferReply(ephemeral) immediately for chat commands, then getInteractionLocale.

- All slash handlers use editReply; remove redundant deferReply in audit/fishing/music.

- localeHelper: parallelize user/guild Prisma lookups for getInteractionLocale and getContextLocale.

Note: deferred replies are ephemeral; public-only responses (e.g. music queue) are now user-visible only.
Made-with: Cursor
2026-04-09 09:09:32 +09:00
mineseo-kim a2e755b708 Remove Redis and replace with in-memory caches
- Drop ioredis, docker-compose redis service, and REDIS_* env vars.

- Remove src/cache; use Map-based invite and webhook caching in services.

- Run global command registration and voice boot sync without distributed locks.

- Update README, agent rules, and docs to match the new stack.

Made-with: Cursor
2026-04-09 08:50:53 +09:00
이정수 6072ab716f refactor: remove invite tracking functionality and migrate member join handling to AutoRoleService 2026-04-07 16:34:08 +09:00
이정수 c4f5e8d53c refactor: remove invite management system and associated command, events, and localization keys 2026-04-07 16:30:20 +09:00
이정수 579e9a8a61 refactor: remove retroactive autorole functionality and associated database tables 2026-04-07 15:14:25 +09:00
이정수 f3f882cd06 feat(autorole): implement multi-role UX, persistence and automatic toggle logic 2026-04-06 18:05:33 +09:00
이정수 c71d263607 chore: update Korean localization strings 2026-04-06 17:16:43 +09:00
이정수 d941daf005 feat: add bot autorole configuration and migrate interaction handling to interactionCreate event 2026-04-06 15:36:45 +09:00
이정수 26cfd356ff feat: add invite command to manage role-based invite code mappings 2026-04-06 15:05:23 +09:00
이정수 107c00cb13 feat: implement AutoRoleService with retroactive assignment and configuration support 2026-04-06 15:04:21 +09:00
mineseo-kim 2a8b6d41dc Merge branch 'delete-redis'
# Conflicts:
#	yarn.lock
2026-04-02 11:18:10 +09:00
mineseo-kim c10822ea87 빌드 성공 2026-04-01 17:41:09 +09:00
안명현 9876a331c1 Add fishing rarity rewards and result art 2026-04-01 17:19:23 +09:00
안명현 45d2b22978 Complete fishing minigame phase 1 2026-03-31 18:46:00 +09:00
mineseo-kim 57805644fb Merge remote-tracking branch 'origin/main' into delete-redis
# Conflicts:
#	prisma/schema.prisma
#	src/client/KordClient.ts
#	yarn.lock
2026-03-31 10:27:05 +09:00
mineseo-kim aad37ef855 빌드 성공
빌드 성공본 업데이트
2026-03-31 10:26:16 +09:00
이정수 ba253a8ad3 Merge branch 'feautre/minigame' 2026-03-31 10:16:01 +09:00
mineseo-kim c1d18d7d8f Service 고도화 작업
난 한국어 커밋 메세지가 좋아
2026-03-31 10:13:38 +09:00
mineseo-kim 1f91bfb9bf Merge branch 'main' into delete-redis
# Conflicts:
#	package.json
#	yarn.lock
2026-03-31 09:29:49 +09:00
안명현 85f5057fd7 Implement YouTube music playback workflow 2026-03-31 02:12:27 +09:00
pandoli365 e43af4f944 레디스 제거 버전 작업 2026-03-30 20:48:03 +09:00
안명현 c459dfff02 Merge origin/main into myong_dev 2026-03-30 18:28:02 +09:00
이정수 49a2855f2b feat: externalize refinement and battle balance configurations to database with runtime caching 2026-03-30 18:00:46 +09:00
이정수 2762801fbd feat: implement daily battle limits, refine win rate logic, and update weapon sell pricing 2026-03-30 17:54:57 +09:00
이정수 cc26613377 feat: increase max refinement level to 25 and rebalance success rates and PvP rewards 2026-03-30 17:46:05 +09:00
이정수 793bba5a6a feat: refactor refinement cost logic and update success rates and combat reward formulas 2026-03-30 17:41:20 +09:00
안명현 6eb3826737 Implement event scheduling workflow 2026-03-30 17:37:32 +09:00
이정수 0c7a562b00 feat: update weapon refinement cost formula and add durability and destruction mechanics 2026-03-30 17:30:29 +09:00
이정수 f504024bd5 feat: implement minigame refinement system with weapon upgrading, battle mechanics, and fever activity tracking 2026-03-30 17:24:53 +09:00
이정수 4cc14d8153 refactor: flatten command structures by replacing subcommand groups with action-based string options 2026-03-30 10:27:11 +09:00
이정수 5e41bea74e feat: Add instance ID and implement Redis lock for global command registration to support multi-instance deployments. 2026-03-27 18:29:46 +09:00
이정수 031a8b3146 refactor: Consolidate voice-related commands into `voice.ts` and audit-related commands into `audit.ts`. 2026-03-27 17:54:55 +09:00
이정수 0ccbbf9d31 feat: Introduce and separate `BOOT` audit log category from `SYSTEM`, defaulting both to disabled. 2026-03-27 17:53:00 +09:00
이정수 90064491d6 refactor: Relocate `config` translation keys and types under the `commands` namespace. 2026-03-27 17:24:03 +09:00