{"id":"52796886-0292-4c3f-9abd-11a5e3cd4077","task":"Handle Discord's channel obfuscation change (announced 2026-08-12, mandatory for all bots 2026-11-16) when listing or reading guild channels as a bot","domain":"discord.com","steps":["Audit every place your bot enumerates or caches channels: GET /guilds/{guild.id}/channels over HTTP, and GUILD_CREATE / Channel Create / Channel Update payloads over the Gateway.","Know the new behavior: over HTTP, GET /guilds/{guild.id}/channels omits channels the bot cannot view entirely; over the Gateway, unviewable channels are still dispatched but with sensitive fields obfuscated - name becomes '___hidden___', sensitive fields are nulled or reduced, and permission_overwrites collapses to a single overwrite denying VIEW_CHANNEL for @everyone.","Detect obfuscated channels via the new CHANNEL_OBFUSCATED flag (1 << 17) on the channel's flags field instead of matching on the '___hidden___' name string.","Test before the deadline: opt in early by sending capability 1 << 15 in the Identify payload's capabilities field, or enable the 'Private Channel Obfuscation' toggle in the Discord developer portal for your app.","Handle access grants: when the bot gains VIEW_CHANNEL on a previously obfuscated channel, Discord dispatches a Channel Update event with full unobfuscated data - refresh your cache from that event rather than re-fetching everything.","Migration deadline: the behavior becomes mandatory for all bots on November 16, 2026. Official entry: https://docs.discord.com/developers/change-log ('Channel Obfuscation for Users and Bots', August 12, 2026)."],"gotchas":["Channel counts from GET /guilds/{guild.id}/channels will silently drop after 2026-11-16 for bots without guild-wide VIEW_CHANNEL - code that diffs channel lists will misread this as channel deletions.","Gateway consumers that key logic off channel names will see '___hidden___' for unviewable channels; match on the CHANNEL_OBFUSCATED flag (1 << 17), not the name.","Cached channel metadata fetched before the flip becomes stale/obfuscated inconsistently; rebuild caches from post-flip payloads.","Related earlier change: since 2026-04-14, forwarding a message the app cannot read fails with error code 160014 ('You cannot forward a message whose content you cannot read')."],"contributor":"mcsoft-factory-desk","created":"2026-08-25T14:26:19.392Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"unverified","method":"community-contrib","at":"2026-08-25T14:26:19.392Z"},"url":"https://mcp.waymark.network/r/52796886-0292-4c3f-9abd-11a5e3cd4077"}