Skip to content

Discord: /subscriptions, status embed UX - #3

Merged
owens1127 merged 5 commits into
mainfrom
chore/discord-bot
Apr 24, 2026
Merged

Discord: /subscriptions, status embed UX#3
owens1127 merged 5 commits into
mainfrom
chore/discord-bot

Conversation

@owens1127

Copy link
Copy Markdown
Contributor

Summary

  • Rename slash command subscriptionsubscriptions (manifest, router, user-facing copy, metrics labels).
  • Remove aggregate Rule Filters embed field; filters remain on each player/clan line only.
  • Subscription status embed colors: gray (0x747F8D) when not registered, red when registered but destination inactive, green when active.
  • Tests: manifest expectations aligned with current commands; subscription helper tests for colors and copy.

Notes

  • Re-run Discord command sync after deploy so guilds pick up /subscriptions.

Made with Cursor

- Rename slash command subscription -> subscriptions (manifest + router + copy).
- Drop aggregate Rule Filters field; keep per-rule filter lines only.
- Subscription status embed: green when destination active, red when inactive.
- Align manifest tests with search/subscribe manifest; extend subscription helper tests.

Made-with: Cursor
Use neutral greyple for unregistered channels; keep green/red for active/inactive destinations. Fix unregistered status test copy and assert embed color.

Made-with: Cursor
Copilot AI review requested due to automatic review settings April 24, 2026 04:27

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the Discord subscription status UX and aligns command naming to the new /subscriptions slash command, including manifest/test updates and improved embed presentation.

Changes:

  • Renames the subscription slash command to subscriptions across manifest, routing, user-facing copy, and metrics labels.
  • Simplifies the status embed by removing the aggregate “Rule Filters” field and adding state-based embed colors (gray/red/green).
  • Updates tests to match the current command set and verify new embed colors/copy.

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
tests/test_subscription_helpers.py Updates helper tests for new status copy, embed colors, and removal of aggregate Rule Filters field.
tests/test_manifest_commands.py Updates manifest expectations for stable slash command names/options, including subscriptions.
src/manifest/builders.py Renames manifest command subscriptionsubscriptions.
src/commands/subscription.py Updates user-facing guidance and deferred metrics labels to use subscriptions.
src/commands/subscription_messages.py Updates hint copy to direct users to /subscriptions.
src/commands/subscription_helpers.py Removes aggregate Rule Filters summary and implements status-based embed coloring.
src/app_factory.py Updates interaction routing key to subscriptions for the subscription handler.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/app_factory.py
Comment on lines 43 to 48
command_handlers: dict[str, CommandHandler] = {
"instance": run_instance_deferred,
"player-search": run_player_search_deferred,
"subscribe": run_subscribe_deferred,
"subscription": run_subscription_deferred,
"subscriptions": run_subscription_deferred,
"unsubscribe": run_unsubscribe_deferred,
Comment thread src/app_factory.py
command_handlers: dict[str, CommandHandler] = {
"instance": run_instance_deferred,
"player-search": run_player_search_deferred,
"subscribe": run_subscribe_deferred,
Align subscribe/unsubscribe with API targets.players / targets.clans
(requireFresh, requireCompleted, raids per entry). Remove propagateFilters.

Also drop unused /search slash options (membership type, global name)
so manifest matches handler and API.

Made-with: Cursor
Discord sends the manifest command name (e.g. search). Map search and
player-search to the same handler. Keep subscription as an alias for
subscriptions during rollout.

Made-with: Cursor
Drop instance handler and module (command removed from manifest).
Route only search, subscribe, subscriptions, unsubscribe — no legacy
player-search or subscription aliases.

Made-with: Cursor
@owens1127
owens1127 merged commit b4020f5 into main Apr 24, 2026
1 check passed
@owens1127
owens1127 deleted the chore/discord-bot branch April 24, 2026 05:03
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