Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Jan 20, 2026

New servers lack guided configuration, requiring manual /config set commands for each setting. Users enabling new features also need to manually configure multiple related settings.

Implementation

Implemented /setup wizard command with:

  • Interactive multi-step configuration flow using buttons/select menus/modals
  • Auto-detection of existing channels/categories to prevent duplicates
  • Support for targeted feature setup (e.g., /setup wizard gamification)
  • Session-based state management with 15-minute timeout
  • Ephemeral interactions in server (privacy maintained, no DM errors)
  • Admin-only access with skip/navigation functionality

Components Added

New Files:

  • setup-wizard.ts - Main command with feature-specific routing
  • wizard-service.ts - Session state management and configuration application
  • channel-detector.ts - Auto-detection utility for existing resources
  • wizard-button-handler.ts - Button interaction handling
  • wizard-select-handler.ts - Select menu interaction handling
  • wizard-modal-handler.ts - Modal submit interaction handling
  • wizard-button-handler-helpers.ts - Shared helper functions
  • setup-wizard-helpers.ts - Feature configuration helpers

Modified Files:

  • index.ts - Added interaction handlers for buttons, modals, select menus
  • config-schema.ts - Added wizard.enabled configuration key (default: true)
  • command-manager.ts - Registered setup wizard command
  • .github/copilot-instructions.md - Added wizard guidance for future features

Configuration Flow

  1. Feature Selection → User selects which features to configure (or specifies via parameter)
  2. Auto-Detection → System detects existing channels/categories to avoid duplicates
  3. Feature Configuration → Step-by-step configuration for each selected feature:
    • Voice Channels (existing vs new setup, lobby configuration)
    • Voice Tracking (announcements channel, schedule, tracking settings)
    • Quote System (channel selection)
    • Gamification (simple enable)
    • Core Logging (channel selection for startup/errors/config)
  4. Review Summary → Display all configuration changes grouped by category
  5. Apply & Reload → Bulk apply all settings with single ConfigService reload

Features

  • Skip & Jump Navigation: Each feature step includes skip button to move forward
  • Admin-Only Access: Command restricted to server administrators
  • Feature Toggle: Controlled via wizard.enabled config key
  • Ephemeral Interactions: All wizard interactions are ephemeral (only visible to user)
  • Session Management: 15-minute automatic timeout with periodic cleanup
  • Smart Detection: Auto-detects voice categories, lobby channels, and text channels

Usage

/setup wizard                    # Full guided setup with feature selection
/setup wizard voicechannels      # Configure voice channels only
/setup wizard voicetracking      # Configure voice tracking only
/setup wizard gamification       # Enable gamification feature
/setup wizard quotes             # Configure quote system
/setup wizard logging            # Configure core logging channels
Original prompt

This section details on the original issue you should resolve

<issue_title>Interactive Onboarding</issue_title>
<issue_description>Create an interactive onboarding flow for new servers:

  • /setup wizard: Interactive configuration flow
  • Guides user through lobby setup → enable features → configure channels
  • Auto-detect existing channels to avoid duplicates

Addresses gap: No guided setup for new servers.</issue_description>

<agent_instructions>Make a detailed plan and present to the user prior to executing on it.</agent_instructions>

Comments on the Issue (you are @copilot in this section)

@lonix Should also be applicable when we have a exisisting setup and enable a new feature that does not have a configuration.

e.g. /setup wizard gamification</comment_new>


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Copilot AI changed the title [WIP] Add interactive onboarding flow for new servers Add interactive onboarding wizard for server setup Jan 20, 2026
Copilot AI requested a review from lonix January 20, 2026 13:22
@lonix
Copy link
Owner

lonix commented Jan 20, 2026

@copilot make sure we update instructions to consider this wizard when setting up new features.

  1. yes
  2. Skip and jump if possible
  3. admin only
  4. feature toggle

- Add /setup wizard command for guided bot configuration
- Support full setup and feature-specific setup (e.g., /setup wizard gamification)
- Ephemeral interactions in server (privacy maintained, no DM errors)
- Auto-detect existing channels/categories to avoid duplicates
- Session-based state management with 15-minute timeout
- Multi-step flow with buttons, select menus, and modals
- Bulk configuration with single reload on completion
- Updated copilot instructions to reference wizard for new features

Co-authored-by: lonix <2330355+lonix@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Jan 20, 2026

@copilot make sure we update instructions to consider this wizard when setting up new features.

  1. yes...

Done! Implemented /setup wizard with:

  1. ✅ All features configured (voice, tracking, quotes, gamification, logging)
  2. ✅ Skip & jump navigation on each step
  3. ✅ Admin-only access (PermissionFlagsBits.Administrator)
  4. ✅ Feature toggle via wizard.enabled config (default: true)
  5. ✅ Ephemeral in server (changed from DM per your request)
  6. ✅ Updated .github/copilot-instructions.md with wizard guidance for future features

Commit: 3eec5d7

The wizard now provides interactive onboarding for new servers and targeted feature setup (e.g., /setup wizard gamification). Auto-detects existing channels to avoid duplicates and uses ephemeral interactions for privacy.

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.

Interactive Onboarding

2 participants