feat: Add spoiler channel flag and functions - #3252
Conversation
|
Thanks for opening this pull request! This pull request can be checked-out with: git fetch origin pull/3252/head:pr-3252
git checkout pr-3252This pull request can be installed with: pip install git+https://github.com/Pycord-Development/pycord@refs/pull/3252/head |
Lulalaby
left a comment
There was a problem hiding this comment.
Can someone request changes reminding me to add editing & creating channels with that flag
and whatever else i may have forgotten
Soheab
left a comment
There was a problem hiding this comment.
Needs a way for bots to create this kind of channel
This message was sponsored by toothyfernsan on discord.
|
I tested it with all but MediaChannels since I don't have access to those anywhere, but I'd still like a second pair of testing eyes on this |
|
Also, creating a channel with this turned on isn't possible unfortunately, gotta create + edit |
# Conflicts: # CHANGELOG.md
Signed-off-by: Lala Sabathil <lala@pycord.dev>
Signed-off-by: Lala Sabathil <lala@pycord.dev>
This comment was marked as resolved.
This comment was marked as resolved.
| Whether the channel should be a spoiler channel. Mutually exclusive with :attr:`nsfw`, although | ||
| this will convert an nsfw channel into a spoiler channel. |
There was a problem hiding this comment.
| Whether the channel should be a spoiler channel. Mutually exclusive with :attr:`nsfw`, although | |
| this will convert an nsfw channel into a spoiler channel. | |
| Whether the channel should be a spoiler channel. | |
| .. warning:: | |
| This cannot be enabled alongside :attr:`nsfw`. Applying this to an existing NSFW channel will convert it into a spoiler channel. | |
There was a problem hiding this comment.
Something along those lines.
| @@ -1524,6 +1564,13 @@ async def create_text_channel( | |||
| The default auto archive duration in minutes for threads created in this channel. | |||
|
|
|||
| .. versionadded:: 2.7 | |||
| spoiler: :class:`bool` | |||
| Whether the channel is marked as a spoiler channel. | |||
|
|
|||
| .. versionadded:: 2.9 | |||
|
|
|||
| .. warning:: | |||
| Passing both this and ``nsfw`` as ``True`` will mark the channel as NSFW and ignore the spoiler flag. | |||
There was a problem hiding this comment.
What if we raised an error instead because passing both is impossible.
There was a problem hiding this comment.
Passing both to the API does work fine and causes the noted behavior
There was a problem hiding this comment.
Yeah and imo warning is better here because we shouldn't assume a specific behavior is disallowed just because it doesn't work. Let Bad Request from discord cascade if it ever becomes a thing
|
|
||
| - Added `Member.vr_status` property. | ||
| ([#3328](https://github.com/Pycord-Development/pycord/pull/3328)) | ||
| - Added spoiler channel functionality |
There was a problem hiding this comment.
| - Added spoiler channel functionality | |
| - Added Spoiler Channels. |
There was a problem hiding this comment.
I made it lowercase cause that seems to be the convention in the rest of the docs
|
@ToothyDev Can you add to the PR body a link to the discord api docs PR for it ? |
|
The Stage Channel edit is a weird case and I'm not sure what to prefer here. The existing edit function doesn't even allow |
Signed-off-by: ToothyDev <55001472+ToothyDev@users.noreply.github.com>
Paillat-dev
left a comment
There was a problem hiding this comment.
In the warn()s you use NSFW in all caps, and mention that the channel will "become" even when it doesn't exist yet.
A better wording would indicate that the two parameters (with their python name) are exclusive, and which of the two will be ignored.
Summary
This adds
ChannelFlags.is_spoiler_channel(following https://docs.discord.food/resources/channel#channel-flags) as well as a.spoilerproperty to all applicable channel types (all except category). Same goes for making it possible to create these channels via the regular channel creation methods, again with the exception of category channels. Channel editing with this flag is also functional.Now that it's officially documented, here's the ddocs PR: discord/discord-api-docs#8465
Depends on discord/discord-api-docs#8465
Information
examples, ...).
Checklist
type: ignorecomments were used, a comment is also left explaining why.