안명현
d9f3e160aa
Merge pull request 'fix(fishing): avoid stale no-session response on session end' ( #9 ) from myong_dev into main
...
Reviewed-on: #9
2026-04-09 04:14:39 +00:00
안명현
55fc7b46fc
fix(fishing): avoid stale no-session response on session end
2026-04-09 13:12:24 +09:00
안명현
53027ac21f
Merge pull request 'myong_dev' ( #8 ) from myong_dev into main
...
Reviewed-on: #8
2026-04-09 03:54:13 +00: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
5280f1987b
chore(scripts): add systemd ExecStartPre for kord log directory
...
When StandardOutput=append points under ~/kord/logs, systemd opens the
file before ExecStart; a missing directory causes status 209/STDOUT.
Inject mkdir -p via ExecStartPre so restarts survive a deleted logs folder.
Made-with: Cursor
2026-04-09 09:56:46 +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
안명현
80e104a9f4
Merge pull request 'Add fishing rarity rewards and result art' ( #5 ) from myong_dev into main
...
Reviewed-on: #5
2026-04-01 08:20:43 +00:00
안명현
9876a331c1
Add fishing rarity rewards and result art
2026-04-01 17:19:23 +09:00
안명현
bcaf378111
Merge pull request 'Restore UTF-8 encoding in docs index' ( #4 ) from myong_dev into main
...
Reviewed-on: #4
2026-03-31 10:20:37 +00:00
안명현
25b84592c0
Restore UTF-8 encoding in docs index
2026-03-31 19:06:04 +09:00
안명현
e7d435d7ea
Merge pull request 'Complete fishing minigame phase 1' ( #3 ) from myong_dev into main
...
Reviewed-on: #3
2026-03-31 09:49:57 +00:00
안명현
45d2b22978
Complete fishing minigame phase 1
2026-03-31 18:46:00 +09:00
이정수
f9769ba87c
feat: initialize project structure with documentation and modular Prisma schemas
2026-03-31 10:16:07 +09:00
이정수
ba253a8ad3
Merge branch 'feautre/minigame'
2026-03-31 10:16:01 +09:00
안명현
d51eadb8c4
Merge pull request 'Implement YouTube music playback workflow' ( #2 ) from myong_dev into main
...
Reviewed-on: #2
2026-03-30 17:14:17 +00:00
안명현
85f5057fd7
Implement YouTube music playback workflow
2026-03-31 02:12:27 +09:00
안명현
019cb314be
Merge pull request 'myong_dev' ( #1 ) from myong_dev into main
...
Reviewed-on: #1
2026-03-30 09:28:32 +00: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
안명현
f9206ce7b2
Add event schedule management plan
2026-03-30 16:31:24 +09:00
이정수
122f20d031
docs: update project documentation and agent routine guidelines
2026-03-30 10:31:04 +09:00
이정수
4cc14d8153
refactor: flatten command structures by replacing subcommand groups with action-based string options
2026-03-30 10:27:11 +09:00
이정수
63c9930fd9
docs: update kord_routine rules for improved agent behavior consistency
2026-03-30 09:57:36 +09:00
이정수
7dd437c373
docs: update Kord agent routine rules.
2026-03-27 18:31:07 +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
이정수
47dc4ab124
feat: Introduce a script to identify hardcoded i18n strings in test files, add a `check-i18n` command to package.json, and include ignore comments in i18n tests.
2026-03-27 17:38:07 +09:00
이정수
90064491d6
refactor: Relocate `config` translation keys and types under the `commands` namespace.
2026-03-27 17:24:03 +09:00
이정수
4246eb90a5
feat: Implement `/config` command for managing bot features, refactor Big Emoji into a dedicated service, and update guild configuration schema with new defaults.
2026-03-27 17:16:15 +09:00
이정수
b81bc6b146
feat: Add an audit log category selection step to the setup wizard, shifting subsequent steps and updating related logic and translations.
2026-03-27 16:56:37 +09:00
이정수
bdd91f6737
feat: Implement a multi-step setup wizard with i18n support and dedicated interaction handlers.
2026-03-27 15:57:50 +09:00
이정수
9f891112d9
feat: Introduce guild-specific configuration for temporary voice channels with a new command, updated service logic, and corresponding database schema changes.
2026-03-27 15:41:27 +09:00