## Broccolini Bot – Feature Overview Broccolini Bot is a Discord support bot that turns Gmail emails and Discord messages into trackable support tickets stored in MongoDB. --- ## Email & Discord Ticketing **Summary:** Connects Gmail and Discord so each support conversation becomes a ticket channel or thread. - Email → Discord ticket channels or threads (with overflow categories) - Discord-only tickets created from panels or context menus - Full Gmail reply threading for email-sourced tickets - Ticket transcripts saved to a Discord channel and optionally emailed on close --- ## Ticket Workflow & Management **Summary:** Provides a structured workflow for creating, handling, and closing tickets. - Claim / unclaim with claimer emojis in channel names - Priority levels (low / normal / medium / high) with emojis - Escalation and de-escalation between tiered support categories - Close confirmation, force-close, and automatic transcript generation - Auto-close, inactivity reminders, and auto-unclaim (configurable) - Per-ticket limits and global ticket limits to prevent abuse --- ## Discord UI: Panels, Buttons & Modals **Summary:** Uses rich Discord components so users and staff interact with tickets through buttons and forms. - `/panel` command to post “Open ticket” panels - Ticket creation via modal (email, game, description fields) - Ticket action row with Close, Claim, Escalate, and De-escalate buttons - Thread-style or category-channel tickets, or panels that offer both - `/setup` wizard to guide initial panel and category configuration --- ## Staff Tools & Notifications **Summary:** Gives staff better visibility and control over tickets and workloads. - `/add` and `/remove` to manage who can see a ticket - `/transfer`, `/move`, `/topic`, `/stats`, `/search`, `/backup`, `/export` - `/accountinfo` for account lookups by email or Discord user - Per-staff notification channels with reply alerts and unclaimed digests - Optional DM reply alerts via `/notifydm` - Optional private staff-only threads attached to ticket channels --- ## Tags, Saved Responses & Variables **Summary:** Speeds up replies and keeps tickets categorized. - `/tag` command with predefined ticket tags and emojis - `/response` commands to create, edit, send, delete, and list saved replies - Template variables (ticket, staff, server, date/time, hours, etc.) in responses - Tag usage and response usage tracked in MongoDB --- ## Automation, Patterns & Surge Detection **Summary:** Monitors ticket volume and chat activity to warn staff about problems early. - Background jobs for auto-close, reminders, and auto-unclaim - Pattern detection for repeat users, games, tags, escalations, and stale tickets - Surge detection for high ticket volume, backlogs, and no-staff situations - Chat alerts for busy channels or messages without staff replies --- ## Settings UI, Logging, API & Configuration **Summary:** Provides a web UI plus environment-based configuration and optional integrations. - Optional Broccolini settings web UI (`settings-site/`) to edit Discord channels, categories, Gmail credentials, ticket behavior, surge alerts, pattern thresholds, appearance, and advanced options without touching `.env` - All behavior still backed by `.env` and `config.js` (messages, colors, timeouts, limits) - Dedicated Discord channels for transcripts, logs, security, automation, and Gmail polling - Optional HTTP API under `/api` with token-based auth - Healthcheck endpoint (`GET /`) for Docker and load balancers