Threads and forums
list_active_threads returns a bounded view of active guild threads and can restrict results to one permitted parent. Forum and media posts are represented by Discord as public threads, so normalized results preserve their parent IDs and applied tag IDs.
list_channels reads the full guild-channel response, validates it, applies configured scope, and orders the visible result before returning a local page. A first call defaults to 50 compact records containing only ID, name, parent ID, position, numeric type, and named type; the maximum page is 100. Use get_channel for one exact metadata projection. Set detail: "full" only when a page needs forum tag definitions, default reaction, layout, sort order, auto-archive duration, slowmode, channel jump URLs, and the other normalized fields. The discord://guilds/{guildId}/channels resource deliberately remains the full unpaginated projection.
page.nextCursor is an HMAC-authenticated, process-local continuation bound to the guild, projection, offset, and complete ordered channel structure. Every page rechecks policy and Discord visibility. Tampering, another guild or projection, process restart, or structural drift rejects the cursor and requires pagination to restart; ordinary message activity does not invalidate it. The cursor grants no authority. The explicit inventory.completeness: "visibility-bounded" marker prevents callers from mistaking the result for proof that hidden channels do not exist.
list_archived_threads supports three views. public includes archived forum and media posts and uses an ISO 8601 timestamp cursor. private lists all private archived threads and additionally requires Discord's Manage Threads permission. joined-private lists only private threads joined by the bot and uses a thread-ID cursor. The result returns a visibility-tagged next cursor so callers cannot accidentally reuse the wrong cursor type.
An allowlisted parent grants local read scope to its child threads. This inheritance does not broaden deletion or pin management: a thread must still appear by its own exact ID in the corresponding write allowlist. Permission-overwrite mutation rejects threads entirely because Discord threads inherit their parent's overwrite set. Discord's channel resource reference documents thread and forum behavior.
Canonical source: docs/reference.md
Documentation generated for guildcontrol@0.0.0. Canonical source and edit history remain in the public repository. GuildControl is an independent project and is not affiliated with or endorsed by Discord Inc. Discord is used only to identify the platform that GuildControl connects to.