payload: {"action":"opened","issue":{"url":"https://api.github.com/repos/discordapp/discord-api-docs/issues/1277","repository_url":"https://api.github.com/repos/discordapp/discord-api-docs","labels_url":"https://api.github.com/repos/discordapp/discord-api-docs/issues/1277/labels{/name}","comments_url":"https://api.github.com/repos/discordapp/discord-api-docs/issues/1277/comments","events_url":"https://api.github.com/repos/discordapp/discord-api-docs/issues/1277/events","html_url":"https://github.com/discordapp/discord-api-docs/issues/1277","id":541822965,"node_id":"MDU6SXNzdWU1NDE4MjI5NjU=","number":1277,"title":"Documentation and clarification needed for some channel type differences","user":{"login":"SinisterRectus","id":11720541,"node_id":"MDQ6VXNlcjExNzIwNTQx","avatar_url":"https://avatars1.githubusercontent.com/u/11720541?v=4","gravatar_id":"","url":"https://api.github.com/users/SinisterRectus","html_url":"https://github.com/SinisterRectus","followers_url":"https://api.github.com/users/SinisterRectus/followers","following_url":"https://api.github.com/users/SinisterRectus/following{/other_user}","gists_url":"https://api.github.com/users/SinisterRectus/gists{/gist_id}","starred_url":"https://api.github.com/users/SinisterRectus/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SinisterRectus/subscriptions","organizations_url":"https://api.github.com/users/SinisterRectus/orgs","repos_url":"https://api.github.com/users/SinisterRectus/repos","events_url":"https://api.github.com/users/SinisterRectus/events{/privacy}","received_events_url":"https://api.github.com/users/SinisterRectus/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2019-12-23T16:33:50Z","updated_at":"2019-12-23T16:33:50Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"In #1262, I documented missing guild properties highlighted by #1238. For the `rules_channel_id` that I added and for other `*_channel_id` properties that are already documented, there is no indication of what type of channel these may or must be.\r\n\r\nFor example, in the Discord API server, someone asked whether the rules channel (defined by `guild.rules_channel_id`) can be an announcement/news channel (`type = 5`). Looking in the Discord client, it seems that announcement/news channels are not among the channels available for setting a rule channel. Additionally, attempting to set any channel type other than a text channel appears to result in an undefined `rules_channel_id` with a 2xx response.\r\n\r\n1. Are announcement/news channels purposefully disallowed as rules channels?\r\n2. When mutating `rules_channel_id`, is the 2xx HTTP response intentional for non-text types, or should this be a 4xx?\r\n3. We need to document the mutability of `rules_channel_id` in the table of properties for the modify guild endpoint. I forgot to do this in #1262.\r\n4. We should probably confirm and document the allowed types for `rules_channel_id` other mutable types such as `afk_channel_id` and `system_channel_id`.\r\n\r\nI also have some concerns left over from #881. I left a comment there after the issue was closed. I will reintroduce it here for visibility.\r\n\r\n5. The modify channel endpoint properties table needs to be updated. It currently only accounts for \"text\" and \"voice\" types (which are not the only types) and \"all\" (which is made ambiguous by the existence of other types). The table also does not include the `type` property, which is now sometimes mutable.\r\n\r\n6. Position and sorting documentation needs improving. Which channel types are sorted in which buckets? Previously, all types were sorted independently, but this is not true since the addition of announcement/news (and maybe store types?).\r\n\r\n7. It may be helpful to include a type information in other places such as the channel object/structure or endpoint descriptions. This exists for the invite endpoints, which include only \"guild channels\", but there is no strict definition for which types are included in \"guild channel\"."}}
other: {"actor":{"display_login":"SinisterRectus"}}