1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9985],{1347:function(t,e,a){(window.__NEXT_P=window.__NEXT_P||[]).push(["/resources/channel",function(){return a(8319)}])},8319:function(t,e,a){"use strict";a.r(e),a.d(e,{default:function(){return m}}),a(5271);var n=a(9276);let r=t=>function(e){return console.warn("Component "+t+" was not imported, exported, or provided by MDXProvider as global scope"),(0,n.kt)("div",e)},l=r("Alert"),i=r("RouteHeader"),p=r("Collapsible"),d={};function m(t){let{components:e,...a}=t;return(0,n.kt)("wrapper",{...d,...a,components:e,mdxType:"MDXLayout"},(0,n.kt)("h1",null,"Channels"),(0,n.kt)("p",null,"Channels are the primary way users interact with Discord. All conversations, whether over text or voice, in guilds or a group, happen in channels."),(0,n.kt)("h3",null,"Channel Object"),(0,n.kt)("p",null,"A guild or private channel within Discord."),(0,n.kt)("h6",null,"Channel Structure"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Field"),(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"id"),(0,n.kt)("td",{parentName:"tr",align:null},"snowflake"),(0,n.kt)("td",{parentName:"tr",align:null},"The ID of the channel")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"type"),(0,n.kt)("td",{parentName:"tr",align:null},"integer"),(0,n.kt)("td",{parentName:"tr",align:null},"The ",(0,n.kt)("a",{parentName:"td",href:"#channel-type"},"type of channel"))),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"guild_id?"),(0,n.kt)("td",{parentName:"tr",align:null},"snowflake"),(0,n.kt)("td",{parentName:"tr",align:null},"The ID of the guild the channel is in")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"position?"),(0,n.kt)("td",{parentName:"tr",align:null},"integer"),(0,n.kt)("td",{parentName:"tr",align:null},"Sorting position of the channel")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"permission_overwrites?"),(0,n.kt)("td",{parentName:"tr",align:null},"array[",(0,n.kt)("a",{parentName:"td",href:"#permission-overwrite-object"},"permission overwrite")," object]"),(0,n.kt)("td",{parentName:"tr",align:null},"Explicit permission overwrites for members and roles")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"name?"),(0,n.kt)("td",{parentName:"tr",align:null},"?string"),(0,n.kt)("td",{parentName:"tr",align:null},"The name of the channel (1-100 characters)")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"topic?"),(0,n.kt)("td",{parentName:"tr",align:null},"?string"),(0,n.kt)("td",{parentName:"tr",align:null},"The channel topic (max 4096 characters for thread-only channels, max 1024 characters otherwise)")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"nsfw?"),(0,n.kt)("td",{parentName:"tr",align:null},"boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"Whether the channel is NSFW")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"last_message_id?"),(0,n.kt)("td",{parentName:"tr",align:null},"?snowflake"),(0,n.kt)("td",{parentName:"tr",align:null},"The ID of the last message sent (or thread created for thread-only channels, guild added for directory channels) in this channel (may not point to an existing resource)")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"bitrate?"),(0,n.kt)("td",{parentName:"tr",align:null},"integer"),(0,n.kt)("td",{parentName:"tr",align:null},"The bitrate (in bits) of the voice channel")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"user_limit? ",(0,n.kt)("sup",{parentName:"td"},"1"),""),(0,n.kt)("td",{parentName:"tr",align:null},"integer"),(0,n.kt)("td",{parentName:"tr",align:null},"The user limit of the voice channel (max 99, 0 refers to no limit)")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"rate_limit_per_user? ",(0,n.kt)("sup",{parentName:"td"},"2"),""),(0,n.kt)("td",{parentName:"tr",align:null},"integer"),(0,n.kt)("td",{parentName:"tr",align:null},"Duration in seconds seconds a user has to wait before sending another message (max 21600); bots, as well as users with the permission ",(0,n.kt)("inlineCode",{parentName:"td"},"MANAGE_MESSAGES")," or ",(0,n.kt)("inlineCode",{parentName:"td"},"MANAGE_CHANNELS"),", are unaffected")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"recipients?"),(0,n.kt)("td",{parentName:"tr",align:null},"array[partial ",(0,n.kt)("a",{parentName:"td",href:"/resources/user#user-object"},"user")," object]"),(0,n.kt)("td",{parentName:"tr",align:null},"The recipients of the private channel, excluding the requesting user")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"recipient_flags? ",(0,n.kt)("sup",{parentName:"td"},"3"),""),(0,n.kt)("td",{parentName:"tr",align:null},"integer"),(0,n.kt)("td",{parentName:"tr",align:null},"The ",(0,n.kt)("a",{parentName:"td",href:"#recipient-flags"},"recipient flags")," of the DM")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"icon?"),(0,n.kt)("td",{parentName:"tr",align:null},"?string"),(0,n.kt)("td",{parentName:"tr",align:null},"The group DM's ",(0,n.kt)("a",{parentName:"td",href:"/reference#cdn-formatting"},"icon hash"))),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"nicks?"),(0,n.kt)("td",{parentName:"tr",align:null},"array[",(0,n.kt)("a",{parentName:"td",href:"#channel-nick-stru
1cture"},"channel nick")," object]"),(0,n.kt)("td",{parentName:"tr",align:null},"The nicknames of the users in the group DM")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"managed?"),(0,n.kt)("td",{parentName:"tr",align:null},"boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"Whether the group DM is managed by an application")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"blocked_user_warning_dismissed? ",(0,n.kt)("sup",{parentName:"td"},"7"),""),(0,n.kt)("td",{parentName:"tr",align:null},"boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"Whether the user has acknowledged the presence of blocked users in the group DM")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"safety_warnings? ",(0,n.kt)("sup",{parentName:"td"},"3"),""),(0,n.kt)("td",{parentName:"tr",align:null},"array[",(0,n.kt)("a",{parentName:"td",href:"#safety-warning-structure"},"safety warning")," object]"),(0,n.kt)("td",{parentName:"tr",align:null},"The safety warnings for the DM channel")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"application_id?"),(0,n.kt)("td",{parentName:"tr",align:null},"snowflake"),(0,n.kt)("td",{parentName:"tr",align:null},"The ID of the application that manages the group DM")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"owner_id?"),(0,n.kt)("td",{parentName:"tr",align:null},"snowflake"),(0,n.kt)("td",{parentName:"tr",align:null},"The ID of the owner of the group DM or thread")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"owner?"),(0,n.kt)("td",{parentName:"tr",align:null},"?",(0,n.kt)("a",{parentName:"td",href:"/resources/guild#guild-member-object"},"guild member")," object"),(0,n.kt)("td",{parentName:"tr",align:null},"The owner of this thread; only included on certain API endpoints")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"parent_id?"),(0,n.kt)("td",{parentName:"tr",align:null},"?snowflake"),(0,n.kt)("td",{parentName:"tr",align:null},"The ID of the parent category/channel for the guild channel/thread")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"last_pin_timestamp?"),(0,n.kt)("td",{parentName:"tr",align:null},"?ISO8601 timestamp"),(0,n.kt)("td",{parentName:"tr",align:null},"When the last pinned message was pinned, if any")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"rtc_region?"),(0,n.kt)("td",{parentName:"tr",align:null},"?string"),(0,n.kt)("td",{parentName:"tr",align:null},"The ",(0,n.kt)("a",{parentName:"td",href:"/resources/voice#voice-region-object"},"voice region")," ID for the voice channel (automatic when ",(0,n.kt)("inlineCode",{parentName:"td"},"null"),")")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"video_quality_mode?"),(0,n.kt)("td",{parentName:"tr",align:null},"integer"),(0,n.kt)("td",{parentName:"tr",align:null},"The camera ",(0,n.kt)("a",{parentName:"td",href:"#video-quality-mode"},"video quality mode")," of the voice channel (default ",(0,n.kt)("inlineCode",{parentName:"td"},"AUTO"),")")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"total_message_sent?"),(0,n.kt)("td",{parentName:"tr",align:null},"integer"),(0,n.kt)("td",{parentName:"tr",align:null},"The number of messages ever sent in a thread; similar to ",(0,n.kt)("inlineCode",{parentName:"td"},"message_count")," on message creation, but will not decrement the number when a message is deleted")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"message_count?"),(0,n.kt)("td",{parentName:"tr",align:null},"integer"),(0,n.kt)("td",{parentName:"tr",align:null},"The number of messages (not including the initial message or deleted messages) in a thread (if the thread was created before July 1, 2022, it stops counting at 50)")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"member_count?"),(0,n.kt)("td",{parentName:"tr",align:null},"integer"),(0,n.kt)("td",{parentName:"tr",align:null},"An approximate count of users in a thread, stops counting at 50")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"member_ids_preview?"),(0,n.kt)("td",{parentName:"tr",align:null},"array","[snowflake]"),(0,n.kt)("td",{parentName:"tr",align:null},"The IDs of some of the members in a thread")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"thread_metadata?"),(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("a",{parentName:"td",href:"#thread-metadata-object"},"thread metadata")," object"),(0,n.kt)("td",{parentName:"tr",align:null},"Thread-specific channel metadata")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"member?"),(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("a",{parentName:"td",href:"#thread-member-object"},"thread member")," object"),(0,n.kt)("td",{parentName:"tr",align:null},"Thread member object for the current user, if they have joined the thread; only included on certain API endpoints")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"default_auto_archive_duration? ",(0,n.kt)("sup",{parentName:"td"},"4"),""),(0,n.kt)("td",{parentName:"tr",align:null},"?integer"),(0,n.kt)("td",{parentName:"tr",align:null},"Default duration in minutes for newly created threads to stop showing in the channel list after inactivity (one of 60, 1440, 4320, 10080)")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"default_thread_rate_limit_per_user?"),(0,n.kt)("td",{parentName:"tr",align:null},"integer"),(0,n.kt)("td",{parentName:"tr",align:null},"Default duration in seconds a user has to wait before sending another message in newly created threads; this field is copied to the thread at creation time and does not live update")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"permissions? ",(0,n.kt)("sup",{parentName:"td"},"5"),""),(0,n.kt)("td",{parentName:"tr",align:null},"string"),(0,n.kt)("td",{parentName:"tr",align:null},"Computed permissions for the invoking user in the channel, including overwrites")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"flags?"),(0,n.kt)("td",{parentName:"tr",align:null},"integer"),(0,n.kt)("td",{parentName:"tr",align:null},"The ",(0,n.kt)("a",{parentName:"td",href:"#channel-flags"},"channel's flags"))),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"available_tags?"),(0,n.kt)("td",{parentName:"tr",align:null},"array[",(0,n.kt)("a",{parentName:"td",href:"#forum-tag-object"},"tag")," object]"),(0,n.kt)("td",{parentName:"tr",align:null},"The tags that can be used in a thread-only channel (max 20)")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"applied_tags?"),(0,n.kt)("td",{parentName:"tr",align:null},"array","[snowflake]"),(0,n.kt)("td",{parentName:"tr",align:null},"The IDs of tags that are applied to a thread in a thread-only channel (max 5)")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"default_reaction_emoji?"),(0,n.kt)("td",{parentName:"tr",align:null},"?",(0,n.kt)("a",{parentName:"td",href:"#default-reaction-object"},"default reaction")," object"),(0,n.kt)("td",{parentName:"tr",align:null},"The emoji to show in the add reaction button on a thread in a thread-only channel")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"default_forum_layout?"),(0,n.kt)("td",{parentName:"tr",align:null},"integer"),(0,n.kt)("td",{parentName:"tr",align:null},"The default ",(0,n.kt)("a",{parentName:"td",href:"#forum-layout-type"},"layout")," of a thread-only channel")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"default_sort_order?"),(0,n.kt)("td",{parentName:"tr",align:null},"?integer"),(0,n.kt)("td",{parentName:"tr",align:null},"The default ",(0,n.kt)("a",{parentName:"td",href:"#sort-order-type"},"sort order")," of a thread-only channel's threads (default ",(0,n.kt)("inlineCode",{parentName:"td"},"LATEST_ACTIVITY"),")")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"icon_emoji?"),(0,n.kt)("td",{parentName:"tr",align:null},"?",(0,n.kt)("a",{parentName:"td",href:"#icon-emoji-object"},"icon emoji")," object"),(0,n.kt)("td",{parentName:"tr",align:null},"The emoji to show next to the channel name in channels list")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"is_message_request?"),(0,n.kt)("td",{parentName:"tr",align:null},"boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"Whether the DM is a message request")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"is_message_request_timestamp?"),(0,n.kt)("td",{parentName:"tr",align:null},"?ISO8601 timestamp"),(0,n.kt)("td",{parentName:"tr",align:null},"When the message request was created")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"is_spam?"),(0,n.kt)("td",{parentName:"tr",align:null},"boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"Whether the DM is a spam message request")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"theme_color?"),(0,n.kt)("td",{parentName:"tr",align:null},"?integer"),(0,n.kt)("td",{parentName:"tr",align:null},"The background color of the channel icon emoji encoded as an integer representation of hexadecimal color code")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"status? ",(0,n.kt)("sup",{parentName:"td"},"6"),""),(0,n.kt)("td",{parentName:"tr",align:null},"?string"),(0,n.kt)("td",{parentName:"tr",align:null},"The status of the voice channel (max 500 characters)")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"hd_streaming_until?"),(0,n.kt)("td",{parentName:"tr",align:null},"?ISO8601 timestamp"),(0,n.kt)("td",{parentName:"tr",align:null},"When the HD streaming entitlement expires for the voice channel")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"hd_streaming_buyer_id?"),(0,n.kt)("td",{parentName:"tr",align:null},"?snowflake"),(0,n.kt)("td",{parentName:"tr",align:null},"The ID of the user who applied the HD streaming entitlement to the voice channel")))),(0,n.kt)("p",null,"",(0,n.kt)("sup",{parentName:"p"},"1")," The maximum user limit for stage channels is always 10000 and cannot be set to 0."),(0,n.kt)("p",null,"",(0,n.kt)("sup",{parentName:"p"},"2")," ",(0,n.kt)("inlineCode",{parentName:"p"},"rate_limit_per_user")," also applies to thread creation. Users can send one message and create one thread during each ",(0,n.kt)("inlineCode",{parentName:"p"},"rate_limit_per_user")," interval."),(0,n.kt)("p",null,"",(0,n.kt)("sup",{parentName:"p"},"3")," Only included in ",(0,n.kt)("a",{parentName:"p",href:"/topics/gateway-events#channels"},"Gateway events"),"."),(0,n.kt)("p",null,"",(0,n.kt)("sup",{parentName:"p"},"4")," This field is not automatically copied into new threads created in the channel. It should be manually set when creating a thread."),(0,n.kt)("p",null,"",(0,n.kt)("sup",{parentName:"p"},"5")," Only returned when part of the ",(0,n.kt)("inlineCode",{parentName:"p"},"resolved")," data received in a slash command interaction or when ",(0,n.kt)("inlineCode",{parentName:"p"},"permissions")," is set to ",(0,n.kt)("inlineCode",{parentName:"p"},"true")," when fetching ",(0,n.kt)("a",{parentName:"p",href:"#get-guild-channels"},"Get Guild Channels"),"."),(0,n.kt)("p",null,"",(0,n.kt)("sup",{parentName:"p"},"6")," Only included in the ",(0,n.kt)("a",{parentName:"p",href:"/topics/gateway-events#gateway-guild-object"},"Gateway Guild")," object."),(0,n.kt)("p",null,"",(0,n.kt)("sup",{parentName:"p"},"7")," Only included in ",(0,n.kt)("a",{parentName:"p",href:"/topics/gateway-events#channels"},"Gateway events")," and when fetched from the ",(0,n.kt)("a",{parentName:"p",href:"#get-private-channels"},"Get Private Channels")," endpoint."),(0,n.kt)("h6",null,"Partial Channel Structure"),(0,n.kt)("p",null,"A channel referenced in an ",(0,n.kt)("a",{parentName:"p",href:"/resources/invite#invite-object"},"invite")," or ",(0,n.kt)("a",{parentName:"p",href:"/resources/message#message-object"},"message"),"."),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Field"),(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"id"),(0,n.kt)("td",{parentName:"tr",align:null},"snowflake"),(0,n.kt)("td",{parentName:"tr",align:null},"The ID of the channel")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"type"),(0,n.kt)("td",{parentName:"tr",align:null},"integer"),(0,n.kt)("td",{parentName:"tr",align:null},"The ",(0,n.kt)("a",{parentName:"td",href:"#channel-type"},"type of channel"))),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"name"),(0,n.kt)("td",{parentName:"tr",align:null},"?string"),(0,n.kt)("td",{parentName:"tr",align:null},"The name of the channel (1-100 characters)")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"recipients? ",(0,n.kt)("sup",{parentName:"td"},"1"),""),(0,n.kt)("td",{parentName:"tr",align:null},"array[partial ",(0,n.kt)("a",{parentName:"td",href:"/resources/user#user-object"},"user")," object]"),(0,n.kt)("td",{parentName:"tr",align:null},"The recipients of the DM; only the ",(0,n.kt)("inlineCode",{parentName:"td"},"username")," field is present")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"icon?"),(0,n.kt)("td",{parentName:"tr",align:null},"?string"),(0,n.kt)("td",{parentName:"tr",align:null},"The group DM's ",(0,n.kt)("a",{parentName:"td",href:"/reference#cdn-formatting"},"icon hash"))),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"guild_id? ",(0,n.kt)("sup",{parentName:"td"},"2"),""),(0,n.kt)("td",{parentName:"tr",align:null},"?snowflake"),(0,n.kt)("td",{parentName:"tr",align:null},"The ID of the guild the channel is in")))),(0,n.kt)("p",null,"",(0,n.kt)("sup",{parentName:"p"},"1")," Only present when the channel is fetched from an ",(0,n.kt)("a",{parentName:"p",href:"/resources/invite#invite-object"},"invite")," with ",(0,n.kt)("inlineCode",{parentName:"p"},"with_counts")," set to ",(0,n.kt)("inlineCode",{parentName:"p"},"true"),"."),(0,n.kt)("p",null,"",(0,n.kt)("sup",{parentName:"p"},"2")," Not present when the channel is fetched from an ",(0,n.kt)("a",{parentName:"p",href:"/resources/invite#invite-object"},"invite"),", as it can be inferred from the ",(0,n.kt)("inlineCode",{parentName:"p"},"guild_id")," field."),(0,n.kt)("h6",null,"Channel Nick Structure"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Field"),(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"id"),(0,n.kt)("td",{parentName:"tr",align:null},"snowflake"),(0,n.kt)("td",{parentName:"tr",align:null},"The ID of the user")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"nick"),(0,n.kt)("td",{parentName:"tr",align:null},"string"),(0,n.kt)("td",{parentName:"tr",align:null},"The nickname of the user")))),(0,n.kt)("h6",null,"Safety Warning Structure"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Field"),(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"id"),(0,n.kt)("td",{parentName:"tr",align:null},"string"),(0,n.kt)("td",{parentName:"tr",align:null},"The ID of the warning")),(0,n.kt)("tr",{parentName:"tb
1ody"},(0,n.kt)("td",{parentName:"tr",align:null},"type"),(0,n.kt)("td",{parentName:"tr",align:null},"integer"),(0,n.kt)("td",{parentName:"tr",align:null},"The ",(0,n.kt)("a",{parentName:"td",href:"#safety-warning-type"},"type of warning"))),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"expiry"),(0,n.kt)("td",{parentName:"tr",align:null},"ISO8601 timestamp"),(0,n.kt)("td",{parentName:"tr",align:null},"When the warning expires")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"dismiss_timestamp"),(0,n.kt)("td",{parentName:"tr",align:null},"?ISO8601 timestamp"),(0,n.kt)("td",{parentName:"tr",align:null},"When the warning was dismissed by the user")))),(0,n.kt)("h6",null,"Safety Warning Type"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Value"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"1"),(0,n.kt)("td",{parentName:"tr",align:null},"STRANGER_DANGER"),(0,n.kt)("td",{parentName:"tr",align:null},"User may not want to interact with this person")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"2"),(0,n.kt)("td",{parentName:"tr",align:null},"INAPPROPRIATE_CONVERSATION_TIER_1"),(0,n.kt)("td",{parentName:"tr",align:null},"User may not want to interact with this person due to inappropriate conversation")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"3"),(0,n.kt)("td",{parentName:"tr",align:null},"INAPPROPRIATE_CONVERSATION_TIER_2"),(0,n.kt)("td",{parentName:"tr",align:null},"User may not want to interact with this person due to inappropriate conversation")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"4"),(0,n.kt)("td",{parentName:"tr",align:null},"LIKELY_ATO"),(0,n.kt)("td",{parentName:"tr",align:null},"The recipient's account is likely compromised and should be treated with caution")))),(0,n.kt)("h6",null,"Channel Type"),(0,n.kt)(l,{type:"warn",mdxType:"Alert"},(0,n.kt)("p",null,"Type ",(0,n.kt)("inlineCode",{parentName:"p"},"10"),", ",(0,n.kt)("inlineCode",{parentName:"p"},"11")," and ",(0,n.kt)("inlineCode",{parentName:"p"},"12")," are only available in API v9 and above.")),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"0"),(0,n.kt)("td",{parentName:"tr",align:null},"GUILD_TEXT"),(0,n.kt)("td",{parentName:"tr",align:null},"A text channel within a guild")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"1"),(0,n.kt)("td",{parentName:"tr",align:null},"DM"),(0,n.kt)("td",{parentName:"tr",align:null},"A private channel between two users")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"2"),(0,n.kt)("td",{parentName:"tr",align:null},"GUILD_VOICE"),(0,n.kt)("td",{parentName:"tr",align:null},"A voice channel within a guild")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"3"),(0,n.kt)("td",{parentName:"tr",align:null},"GROUP_DM"),(0,n.kt)("td",{parentName:"tr",align:null},"A private channel between multiple users")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"4"),(0,n.kt)("td",{parentName:"tr",align:null},"GUILD_CATEGORY"),(0,n.kt)("td",{parentName:"tr",align:null},"An ",(0,n.kt)("a",{parentName:"td",href:"https://support.discord.com/hc/en-us/articles/115001580171-Channel-Categories-101"},"organizational category")," that contains up to 50 channels")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"5"),(0,n.kt)("td",{parentName:"tr",align:null},"GUILD_NEWS"),(0,n.kt)("td",{parentName:"tr",align:null},"Almost identical to ",(0,n.kt)("inlineCode",{parentName:"td"},"GUILD_TEXT"),", a channel that ",(0,n.kt)("a",{parentName:"td",href:"https://support.discord.com/hc/en-us/articles/360032008192"},"users can follow and crosspost into their own guild"))),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"6"),(0,n.kt)("td",{parentName:"tr",align:null},"GUILD_STORE"),(0,n.kt)("td",{parentName:"tr",align:null},"A channel in which game developers can ",(0,n.kt)("a",{parentName:"td",href:"https://discord.com/developers/docs/game-and-server-management/special-channels"},"sell their game on Discord"))),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("del",{parentName:"td"},"7")),(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("del",{parentName:"td"},"GUILD_LFG")),(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("del",{parentName:"td"},"A channel where users can match up for various games"))),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("del",{parentName:"td"},"8")),(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("del",{parentName:"td"},"LFG_GROUP_DM")),(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("del",{parentName:"td"},"A private channel between multiple users for a group within an LFG channel"))),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("del",{parentName:"td"},"9")),(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("del",{parentName:"td"},"THREAD_ALPHA")),(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("del",{parentName:"td"},"The first iteration of the threads feature, never widely used"))),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"10"),(0,n.kt)("td",{parentName:"tr",align:null},"NEWS_THREAD"),(0,n.kt)("td",{parentName:"tr",align:null},"A temporary sub-channel within a ",(0,n.kt)("inlineCode",{parentName:"td"},"GUILD_NEWS")," channel")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"11"),(0,n.kt)("td",{parentName:"tr",align:null},"PUBLIC_THREAD"),(0,n.kt)("td",{parentName:"tr",align:null},"a temporary sub-channel within a ",(0,n.kt)("inlineCode",{parentName:"td"},"GUILD_TEXT"),", ",(0,n.kt)("inlineCode",{parentName:"td"},"GUILD_FORUM"),", or ",(0,n.kt)("inlineCode",{parentName:"td"},"GUILD_MEDIA")," channel")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"12"),(0,n.kt)("td",{parentName:"tr",align:null},"PRIVATE_THREAD"),(0,n.kt)("td",{parentName:"tr",align:null},"a temporary sub-channel within a ",(0,n.kt)("inlineCode",{parentName:"td"},"GUILD_TEXT")," channel that is only viewable by those invited and those with the ",(0,n.kt)("inlineCode",{parentName:"td"},"MANAGE_THREADS")," permission")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"13"),(0,n.kt)("td",{parentName:"tr",align:null},"GUILD_STAGE_VOICE"),(0,n.kt)("td",{parentName:"tr",align:null},"A voice channel for ",(0,n.kt)("a",{parentName:"td",href:"https://support.discord.com/hc/en-us/articles/1500005513722"}
1,"hosting events with an audience")," in a guild")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"14"),(0,n.kt)("td",{parentName:"tr",align:null},"GUILD_DIRECTORY"),(0,n.kt)("td",{parentName:"tr",align:null},"The main channel in a ",(0,n.kt)("a",{parentName:"td",href:"https://support.discord.com/hc/en-us/articles/4406046651927-Discord-Student-Hubs-FAQ"},"hub")," containing the listed guilds")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"15"),(0,n.kt)("td",{parentName:"tr",align:null},"GUILD_FORUM"),(0,n.kt)("td",{parentName:"tr",align:null},"A channel that can only contain threads")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"16"),(0,n.kt)("td",{parentName:"tr",align:null},"GUILD_MEDIA"),(0,n.kt)("td",{parentName:"tr",align:null},"A channel that can only contain threads in a gallery view")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"17"),(0,n.kt)("td",{parentName:"tr",align:null},"LOBBY"),(0,n.kt)("td",{parentName:"tr",align:null},"A game lobby channel")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"18"),(0,n.kt)("td",{parentName:"tr",align:null},"EPHEMERAL_DM"),(0,n.kt)("td",{parentName:"tr",align:null},"A private channel created by the social layer SDK")))),(0,n.kt)("h6",null,"Channel Flags"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Value"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"1 << 0"),(0,n.kt)("td",{parentName:"tr",align:null},"GUILD_FEED_REMOVED"),(0,n.kt)("td",{parentName:"tr",align:null},"Guild channel is hidden from the guild's feed")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"1 << 1"),(0,n.kt)("td",{parentName:"tr",align:null},"PINNED"),(0,n.kt)("td",{parentName:"tr",align:null},"Thread is pinned to the top of its parent thread-only channel")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"1 << 2"),(0,n.kt)("td",{parentName:"tr",align:null},"ACTIVE_CHANNELS_REMOVED"),(0,n.kt)("td",{parentName:"tr",align:null},"Guild channel has been removed from the guild's active channels")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"1 << 4"),(0,n.kt)("td",{parentName:"tr",align:null},"REQUIRE_TAG"),(0,n.kt)("td",{parentName:"tr",align:null},"Thread-only channel requires a tag to create threads in")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"1 << 5"),(0,n.kt)("td",{parentName:"tr",align:null},"IS_SPAM"),(0,n.kt)("td",{parentName:"tr",align:null},"Channel is marked as spam")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"1 << 7"),(0,n.kt)("td",{parentName:"tr",align:null},"IS_GUILD_RESOURCE_CHANNEL"),(0,n.kt)("td",{parentName:"tr",align:null},"Guild channel is used as a read-only resource for onboarding and is not shown in the channel list")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"1 << 8"),(0,n.kt)("td",{parentName:"tr",align:null},"CLYDE_AI"),(0,n.kt)("td",{parentName:"tr",align:null},"Channel is created by Clyde AI, which has full access to all message content")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"1 << 9"),(0,n.kt)("td",{parentName:"tr",align:null},"IS_SCHEDULED_FOR_DELETION"),(0,n.kt)("td",{parentName:"tr",align:null},"Guild channel is scheduled for deletion and is not shown in the UI")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("del",{parentName:"td"},"1 << 10")),(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("del",{parentName:"td"},"IS_MEDIA_CHANNEL")," ",(0,n.kt)("sup",{parentName:"td"},"1"),""),(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("del",{parentName:"td"},"Forum channel is a media channel"))),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"1 << 11"),(0,n.kt)("td",{parentName:"tr",align:null},"SUMMARIES_DISABLED"),(0,n.kt)("td",{parentName:"tr",align:null},"Guild channel has summaries disabled")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("del",{parentName:"td"},"1 << 12")),(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("del",{parentName:"td"},"APPLICATION_SHELF_CONSENT")),(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("del",{parentName:"td"},"Private channel's recipients consented to the application shelf"))),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"1 << 13"),(0,n.kt)("td",{parentName:"tr",align:null},"IS_ROLE_SUBSCRIPTION_TEMPLATE_PREVIEW_CHANNEL"),(0,n.kt)("td",{parentName:"tr",align:null},"Role subscription tier for this guild channel has not been published yet")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"1 << 14"),(0,n.kt)("td",{parentName:"tr",align:null},"IS_BROADCASTING"),(0,n.kt)("td",{parentName:"tr",align:null},"Group DM is used for broadcasting a live stream")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"1 << 15"),(0,n.kt)("td",{parentName:"tr",align:null},"HIDE_MEDIA_DOWNLOAD_OPTIONS"),(0,n.kt)("td",{parentName:"tr",align:null},"Media channel has the embedded download options hidden for media attachments")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"1 << 16"),(0,n.kt)("td",{parentName:"tr",align:null},"IS_JOIN_REQUEST_INTERVIEW_CHANNEL"),(0,n.kt)("td",{parentName:"tr",align:null},"Group DM is used for ",(0,n.kt)("a",{parentName:"td",href:"https://support.discord.com/hc/en-us/articles/23187611406999-Guilds-FAQ#h_01HXW2MCD0BT70
1FB9SRV1YRPBV"},"guild join request interviews"))),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"1 << 17"),(0,n.kt)("td",{parentName:"tr",align:null},"OBFUSCATED ",(0,n.kt)("sup",{parentName:"td"},"2"),""),(0,n.kt)("td",{parentName:"tr",align:null},"User does not have permission to view the channel")))),(0,n.kt)("p",null,"",(0,n.kt)("sup",{parentName:"p"},"1")," Media channels are now represented by the ",(0,n.kt)("a",{parentName:"p",href:"#channel-type"},(0,n.kt)("inlineCode",{parentName:"a"},"GUILD_MEDIA")," channel type"),"."),(0,n.kt)("p",null,"",(0,n.kt)("sup",{parentName:"p"},"2")," Obfuscated channel names and topics are always returned as ",(0,n.kt)("inlineCode",{parentName:"p"},"___hidden___"),"."),(0,n.kt)("h6",null,"Recipient Flags"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Value"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"1 << 0"),(0,n.kt)("td",{parentName:"tr",align:null},"DISMISSED_IN_GAME_MESSAGE_NUX"),(0,n.kt)("td",{parentName:"tr",align:null},"User has dismissed the ",(0,n.kt)("a",{parentName:"td",href:"/resources/message#message-type"},(0,n.kt)("inlineCode",{parentName:"a"},"IN_GAME_MESSAGE_NUX")," message")," for this DM channel")))),(0,n.kt)("h6",null,"Video Quality Mode"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Value"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"1"),(0,n.kt)("td",{parentName:"tr",align:null},"AUTO"),(0,n.kt)("td",{parentName:"tr",align:null},"Discord chooses the quality for optimal performance")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"2"),(0,n.kt)("td",{parentName:"tr",align:null},"FULL"),(0,n.kt)("td",{parentName:"tr",align:null},"720p quality")))),(0,n.kt)("h6",null,"Forum Layout Type"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Value"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"0"),(0,n.kt)("td",{parentName:"tr",align:null},"DEFAULT"),(0,n.kt)("td",{parentName:"tr",align:null},"No layout type explicitly set")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"1"),(0,n.kt)("td",{parentName:"tr",align:null},"LIST"),(0,n.kt)("td",{parentName:"tr",align:null},"Threads are displayed in a list")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"2"),(0,n.kt)("td",{parentName:"tr",align:null},"GRID"),(0,n.kt)("td",{parentName:"tr",align:null},"Threads are displayed in a collection of tiles")))),(0,n.kt)("h6",null,"Sort Order Type"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Value"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"0"),(0,n.kt)("td",{parentName:"tr",align:null},"LATEST_ACTIVITY"),(0,n.kt)("td",{parentName:"tr",align:null},"Sort by the most recent message in the thread")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"1"),(0,n.kt)("td",{parentName:"tr",align:null},"CREATION_TIME"),(0,n.kt)("td",{parentName:"tr",align:null},"Sort by when the thread was created (from most recent to oldest)")))),(0,n.kt)("h6",null,"Example Guild Category Channel"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-json"},'{\n "id": "399942396007890945",\n "type": 4,\n "name": "lounge",\n "position": 0,\n "flags": 0,\n "parent_id": null,\n "guild_id": "41771983423143937",\n "permission_overwrites": []\n}\n')),(0,n.kt)("h6",null,"Example Guild Text Channel"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-json"},'{\n "id": "41771983423143937",\n "guild_id": "41771983423143937",\n "name": "general",\n "type": 0,\n "position": 6,\n "flags": 0,\n "permission_overwrites": [],\n "rate_limit_per_user": 2,\n "nsfw": true,\n "topic": "24/7 chat about how to gank Mike #2",\n "last_message_id": "155117677105512449",\n "parent_id": "399942396007890945",\n "last_pin_timestamp": "2023-02-17T09:22:28+00:00",\n "default_auto_archive_duration": 10080,\n "default_thread_rate_limit_per_user": 0\n}\n')),(0,n.kt)("h6",null,"Example Guild News Channel"),(0,n.kt)("p",null,'Users can post or publish messages in this type of channel if they have the proper permissions. These are called "Announcement Channels" in the client.'),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-json"},'{\n "id": "41771983423143937",\n "guild_id": "41771983423143937",\n "name": "important-news",\n "type": 5,\n "position": 6,\n "flags": 0,\n "permission_overwrites": [],\n "nsfw": true,\n "topic": "Rumors about Half Life 3",\n "last_message_id": "155117677105512449",\n "parent_id": "399942396007890945",\n "last_pin_timestamp": "2023-02-17T09:22:28+00:00",\n "default_auto_archive_duration": 10080,\n "default_thread_rate_limit_per_user": 0\n}\n')),(0,n.kt)("h6",null,"Example Guild Voice Channel"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-json"},'{\n "id": "155101607195836416",\n "last_message_id": "174629835082649376",\n "type": 2,\n "name": "ROCKET CHEESE",\n "position": 5,\n "flags": 0,\n "parent_id": null,\n "bitrate": 96000,\n "user_limit": 0,\n "rtc_region": null,\n "guild_id": "41771983423143937",\n "permission_overwrites": [],\n "rate_limit_per_user": 0,\n "nsfw": false\n}\n')),(0,n.kt)("h6",null,"Example Guild Stage Channel"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-json"},'{\n "id": "1053657210082836620",\n "last_message_id": "1075473541174136834",\n "type": 13,\n "name": "EVENTS",\n "position": 2,\n "flags": 0,\n "parent_id": null,\n "topic": "",\n "bitrate": 64000,\n "user_limit": 10000,\n "rtc_region": null,\n "guild_id": "41771983423143937",\n "permission_overwrites": [],\n "rate_limit_per_user": 0,\n "nsfw": false\n}\n')),(0,n.kt)("h6",null,"Example Guild Forum Channel"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-json"},'{\n "id": "1074357242700247173",\n "last_message_id": "1075957063890509894",\n "type": 15,\n "name": "forum",\n "position": 11,\n "flags": 16,\n "parent_id": "399942396007890945",\n "topic": "",\n "guild_id": "41771983423143937",\n "permission_overwrites": [],\n "rate_limit_per_user": 0,\n "nsfw": false,\n "available_tags": [\n {\n "id": "1076275719316983899",\n "name": "Alien",\n "emoji_id": null,\n "emoji_name": "\uD83D\uDC7D",\n "moderated": true\n }\n ],\n "default_reaction_emoji": {\n "emoji_id": "1066765913208139796",\n "emoji_name": null\n },\n "default_auto_archive_duration": 10080,\n "default_thread_rate_limit_per_user": 0,\n "default_sort_order": null,\n "default_forum_layout": 0\n}\n')),(0,n.kt)("h6",null,"Example DM Channel"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-json"},'{\n "last_message_id": "3343820033257021450",\n "type": 1,\n "id": "319674150115610528",\n "flags": 0,\n "is_message_request": false,\n "is_message_request_timestamp": "2023-02-16T00:45:10.270751+00:00",\n "is_spam": false,\n "recipients": [\n {\n "id": "728342296696979526",\n "username": "splatter",\n "avatar": "40ab813a6e1b6170dc4e7d1f2331bfeb",\n "discriminator": "0",\n "public_flags": 4194304,\n "banner": "a_999640fa66eb908d8ec2f969516b97c8",\n "accent_color": 11983775,\n "global_name": "not splatter",\n "avatar_decoration_data": null,\n "primary_guild": null\n }\n ]\n}\n')),(0,n.kt)("h6",null,"Example Group DM Channel"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-json"},'{\n "name": "Some test channel",\n "icon": null,\n "recipients": [\n {\n "id": "728342296696979526",\n "username": "splatter",\n "avatar": "40ab813a6e1b6170dc4e7d1f2331bfeb",\n "discriminator": "0",\n "public_flags": 4194304,\n "banner": "a_999640fa66eb908d8ec2f969516b97c8",\n "accent_color": 11983775,\n "global_name": "not splatter",\n "avatar_decoration_data": null,\n "primary_guild": null\n },\n {\n "id": "211270674482724864",\n "username": "11pixels",\n "avatar": "40e250de9c74346c480e7e16da242b47",\n "discriminator": "0",\n "public_flags": 4194880,\n "banner": "785814ab5375e10deafe9e7de256dd0e",\n "accent_color": 47615,\n "global_name": "12pixels",\n "avatar_decoration_data": null,\n "primary_guild": null\n }\n ],\n "last_message_id": "3343820033257021450",\n "type": 3,\n "id": "319674150115710528",\n "flags": 0,\n "owner_id": "82198810841029460",\n "blocked_user_warning_dism
1issed": true\n}\n')),(0,n.kt)("h6",null,"Example Thread Channel"),(0,n.kt)("p",null,(0,n.kt)("a",{parentName:"p",href:"/topics/threads"},"Threads")," can be either ",(0,n.kt)("inlineCode",{parentName:"p"},"archived")," or ",(0,n.kt)("inlineCode",{parentName:"p"},"active"),". Archived threads are generally immutable. To send a message or add a reaction, a thread must first be unarchived. The API will helpfully automatically unarchive a thread when sending a message in that thread."),(0,n.kt)("p",null,"Unlike with channels, the API will only sync updates to users about threads the current user can view. When receiving a ",(0,n.kt)("a",{parentName:"p",href:"/topics/gateway-events#guild-create"},"Guild Create")," payload, the API will only include active threads the current user can view. Threads inside of private channels are completely private to the members of that private channel. As such, when ",(0,n.kt)("em",{parentName:"p"},"gaining")," access to a channel in a subscribed guild the API sends a ",(0,n.kt)("a",{parentName:"p",href:"/topics/gateway-events#thread-list-sync"},"Thread List Sync"),", which includes all active threads in that channel."),(0,n.kt)("p",null,"Threads also track membership. Users must be added to a thread before sending messages in them. The API will helpfully automatically add users to a thread when sending a message in that thread."),(0,n.kt)("p",null,"Guilds have limits on the number of active threads and members per thread. Once these are reached additional threads cannot be created or unarchived, and users cannot be added. Threads do not count against the per-guild channel limit."),(0,n.kt)("p",null,"The ",(0,n.kt)("a",{parentName:"p",href:"/topics/threads"},"threads")," topic has some more information."),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-json"},'{\n "id": "41771983423143937",\n "guild_id": "41771983423143937",\n "parent_id": "41771983423143937",\n "owner_id": "41771983423143937",\n "name": "don\'t buy dota-2",\n "type": 11,\n "last_message_id": "155117677105512449",\n "message_count": 1,\n "member_count": 5,\n "rate_limit_per_user": 2,\n "thread_metadata": {\n "archived": false,\n "auto_archive_duration": 1440,\n "archive_timestamp": "2021-04-12T23:40:39.855793+00:00",\n "locked": false\n },\n "total_message_sent": 1,\n "applied_tags": []\n}\n')),(0,n.kt)("h6",null,"Example Partial Channel"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-json"},'{\n "id": "1065785999734607943",\n "name": null,\n "type": 3,\n "icon": null,\n "recipients": [\n {\n "username": "alien"\n },\n {\n "username": "alien.2.electric.boogaloo"\n }\n ]\n}\n')),(0,n.kt)("h3",null,"Followed Channel Object"),(0,n.kt)("p",null,"An object that represents a channel that has been followed by a webhook."),(0,n.kt)("h6",null,"Followed Channel Structure"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Field"),(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"channel_id"),(0,n.kt)("td",{parentName:"tr",align:null},"snowflake"),(0,n.kt)("td",{parentName:"tr",align:null},"The source channel ID")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"webhook_id"),(0,n.kt)("td",{parentName:"tr",align:null},"snowflake"),(0,n.kt)("td",{parentName:"tr",align:null},"Created target webhook ID")))),(0,n.kt)("h3",null,"Permission Overwrite Object"),(0,n.kt)("p",null,"See ",(0,n.kt)("a",{parentName:"p",href:"/topics/permissions#permissions"},"permissions")," for more information about the ",(0,n.kt)("inlineCode",{parentName:"p"},"allow")," and ",(0,n.kt)("inlineCode",{parentName:"p"},"deny")," fields."),(0,n.kt)("h6",null,"Permission Overwrite Structure"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Field"),(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"id"),(0,n.kt)("td",{parentName:"tr",align:null},"snowflake"),(0,n.kt)("td",{parentName:"tr",align:null},"Role or user ID")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"type"),(0,n.kt)("td",{parentName:"tr",align:null},"integer"),(0,n.kt)("td",{parentName:"tr",align:null},"The ",(0,n.kt)("a",{parentName:"td",href:"#permission-overwrite-type"},"type of overwritten entity"))),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"allow ",(0,n.kt)("sup",{parentName:"td"},"1"),""),(0,n.kt)("td",{parentName:"tr",align:null},"string"),(0,n.kt)("td",{parentName:"tr",align:null},"The bitwise value of all allowed permissions")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"deny ",(0,n.kt)("sup",{parentName:"td"},"1"),""),(0,n.kt)("td",{parentName:"tr",align:null},"string"),(0,n.kt)("td",{parentName:"tr",align:null},"The bitwise value of all disallowed permissions")))),(0,n.kt)("p",null,"",(0,n.kt)("sup",{parentName:"p"},"1")," When sending, these fields are optional and will default to ",(0,n.kt)("inlineCode",{parentName:"p"},"0"),"."),(0,n.kt)("h6",null,"Permission Overwrite Type"),(0,n.kt)(l,{type:"info",mdxType:"Alert"},(0,n.kt)("p",null,"In API v7 and below, this enum uses the strings ",(0,n.kt)("inlineCode",{parentName:"p"},"role")," and ",(0,n.kt)("inlineCode",{parentName:"p"},"member")," instead of integer types.")),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Value"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"0"),(0,n.kt)("td",{parentName:"tr",align:null},"role"),(0,n.kt)("td",{parentName:"tr",align:null},"Permissions based on a role")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"1"),(0,n.kt)("td",{parentName:"tr",align:null},"member"),(0,n.kt)("td",{parentName:"tr",align:null},"Permissions for a specific member")))),(0,n.kt)("h3",null,"Thread Metadata Object"),(0,n.kt)("p",null,"The thread metadata object c
1ontains a number of thread-specific channel fields that are not needed by other channel types."),(0,n.kt)("h6",null,"Thread Metadata Structure"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Field"),(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"archived"),(0,n.kt)("td",{parentName:"tr",align:null},"boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"Whether the thread is archived")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"auto_archive_duration"),(0,n.kt)("td",{parentName:"tr",align:null},"integer"),(0,n.kt)("td",{parentName:"tr",align:null},"Duration in minutes to stop showing in the channel list after inactivity (one of 60, 1440, 4320, 10080)")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"archive_timestamp"),(0,n.kt)("td",{parentName:"tr",align:null},"ISO8601 timestamp"),(0,n.kt)("td",{parentName:"tr",align:null},"Timestamp when the thread's archive status was last changed, used for calculating recent activity")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"locked"),(0,n.kt)("td",{parentName:"tr",align:null},"boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"Whether the thread is locked; when a thread is locked, only users with ",(0,n.kt)("inlineCode",{parentName:"td"},"MANAGE_THREADS")," can interact with it")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"invitable?"),(0,n.kt)("td",{parentName:"tr",align:null},"boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"Whether non-moderators can add other non-moderators to a thread; only available on private threads")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"create_timestamp?"),(0,n.kt)("td",{parentName:"tr",align:null},"?ISO8601 timestamp"),(0,n.kt)("td",{parentName:"tr",align:null},"Timestamp when the thread was created; only populated for threads created after 2022-01-09")))),(0,n.kt)("h3",null,"Thread Member Object"),(0,n.kt)("p",null,"A thread member object contains information about a user that has joined a thread."),(0,n.kt)("h6",null,"Thread Member Structure"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Field"),(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"id? ",(0,n.kt)("sup",{parentName:"td"},"1"),""),(0,n.kt)("td",{parentName:"tr",align:null},"snowflake"),(0,n.kt)("td",{parentName:"tr",align:null},"The ID of the thread")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"user_id? ",(0,n.kt)("sup",{parentName:"td"},"1"),""),(0,n.kt)("td",{parentName:"tr",align:null},"snowflake"),(0,n.kt)("td",{parentName:"tr",align:null},"The ID of the user")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"join_timestamp"),(0,n.kt)("td",{parentName:"tr",align:null},"ISO8601 timestamp"),(0,n.kt)("td",{parentName:"tr",align:null},"The time the current user last joined the thread")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"flags"),(0,n.kt)("td",{parentName:"tr",align:null},"integer"),(0,n.kt)("td",{parentName:"tr",align:null},"The user's ",(0,n.kt)("a",{parentName:"td",href:"#thread-member-flags"},"thread flags"))),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"muted? ",(0,n.kt)("sup",{parentName:"td"},"2"),""),(0,n.kt)("td",{parentName:"tr",align:null},"boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"Whether the user has muted the thread")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"mute_config? ",(0,n.kt)("sup",{parentName:"td"},"2"),""),(0,n.kt)("td",{parentName:"tr",align:null},"?",(0,n.kt)("a",{parentName:"td",href:"/resources/user-settings#mute-config-object"},"mute config")," object"),(0,n.kt)("td",{parentName:"tr",align:null},"The mute metadata for the thread")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"member? ",(0,n.kt)("sup",{parentName:"td"},"1")," ",(0,n.kt)("sup",{parentName:"td"},"3"),""),(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("a",{parentName:"td",href:"/resources/guild#guild-member-object"},"guild member")," object"),(0,n.kt)("td",{parentName:"tr",align:null},"The member object for the user")))),(0,n.kt)("p",null,"",(0,n.kt)("sup",{parentName:"p"},"1")," These fields are omitted on the member sent within each thread in the ",(0,n.kt)("a",{parentName:"p",href:"/topics/gateway-events#guild-create"},"Guild Create")," event."),(0,n.kt)("p",null,"",(0,n.kt)("sup",{parentName:"p"},"2")," These fields are omitted for thread members other than the current user."),(0,n.kt)("p",null,"",(0,n.kt)("sup",{parentName:"p"},"3")," The ",(0,n.kt)("inlineCode",{parentName:"p"},"member")," field is only present when ",(0,n.kt)("inlineCode",{parentName:"p"},"with_member")," is set to ",(0,n.kt)("inlineCode",{parentName:"p"},"true")," when fetching ",(0,n.kt)("a",{parentName:"p",href:"#get-thread-members"},"Get Thread Members")," or ",(0,n.kt)("a",{parentName:"p",href:"#get-thread-member"},"Get Thread Member"),"."),(0,n.kt)("h6",null,"Thread Member Flags"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Value"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"1 << 0"),(0,n.kt)("td",{parentName:"tr",align:null},"HAS_INTERACTED"),(0,n.kt)("td",{parentName:"tr",align:null},"User has interacted with the thread")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"1 << 1"),(0,n.kt)("td",{parentName:"tr",align:null},"ALL_MESSAGES"),(0,n.kt)("td",{parentName:"tr",align:null},"User receives notifications for all messages")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"1 << 2"),(0,n.kt)("td",{parentName:"tr",align:null},"ONLY_MENTIONS"),(0,n.kt)("td",{parentName:"tr",align:null},"User receives notifications only for messages that @mention them")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"1 << 3"),(0,n.kt)("td",{parentName:"tr",align:null},"NO_MESSAGES"),(0,n.kt)("td",{parentName:"tr",align:null},"User does not receive any notifications")))),(0,n.kt)("h3",null,"Default Reaction Object"),(0,n.kt)("p",null,"An object that specifies the emoji to use as the default way to react to a ",(0,n.kt)("inlineCode",{parentName:"p"},"GUILD_FORUM")," or ",(0,n.kt)("inlineCode",{parentName:"p"},"GUILD_MEDIA")," channel post."),(0,n.kt)("h6",null,"Default Reaction Structure"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Field"),(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"emoji_id ",(0,n.kt)("sup",{parentName:"td"},"1"),""),(0,n.kt)("td",{parentName:"tr",align:null},"?snowflake"),(0,n.kt)("td",{parentName:"tr",align:null},"The ID of a guild's custom emoji")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"emoji_name ",(0,n.kt)("sup",{parentName:"td"},"1"),""),(0,n.kt)("td",{parentName:"tr",align:null},"?string"),(0,n.kt)("td",{parentName:"tr",align:null},"The unicode character of the emoji")))),(0,n.kt)("p",null,"",(0,n.kt)("sup",{parentName:"p"},"1")," At most one of ",(0,n.kt)("inlineCode",{parentName:"p"},"emoji_id")," and ",(0,n.kt)("inlineCode",{parentName:"p"},"emoji_name")," may be set to a non-null value."),(0,n.kt)("h3",null,"Icon Emoji Object"),(0,n.kt)("p",null,"An object that specifies the emoji to use as the icon displayed next to a channel's name."),(0,n.kt)("h6",null,"Icon Emoji Structure"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Field"),(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"id ",(0,n.kt)("sup",{parentName:"td"},"1"),""),(0,n.kt)("td",{parentName:"tr",align:null},"?snowflake"),(0,n.kt)("td",{parentName:"tr",align:null},"The ID of a guild's custom emoji")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"name ",(0,n.kt)("sup",{parentName:"td"},"1"),""),(0,n.kt)("td",{parentName:"tr",align:null},"?string"),(0,n.kt)("td",{parentName:"tr",align:null},"The unicode character of the emoji")))),(0,n.kt)("p",null,"",(0,n.kt)("sup",{parentName:"p"},"1")," At most one of ",(0,n.kt)("inlineCode",{parentName:"p"},"id")," and ",(0,n.kt)("inlineCode",{parentName:"p"},"name")," may be set to a non-null value."),(0,n.kt)("h3",null,"Forum Tag Object"),(0,n.kt)("p",null,"An object that represents a tag that is able to be applied to a thread in a ",(0,n.kt)("inlineCode",{parentName:"p"},"GUILD_FORUM")," or ",(0,n.kt)("inlineCode",{parentName:"p"},"GUILD_MEDIA")," channel."),(0,n.kt)("h6",null,"Forum Tag Structure"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Field"),(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"id"),(0,n.kt)("td",{parentName:"tr",align:null},"snowflake"),(0,n.kt)("td",{parentName:"tr",align:null},"The ID of the tag")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"name"),(0,n.kt)("td",{parentName:"tr",align:null},"string"),(0,n.kt)("td",{parentName:"tr",align:null},"The name of the tag (max 20 characters)")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"moderated"),(0,n.kt)("td",{parentName:"tr",align:null},"boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"Whether this tag can only be added to or removed from threads by members with the ",(0,n.kt)("inlineCode",{parentName:"td"},"MANAGE_THREADS")," permission")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"emoji_id ",(0,n.kt)("sup",{parentName:"td"},"1"),""),(0,n.kt)("td",{parentName:"tr",align:null},"?snowflake"),(0,n.kt)("td",{parentName:"tr",align:null},"The ID of a guild's custom emoji")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"emoji_name ",(0,n.kt)("sup",{parentName:"td"},"1"),""),(0,n.kt)("td",{parentName:"tr",align:null},"?string"),(0,n.kt)("td",{parentName:"tr",align:null},"The unicode character of the emoji")))),(0,n.kt)("p",null,"",(0,n.kt)("sup",{parentName:"p"},"1")," At most one of ",(0,n.kt)("inlineCode",{parentName:"p"},"emoji_id")," and ",(0,n.kt)("inlineCode",{parentName:"p"},"emoji_name")," may be set to a non-null value."),(0,n.kt)("h2",null,"Endpoints"),(0,n.kt)(i,{method:"GET",url:"/users/@me/channels",mdxType:"RouteHeader"},"Get Private Channels"),(0,n.kt)("p",null,"Returns a list of active ",(0,n.kt)("a",{parentName:"p",href:"#channel-object"},"private channel")," objects the user is participating in."),(0,n.kt)(i,{method:"GET",url:"/users/@me/dms/{user.id}",supportsOAuth2:"dm_channels.read",mdxType:"RouteHeader"},"Get DM Channel"),(0,n.kt)("p",null,"Returns an existing ",(0,n.kt)("a",{parentName:"p",href:"#channel-object"},"DM channel")," object with a user."),(0,n.kt)(i,{method:"POST",url:"/users/@me/channels",supportsOAuth2:"gdm.join",mdxType:"RouteHeader"},"Create Private Channel"),(0,n.kt)("p",null,"One recipient creates or returns an existing ",(0,n.kt)("a",{parentName:"p",href:"#channel-object"},"DM channel"),", none or multiple recipients create a ",(0,n.kt)("a",{parentName:"p",href:"#channel-object"},"group DM channel"),". Returns a ",(0,n.kt)("a",{parentName:"p",href:"#channel-object"},"private channel")," object. Fires a ",(0,n.kt)("a",{parentName:"p",href:"/topics/gateway-events#channel-create"},"Channel Create")," Gateway event."),(0,n.kt)("p",null,"If multiple channels with a single recipient exist, the most recent channel is returned."),(0,n.kt)(l,{type:"warn",mdxType:"Alert"},(0,n.kt)("p",null,"Clients should not use this endpoint to create multiple new DMs in a short period of time. A DM is only counted as created if the user sends the first message in the DM and the channel did not have existing message history. Users may only create 10 new DMs to non-bot users in a 10-minute window.\nSuspicious DM activity may be flagged by Discord and require ",(0,n.kt)("a",{parentName:"p",href:"/resources/user#required-action-type"},"additional verification steps")," or lead to immediate account termination.")),(0,n.kt)(l,{type:"info",mdxType:"Alert"},(0,n.kt)("p",null,"One of ",(0,n.kt)("inlineCode",{parentName:"p"},"recipient_id"),", ",(0,n.kt)("inlineCode",{parentName:"p"},"recipients")," or ",(0,n.kt)("inlineCode",{parentName:"p"},"access_tokens")," is required. Bots cannot DM other bots or create group DMs without ",(0,n.kt)("inlineCode",{parentName:"p"},"access_tokens"),".")),(0,n.kt)("h6",null,"JSON Params"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Field"),(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"recipient_id? ",(0,n.kt)("strong",{parentName:"td"},"(deprecated)")),(0,n.kt)("td",{parentName:"tr",align:null},"snowflake"),(0,n.kt)("td",{parentName:"tr",align:null},"The recipient to DM")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"recipients? ",(0,n.kt)("sup",{parentName:"td"},"1"),""),(0,n.kt)("td",{parentName:"tr",align:null},"array","[snowflake]"),(0,n.kt)("td",{parentName:"tr",align:null},"The users to include in the private channel")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"access_tokens? ",(0,n.kt)("sup",{parentName:"td"},"2"),""),(0,n.kt)("td",{parentName:"tr",align:null},"array","[string]"),(0,n.kt)("td",{parentName:"tr",align:null},"The access tokens of users that have granted your app the ",(0,n.kt)("inlineCode",{parentName:"td"},"gdm.join")," scope")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"nicks? ",(0,n.kt)("sup",{parentName:"td"},"3"),""),(0,n.kt)("td",{parentName:"tr",align:null},"map","[snowflake, str]"),(0,n.kt)("td",{parentName:"tr",align:null},"A mapping of user IDs to their respective nicknames")))),(0,n.kt)("p",null,"",(0,n.kt)("sup",{parentName:"p"},"1")," When creating a group DM, the client user's ID can optionally be included in the ",(0,n.kt)("inlineCode",{parentName:"p"},"recipients")," array. This allows creating a group DM with only one other user."),(0,n.kt)("p",null,"",(0,n.kt)("sup",{parentName:"p"},"2")," Only usable by bots for OAuth2 requests, which can only create group DMs."),(0,n.kt)("p",null,"",(0,n.kt)("sup",{parentName:"p"},"3")," Requires ",(0,n.kt)("inlineCode",{parentName:"p"},"access_tokens")," to be provided."),(0,n.kt)(i,{method:"GET",url:"/guilds/{guild.id}
1/channels",mdxType:"RouteHeader"},"Get Guild Channels"),(0,n.kt)("p",null,"Returns a list of ",(0,n.kt)("a",{parentName:"p",href:"#channel-object"},"guild channel")," objects for the guild. Does not include threads. If the user is not in the guild, the guild must be discoverable."),(0,n.kt)("h6",null,"Query String Params"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Field"),(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"permissions? ",(0,n.kt)("sup",{parentName:"td"},"1"),""),(0,n.kt)("td",{parentName:"tr",align:null},"boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"Whether to return calculated permissions for the invoking user in each channel (default false)")))),(0,n.kt)("p",null,"",(0,n.kt)("sup",{parentName:"p"},"1")," Permissions are not returned if the user is not in the guild."),(0,n.kt)(i,{method:"GET",url:"/guilds/{guild.id}/top-read-channels",deprecated:!0,mdxType:"RouteHeader"},"Get Guild Top Read Channels"),(0,n.kt)("p",null,"Returns a list of snowflakes representing up to 10 of the top read channels in the guild. If the user is not in the guild, the guild must be discoverable."),(0,n.kt)(i,{method:"POST",url:"/guilds/{guild.id}/channels",supportsAuditReason:!0,mdxType:"RouteHeader"},"Create Guild Channel"),(0,n.kt)("p",null,"Creates a new channel in the guild. Requires the ",(0,n.kt)("inlineCode",{parentName:"p"},"MANAGE_CHANNELS")," permission. If setting permission overwrites, only permissions you have in the guild can be allowed/denied. Setting ",(0,n.kt)("inlineCode",{parentName:"p"},"MANAGE_ROLES")," permission in channels is only possible for guild administrators. Returns the new ",(0,n.kt)("a",{parentName:"p",href:"#channel-object"},"channel")," object on success. Fires a ",(0,n.kt)("a",{parentName:"p",href:"/topics/gateway-events#channel-create"},"Channel Create")," Gateway event."),(0,n.kt)(p,{title:"Bitrate Limits",description:"How is the maximum bitrate calculated?",icon:"list",mdxType:"Collapsible"},(0,n.kt)("p",null,"For stage channels, the maximum bitrate is always ",(0,n.kt)("strong",{parentName:"p"},"64 kbps"),".\nFor voice channels, the limit depends on the guild's ",(0,n.kt)("a",{parentName:"p",href:"https://support.discord.com/hc/en-us/articles/360028038352"},"premium tier")," and ",(0,n.kt)("a",{parentName:"p",href:"/resources/guild#guild-features"},"features"),"."),(0,n.kt)("p",null,"These limits are summarized in the following table by ",(0,n.kt)("a",{parentName:"p",href:"/resources/guild#premium-tier"},"premium tier"),". Note that if the guild has the ",(0,n.kt)("a",{parentName:"p",href:"/resources/guild#guild-features"},(0,n.kt)("inlineCode",{parentName:"a"},"VIP_REGIONS")," feature"),", the applied limit is always the tier 3 one (",(0,n.kt)("strong",{parentName:"p"},"384 kbps"),")."),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Premium Tier"),(0,n.kt)("th",{parentName:"tr",align:null},"Bitrate Limit"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"NONE")),(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("strong",{parentName:"td"},"96 kbps"))),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"TIER_1")),(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("strong",{parentName:"td"},"128 kbps"))),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"TIER_2")),(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("strong",{parentName:"td"},"256 kbps"))),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("inlineCode",{parentName:"td"},"TIER_3")),(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("strong",{parentName:"td"},"384 kbps")))))),(0,n.kt)("h6",null,"JSON Params"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Field"),(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"),(0,n.kt)("th",{parentName:"tr",align:null},"Channel Type"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"name"),(0,n.kt)("td",{parentName:"tr",align:null},"string"),(0,n.kt)("td",{parentName:"tr",align:null},"The name of the channel (1-100 characters)"),(0,n.kt)("td",{parentName:"tr",align:null},"All")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"position?"),(0,n.kt)("td",{parentName:"tr",align:null},"?integer"),(0,n.kt)("td",{parentName:"tr",align:null},"Sorting position of the channel"),(0,n.kt)("td",{parentName:"tr",align:null},"All")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"type?"),(0,n.kt)("td",{parentName:"tr",align:null},"?integer"),(0,n.kt)("td",{parentName:"tr",align:null},"The ",(0,n.kt)("a",{parentName:"td",href:"#channel-type"},"type of channel")),(0,n.kt)("td",{parentName:"tr",align:null},"All")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"topic?"),(0,n.kt)("td",{parentName:"tr",align:null},"?string"),(0,n.kt)("td",{parentName:"tr",align:null},"The channel topic (max 1024 characters)"),(0,n.kt)("td",{parentName:"tr",align:null},"Text, News, Stage, Forum, Media")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"nsfw?"),(0,n.kt)("td",{parentName:"tr",align:null},"?boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"Whether the channel is NSFW"),(0,n.kt)("td",{parentName:"tr",align:null},"Text, News, Voice, Stage, Forum, Media")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"rate_limit_per_user?"),(0,n.kt)("td",{parentName:"tr",align:null},"?integer"),(0,n.kt)("td",{parentName:"tr",align:null},"Duration in seconds a user has to wait before sending another message (max 21600); bots, as well as users with the permission ",(0,n.kt)("inlineCode",{parentName:"td"},"MANAGE_MESSAGES")," or ",(0,n.kt)("inlineCode",{parentName:"td"},"MANAGE_CHANNELS"),", are unaffected"),(0,n.kt)("td",{parentName:"tr",align:null},"Text, News, Voice, Stage, Forum, Media")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"bitrate? ",(0,n.kt)("sup",{parentName:"td"},"1"),""),(0,n.kt)("td",{parentName:"tr",align:null},"?integer"),(0,n.kt)("td",{parentName:"tr",align:null},"The bitrate (in bits) of the voice channel"),(0,n.kt)("td",{parentName:"tr",align:null},"Voice, Stage")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"user_limit? ",(0,n.kt)("sup",{parentName:"td"},"2"),""),(0,n.kt)("td",{parentName:"tr",align:null},"?integer"),(0,n.kt)("td",{parentName:"tr",align:null},"The user limit of the voice channel (max 99, 0 refers to no limit)"),(0,n.kt)("td",{parentName:"tr",align:null},"Voice, Stage")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"permission_overwrites?"),(0,n.kt)("td",{parentName:"tr",align:null},"?array[",(0,n.kt)("a",{parentName:"td",href:"#permission-overwrite-object"},"permission overwrite")," object]"),(0,n.kt)("td",{parentName:"tr",align:null},"Explicit permission overwrites for members and roles"),(0,n.kt)("td",{parentName:"tr",align:null},"All")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"parent_id?"),(0,n.kt)("td",{parentName:"tr",align:null},"?snowflake"),(0,n.kt)("td",{parentName:"tr",align:null},"The ID of the parent category for the guild channel"),(0,n.kt)("td",{parentName:"tr",align:null},"Text, News, Voice, Stage, Forum, Media")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"rtc_region?"),(0,n.kt)("td",{parentName:"tr",align:null},"?string"),(0,n.kt)("td",{parentName:"tr",align:null},"The ",(0,n.kt)("a",{parentName:"td",href:"/resources/voice#voice-region-object"},"voice region")," ID for the voice channel (automatic when ",(0,n.kt)("inlineCode",{parentName:"td"},"null"),")"),(0,n.kt)("td",{parentName:"tr",align:null},"Voice, Stage")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"video_quality_mode?"),(0,n.kt)("td",{parentName:"tr",align:null},"?integer"),(0,n.kt)("td",{parentName:"tr",align:null},"The camera ",(0,n.kt)("a",{parentName:"td",href:"#video-quality-mode"},"video quality mode")," of the voice channel"),(0,n.kt)("td",{parentName:"tr",align:null},"Voice, Stage")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"default_auto_archive_duration?"),(0,n.kt)("td",{parentName:"tr",align:null},"?integer"),(0,n.kt)("td",{parentName:"tr",align:null},"Default duration in minutes for newly created threads to stop showing in the channel list after inactivity (one of 60, 1440, 4320, 10080)"),(0,n.kt)("td",{parentName:"tr",align:null},"Text, News, Forum, Media")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"default_thread_rate_limit_per_user?"),(0,n.kt)("td",{parentName:"tr",align:null},"?integer"),(0,n.kt)("td",{parentName:"tr",align:null},"Default duration in seconds a user has to wait before sending another message in newly created threads; this field is copied to the thread at creation time and does not live update"),(0,n.kt)("td",{parentName:"tr",align:null},"Text, News, Forum, Media")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"available_tags? ",(0,n.kt)("sup",{parentName:"td"},"3"),""),(0,n.kt)("td",{parentName:"tr",align:null},"?array[partial ",(0,n.kt)("a",{parentName:"td",href:"#forum-tag-object"},"tag")," object]"),(0,n.kt)("td",{parentName:"tr",align:null},"The tags that can be used in a thread-only channel (max 20)"),(0,n.kt)("td",{parentName:"tr",align:null},"Forum, Media")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"default_reaction_emoji?"),(0,n.kt)("td",{parentName:"tr",align:null},"?",(0,n.kt)("a",{parentName:"td",href:"#default-reaction-object"},"default reaction")," object"),(0,n.kt)("td",{parentName:"tr",align:null},"The emoji to show in the add reaction button on a thread in a thread-only channel"),(0,n.kt)("td",{parentName:"tr",align:null},"Forum, Media")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"default_forum_layout?"),(0,n.kt)("td",{parentName:"tr",align:null},"?integer"),(0,n.kt)("td",{parentName:"tr",align:null},"The default ",(0,n.kt)("a",{parentName:"td",href:"#forum-layout-type"},"layout")," of a forum channel"),(0,n.kt)("td",{parentName:"tr",align:null},"Forum")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"default_sort_order?"),(0,n.kt)("td",{parentName:"tr",align:null},"?integer"),(0,n.kt)("td",{parentName:"tr",align:null},"The default ",(0,n.kt)("a",{parentName:"td",href:"#sort-order-type"},"sort order")," of a thread-only channel's threads"),(0,n.kt)("td",{parentName:"tr",align:null},"Forum, Media")))),(0,n.kt)("p",null,"",(0,n.kt)("sup",{parentName:"p"}
1,"1")," For stage channels, bitrate can only be set up to ",(0,n.kt)("strong",{parentName:"p"},"64 kbps"),". See the bitrate limits section above for more information."),(0,n.kt)("p",null,"",(0,n.kt)("sup",{parentName:"p"},"2")," The maximum user limit for stage channels is always 10000 and cannot be set to 0."),(0,n.kt)("p",null,"",(0,n.kt)("sup",{parentName:"p"},"3")," Only the ",(0,n.kt)("inlineCode",{parentName:"p"},"name")," field is required."),(0,n.kt)(i,{method:"PATCH",url:"/guilds/{guild.id}/channels",mdxType:"RouteHeader"},"Modify Guild Channel Positions"),(0,n.kt)("p",null,"Modifies the positions of a set of ",(0,n.kt)("a",{parentName:"p",href:"#channel-object"},"channel")," objects for the guild. Requires the ",(0,n.kt)("inlineCode",{parentName:"p"},"MANAGE_CHANNELS")," permission. Returns a 204 empty response on success. Fires multiple ",(0,n.kt)("a",{parentName:"p",href:"/topics/gateway-events#channel-update"},"Channel Update")," Gateway events."),(0,n.kt)(l,{type:"info",mdxType:"Alert"},(0,n.kt)("p",null,"Only channels to be modified are required.")),(0,n.kt)("p",null,"This endpoint takes a JSON array of parameters in the following format:"),(0,n.kt)("h6",null,"JSON Params"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Field"),(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"id"),(0,n.kt)("td",{parentName:"tr",align:null},"snowflake"),(0,n.kt)("td",{parentName:"tr",align:null},"The ID of the channel")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"position?"),(0,n.kt)("td",{parentName:"tr",align:null},"?integer"),(0,n.kt)("td",{parentName:"tr",align:null},"Sorting position of the channel")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"lock_permissions?"),(0,n.kt)("td",{parentName:"tr",align:null},"?boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"Syncs the permission overwrites with the new parent, if moving to a new category")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"parent_id?"),(0,n.kt)("td",{parentName:"tr",align:null},"?snowflake"),(0,n.kt)("td",{parentName:"tr",align:null},"The ID of the parent category for the channel")))),(0,n.kt)(i,{method:"GET",url:"/channels/{channel.id}",mdxType:"RouteHeader"},"Get Channel"),(0,n.kt)("p",null,"Returns a ",(0,n.kt)("a",{parentName:"p",href:"#channel-object"},"channel")," object for a given channel ID. Requires the ",(0,n.kt)("inlineCode",{parentName:"p"},"VIEW_CHANNEL")," permission for the guild. If the channel is a thread, a ",(0,n.kt)("a",{parentName:"p",href:"#thread-member-object"},"thread member")," object is included in the returned result."),(0,n.kt)(i,{method:"PATCH",url:"/channels/{channel.id}",supportsAuditReason:!0,mdxType:"RouteHeader"},"Modify Channel"),(0,n.kt)("p",null,"Updates a channel's settings. Returns a ",(0,n.kt)("a",{parentName:"p",href:"#channel-object"},"channel")," on success. Fires a ",(0,n.kt)("a",{parentName:"p",href:"/topics/gateway-events#channel-update"},"Channel Update")," or ",(0,n.kt)("a",{parentName:"p",href:"/topics/gateway-events#channel-update"},"Thread Update")," Gateway event."),(0,n.kt)("h6",null,"JSON Params"),(0,n.kt)("p",null,"If modifying a guild channel, requires the ",(0,n.kt)("inlineCode",{parentName:"p"},"MANAGE_CHANNELS")," permission for the guild. If modifying permission overwrites, the ",(0,n.kt)("inlineCode",{parentName:"p"},"MANAGE_ROLES")," permission is required. Only permissions you have in the guild or parent channel (if applicable) can be allowed/denied (unless you have a ",(0,n.kt)("inlineCode",{parentName:"p"},"MANAGE_ROLES")," overwrite in the channel). Fires a ",(0,n.kt)("a",{parentName:"p",href:"/topics/gateway-events#channel-update"},"Channel Update")," Gateway event. If modifying a category, individual ",(0,n.kt)("a",{parentName:"p",href:"/topics/gateway-events#channel-update"},"Channel Update")," events will fire for each child channel that also changes."),(0,n.kt)("p",null,"If modifying a thread and setting ",(0,n.kt)("inlineCode",{parentName:"p"},"archived")," to ",(0,n.kt)("inlineCode",{parentName:"p"},"false"),", when ",(0,n.kt)("inlineCode",{parentName:"p"},"locked")," is also ",(0,n.kt)("inlineCode",{parentName:"p"},"false"),", only the ",(0,n.kt)("inlineCode",{parentName:"p"},"SEND_MESSAGES")," permission is required. Otherwise, requires the ",(0,n.kt)("inlineCode",{parentName:"p"},"MANAGE_THREADS")," permission. Requires the thread to have ",(0,n.kt)("inlineCode",{parentName:"p"},"archived")," set to ",(0,n.kt)("inlineCode",{parentName:"p"},"false")," or be set to ",(0,n.kt)("inlineCode",{parentName:"p"},"false")," in the request. Fires a ",(0,n.kt)("a",{parentName:"p",href:"/topics/gateway-events#thread-update"},"Thread Update")," Gateway event."),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Field"),(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"),(0,n.kt)("th",{parentName:"tr",align:null},"Channel Type"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"name?"),(0,n.kt)("td",{parentName:"tr",align:null},"string"),(0,n.kt)("td",{parentName:"tr",align:null},"The name of the channel (1-100 characters)"),(0,n.kt)("td",{parentName:"tr",align:null},"Text, News, Voice, Category, Stage, Forum, Media, Thread, Group DM")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"type?"),(0,n.kt)("td",{parentName:"tr",align:null},"integer"),(0,n.kt)("td",{parentName:"tr",align:null},"The ",(0,n.kt)("a",{parentName:"td",href:"#channel-type"},"type of channel"),'; only conversion between text and news is supported and only in guilds with the "NEWS" feature'),
1(0,n.kt)("td",{parentName:"tr",align:null},"Text, News")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"position?"),(0,n.kt)("td",{parentName:"tr",align:null},"?integer"),(0,n.kt)("td",{parentName:"tr",align:null},"Sorting position of the channel"),(0,n.kt)("td",{parentName:"tr",align:null},"Text, News, Voice, Category, Stage, Forum, Media")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"topic?"),(0,n.kt)("td",{parentName:"tr",align:null},"?string"),(0,n.kt)("td",{parentName:"tr",align:null},"The channel topic (max 1024 characters)"),(0,n.kt)("td",{parentName:"tr",align:null},"Text, News, Stage, Forum, Media")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"icon?"),(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("a",{parentName:"td",href:"/reference#cdn-data"},"image data")),(0,n.kt)("td",{parentName:"tr",align:null},"The group DM's icon"),(0,n.kt)("td",{parentName:"tr",align:null},"Group DM")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"nsfw?"),(0,n.kt)("td",{parentName:"tr",align:null},"?boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"Whether the channel is NSFW"),(0,n.kt)("td",{parentName:"tr",align:null},"Text, News, Voice, Stage, Forum")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"rate_limit_per_user?"),(0,n.kt)("td",{parentName:"tr",align:null},"?integer"),(0,n.kt)("td",{parentName:"tr",align:null},"Duration in seconds a user has to wait before sending another message (max 21600); bots, as well as users with the permission ",(0,n.kt)("inlineCode",{parentName:"td"},"MANAGE_MESSAGES")," or ",(0,n.kt)("inlineCode",{parentName:"td"},"MANAGE_CHANNELS"),", are unaffected"),(0,n.kt)("td",{parentName:"tr",align:null},"Text, News, Voice, Stage, Forum, Media, Thread")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"bitrate? ",(0,n.kt)("sup",{parentName:"td"},"1"),""),(0,n.kt)("td",{parentName:"tr",align:null},"?integer"),(0,n.kt)("td",{parentName:"tr",align:null},"The bitrate (in bits) of the voice channel"),(0,n.kt)("td",{parentName:"tr",align:null},"Voice, Stage")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"user_limit? ",(0,n.kt)("sup",{parentName:"td"},"2"),""),(0,n.kt)("td",{parentName:"tr",align:null},"?integer"),(0,n.kt)("td",{parentName:"tr",align:null},"the user limit of the voice channel (max 99, 0 refers to no limit)"),(0,n.kt)("td",{parentName:"tr",align:null},"Voice, Stage")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"permission_overwrites?"),(0,n.kt)("td",{parentName:"tr",align:null},"?array[",(0,n.kt)("a",{parentName:"td",href:"#permission-overwrite-object"},"permission overwrite")," object]"),(0,n.kt)("td",{parentName:"tr",align:null},"Explicit permission overwrites for members and roles"),(0,n.kt)("td",{parentName:"tr",align:null},"Text, News, Voice, Category, Stage, Forum, Media")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"parent_id?"),(0,n.kt)("td",{parentName:"tr",align:null},"?snowflake"),(0,n.kt)("td",{parentName:"tr",align:null},"The ID of the parent category for the guild channel"),(0,n.kt)("td",{parentName:"tr",align:null},"Text, News, Voice, Stage, Forum, Media")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"owner?"),(0,n.kt)("td",{parentName:"tr",align:null},"?snowflake"),(0,n.kt)("td",{parentName:"tr",align:null},"The ID of the owner for the group DM"),(0,n.kt)("td",{parentName:"tr",align:null},"Group DM")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"rtc_region?"),(0,n.kt)("td",{parentName:"tr",align:null},"?string"),(0,n.kt)("td",{parentName:"tr",align:null},"The ",(0,n.kt)("a",{parentName:"td",href:"/resources/voice#voice-region-object"},"voice region")," ID for the voice channel (automatic when ",(0,n.kt)("inlineCode",{parentName:"td"},"null"),")"),(0,n.kt)("td",{parentName:"tr",align:null},"Voice, Stage")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"video_quality_mode?"),(0,n.kt)("td",{parentName:"tr",align:null},"?integer"),(0,n.kt)("td",{parentName:"tr",align:null},"The camera ",(0,n.kt)("a",{parentName:"td",href:"#video-quality-mode"},"video quality mode")," of the voice channel"),(0,n.kt)("td",{parentName:"tr",align:null},"Voice, Stage")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"default_auto_archive_duration?"),(0,n.kt)("td",{parentName:"tr",align:null},"?integer"),(0,n.kt)("td",{parentName:"tr",align:null},"Default duration in minutes for newly created threads to stop showing in the channel list after inactivity (one of 60, 1440, 4320, 10080)"),(0,n.kt)("td",{parentName:"tr",align:null},"Text, News, Forum, Media")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"default_thread_rate_limit_per_user?"),(0,n.kt)("td",{parentName:"tr",align:null},"integer"),(0,n.kt)("td",{parentName:"tr",align:null},"Default duration in seconds a user has to wait before sending another message in newly created threads; this field is copied to the thread at creation time and does not live update"),(0,n.kt)("td",{parentName:"tr",align:null},"Text, News, Forum, Media")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"auto_archive_duration?"),(0,n.kt)("td",{parentName:"tr",align:null},"integer"),(0,n.kt)("td",{parentName:"tr",align:null},"Duration in minutes to automatically archive the thread after recent activity (one of 60, 1440, 4320, 10080)"),(0,n.kt)("td",{parentName:"tr",align:null},"Thread")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"archived?"),(0,n.kt)("td",{parentName:"tr",align:null},"?boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"Whether the thread is archived"),(0,n.kt)("td",{parentName:"tr",align:null},"Thread")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"locked?"),(0,n.kt)("td",{parentName:"tr",align:null},"?boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"Whether the thread is locked; when a thread is locked, only users with ",(0,n.kt)("inlineCode",{parentName:"td"},"MANAGE_THREADS")," can unarchive it"),(0,n.kt)("td",{parentName:"tr",align:null},"Thread")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"invitable?"),(0,n.kt)("td",{parentName:"tr",align:null},"?boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"Whether non-moderators can add other non-moderators to a thread"),(0,n.kt)("td",{parentName:"tr",align:null},"Private Thread")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"flags?"),(0,n.kt)("td",{parentName:"tr",align:null},"integer"),(0,n.kt)("td",{parentName:"tr",align:null},"The ",(0,n.kt)("a",{parentName:"td",href:"#channel-flags"},"channel's flags")," (only ",(0,n.kt)("inlineCode",{parentName:"td"},"GUILD_FEED_REMOVED"),", ",(0,n.kt)("inlineCode",{parentName:"td"},"PINNED"),", ",(0,n.kt)("inlineCode",{parentName:"td"},"ACTIVE_CHANNELS_REMOVED"),", and ",(0,n.kt)("inlineCode",{parentName:"td"},"REQUIRE_TAG")," can be set)"),(0,n.kt)("td",{parentName:"tr",align:null},"All")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"available_tags? ",(0,n.kt)("sup",{parentName:"td"},"2"),""),(0,n.kt)("td",{parentName:"tr",align:null},"array[partial ",(0,n.kt)("a",{parentName:"td",href:"#forum-tag-object"},"tag")," object]"),(0,n.kt)("td",{parentName:"tr",align:null},"The tags that can be used in a thread-only channel (max 20)"),(0,n.kt)("td",{parentName:"tr",align:null},"Forum, Media")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"applied_tags?"),(0,n.kt)("td",{parentName:"tr",align:null},"array","[snowflake]"),(0,n.kt)("td",{parentName:"tr",align:null},"The IDs of tags that are applied to a thread in a thread-only channel (max 5)"),(0,n.kt)("td",{parentName:"tr",align:null},"Thread")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"default_reaction_emoji?"),(0,n.kt)("td",{parentName:"tr",align:null},"?",(0,n.kt)("a",{parentName:"td",href:"#default-reaction-object"},"default reaction")," object"),(0,n.kt)("td",{parentName:"tr",align:null},"The emoji to show in the add reaction button on a thread in a thread-only channel"),(0,n.kt)("td",{parentName:"tr",align:null},"Forum, Media")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"default_forum_layout?"),(0,n.kt)("td",{parentName:"tr",align:null},"integer"),(0,n.kt)("td",{parentName:"tr",align:null},"The default ",(0,n.kt)("a",{parentName:"td",href:"#forum-layout-type"},"layout")," of a forum channel"),(0,n.kt)("td",{parentName:"tr",align:null},"Forum")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"default_sort_order?"),(0,n.kt)("td",{parentName:"tr",align:null},"?integer"),(0,n.kt)("td",{parentName:"tr",align:null},"The default ",(0,n.kt)("a",{parentName:"td",href:"#sort-order-type"},"sort order")," of a thread-only channel's threads"),(0,n.kt)("td",{parentName:"tr",align:null},"Forum, Media")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"icon_emoji?"),(0,n.kt)("td",{parentName:"tr",align:null},"?",(0,n.kt)("a",{parentName:"td",href:"#icon-emoji-object"},"icon emoji")," object"),(0,n.kt)("td",{parentName:"tr",align:null},"The emoji to show next to the channel name in channels list"),(0,n.kt)("td",{parentName:"tr",align:null},"Text, News, Voice, Stage, Forum")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"theme_color?"),(0,n.kt)("td",{parentName:"tr",align:null},"?integer"),(0,n.kt)("td",{parentName:"tr",align:null},"The background color of the channel icon emoji encoded as an integer representation of hexadecimal color code"),(0,n.kt)("td",{parentName:"tr",align:null},"Text, News, Voice, Stage, Forum")))),(0,n.kt)("p",null,"",(0,n.kt)("sup",{parentName:"p"}
1,"1")," For stage channels, bitrate can only be set up to ",(0,n.kt)("strong",{parentName:"p"},"64 kbps"),". See the bitrate limits section in the ",(0,n.kt)("a",{parentName:"p",href:"#create-guild-channel"},"Create Guild Channel endpoint documentation")," for more information."),(0,n.kt)("p",null,"",(0,n.kt)("sup",{parentName:"p"},"2")," The maximum user limit for stage channels is always 10000 and cannot be set to 0."),(0,n.kt)("p",null,"",(0,n.kt)("sup",{parentName:"p"},"3")," Only the ",(0,n.kt)("inlineCode",{parentName:"p"},"name")," field is required (",(0,n.kt)("inlineCode",{parentName:"p"},"id")," may be passed to denote an existing tag)."),(0,n.kt)(i,{method:"DELETE",url:"/channels/{channel.id}",supportsAuditReason:!0,mdxType:"RouteHeader"},"Delete Channel"),(0,n.kt)("p",null,"Deletes a channel, or closes a private message. Requires the ",(0,n.kt)("inlineCode",{parentName:"p"},"MANAGE_CHANNELS")," permission for the guild, or ",(0,n.kt)("inlineCode",{parentName:"p"},"MANAGE_THREADS")," if the channel is a thread. Deleting a category does not delete its child channels; they will have their ",(0,n.kt)("inlineCode",{parentName:"p"},"parent_id")," removed and a ",(0,n.kt)("a",{parentName:"p",href:"/topics/gateway-events#channel-update"},"Channel Update")," Gateway event will fire for each of them. Returns a ",(0,n.kt)("a",{parentName:"p",href:"#channel-object"},"channel")," object on success. Fires a ",(0,n.kt)("a",{parentName:"p",href:"/topics/gateway-events#channel-delete"},"Channel Delete")," or ",(0,n.kt)("a",{parentName:"p",href:"/topics/gateway-events#thread-delete"},"Thread Delete")," Gateway event."),(0,n.kt)(l,{type:"warn",mdxType:"Alert"},(0,n.kt)("p",null,"Deleting a guild channel cannot be undone. Use this with caution, as it is impossible to undo this action when performed on a guild channel. In contrast, when used with a private message, it is possible to undo the action by opening a private message with the recipient again.")),(0,n.kt)(l,{type:"info",mdxType:"Alert"},(0,n.kt)("p",null,"For Community guilds, the Rules or Guidelines channel and the Community Updates channel cannot be deleted.")),(0,n.kt)("h6",null,"Query String Params"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Field"),(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"silent?"),(0,n.kt)("td",{parentName:"tr",align:null},"boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"Whether to leave the group DM without sending a system message (default false)")))),(0,n.kt)(i,{method:"DELETE",url:"/channels/{channel.id}/messages/ack",mdxType:"RouteHeader"},"Delete Read State"),(0,n.kt)("p",null,"Deletes a channel's read state for the current user. Returns a 204 empty response on success."),(0,n.kt)("p",null,"This should be used to delete various read states of channels the client has not been able to access for a while."),(0,n.kt)("h6",null,"JSON Params"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Field"),(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"version?"),(0,n.kt)("td",{parentName:"tr",align:null},"integer"),(0,n.kt)("td",{parentName:"tr",align:null},"The version of the read state feature you are using (default 1, should be 2 to allow the usage of read state types other than ",(0,n.kt)("inlineCode",{parentName:"td"},"CHANNEL"),")")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"read_state_type?"),(0,n.kt)("td",{parentName:"tr",align:null},"integer"),(0,n.kt)("td",{parentName:"tr",align:null},"The read state type to delete (default ",(0,n.kt)("inlineCode",{parentName:"td"},"CHANNEL"),")")))),(0,n.kt)(i,{method:"PUT",url:"/channels/{channel.i
1d}/voice-status",supportsAuditReason:!0,mdxType:"RouteHeader"},"Modify Channel Status"),(0,n.kt)("p",null,"Sets a voice channel's status. Requires the ",(0,n.kt)("inlineCode",{parentName:"p"},"SET_VOICE_CHANNEL_STATUS")," permission and additionally the ",(0,n.kt)("inlineCode",{parentName:"p"},"MANAGE_CHANNELS")," permission if the current user is not connected to the voice channel. Returns a 204 empty response on success. Fires a ",(0,n.kt)("a",{parentName:"p",href:"/topics/gateway-events#voice-channel-status-update"},"Voice Channel Status Update")," Gateway event."),(0,n.kt)("h6",null,"JSON Params"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Field"),(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"status"),(0,n.kt)("td",{parentName:"tr",align:null},"?string"),(0,n.kt)("td",{parentName:"tr",align:null},"The status of the voice channel (max 500 characters)")))),(0,n.kt)(i,{method:"PUT",url:"/channels/{channel.id}/permissions/{overwrite.id}",supportsAuditReason:!0,mdxType:"RouteHeader"},"Modify Channel Permissions"),(0,n.kt)("p",null,"Edits the channel permission overwrites for a user or role in a channel. Only usable for guild channels. Requires the ",(0,n.kt)("inlineCode",{parentName:"p"},"MANAGE_ROLES")," permission. Only permissions you have in the guild or parent channel (if applicable) can be allowed/denied (unless you have a ",(0,n.kt)("inlineCode",{parentName:"p"},"MANAGE_ROLES")," overwrite in the channel). Returns a 204 empty response on success. Fires a ",(0,n.kt)("a",{parentName:"p",href:"/topics/gateway-events#channel-update"},"Channel Update")," Gateway event. For more information about permissions, see ",(0,n.kt)("a",{parentName:"p",href:"/topics/permissions#permissions"},"permissions"),"."),(0,n.kt)("h6",null,"JSON Params"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Field"),(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"type"),(0,n.kt)("td",{parentName:"tr",align:null},"integer"),(0,n.kt)("td",{parentName:"tr",align:null},"Either 0 (role) or 1 (member)")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"allow?"),(0,n.kt)("td",{parentName:"tr",align:null},"string"),(0,n.kt)("td",{parentName:"tr",align:null},"The bitwise value of all ",(0,n.kt)("a",{parentName:"td",href:"/topics/permissions#permissions"},"allowed permissions"))),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"deny?"),(0,n.kt)("td",{parentName:"tr",align:null},"string"),(0,n.kt)("td",{parentName:"tr",align:null},"The bitwise value of all ",(0,n.kt)("a",{parentName:"td",href:"/topics/permissions#permissions"},"disallowed permissions"))))),(0,n.kt)(i,{method:"DELETE",url:"/channels/{channel.id}/permissions/{overwrite.id}",supportsAuditReason:!0,mdxType:"RouteHeader"},"Delete Channel Permission"),(0,n.kt)("p",null,"Deletes a channel permission overwrite for a user or role in a channel. Only usable for guild channels. Requires the ",(0,n.kt)("inlineCode",{parentName:"p"},"MANAGE_ROLES")," permission. Returns a 204 empty response on success. Fires a ",(0,n.kt)("a",{parentName:"p",href:"/topics/gateway-events#channel-update"},"Channel Update")," Gateway event. For more information about permissions, see ",(0,n.kt)("a",{parentName:"p",href:"/topics/permissions#permissions"},"permissions")),(0,n.kt)(i,{method:"POST",url:"/channels/{channel.id}/followers",mdxType:"RouteHeader"},"Follow Channel"),(0,n.kt)("p",null,"Follows a News Channel to send messages to a target channel. Requires the ",(0,n.kt)("inlineCode",{parentName:"p"},"MANAGE_WEBHOOKS")," permission in the target channel. Returns a ",(0,n.kt)("a",{parentName:"p",href:"#followed-channel-object"},"followed channel")," object on success. Fires a ",(0,n.kt)("a",{parentName:"p",href:"/topics/gateway-events#webhooks-update"},"Webhooks Update")," Gateway event for the target channel."),(0,n.kt)("h6",null,"JSON Params"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Field"),(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"webhook_channel_id"),(0,n.kt)("td",{parentName:"tr",align:null},"snowflake"),(0,n.kt)("td",{parentName:"tr",align:null},"The ID of the target channel")))),(0,n.kt)(i,{method:"POST",url:"/channels/{channel.i
1d}/typing",mdxType:"RouteHeader"},"Trigger Typing Indicator"),(0,n.kt)("p",null,"Posts a typing indicator for the specified channel. Returns a 204 empty response on success. Fires a ",(0,n.kt)("a",{parentName:"p",href:"/topics/gateway-events#typing-start"},"Typing Start")," Gateway event."),(0,n.kt)(l,{type:"info",mdxType:"Alert"},(0,n.kt)("p",null,"If the user has hit the specified per-user rate limit in the channel, the response will instead be a 200 OK with the below response body.")),(0,n.kt)(l,{type:"info",mdxType:"Alert"},(0,n.kt)("p",null,"Official clients expire a typing indicator 10 seconds after the last ",(0,n.kt)("a",{parentName:"p",href:"/topics/gateway-events#typing-start"},"Typing Start")," Gateway event.")),(0,n.kt)("h6",null,"Response Body"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Field"),(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"message_send_cooldown_ms?"),(0,n.kt)("td",{parentName:"tr",align:null},"number"),(0,n.kt)("td",{parentName:"tr",align:null},"Duration (in milliseconds) before the user can send another message")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"thread_create_cooldown_ms?"),(0,n.kt)("td",{parentName:"tr",align:null},"number"),(0,n.kt)("td",{parentName:"tr",align:null},"Duration (in milliseconds) before the user can create a new thread")))),(0,n.kt)(i,{method:"GET",url:"/channels/{channel.id}/call",supportsOAuth2:"voice",mdxType:"RouteHeader"},"Get Call Eligibility"),(0,n.kt)("p",null,"Checks if the current user is eligible to ring a call in the DM channel."),(0,n.kt)("h6",null,"Response Body"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Field"),(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"ringable"),(0,n.kt)("td",{parentName:"tr",align:null},"boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"Whether the user is additionally eligible to ring the other recipient(s)")))),(0,n.kt)(i,{method:"PATCH",url:"/channels/{channel.id}/call",mdxType:"RouteHeader"},"Modify Call"),(0,n.kt)("p",null,"Modifies the active call in the private channel. Returns a 204 empty response on success. Fires a ",(0,n.kt)("a",{parentName:"p",href:"/topics/gateway-events#call-update"},"Call Update")," Gateway event."),(0,n.kt)(l,{type:"info",mdxType:"Alert"},(0,n.kt)("p",null,"This endpoint requires an active call to do anything.")),(0,n.kt)("h6",null,"JSON Params"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Field"),(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"region?"),(0,n.kt)("td",{parentName:"tr",align:null},"string"),(0,n.kt)("td",{parentName:"tr",align:null},"The ",(0,n.kt)("a",{parentName:"td",href:"/resources/voice#voice-region-object"},"voice region")," ID for the call")))),(0,n.kt)(i,{method:"POST",url:"/channels/{channel.id}/call/ring",supportsOAuth2:"voice",mdxType:"RouteHeader"},"Ring Channel Recipients"),(0,n.kt)("p",null,"Rings the recipients of a private channel to notify them of an active call. Returns a 204 empty response on success. Fires a ",(0,n.kt)("a",{parentName:"p",href:"/topics/gateway-events#call-update"},"Call Update")," Gateway event."),(0,n.kt)(l,{type:"info",mdxType:"Alert"},(0,n.kt)("p",null,"This endpoint requires an active call to do anything.")),(0,n.kt)("h6",null,"JSON Params"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Field"),(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"recipients?"),(0,n.kt)("td",{parentName:"tr",align:null},"?array","[snowflake]"),(0,n.kt)("td",{parentName:"tr",align:null},"The recipients to ring (default all)")))),(0,n.kt)(i,{method:"POST",url:"/channels/{channel.i
1d}/call/stop-ringing",supportsOAuth2:"voice",mdxType:"RouteHeader"},"Stop Ringing Channel Recipients"),(0,n.kt)("p",null,"Stops ringing the recipients of a private channel. Returns a 204 empty response on success. Fires a ",(0,n.kt)("a",{parentName:"p",href:"/topics/gateway-events#call-update"},"Call Update")," Gateway event."),(0,n.kt)(l,{type:"info",mdxType:"Alert"},(0,n.kt)("p",null,"This endpoint requires an active call to do anything.")),(0,n.kt)("h6",null,"JSON Params"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Field"),(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"recipients?"),(0,n.kt)("td",{parentName:"tr",align:null},"?array","[snowflake]"),(0,n.kt)("td",{parentName:"tr",align:null},"The recipients to stop ringing")))),(0,n.kt)(i,{method:"PUT",url:"/channels/{channel.id}/recipients/{user.id}",mdxType:"RouteHeader"},"Add Channel Recipient"),(0,n.kt)("p",null,"Adds a recipient to a private channel."),(0,n.kt)("p",null,"If operating on a group DM, returns a 204 empty response on success. Fires a ",(0,n.kt)("a",{parentName:"p",href:"/topics/gateway-events#channel-recipient-add"},"Channel Recipient Add")," Gateway event."),(0,n.kt)("p",null,"If operating on a DM, returns a ",(0,n.kt)("a",{parentName:"p",href:"#channel-object"},"group DM channel")," object on success. Fires a ",(0,n.kt)("a",{parentName:"p",href:"/topics/gateway-events#channel-create"},"Channel Create")," Gateway event."),(0,n.kt)(l,{type:"info",mdxType:"Alert"},(0,n.kt)("p",null,"Using this endpoint on a DM will create a group DM with the current user, DM recipient, and the new recipient.\nThe received ",(0,n.kt)("a",{parentName:"p",href:"/topics/gateway-events#channel-create"},"Channel Create")," Gateway event will contain an extra ",(0,n.kt)("inlineCode",{parentName:"p"},"origin_channel_id")," field, which is the ID of the DM that was converted.")),(0,n.kt)(l,{type:"info",mdxType:"Alert"},(0,n.kt)("p",null,"Regular group DMs can have up to 10 recipients. Employee group DMs can have up to 25 recipients.")),(0,n.kt)(l,{type:"warn",mdxType:"Alert"},(0,n.kt)("p",null,"In a managed group DM, only the managing application can add recipients.")),(0,n.kt)("h6",null,"JSON Params"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Field"),(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"access_token? ",(0,n.kt)("sup",{parentName:"td"},"1"),""),(0,n.kt)("td",{parentName:"tr",align:null},"string"),(0,n.kt)("td",{parentName:"tr",align:null},"Access token of a user that has granted your app the ",(0,n.kt)("inlineCode",{parentName:"td"},"gdm.join")," scope")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"nick? ",(0,n.kt)("sup",{parentName:"td"},"2"),""),(0,n.kt)("td",{parentName:"tr",align:null},"string"),(0,n.kt)("td",{parentName:"tr",align:null},"Nickname of the user being added")))),(0,n.kt)("p",null,"",(0,n.kt)("sup",{parentName:"p"},"1")," Only required for OAuth2 requests."),(0,n.kt)("p",null,"",(0,n.kt)("sup",{parentName:"p"},"2")," Not applicable when operating on a DM."),(0,n.kt)(i,{method:"DELETE",url:"/channels/{channel.id}/recipients/{user.id}",mdxType:"RouteHeader"},"Remove Channel Recipient"),(0,n.kt)("p",null,"Removes a recipient from a group DM. Requires ownership of the target channel. Returns a 204 empty response on success. Fires a ",(0,n.kt)("a",{parentName:"p",href:"/topics/gateway-events#channel-recipient-remove"},"Channel Recipient Remove")," Gateway event."),(0,n.kt)(i,{method:"PUT",url:"/channels/{channel.id}/recipients/@me",mdxType:"RouteHeader"},"Update Message Request"),(0,n.kt)("p",null,"Modifies a message request's status. Returns a ",(0,n.kt)("a",{parentName:"p",href:"#channel-object"},"DM channel")," object on success. Fires a ",(0,n.kt)("a",{parentName:"p",href:"/topics/gateway-events#channel-update"},"Channel Update")," Gateway event."),(0,n.kt)(l,{type:"warn",mdxType:"Alert"},(0,n.kt)("p",null,"Consent statuses other than ",(0,n.kt)("inlineCode",{parentName:"p"},"ACCEPTED")," are only usable by Discord employees.")),(0,n.kt)("h6",null,"JSON Params"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Field"),(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"consent_status"),(0,n.kt)("td",{parentName:"tr",align:null},"integer"),(0,n.kt)("td",{parentName:"tr",align:null},"The new ",(0,n.kt)("a",{parentName:"td",href:"#consent-status"},"consent status"))))),(0,n.kt)("h5",null,"Consent Status"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Value"),(0,n.kt)("th",{parentName:"tr",align:null},"Name"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"0"),(0,n.kt)("td",{parentName:"tr",align:null},"UNSPECIFIED"),(0,n.kt)("td",{parentName:"tr",align:null},"The DM isn't a message request")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"1"),(0,n.kt)("td",{parentName:"tr",align:null},"PENDING"),(0,n.kt)("td",{parentName:"tr",align:null},"The message request is pending")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"2"),(0,n.kt)("td",{parentName:"tr",align:null},"ACCEPTED"),(0,n.kt)("td",{parentName:"tr",align:null},"The message request was accepted")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"3"),(0,n.kt)("td",{parentName:"tr",align:null},"REJECTED"),(0,n.kt)("td",{parentName:"tr",align:null},"The message request was rejected")))),(0,n.kt)(i,{method:"DELETE",url:"/channels/{channel.i
1d}/recipients/@me",mdxType:"RouteHeader"},"Reject Message Request"),(0,n.kt)("p",null,"Rejects and deletes a pending message request. Returns a ",(0,n.kt)("a",{parentName:"p",href:"#channel-object"},"DM channel")," object on success. Fires ",(0,n.kt)("a",{parentName:"p",href:"/topics/gateway-events#channel-update"},"Channel Update"),", Message ACK, ",(0,n.kt)("a",{parentName:"p",href:"/topics/gateway-events#channel-delete"},"Channel Delete"),", and optionally ",(0,n.kt)("a",{parentName:"p",href:"/topics/gateway-events#dm-settings-upsell-show"},"DM Settings Upsell Show")," Gateway events."),(0,n.kt)(i,{method:"PUT",url:"/channels/recipients/@me/batch-reject",mdxType:"RouteHeader"},"Batch Reject Message Requests"),(0,n.kt)("p",null,"Rejects and deletes multiple pending message requests. Returns a list of ",(0,n.kt)("a",{parentName:"p",href:"#channel-object"},"DM channel")," objects on success. Fires multiple ",(0,n.kt)("a",{parentName:"p",href:"/topics/gateway-events#channel-update"},"Channel Update"),", Message ACK, ",(0,n.kt)("a",{parentName:"p",href:"/topics/gateway-events#channel-delete"},"Channel Delete"),", and optionally ",(0,n.kt)("a",{parentName:"p",href:"/topics/gateway-events#dm-settings-upsell-show"},"DM Settings Upsell Show")," Gateway events."),(0,n.kt)("h6",null,"JSON Params"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Field"),(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"channel_ids"),(0,n.kt)("td",{parentName:"tr",align:null},"array","[snowflake]"),(0,n.kt)("td",{parentName:"tr",align:null},"The IDs of the message requests to reject (max 100)")))),(0,n.kt)(i,{method:"GET",url:"/users/@me/message-requests/supplemental-data",mdxType:"RouteHeader"},"Get Supplemental Message Request Data"),(0,n.kt)("p",null,"Returns a list of ",(0,n.kt)("a",{parentName:"p",href:"#supplemental-message-request-structure"},"supplemental message request")," objects with the message that triggered each message request."),(0,n.kt)("h6",null,"Query String Params"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Field"),(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"channel_ids"),(0,n.kt)("td",{parentName:"tr",align:null},"array","[snowflake]"),(0,n.kt)("td",{parentName:"tr",align:null},"The IDs of the message requests to fetch (1-25)")))),(0,n.kt)("h6",null,"Supplemental Message Request Structure"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Field"),(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"channel_id"),(0,n.kt)("td",{parentName:"tr",align:null},"snowflake"),(0,n.kt)("td",{parentName:"tr",align:null},"The ID of the message request")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"message_preview"),(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("a",{parentName:"td",href:"/resources/message#message-object"},"message")," object"),(0,n.kt)("td",{parentName:"tr",align:null},"The trigger message")))),(0,n.kt)(i,{method:"POST",url:"/channels/{channel.id}/blocked-user-warning-dismissal",mdxType:"RouteHeader"},"Acknowledge Blocked User Warning"),(0,n.kt)("p",null,"Acknowledges that a group DM contains users the current user has blocked. Returns a 200 empty response on success. Fires a ",(0,n.kt)("a",{parentName:"p",href:"/topics/gateway-events#channel-update"},"Channel Update")," Gateway event."),(0,n.kt)(i,{method:"POST",url:"/channels/{channel.i
1d}/safety-warnings/ack",mdxType:"RouteHeader"},"Acknowledge Safety Warnings"),(0,n.kt)("p",null,"Dismisses safety warnings in a DM. Returns a 200 empty response on success. Fires a ",(0,n.kt)("a",{parentName:"p",href:"/topics/gateway-events#channel-update"},"Channel Update")," Gateway event."),(0,n.kt)("h6",null,"JSON Params"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Field"),(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"warning_ids"),(0,n.kt)("td",{parentName:"tr",align:null},"array","[string]"),(0,n.kt)("td",{parentName:"tr",align:null},"The IDs of the warnings to dismiss (1-100)")))),(0,n.kt)(i,{method:"POST",url:"/channels/{channel.id}/add-safety-warning",mdxType:"RouteHeader"},"Add Safety Warning"),(0,n.kt)("p",null,"Adds a safety warning to a DM. Returns a 200 empty response on success. Fires a ",(0,n.kt)("a",{parentName:"p",href:"/topics/gateway-events#channel-update"},"Channel Update")," Gateway event."),(0,n.kt)(l,{type:"warn",mdxType:"Alert"},(0,n.kt)("p",null,"This endpoint is only usable by Discord employees.")),(0,n.kt)("h6",null,"JSON Params"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Field"),(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"safety_warning_type"),(0,n.kt)("td",{parentName:"tr",align:null},"integer"),(0,n.kt)("td",{parentName:"tr",align:null},"The ",(0,n.kt)("a",{parentName:"td",href:"#safety-warning-type"},"type of safety warning")," to add")))),(0,n.kt)(i,{method:"DELETE",url:"/channels/{channel.id}/safety-warnings",mdxType:"RouteHeader"},"Delete Safety Warnings"),(0,n.kt)("p",null,"Deletes all safety warnings in a DM. Returns a 200 empty response on success. Fires a ",(0,n.kt)("a",{parentName:"p",href:"/topics/gateway-events#channel-update"},"Channel Update")," Gateway event."),(0,n.kt)(l,{type:"warn",mdxType:"Alert"},(0,n.kt)("p",null,"This endpoint is only usable by Discord employees.")),(0,n.kt)(i,{method:"POST",url:"/channels/{channel.id}/safety-warning/report-false-positive",mdxType:"RouteHeader"},"Report Safety Warning False Positive"),(0,n.kt)("p",null,"Reports all safety warnings in a DM as false positives. Returns a 200 empty response on success. Fires a ",(0,n.kt)("a",{parentName:"p",href:"/topics/gateway-events#channel-update"},"Channel Update")," Gateway event."),(0,n.kt)(l,{type:"warn",mdxType:"Alert"},(0,n.kt)("p",null,"This endpoint is only usable by Discord employees.")),(0,n.kt)(i,{method:"GET",url:"/guilds/{guild.id}/threads/active",mdxType:"RouteHeader"},"Get Guild Active Threads"),(0,n.kt)("p",null,"Returns all active threads in the guild, including public and private threads. Threads are ordered by their ",(0,n.kt)("inlineCode",{parentName:"p"},"id"),", in descending order."),(0,n.kt)(l,{type:"warn",mdxType:"Alert"},(0,n.kt)("p",null,"This endpoint is not usable by user accounts.")),(0,n.kt)("h6",null,"Response Body"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Field"),(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"threads"),(0,n.kt)("td",{parentName:"tr",align:null},"array[",(0,n.kt)("a",{parentName:"td",href:"#channel-object"},"channel")," object]"),(0,n.kt)("td",{parentName:"tr",align:null},"The active threads")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"members"),(0,n.kt)("td",{parentName:"tr",align:null},"array[",(0,n.kt)("a",{parentName:"td",href:"#thread-member-object"},"thread members")," object]"),(0,n.kt)("td",{parentName:"tr",align:null},"A thread member object for each returned thread the current user has joined")))),(0,n.kt)(i,{method:"GET",url:"/channels/{channel.i
1d}/threads/active",deprecated:!0,mdxType:"RouteHeader"},"Get Active Threads"),(0,n.kt)("p",null,"Returns all active threads in the channel, including public and private threads. Threads are ordered by their ",(0,n.kt)("inlineCode",{parentName:"p"},"id"),", in descending order. User must be a member of the guild."),(0,n.kt)(l,{type:"warn",mdxType:"Alert"},(0,n.kt)("p",null,"This endpoint is not usable by user accounts.")),(0,n.kt)(l,{type:"warn",mdxType:"Alert"},(0,n.kt)("p",null,"This endpoint is deprecated and removed in v10. It is replaced by ",(0,n.kt)("a",{parentName:"p",href:"#get-guild-active-threads"},"Get Guild Active Threads"),".")),(0,n.kt)("h6",null,"Response Body"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Field"),(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"threads"),(0,n.kt)("td",{parentName:"tr",align:null},"array[",(0,n.kt)("a",{parentName:"td",href:"#channel-object"},"channel")," object]"),(0,n.kt)("td",{parentName:"tr",align:null},"The active threads")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"members"),(0,n.kt)("td",{parentName:"tr",align:null},"array[",(0,n.kt)("a",{parentName:"td",href:"#thread-member-object"},"thread member")," object]"),(0,n.kt)("td",{parentName:"tr",align:null},"A thread member object for each returned thread the current user has joined")))),(0,n.kt)(i,{method:"GET",url:"/channels/{channel.id}/threads/archived/public",mdxType:"RouteHeader"},"Get Public Archived Threads"),(0,n.kt)("p",null,"Returns archived threads in the channel that are public. When called on a ",(0,n.kt)("inlineCode",{parentName:"p"},"GUILD_TEXT")," channel, returns threads of ",(0,n.kt)("a",{parentName:"p",href:"#channel-type"},"type")," ",(0,n.kt)("inlineCode",{parentName:"p"},"PUBLIC_THREAD"),". When called on a ",(0,n.kt)("inlineCode",{parentName:"p"},"GUILD_NEWS")," channel returns threads of ",(0,n.kt)("a",{parentName:"p",href:"#channel-type"},"type")," ",(0,n.kt)("inlineCode",{parentName:"p"},"NEWS_THREAD"),". Threads are ordered by ",(0,n.kt)("inlineCode",{parentName:"p"},"archive_timestamp"),", in descending order. Requires the ",(0,n.kt)("inlineCode",{parentName:"p"},"READ_MESSAGE_HISTORY")," permission."),(0,n.kt)("h6",null,"Query String Params"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Field"),(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"before?"),(0,n.kt)("td",{parentName:"tr",align:null},"ISO8601 timestamp"),(0,n.kt)("td",{parentName:"tr",align:null},"Get threads before this timestamp")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"limit?"),(0,n.kt)("td",{parentName:"tr",align:null},"integer"),(0,n.kt)("td",{parentName:"tr",align:null},"Max number of threads to return (2-100, default 50)")))),(0,n.kt)("h6",null,"Response Body"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Field"),(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"threads"),(0,n.kt)("td",{parentName:"tr",align:null},"array[",(0,n.kt)("a",{parentName:"td",href:"#channel-object"},"channel")," object]"),(0,n.kt)("td",{parentName:"tr",align:null},"The public, archived threads")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"members"),(0,n.kt)("td",{parentName:"tr",align:null},"array[",(0,n.kt)("a",{parentName:"td",href:"#thread-member-object"},"thread member")," object]"),(0,n.kt)("td",{parentName:"tr",align:null},"A thread member object for each returned thread the current user has joined")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"has_more"),(0,n.kt)("td",{parentName:"tr",align:null},"boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"Whether there are potentially additional threads that could be returned on a subsequent call")))
1),(0,n.kt)(i,{method:"GET",url:"/channels/{channel.id}/threads/archived/private",mdxType:"RouteHeader"},"Get Private Archived Threads"),(0,n.kt)("p",null,"Returns archived threads in the channel that are of ",(0,n.kt)("a",{parentName:"p",href:"#channel-type"},"type")," ",(0,n.kt)("inlineCode",{parentName:"p"},"PRIVATE_THREAD"),". Threads are ordered by ",(0,n.kt)("inlineCode",{parentName:"p"},"archive_timestamp"),", in descending order. Requires both the ",(0,n.kt)("inlineCode",{parentName:"p"},"READ_MESSAGE_HISTORY")," and ",(0,n.kt)("inlineCode",{parentName:"p"},"MANAGE_THREADS")," permissions."),(0,n.kt)("h6",null,"Query String Params"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Field"),(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"before?"),(0,n.kt)("td",{parentName:"tr",align:null},"ISO8601 timestamp"),(0,n.kt)("td",{parentName:"tr",align:null},"Get threads before this timestamp")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"limit?"),(0,n.kt)("td",{parentName:"tr",align:null},"integer"),(0,n.kt)("td",{parentName:"tr",align:null},"Max number of threads to return (2-100, default 50)")))),(0,n.kt)("h6",null,"Response Body"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Field"),(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"threads"),(0,n.kt)("td",{parentName:"tr",align:null},"array[",(0,n.kt)("a",{parentName:"td",href:"#channel-object"},"channel")," object]"),(0,n.kt)("td",{parentName:"tr",align:null},"The private, archived threads")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"members"),(0,n.kt)("td",{parentName:"tr",align:null},"array[",(0,n.kt)("a",{parentName:"td",href:"#thread-member-object"},"thread member")," object]"),(0,n.kt)("td",{parentName:"tr",align:null},"A thread member object for each returned thread the current user has joined")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"has_more"),(0,n.kt)("td",{parentName:"tr",align:null},"boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"Whether there are potentially additional threads that could be returned on a subsequent call")))),(0,n.kt)(i,{method:"GET",url:"/channels/{channel.id}/users/@me/threads/archived/private",mdxType:"RouteHeader"},"Get Joined Private Archived Threads"),(0,n.kt)("p",null,"Returns archived threads in the channel that are of ",(0,n.kt)("a",{parentName:"p",href:"#channel-type"},"type")," ",(0,n.kt)("inlineCode",{parentName:"p"},"PRIVATE_THREAD"),", and the user has joined. Threads are ordered by their ",(0,n.kt)("inlineCode",{parentName:"p"},"id"),", in descending order. Requires the ",(0,n.kt)("inlineCode",{parentName:"p"},"READ_MESSAGE_HISTORY")," permission."),(0,n.kt)("h6",null,"Query String Params"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Field"),(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"before?"),(0,n.kt)("td",{parentName:"tr",align:null},"snowflake"),(0,n.kt)("td",{parentName:"tr",align:null},"Get threads before this channel ID")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"limit?"),(0,n.kt)("td",{parentName:"tr",align:null},"integer"),(0,n.kt)("td",{parentName:"tr",align:null},"Max number of threads to return (2-100, default 50)")))),(0,n.kt)("h6",null,"Response Body"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Field"),(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"threads"),(0,n.kt)("td",{parentName:"tr",align:null},"array[",(0,n.kt)("a",{parentName:"td",href:"#channel-object"},"channel")," object]"),(0,n.kt)("td",{parentName:"tr",align:null},"The private, archived threads the current user has joined")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"members"),(0,n.kt)("td",{parentName:"tr",align:null},"array[",(0,n.kt)("a",{parentName:"td",href:"#thread-member-object"},"thread member")," object]"),(0,n.kt)("td",{parentName:"tr",align:null},"A thread member object for each returned thread the current user has joined")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"has_more"),(0,n.kt)("td",{parentName:"tr",align:null},"boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"Whether there are potentially additional threads that could be returned on a subsequent call")))
1),(0,n.kt)(i,{method:"GET",url:"/channels/{channel.id}/threads/search",mdxType:"RouteHeader"},"Search Threads"),(0,n.kt)("p",null,"Returns threads in the channel that match the search parameters. Requires the ",(0,n.kt)("inlineCode",{parentName:"p"},"READ_MESSAGE_HISTORY")," permission."),(0,n.kt)("h6",null,"Query String Params"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Field"),(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"name?"),(0,n.kt)("td",{parentName:"tr",align:null},"string"),(0,n.kt)("td",{parentName:"tr",align:null},"Search query to look for matching threads (max 100 characters)")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"slop?"),(0,n.kt)("td",{parentName:"tr",align:null},"integer"),(0,n.kt)("td",{parentName:"tr",align:null},"Max number of words to skip between matching tokens in the search query (max 100, default 2)")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"tag?"),(0,n.kt)("td",{parentName:"tr",align:null},"array","[snowflake]"),(0,n.kt)("td",{parentName:"tr",align:null},"The tag IDs to filter results by (max 20)")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"tag_setting?"),(0,n.kt)("td",{parentName:"tr",align:null},"string"),(0,n.kt)("td",{parentName:"tr",align:null},"How to restrict the returned threads by tag (",(0,n.kt)("inlineCode",{parentName:"td"},"match_some")," or ",(0,n.kt)("inlineCode",{parentName:"td"},"match_all"),", default ",(0,n.kt)("inlineCode",{parentName:"td"},"match_some"),")")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"archived?"),(0,n.kt)("td",{parentName:"tr",align:null},"boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"Whether to restrict the search to only active or archived threads (default both)")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"sort_by?"),(0,n.kt)("td",{parentName:"tr",align:null},"string"),(0,n.kt)("td",{parentName:"tr",align:null},"The ",(0,n.kt)("a",{parentName:"td",href:"#thread-sort-type"},"sorting algorithm")," to use")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"sort_order?"),(0,n.kt)("td",{parentName:"tr",align:null},"string"),(0,n.kt)("td",{parentName:"tr",align:null},"The direction to sort (",(0,n.kt)("inlineCode",{parentName:"td"},"asc")," or ",(0,n.kt)("inlineCode",{parentName:"td"},"desc"),", default ",(0,n.kt)("inlineCode",{parentName:"td"},"desc"),")")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"limit?"),(0,n.kt)("td",{parentName:"tr",align:null},"integer"),(0,n.kt)("td",{parentName:"tr",align:null},"Max number of threads to return (1-25, default 25)")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"offset?"),(0,n.kt)("td",{parentName:"tr",align:null},"integer"),(0,n.kt)("td",{parentName:"tr",align:null},"Number of threads to skip before returning results (max 9975)")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"max_id?"),(0,n.kt)("td",{parentName:"tr",align:null},"snowflake"),(0,n.kt)("td",{parentName:"tr",align:null},"Get threads before this thread ID")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"min_id?"),(0,n.kt)("td",{parentName:"tr",align:null},"snowflake"),(0,n.kt)("td",{parentName:"tr",align:null},"Get threads after this thread ID")))),(0,n.kt)("h6",null,"Thread Sort Type"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Value"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"last_message_time"),(0,n.kt)("td",{parentName:"tr",align:null},"Sort by the last message sent in the thread (default)")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"archive_time"),(0,n.kt)("td",{parentName:"tr",align:null},"Sort by when the thread was last archived")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"relevance"),(0,n.kt)("td",{parentName:"tr",align:null},"Sort by relevance to the current user")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"creation_time"),(0,n.kt)("td",{parentName:"tr",align:null},"Sort by when the thread was created")))),(0,n.kt)("h6",null,"Response Body"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Field"),(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"threads"),(0,n.kt)("td",{parentName:"tr",align:null},"array[",(0,n.kt)("a",{parentName:"td",href:"#channel-object"},"channel")," object]"),(0,n.kt)("td",{parentName:"tr",align:null},"The threads that match the search parameters")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"members"),(0,n.kt)("td",{parentName:"tr",align:null},"array[",(0,n.kt)("a",{parentName:"td",href:"#thread-member-object"},"thread member")," object]"),(0,n.kt)("td",{parentName:"tr",align:null},"A thread member object for each returned thread the current user has joined")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"has_more"),(0,n.kt)("td",{parentName:"tr",align:null},"boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"Whether there are potentially additional threads that could be returned on a subsequent call")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"total_results"),(0,n.kt)("td",{parentName:"tr",align:null},"integer"),(0,n.kt)("td",{parentName:"tr",align:null},"The total number of threads that match the search parameters")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"first_messages? ",(0,n.kt)("sup",{parentName:"td"},"1"),""),(0,n.kt)("td",{parentName:"tr",align:null},"array[",(0,n.kt)("a",{parentName:"td",href:"/resources/message#message-object"},"message")," object]"),(0,n.kt)("td",{parentName:"tr",align:null},"The first messages of each thread")))),(0,n.kt)("p",null,"",(0,n.kt)("sup",{parentName:"p"},"1")," Only returned in thread-only channels."),(0,n.kt)(i,{method:"POST",url:"/channels/{channel.i
1d}/messages/{message.id}/threads",supportsAuditReason:!0,mdxType:"RouteHeader"},"Create Thread from Message"),(0,n.kt)("p",null,"Creates a new thread from an existing message. Returns a ",(0,n.kt)("a",{parentName:"p",href:"#channel-object"},"channel")," on success. Fires a ",(0,n.kt)("a",{parentName:"p",href:"/topics/gateway-events#thread-create"},"Thread Create")," and a ",(0,n.kt)("a",{parentName:"p",href:"/topics/gateway-events#message-update"},"Message Update")," Gateway event."),(0,n.kt)("p",null,"When called on a ",(0,n.kt)("inlineCode",{parentName:"p"},"GUILD_TEXT")," channel, creates a ",(0,n.kt)("inlineCode",{parentName:"p"},"PUBLIC_THREAD"),". When called on a ",(0,n.kt)("inlineCode",{parentName:"p"},"GUILD_NEWS")," channel, creates a ",(0,n.kt)("inlineCode",{parentName:"p"},"NEWS_THREAD"),"."),(0,n.kt)(l,{type:"info",mdxType:"Alert"},(0,n.kt)("p",null,"The ID of the created thread will be the same as the ID of the message, and as such a message can only have a single thread created from it.")),(0,n.kt)("h6",null,"JSON Params"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Field"),(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"name"),(0,n.kt)("td",{parentName:"tr",align:null},"string"),(0,n.kt)("td",{parentName:"tr",align:null},"The name of the channel (1-100 characters)")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"auto_archive_duration?"),(0,n.kt)("td",{parentName:"tr",align:null},"integer"),(0,n.kt)("td",{parentName:"tr",align:null},"Duration in minutes to stop showing in the channel list after inactivity (one of 60, 1440, 4320, 10080, default 4320)")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"rate_limit_per_user?"),(0,n.kt)("td",{parentName:"tr",align:null},"integer"),(0,n.kt)("td",{parentName:"tr",align:null},"Duration in seconds a user has to wait before sending another message (max 21600); bots, as well as users with the permission ",(0,n.kt)("inlineCode",{parentName:"td"},"MANAGE_MESSAGES")," or ",(0,n.kt)("inlineCode",{parentName:"td"},"MANAGE_CHANNELS"),", are unaffected")))),(0,n.kt)(i,{method:"POST",url:"/channels/{channel.id}/threads",supportsAuditReason:!0,mdxType:"RouteHeader"},"Create Thread"),(0,n.kt)("p",null,"Creates a new thread that is not connected to an existing message. Requires the ",(0,n.kt)("inlineCode",{parentName:"p"},"CREATE_PUBLIC_THREADS")," or ",(0,n.kt)("inlineCode",{parentName:"p"},"CREATE_PRIVATE_THREADS")," permission, depending on the type of thread being created.\nReturns a ",(0,n.kt)("a",{parentName:"p",href:"#channel-object"},"channel")," (with an optional extra ",(0,n.kt)("a",{parentName:"p",href:"/resources/message#message-object"},(0,n.kt)("inlineCode",{parentName:"a"},"message"))," key containing the starter message) on success. Fires a ",(0,n.kt)("a",{parentName:"p",href:"#channel-object"},"Thread Create")," Gateway event."),(0,n.kt)("p",null,"In thread-only channels:"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"The type of the created thread is ",(0,n.kt)("inlineCode",{parentName:"li"},"PUBLIC_THREAD"),"."),(0,n.kt)("li",{parentName:"ul"},"See ",(0,n.kt)("a",{parentName:"li",href:"/reference#message-formatting"},"message formatting")," for more information on how to properly format messages."),(0,n.kt)("li",{parentName:"ul"},"The current user must have the ",(0,n.kt)("inlineCode",{parentName:"li"},"SEND_MESSAGES")," permission (",(0,n.kt)("inlineCode",{parentName:"li"},"CREATE_PUBLIC_THREADS")," is ignored)."),(0,n.kt)("li",{parentName:"ul"},"The maximum request size when sending a message is ",(0,n.kt)("strong",{parentName:"li"},"100 MiB"),"."),(0,n.kt)("li",{parentName:"ul"},"For the embed object, you can set every field except ",(0,n.kt)("inlineCode",{parentName:"li"},"type")," (it will be ",(0,n.kt)("inlineCode",{parentName:"li"},"rich")," regardless of if you try to set it), ",(0,n.kt)("inlineCode",{parentName:"li"},"provider"),", ",(0,n.kt)("inlineCode",{parentName:"li"},"video"),", and any ",(0,n.kt)("inlineCode",{parentName:"li"},"height"),", ",(0,n.kt)("inlineCode",{parentName:"li"},"width"),", or ",(0,n.kt)("inlineCode",{parentName:"li"},"proxy_url")," values for images.")),(0,n.kt)("h6",null,"JSON Params"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Field"),(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"name"),(0,n.kt)("td",{parentName:"tr",align:null},"string"),(0,n.kt)("td",{parentName:"tr",align:null},"The name of the channel (1-100 characters)")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"auto_archive_duration?"),(0,n.kt)("td",{parentName:"tr",align:null},"integer"),(0,n.kt)("td",{parentName:"tr",align:null},"Duration in minutes to stop showing in the channel list after inactivity (one of 60, 1440, 4320, 10080, default 4320)")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"rate_limit_per_user?"),(0,n.kt)("td",{parentName:"tr",align:null},"integer"),(0,n.kt)("td",{parentName:"tr",align:null},"Duration in seconds a user has to wait before sending another message (max 21600); bots, as well as users with the permission ",(0,n.kt)("inlineCode",{parentName:"td"},"MANAGE_MESSAGES")," or ",(0,n.kt)("inlineCode",{parentName:"td"},"MANAGE_CHANNELS"),", are unaffected")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"type? ",(0,n.kt)("sup",{parentName:"td"},"1"),""),(0,n.kt)("td",{parentName:"tr",align:null},"integer"),(0,n.kt)("td",{parentName:"tr",align:null},"the ",(0,n.kt)("a",{parentName:"td",href:"#channel-type"},"type of thread")," to create (default ",(0,n.kt)("inlineCode",{parentName:"td"},"PRIVATE_THREAD"),")")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"invitable?"),(0,n.kt)("td",{parentName:"tr",align:null},"boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"Whether non-moderators can add other non-moderators to a thread; only available when creating a private thread")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"applied_tags?"),(0,n.kt)("td",{parentName:"tr",align:null},"array","[snowflake]"),(0,n.kt)("td",{parentName:"tr",align:null},"The IDs of the tags that are applied to a thread in a thread-only channel (max 5)")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"message? ",(0,n.kt)("sup",{parentName:"td"},"1"),""),(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("a",{parentName:"td",href:"#thread-only-channel-message-params-structure"},"thread-only channel message params")," object"),(0,n.kt)("td",{parentName:"tr",align:null},"Contents of the first message in the thread")))),(0,n.kt)("p",null,"",(0,n.kt)("sup",{parentName:"p"},"1")," In API v10, this will be changed to be a required field, with no default."),(0,n.kt)("p",null,"",(0,n.kt)("sup",{parentName:"p"},"2")," Required (and only available) when creating a thread in a thread-only channel."),(0,n.kt)("h6",null,"Thread-Only Channel Message Params Structure"),(0,n.kt)(l,{type:"info",mdxType:"Alert"},(0,n.kt)("p",null,"Note that when sending a message, you must provide a value for ",(0,n.kt)("strong",{parentName:"p"},"at least one of")," ",(0,n.kt)("inlineCode",{parentName:"p"},"content"),", ",(0,n.kt)("inlineCode",{parentName:"p"},"embeds"),", ",(0,n.kt)("inlineCode",{parentName:"p"},"components"),", ",(0,n.kt)("inlineCode",{parentName:"p"},"sticker_ids"),", ",(0,n.kt)("inlineCode",{parentName:"p"},"activity"),", or ",(0,n.kt)("inlineCode",{parentName:"p"},"files[n]"),".")),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Field"),(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"content?"),(0,n.kt)("td",{parentName:"tr",align:null},"string"),(0,n.kt)("td",{parentName:"tr",align:null},"The message contents (max 2000 characters)")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"embeds? ",(0,n.kt)("sup",{parentName:"td"},"2"),""),(0,n.kt)("td",{parentName:"tr",align:null},"array[",(0,n.kt)("a",{parentName:"td",href:"/resources/message#embed-object"},"embed")," object]"),(0,n.kt)("td",{parentName:"tr",align:null},"Embedded ",(0,n.kt)("inlineCode",{parentName:"td"},"rich")," content (max 6000 characters, max 10)")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"embed? ",(0,n.kt)("sup",{parentName:"td"},"2")," ",(0,n.kt)("strong",{parentName:"td"},"(deprecated)")),(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("a",{parentName:"td",href:"/resources/message#embed-object"},"embed")," object"),(0,n.kt)("td",{parentName:"tr",align:null},"Embedded ",(0,n.kt)("inlineCode",{parentName:"td"}
1,"rich")," content (max 6000 characters), deprecated in favor of ",(0,n.kt)("inlineCode",{parentName:"td"},"embeds"))),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"allowed_mentions?"),(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("a",{parentName:"td",href:"/resources/message#allowed-mentions-object"},"allowed mention")," object"),(0,n.kt)("td",{parentName:"tr",align:null},"Allowed mentions for the message")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"components? ",(0,n.kt)("sup",{parentName:"td"},"2"),""),(0,n.kt)("td",{parentName:"tr",align:null},"array[",(0,n.kt)("a",{parentName:"td",href:"/interactions/message-components#component-object"},"message component")," object]"),(0,n.kt)("td",{parentName:"tr",align:null},"Components to include with the message")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"sticker_ids?"),(0,n.kt)("td",{parentName:"tr",align:null},"array","[snowflake]"),(0,n.kt)("td",{parentName:"tr",align:null},"IDs of up to 3 ",(0,n.kt)("a",{parentName:"td",href:"/resources/sticker#sticker-object"},"stickers")," to send in the message")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"activity?"),(0,n.kt)("td",{parentName:"tr",align:null},(0,n.kt)("a",{parentName:"td",href:"/resources/message#message-activity-object"},"message activity")," object"),(0,n.kt)("td",{parentName:"tr",align:null},"The rich presence activity to invite users to")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"application_id?"),(0,n.kt)("td",{parentName:"tr",align:null},"snowflake"),(0,n.kt)("td",{parentName:"tr",align:null},"The application ID of the activity to create a rich presence invite for (defaults to the primary activity if unspecified)")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"flags?"),(0,n.kt)("td",{parentName:"tr",align:null},"integer"),(0,n.kt)("td",{parentName:"tr",align:null},"The ",(0,n.kt)("a",{parentName:"td",href:"/resources/message#message-flags"},"message's flags")," (only ",(0,n.kt)("inlineCode",{parentName:"td"},"SUPPRESS_EMBEDS"),", ",(0,n.kt)("inlineCode",{parentName:"td"},"SUPPRESS_NOTIFICATIONS"),", and ",(0,n.kt)("inlineCode",{parentName:"td"},"VOICE_MESSAGE")," can be set)")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"files","[n]","? ",(0,n.kt)("sup",{parentName:"td"},"1"),""),(0,n.kt)("td",{parentName:"tr",align:null},"file contents"),(0,n.kt)("td",{parentName:"tr",align:null},"Contents of the file being sent (max 10)")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"payload_json? ",(0,n.kt)("sup",{parentName:"td"},"1"),""),(0,n.kt)("td",{parentName:"tr",align:null},"string"),(0,n.kt)("td",{parentName:"tr",align:null},"JSON-encoded body of non-file params")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"attachments? ",(0,n.kt)("sup",{parentName:"td"},"1"),""),(0,n.kt)("td",{parentName:"tr",align:null},"array[partial ",(0,n.kt)("a",{parentName:"td",href:"/resources/message#attachment-object"},"attachment")," object]"),(0,n.kt)("td",{parentName:"tr",align:null},"Partial attachment objects with ",(0,n.kt)("inlineCode",{parentName:"td"},"filename")," and ",(0,n.kt)("inlineCode",{parentName:"td"},"description")," (max 10)")))),(0,n.kt)("p",null,"",(0,n.kt)("sup",{parentName:"p"},"1")," See ",(0,n.kt)("a",{parentName:"p",href:"/reference#uploading-files"},"Uploading Files")," for details."),(0,n.kt)("p",null,"",(0,n.kt)("sup",{parentName:"p"},"2")," Cannot be used by user accounts."),(0,n.kt)(i,{method:"POST",url:"/channels/{channel.id}/post-data",mdxType:"RouteHeader"},"Get Channel Post Data"),(0,n.kt)("p",null,"Returns a mapping of thread IDs to their ",(0,n.kt)("a",{parentName:"p",href:"#thread-post-data-structure"},"post data")," in a thread-only channel. Requires the ",(0,n.kt)("inlineCode",{parentName:"p"},"READ_MESSAGE_HISTORY")," permission."),(0,n.kt)("h6",null,"JSON Params"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Field"),(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"thread_ids"),(0,n.kt)("td",{parentName:"tr",align:null},"array","[snowflake]"),(0,n.kt)("td",{parentName:"tr",align:null},"The IDs of the threads to get post data for")))),(0,n.kt)("h6",null,"Response Body"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Field"),(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"threads"),(0,n.kt)("td",{parentName:"tr",align:null},"object"),(0,n.kt)("td",{parentName:"tr",align:null},"A mapping of thread IDs to their ",(0,n.kt)("a",{parentName:"td",href:"#thread-post-data-structure"},"post data"))))),(0,n.kt)("h6",null,"Thread Post Data Structure"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Field"),(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"owner"),(0,n.kt)("td",{parentName:"tr",align:null},"?",(0,n.kt)("a",{parentName:"td",href:"/resources/guild#guild-member-object"},"guild member")," object"),(0,n.kt)("td",{parentName:"tr",align:null},"The owner of the thread")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"first_message"),(0,n.kt)("td",{parentName:"tr",align:null},"?",(0,n.kt)("a",{parentName:"td",href:"/resources/message#message-object"},"message")," object"),(0,n.kt)("td",{parentName:"tr",align:null},"The first message in the thread")))),(0,n.kt)("h5",null,"Example Response"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-json"},'{\n "threads": {\n "1075957063890509894": {\n "first_message": null,\n "owner": null\n }\n }\n}
1\n')),(0,n.kt)(i,{method:"GET",url:"/channels/{channel.id}/thread-members",mdxType:"RouteHeader"},"Get Thread Members"),(0,n.kt)("p",null,"Returns an array of ",(0,n.kt)("a",{parentName:"p",href:"#thread-member-object"},"thread members")," objects that are members of the thread. Requires the ",(0,n.kt)("inlineCode",{parentName:"p"},"VIEW_CHANNEL")," permission."),(0,n.kt)(l,{type:"warn",mdxType:"Alert"},(0,n.kt)("p",null,"This endpoint is not usable by user accounts and is restricted according to whether the ",(0,n.kt)("inlineCode",{parentName:"p"},"GUILD_MEMBERS")," ",(0,n.kt)("a",{parentName:"p",href:"/topics/gateway#privileged-intents"},"Privileged Intent")," is enabled for the application.")),(0,n.kt)(l,{type:"warn",mdxType:"Alert"},(0,n.kt)("p",null,"Starting in API v11, this endpoint will always return paginated results. Paginated results can be enabled before API v11 by setting ",(0,n.kt)("inlineCode",{parentName:"p"},"with_member")," to ",(0,n.kt)("inlineCode",{parentName:"p"},"true"),".")),(0,n.kt)("h6",null,"Query String Params"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Field"),(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"with_member?"),(0,n.kt)("td",{parentName:"tr",align:null},"boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"Whether to include a guild member object for each thread member")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"after?"),(0,n.kt)("td",{parentName:"tr",align:null},"snowflake"),(0,n.kt)("td",{parentName:"tr",align:null},"Get thread members after this user ID")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"limit?"),(0,n.kt)("td",{parentName:"tr",align:null},"integer"),(0,n.kt)("td",{parentName:"tr",align:null},"Max number of thread members to return (1-100, default 100)")))),(0,n.kt)("p",null,"When ",(0,n.kt)("inlineCode",{parentName:"p"},"with_member")," is set to ",(0,n.kt)("inlineCode",{parentName:"p"},"true"),", the results will be paginated and each thread member object will include a ",(0,n.kt)("inlineCode",{parentName:"p"},"member")," field containing a ",(0,n.kt)("a",{parentName:"p",href:"/resources/guild#guild-member-object"},"guild member")," object. Else, pagination is not available."),(0,n.kt)(i,{method:"GET",url:"/channels/{channel.id}/thread-members/{user.id}",mdxType:"RouteHeader"},"Get Thread Member"),(0,n.kt)("p",null,"Returns a ",(0,n.kt)("a",{parentName:"p",href:"#thread-member-object"},"thread member")," object for the specified user if they are a member of the thread. Requires the ",(0,n.kt)("inlineCode",{parentName:"p"},"VIEW_CHANNEL")," permission."),(0,n.kt)(l,{type:"warn",mdxType:"Alert"},(0,n.kt)("p",null,"This endpoint is not usable by user accounts.")),(0,n.kt)("h6",null,"Query String Params"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Field"),(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"with_member?"),(0,n.kt)("td",{parentName:"tr",align:null},"boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"Whether to include a guild member object for the thread member")))),(0,n.kt)(i,{method:"PUT",url:"/channels/{channel.id}/thread-members/@me",mdxType:"RouteHeader"},"Join Thread"),(0,n.kt)("p",null,"Adds the current user to a thread. Requires the ",(0,n.kt)("inlineCode",{parentName:"p"},"VIEW_CHANNEL")," permission. Also requires the thread is not archived. Returns a 204 empty response on success. Fires a ",(0,n.kt)("a",{parentName:"p",href:"/topics/gateway-events#thread-members-update"},"Thread Members Update")," and a ",(0,n.kt)("a",{parentName:"p",href:"/topics/gateway-events#thread-create"},"Thread Create")," Gateway event."),(0,n.kt)(i,{method:"PUT",url:"/channels/{channel.i
1d}/thread-members/{user.id}",mdxType:"RouteHeader"},"Add Thread Member"),(0,n.kt)("p",null,"Adds another member to a thread. Requires the ",(0,n.kt)("inlineCode",{parentName:"p"},"SEND_MESSAGES")," permission. Also requires the thread is not archived. Returns a 204 empty response on success. Fires a ",(0,n.kt)("a",{parentName:"p",href:"/topics/gateway-events#thread-members-update"},"Thread Members Update")," Gateway event."),(0,n.kt)(i,{method:"PATCH",url:"/channels/{channel.id}/thread-members/@me/settings",mdxType:"RouteHeader"},"Modify Thread Settings"),(0,n.kt)("p",null,"Updates the current user's thread settings. User must be a member of the thread. Returns a ",(0,n.kt)("a",{parentName:"p",href:"#thread-member-object"},"thread member")," on success, or a 204 empty response if nothing changed. Fires a ",(0,n.kt)("a",{parentName:"p",href:"/topics/gateway-events#thread-member-update"},"Thread Member Update")," Gateway event."),(0,n.kt)("h6",null,"JSON Params"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Field"),(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"flags?"),(0,n.kt)("td",{parentName:"tr",align:null},"integer"),(0,n.kt)("td",{parentName:"tr",align:null},"The user's ",(0,n.kt)("a",{parentName:"td",href:"#thread-member-object"},"thread flags")," flags (all except the first can be set)")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"muted?"),(0,n.kt)("td",{parentName:"tr",align:null},"boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"Whether the user has muted the thread")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"mute_config?"),(0,n.kt)("td",{parentName:"tr",align:null},"?",(0,n.kt)("a",{parentName:"td",href:"/resources/user-settings#mute-config-object"},"mute config")," object"),(0,n.kt)("td",{parentName:"tr",align:null},"The mute metadata for the thread")))),(0,n.kt)(i,{method:"DELETE",url:"/channels/{channel.id}/thread-members/@me",mdxType:"RouteHeader"},"Leave Thread"),(0,n.kt)("p",null,"Removes the current user from a thread. Also requires the thread is not archived. Returns a 204 empty response on success. Fires a ",(0,n.kt)("a",{parentName:"p",href:"/topics/gateway-events#thread-members-update"},"Thread Members Update")," Gateway event."),(0,n.kt)(i,{method:"DELETE",url:"/channels/{channel.id}/thread-members/{user.id}",mdxType:"RouteHeader"},"Remove Thread Member"),(0,n.kt)("p",null,"Removes a member from a thread. Requires the ",(0,n.kt)("inlineCode",{parentName:"p"},"MANAGE_THREADS")," permission, or the creator of the thread if it is a ",(0,n.kt)("inlineCode",{parentName:"p"},"PRIVATE_THREAD"),". Also requires the thread is not archived. Returns a 204 empty response on success. Fires a ",(0,n.kt)("a",{parentName:"p",href:"/topics/gateway-events#thread-members-update"},"Thread Members Update")," Gateway event."),(0,n.kt)(i,{method:"POST",url:"/channels/{channel.id}/tags",supportsAuditReason:!0,mdxType:"RouteHeader"},"Create Channel Tag"),(0,n.kt)("p",null,"Creates a new tag in the thread-only channel. Requires the ",(0,n.kt)("inlineCode",{parentName:"p"},"MANAGE_CHANNELS")," permission. Returns a ",(0,n.kt)("a",{parentName:"p",href:"#channel-object"},"channel")," object on success. Fires a ",(0,n.kt)("a",{parentName:"p",href:"/topics/gateway-events#channel-update"},"Channel Update")," Gateway event."),(0,n.kt)("h6",null,"JSON Params"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Field"),(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"name"),(0,n.kt)("td",{parentName:"tr",align:null},"string"),(0,n.kt)("td",{parentName:"tr",align:null},"The name of the tag (max 20 characters)")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"moderated?"),(0,n.kt)("td",{parentName:"tr",align:null},"boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"Whether this tag can only be added to or removed from threads by members with the ",(0,n.kt)("inlineCode",{parentName:"td"},"MANAGE_THREADS")," permission (default false)")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"emoji_id? ",(0,n.kt)("sup",{parentName:"td"},"1"),""),(0,n.kt)("td",{parentName:"tr",align:null},"?snowflake"),(0,n.kt)("td",{parentName:"tr",align:null},"The ID of a guild's custom emoji")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"emoji_name? ",(0,n.kt)("sup",{parentName:"td"},"1"),""),(0,n.kt)("td",{parentName:"tr",align:null},"?string"),(0,n.kt)("td",{parentName:"tr",align:null},"The unicode character of the emoji")))),(0,n.kt)("p",null,"",(0,n.kt)("sup",{parentName:"p"},"1")," At most one of ",(0,n.kt)("inlineCode",{parentName:"p"},"emoji_id")," and ",(0,n.kt)("inlineCode",{parentName:"p"},"emoji_name")," may be set to a non-null value."),(0,n.kt)(i,{method:"PUT",url:"/channels/{channel.i
1d}/tags/{tag.id}",supportsAuditReason:!0,mdxType:"RouteHeader"},"Modify Channel Tag"),(0,n.kt)("p",null,"Replaces a tag in the thread-only channel. Requires the ",(0,n.kt)("inlineCode",{parentName:"p"},"MANAGE_CHANNELS")," permission. Returns a ",(0,n.kt)("a",{parentName:"p",href:"#channel-object"},"channel")," object on success. Fires a ",(0,n.kt)("a",{parentName:"p",href:"/topics/gateway-events#channel-update"},"Channel Update")," Gateway event."),(0,n.kt)("h6",null,"JSON Params"),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Field"),(0,n.kt)("th",{parentName:"tr",align:null},"Type"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"name"),(0,n.kt)("td",{parentName:"tr",align:null},"string"),(0,n.kt)("td",{parentName:"tr",align:null},"The name of the tag (max 20 characters)")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"moderated?"),(0,n.kt)("td",{parentName:"tr",align:null},"boolean"),(0,n.kt)("td",{parentName:"tr",align:null},"Whether this tag can only be added to or removed from threads by members with the ",(0,n.kt)("inlineCode",{parentName:"td"},"MANAGE_THREADS")," permission (default false)")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"emoji_id? ",(0,n.kt)("sup",{parentName:"td"},"1"),""),(0,n.kt)("td",{parentName:"tr",align:null},"?snowflake"),(0,n.kt)("td",{parentName:"tr",align:null},"The ID of a guild's custom emoji")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"emoji_name? ",(0,n.kt)("sup",{parentName:"td"},"1"),""),(0,n.kt)("td",{parentName:"tr",align:null},"?string"),(0,n.kt)("td",{parentName:"tr",align:null},"The unicode character of the emoji")))),(0,n.kt)("p",null,"",(0,n.kt)("sup",{parentName:"p"},"1")," At most one of ",(0,n.kt)("inlineCode",{parentName:"p"},"emoji_id")," and ",(0,n.kt)("inlineCode",{parentName:"p"},"emoji_name")," may be set to a non-null value."),(0,n.kt)(i,{method:"DELETE",url:"/channels/{channel.id}/tags/{tag.id}",supportsAuditReason:!0,mdxType:"RouteHeader"},"Delete Channel Tag"),(0,n.kt)("p",null,"Deletes a tag in the thread-only channel. Requires the ",(0,n.kt)("inlineCode",{parentName:"p"},"MANAGE_CHANNELS")," permission. Returns a ",(0,n.kt)("a",{parentName:"p",href:"#channel-object"},"channel")," object on success. Fires a ",(0,n.kt)("a",{parentName:"p",href:"/topics/gateway-events#channel-update"},"Channel Update")," Gateway event."))}m.isMDXComponent=!0}},function(t){t.O(0,[9774,2888,179],function(){return t(t.s=1347)}),_N_E=t.O()}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.