Commit graph

1324 commits

Author SHA1 Message Date
Xujiayao
c6fd7a88fa Use JEmoji 2026-03-18 00:55:15 +08:00
Xujiayao
758d1634d2 format 2026-03-18 00:55:15 +08:00
Xujiayao
6a9036dbbc Fix 2026-03-18 00:55:15 +08:00
copilot-swe-agent[bot]
d16152ce2b fix: address code review feedback - safe truncation, doc fixes, style constant
Co-authored-by: Xujiayao <58985541+Xujiayao@users.noreply.github.com>
2026-03-18 00:55:15 +08:00
copilot-swe-agent[bot]
1329d5fdd9 feat: implement Discord-to-Minecraft chat forwarding
Add TextSegment, DiscordEventPacket, DiscordMessageParser,
EmojiShortCodeMapper, and wire up the full pipeline from
Discord message reception through network transmission to
Minecraft rendering with rich text, mentions, replies,
attachments, embeds, stickers, components, and markdown.

Co-authored-by: Xujiayao <58985541+Xujiayao@users.noreply.github.com>
2026-03-18 00:55:15 +08:00
Xujiayao
acdc7b67c9 [skip ci] Fix GitHub 2026-03-15 00:13:11 +08:00
Xujiayao
8f38cf8067 Disallow duplicate name connection for DMCC clients 2026-03-13 21:23:02 +08:00
Xujiayao
1825baade5 Refactor bot presence update to use scheduled executor for periodic updates 2026-03-13 21:02:59 +08:00
Xujiayao
d2a59cc56e Implement bot presence (status & activity) feature 2026-03-13 20:44:20 +08:00
Xujiayao
fc6612f8ac Fix info message when there are more than one client 2026-03-13 20:43:46 +08:00
Xujiayao
6433349651 [skip ci] 没有DMCC客户端在线时 Do Not Disturb 2026-03-13 18:43:12 +08:00
Xujiayao
b8540ca056 Update TODO comments and README for clarity on Bot status management 2026-03-13 18:41:20 +08:00
Xujiayao
b58e4dde29 JEmoji 2026-03-13 18:39:34 +08:00
Xujiayao
21e67a33ea [skip ci] Bot不支持Rich Presence 2026-03-13 18:32:43 +08:00
Xujiayao
ac182e872c [skip ci] 更多配置文件改动 2026-03-13 18:04:19 +08:00
Xujiayao
7923af8ef8 [skip ci] 一些配置文件改动 2026-03-13 17:50:20 +08:00
Xujiayao
74b1703e4e Refactor message formatting settings for improved clarity and functionality 2026-03-12 13:55:38 +08:00
Xujiayao
c6906dc430 Add rich presence texts 2026-03-12 13:33:18 +08:00
Xujiayao
a6b3aa6a1d refactor templates and channel topic messages for clarity 2026-03-12 13:12:38 +08:00
Xujiayao
ea57d67b34 修正bot配置的TODO 2026-03-12 12:41:29 +08:00
Xujiayao
1b43c5d724 fix validation 2026-03-12 12:13:32 +08:00
Xujiayao
9404c98399 fix 2026-03-12 12:05:42 +08:00
Xujiayao
a4013d0ea8 更易懂的server_overrides配置命名 2026-03-12 11:48:56 +08:00
Xujiayao
2e58a60d23 频道主题与v2一样同时更新多个频道 2026-03-12 11:48:07 +08:00
Xujiayao
3afa3aa26f 控制台频道敏感过滤 2026-03-12 11:47:19 +08:00
Xujiayao
7449bdc8c3 [skip ci] 考虑到v2的功能,避免“功能倒退”,修改的重构设计文档 2026-03-12 00:08:41 +08:00
Xujiayao
4e419a4c20 更新重构文档,删除历史遗留 2026-03-11 22:07:46 +08:00
copilot-swe-agent[bot]
b76e7cec5c fix: add missing return in onMessageReceived, update README section 6.2 to fallback rules, improve Javadoc
Co-authored-by: Xujiayao <58985541+Xujiayao@users.noreply.github.com>
2026-03-11 21:36:11 +08:00
Xujiayao
26b4c80624 Update user messages for account linking 2026-03-11 21:36:11 +08:00
Xujiayao
318a2cf285 Improve user messages for account linking 2026-03-11 21:36:11 +08:00
copilot-swe-agent[bot]
5de3704521 sync en_us.yml with zh_cn.yml changes and apply code quality improvements
Translation sync:
- Update terminology: "Minecraft player" and "Discord user" consistently
- Rename unlink keys: success→success_minecraft, discord_success→success_discord
- Update linking.* keys: "account linking records", remove unused placeholders
- Add "command" suffix to linking.message keys, update tooltip text

Code improvements:
- HttpUtils: add null check for response.body() to prevent NPE
- CommandAutoCompleter: merge duplicate code blocks in suggestLog/suggestStats
- NetworkManager: simplify isClientConnected with containsValue
- ServerHandler: extract findServerConfig to eliminate duplicate iteration

Co-authored-by: Xujiayao <58985541+Xujiayao@users.noreply.github.com>
2026-03-11 21:36:11 +08:00
Xujiayao
131aeaf718 人工修改多语言文件。仅zh_cn 2026-03-11 21:36:11 +08:00
copilot-swe-agent[bot]
71f38e953f refactor: restructure i18n keys for account linking system
- Merge player_join and code_generated messages into unified linking.message.not_linked_1/2/3
- Hardcode command strings (/dmcc unlink, /link code: {}, /dmcc link) in Java code
- Remove redundant "your code is: CODE" line from /dmcc link response
- Rename _suffix/_tail/_prefix naming to _1/_2/_3 pattern
- Move tooltip keys to linking.tooltip.click_to_copy/click_to_run
- Fix zh_cn: consumed phrasing, refresh wording, add "Minecraft" prefix to player references
- Remove dead buildCodeGeneratedMessage() method, unify into buildNotLinkedMessage()

Co-authored-by: Xujiayao <58985541+Xujiayao@users.noreply.github.com>
2026-03-11 21:36:11 +08:00
Xujiayao
f99f82fbff 撤销!修改 2026-03-11 21:36:11 +08:00
copilot-swe-agent[bot]
7afea647a5 feat: persist offline player name in LinkEntry for proper display in links command
Add offlinePlayerName field to LinkEntry record, stored only for
offline-mode UUIDs (version 3) since Mojang API cannot resolve them.
Online-mode players continue to use real-time Mojang API resolution.
The field is omitted from JSON when null for clean serialization.

MojangUtils.resolvePlayerName() now accepts an optional fallback name
for offline UUIDs, returning "N/A" when no name is available.

Updated README.md storage constraints and query display rules to
reflect the new offline player name persistence.

Co-authored-by: Xujiayao <58985541+Xujiayao@users.noreply.github.com>
2026-03-11 21:36:11 +08:00
copilot-swe-agent[bot]
b2f841e1fa Fix multiple review issues: resource leak, OP sync timing, network packet consistency, and more
- LinkedAccountManager: Fix resource leak with try-with-resources for BufferedReader
- MinecraftEventHandler: Use network packets for PlayerJoin link checks (no single_server special case)
- MinecraftEventHandler: Don't prompt already-linked players on join (joinCheck flag)
- LinkCommand/UnlinkCommand: Use network packets for both single_server and multi_server_client modes
- OpSyncManager: Run all sync operations on dedicated executor thread (DMCC-OpSync)
- OpSyncManager: Only include positive OP levels in sync map
- ServerHandler: Trigger OpSync on ServerStarted instead of PlayerJoin
- DiscordManager: Per-guild exception handling in retrieveMember()
- MojangUtils: Fix docstring for UUID format, remove unused offlineUuid()
- en_us.yml: Fix placeholder order in verification log messages
- MinecraftEventHandler: Fix Javadoc (remove "bold"), optimize OpSync event handler
- CoreEvents: Remove unused PlayerJoinLinkCheckEvent
- README.md: Update to reflect network-based player join link checking

Co-authored-by: Xujiayao <58985541+Xujiayao@users.noreply.github.com>
2026-03-11 21:36:11 +08:00
Xujiayao
7449de40ba reload时清除所有待使用code 2026-03-11 21:36:11 +08:00
Xujiayao
5aef1eb1c4 Format 2026-03-11 21:36:11 +08:00
Xujiayao
43afd2a265 rm Bold 2026-03-11 21:36:11 +08:00
Xujiayao
e2aefb4fb7 Reduce unnecessary ops.json file writing 2026-03-11 21:36:11 +08:00
Xujiayao
d97c8f472d 更好的op sync时机 2026-03-11 21:36:11 +08:00
copilot-swe-agent[bot]
9fbf1773ec Fix ClickEvent API, redesign link messages with inline click-to-copy/suggest, fix help visibility for MC players, fix OP sync on reload
Co-authored-by: Xujiayao <58985541+Xujiayao@users.noreply.github.com>
2026-03-11 21:36:11 +08:00
copilot-swe-agent[bot]
1945cf2e19 Fix compilation errors, NPE, help visibility, auto-complete, click-to-copy, file path rename
Co-authored-by: Xujiayao <58985541+Xujiayao@users.noreply.github.com>
2026-03-11 21:36:11 +08:00
copilot-swe-agent[bot]
04874111ed fix: skip OP sync for profiles not in cache instead of using empty username
Co-authored-by: Xujiayao <58985541+Xujiayao@users.noreply.github.com>
2026-03-11 21:36:11 +08:00
copilot-swe-agent[bot]
461bbe8d39 feat: implement per-server OP level resolution and sync_op_level_to_minecraft
Co-authored-by: Xujiayao <58985541+Xujiayao@users.noreply.github.com>
2026-03-11 21:36:11 +08:00
copilot-swe-agent[bot]
95095b3c32 fix: rename links path, improve messages, fix help visibility, remove unnecessary messages
Co-authored-by: Xujiayao <58985541+Xujiayao@users.noreply.github.com>
2026-03-11 21:36:11 +08:00
copilot-swe-agent[bot]
0a89500cbe fix: add caching for name resolution, improve shutdown docs
Co-authored-by: Xujiayao <58985541+Xujiayao@users.noreply.github.com>
2026-03-11 21:36:11 +08:00
copilot-swe-agent[bot]
e578e43ce4 refactor: rename and reorganize linking packets, fix OP resolution, improve logs and file path
Co-authored-by: Xujiayao <58985541+Xujiayao@users.noreply.github.com>
2026-03-11 21:36:11 +08:00
copilot-swe-agent[bot]
f168b515d3 Reorganize network packet classes into sub-packages
- Move command packets into console/, execute/, info/ sub-packages
- Move linking packets into commands/link/ and commands/unlink/
- Rename LinkCodeRequestPacket → LinkRequestPacket
- Rename LinkCodeResponsePacket → LinkResponsePacket
- Rename UnlinkByUuidRequestPacket → UnlinkRequestPacket
- Rename UnlinkByUuidResponsePacket → UnlinkResponsePacket
- Update Javadoc cross-references to use new class names
- Delete old files and the linking/ directory

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-11 21:36:11 +08:00
copilot-swe-agent[bot]
2a6394805b fix: address code review feedback - fix indexed placeholders in translations, improve null handling
Co-authored-by: Xujiayao <58985541+Xujiayao@users.noreply.github.com>
2026-03-11 21:36:11 +08:00