Repository navigation
Conversation
…tle siege The game publishes blocked logins, received letters and characters which entered the game, and the castle siege events tell when the next battle takes place. /discord notify turns direct messages in Discord on or off. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01USFZ9xErMB1EwkpfdUHzoZ
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01USFZ9xErMB1EwkpfdUHzoZ
…d events /announce, /kick and /ban are allowed for users with the GM role and a linked game master character, and every use is posted to the staff alerts channel. Linked users opt in to direct messages with /notify. The bot can create a scheduled event for the next castle siege. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01USFZ9xErMB1EwkpfdUHzoZ
…s and scheduled events Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01USFZ9xErMB1EwkpfdUHzoZ
Deploying openmudocs with
|
| Latest commit: |
0e66685
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://f1126b33.openmudocs.pages.dev |
| Branch Preview URL: | https://claude-sweet-cray-w8crms-m6.openmudocs.pages.dev |
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Milestone M6 of the Discord integration (#1104). Stacked on #1161 (M5).
What
/announce <text>callsIGameServer.SendGlobalMessageAsync(golden notice) on all game servers./kick <character>callsDisconnectPlayerAsyncand/ban <character>callsBanPlayerAsync. Each goes to the game servers until one succeeds; the Dapr clients broadcast.CharacterStatus.GameMaster. This uses the new light queryIPlayerContext.GetCharacterStatusAsync.StaffAlerts, routed to#staff-alertsby the layout.AccountNotificationTypesflags onAccountExternalLink, with a migration and compiled models. Toggled with/notify type enabledin Discord or/discord notify login|letter|friendin game. New game events are published directly by the game:AccountLoginBlockedEvent: login with the correct password while the account is already logged in. The account is resolved with the newGetAccountIdByLoginNameAsync.LetterReceivedEvent: published byLetterSendAction.PlayerEnteredGameEvent: published byGameServerContext. Friends with the opt-in are notified unless the player is invisible, checked withIFriendServer.GetOnlineServerIdAsync.CastleSiegeStateChangedEventgets the optionalNextBattleStartUtc/NextBattleEndUtc, from the newCastleSiegeSchedule.GetNextPeriod.Bot__CreateScheduledEvents=truethe bot creates or updates an external scheduled event "Castle Siege" on the hosted Discord. It needs the Create Events permission.## Settingsheading. It's restored on M5 and merged forward.Notes
Tests
DiscordGameMasterCommandsTest: role and GM checks, announcing to all servers, kick/ban routing, staff alert text.DiscordDirectMessagesTest: opt-in, letter, blocked login, friend online and invisible friend.CastleSiegeNextBattleTest: next battle this week and next week, unscheduled state./discord notifytoggling, and serialization of the new events.Not tested against a real Discord bot or a real PostgreSQL database.
🤖 Generated with Claude Code
https://claude.ai/code/session_01USFZ9xErMB1EwkpfdUHzoZ
Generated by Claude Code