88 lines
3.5 KiB
Markdown
88 lines
3.5 KiB
Markdown
## 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
|
||
|