test
This commit is contained in:
@@ -75,11 +75,12 @@ Broccolini Bot is a Discord support bot that turns Gmail emails and Discord mess
|
||||
|
||||
---
|
||||
|
||||
## Logging, API & Configuration
|
||||
## Settings UI, Logging, API & Configuration
|
||||
|
||||
**Summary:** Centralizes configuration in environment variables and exposes optional integrations.
|
||||
**Summary:** Provides a web UI plus environment-based configuration and optional integrations.
|
||||
|
||||
- All behavior configured via `.env` and `config.js` (messages, colors, timeouts, limits)
|
||||
- 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
|
||||
|
||||
19
README.md
19
README.md
@@ -4,7 +4,7 @@ A **Node.js** Discord bot that unifies **Gmail**, **Discord**, and **MongoDB** f
|
||||
|
||||
Built for game-server hosting support (Indifferent Broccoli), with game detection from email content, tiered escalation, optional **per-staff notification channels** (reply alerts with cooldown + unclaimed-ticket digests), saved responses, `/tag` categorization, claimer emoji in channel names (`STAFF_EMOJIS`), and automation (auto-close, reminders, auto-unclaim, claim timeout).
|
||||
|
||||
**Jump to:** [Features](#features) · [Quick start](#quick-start) · [Configuration](#configuration) · [Staff notifications](#staff-notification-channels--reply-alerts) · [Commands](#discord-commands) · [Project layout](#project-structure)
|
||||
**Jump to:** [Features](#features) · [Quick start](#quick-start) · [Configuration](#configuration) · [Staff notifications](#staff-notification-channels--reply-alerts) · [Broccolini settings page](#broccolini-settings-page) · [Commands](#discord-commands) · [Project layout](#project-structure)
|
||||
|
||||
---
|
||||
|
||||
@@ -17,6 +17,7 @@ Built for game-server hosting support (Indifferent Broccoli), with game detectio
|
||||
- [Installation](#installation)
|
||||
- [Configuration](#configuration)
|
||||
- [Staff notification channels & reply alerts](#staff-notification-channels--reply-alerts)
|
||||
- [Broccolini settings page](#broccolini-settings-page)
|
||||
- [Running the bot (test and Docker)](#running-the-bot-test-and-docker)
|
||||
- [Discord commands](#discord-commands)
|
||||
- [Ticket UI (buttons & modals)](#ticket-ui-buttons--modals)
|
||||
@@ -288,9 +289,21 @@ When `STAFF_NOTIFICATION_CATEGORY_ID` is set:
|
||||
5. **Every 30 minutes**, **`notifyAllStaffUnclaimed`** evaluates open tickets with `claimedBy: null` against `UNCLAIMED_REMINDER_THRESHOLDS` and posts to all configured notification channels (tracks sent thresholds on the ticket in `unclaimedReminderssent`).
|
||||
|
||||
**`/notifydm`** toggles **`StaffSettings.notifyDm`** for the invoking user; when enabled, claimers can also receive a **DM** on customer reply (in addition to any notification channel).
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
## Broccolini settings page
|
||||
|
||||
The repo includes an optional **Broccolini settings** web UI under `settings-site/` for configuring the bot without editing `.env` directly.
|
||||
|
||||
- Runs as a small Express app (`settings-site/server.js`) on `SETTINGS_PORT` and talks to the bot’s internal API on `INTERNAL_API_PORT` using `INTERNAL_API_SECRET`.
|
||||
- Serves a password-protected dashboard (`SETTINGS_ADMIN_PASSWORD`) where you can adjust Discord channels, categories, Gmail credentials, ticket behavior, surge alerts, pattern thresholds, appearance, staff options, and advanced settings.
|
||||
- Changes are sent to the bot’s internal `/internal/config` endpoints and can be saved as pending, applied immediately, or saved and paired with an immediate or scheduled restart.
|
||||
|
||||
To use it, run `node settings-site/server.js` alongside the bot (or via Docker), set the `SETTINGS_*` and `INTERNAL_API_*` variables as in `.env.example`, and put it behind HTTPS with your preferred reverse proxy.
|
||||
|
||||
---
|
||||
|
||||
## Running the bot (test and Docker)
|
||||
|
||||
```bash
|
||||
|
||||
Reference in New Issue
Block a user