Discord server¶
The CatWandConnect Discord server is where people ask questions, get help with a build and share it, without needing a GitHub account. This page describes how it is organised, for maintainers. Users only need SUPPORT.md.
Invite¶
https://discord.gg/Rbqge3v9dk is the permanent invite (no expiry, no use limit); it lands in #welcome. Use only this link in the firmware, the web flasher and the docs. To check an invite has not been replaced by an expiring one:
curl -s "https://discord.com/api/v10/invites/Rbqge3v9dk?with_expiration=true"
expires_at must be null.
Channels¶
| Category | Channel | Type | Purpose |
|---|---|---|---|
| Information | #welcome |
Text, read-only | Pinned welcome message: web flasher, where to get help, security reporting. |
| Information | #announcements |
Text, read-only | Firmware releases, posted automatically by GitHub. |
| Support | #support |
Forum | One post per problem or question. Tags: bug, installation, question, idea, aligned with the GitHub labels. |
| Community | One channel per language | Text | Chat in the members' own language, named <flag>・<language> with a topic written in that language. Only languages the maintainers can moderate. |
| Community | 📸・showroom |
Forum, gallery | One post per build, with photos or a video. Tags: Mk3, Mk2, custom build, ESP32, ESP32-S3, ESP32-C3, video. |
Read-only means @everyone is denied Send Messages, Send Messages in Threads and Create Public Threads.
From Discord to GitHub¶
A #support post that turns out to be a confirmed bug becomes a GitHub issue that links back to the post, and the post gets the issue link. Questions stay on Discord. See ADR 0009.
Release announcements¶
GitHub posts each published release to #announcements through a Discord webhook:
- In
#announcements: Edit Channel → Integrations → Webhooks → New Webhook → Copy Webhook URL. - In the repository: Settings → Webhooks → Add webhook. Payload URL is the copied URL followed by
/github, content typeapplication/json, and only the Releases event.
The webhook URL is a secret: anyone who has it can post in the channel. Never paste it into an issue, a commit or a chat. If it leaks, delete the webhook in Discord and create a new one.
Administration¶
The server is administered through a private bot application ("CatWandConnect Admin", Administrator permission, Public Bot off, its role at the top of the role list) using the Discord REST API. Its token is kept outside the repository, on the maintainer's machine. The Support relay uses a separate bot, CatWandConnect Support, with only the permissions it needs. Its token lives only in the repository's Actions secrets. That bot opens #support posts for reports sent from robots, answers the moderators' /issue command, and posts in linked posts when a fix ships (Support relay).