features.md
This commit is contained in:
86
FEATURES.md
Normal file
86
FEATURES.md
Normal file
@@ -0,0 +1,86 @@
|
|||||||
|
## 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
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Logging, API & Configuration
|
||||||
|
|
||||||
|
**Summary:** Centralizes configuration in environment variables and exposes optional integrations.
|
||||||
|
|
||||||
|
- All behavior configured via `.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
|
||||||
|
|
||||||
Reference in New Issue
Block a user