v1.0.0
First stable release of dctl — a pure, dependency-free Go client for the Discord REST API (v10). No gateway, no websocket, no CLI: every call is an on-demand HTTPS request behind a small, ergonomic API.
go get github.com/Herrscherd/dctl@v1.0.0Highlights
- Three-layer architecture — a single mockable
transportHTTP seam → per-resource sub-clients → a thinClientfaçade (c.Messages(),c.Channels(), …). - Zero third-party dependencies — enforced by a test that fails on any non-stdlib import.
- Security by construction — every dynamic URL segment is percent-escaped and queries are built with
url.Values(no path/query smuggling);Webhook.Token/Interaction.Tokenare self-redactingSecrets ([REDACTED]in logs and JSON,.Reveal()when needed). - Sensible defaults —
""targets the configured default channel or the bot's sole guild; clients built without a token returntransport.ErrDisabledso callers stay oblivious to whether the feature is on. - Typed errors — non-2xx responses surface as
*transport.APIError{Status, Body}for programmatic branching.
Resources
Messages · Channels · Roles · Members · Reactions · Threads · Permissions · Webhooks · Interactions · Components · Guilds.
MIT licensed.