diff --git a/README.md b/README.md index ab4daa4..80564ae 100644 --- a/README.md +++ b/README.md @@ -20,6 +20,7 @@ A lightweight, crash-resilient Discord bot built in Rust with [poise](https://gi - **Crash-Resilient State:** Subscriptions and catalog states are stored atomically (`.tmp` write followed by atomic filesystem rename) to guarantee state integrity across crashes and container reboots. - **Queue Bounds:** Unreachable alert channels (e.g., deleted channel or revoked bot permissions) are capped at 50 queued events, preventing unbounded state growth. - **Discord API Safety:** Strict UTF-16 character limit enforcement and markdown character escaping prevent broken embeds or Discord 400 Bad Request rejections. +- **Live Auto-Updating Dashboard:** Running `/watch` posts a persistent public dashboard embed in your alert channel that automatically refreshes every poll interval (`POLL_SECONDS`), featuring new drops at the top and active stealth/experimental models directly on the first page. - **Interactive Discord Buttons:** Multi-page `/free-models` and `/status` views include interactive `[◀ Prev]` and `[Next ▶]` buttons with automatic timeout disabling. - **Model ID Autocomplete:** Live slash command autocomplete for `/model ` to instantly find any model in the catalog as you type. - **Direct OpenRouter Web Links:** Embed titles link directly to the model's page on OpenRouter for quick inspection in the browser. @@ -36,7 +37,7 @@ All interactions use Discord Slash Commands: | `/free-models [search] [page]` | Public / Ephemeral | Browse all currently available free models in OpenRouter's catalog with interactive `[◀ Prev]` / `[Next ▶]` buttons and search filter. | | `/status [free_only] [search] [min_context] [page] [page_size] [compact] [public]` | Configurable | View a catalog freshness snapshot with model counts, interactive pagination, and token constraints. | | `/model [compact] [show_pricing] [public]` | Configurable | Inspect detailed specifications with live model ID autocomplete and direct clickable links to OpenRouter. | -| `/watch [ping_role] [free_only] [search] [min_context] [ping_enabled] [compact] [clear_role]` | Manage Server | Set up or update automatic catalog release alerts in the current channel. Supports any role or `@everyone`. Omitted options retain existing settings. | +| `/watch [ping_role] [free_only] [search] [min_context] [ping_enabled] [compact] [clear_role]` | Manage Server | Posts a public live auto-updating dashboard in the channel and configures drop alerts. Supports any role or `@everyone`. | | `/unwatch` | Manage Server | Remove the server's subscription and delete all queued pending alerts. | | `/stats` | Ephemeral | View catalog freshness, last successful fetch timestamp, polling interval, and complete server subscription settings. | | `/testping` | Manage Server | Dispatch a labeled test notification to verify channel permissions and role mentionability without modifying catalog state. |