Commit Graph

188 Commits

Author SHA1 Message Date
Rapptz
74e1ab09a0 Remove channel type coercion in factory methods
This caused unnecessary isinstance checks which were slowing down
channel creation at scale
2021-07-07 20:19:17 -04:00
Alex Nørgaard
d1dc41ec2f Fix Client.fetch_channel not returning Thread 2021-07-03 21:35:31 -04:00
Rapptz
8b4dd34328 Document TextChannel.start_thread return type 2021-07-03 11:52:20 -04:00
Rapptz
62dad0f7bf Fix potential None access in various StageChannel properties 2021-06-30 01:31:57 -04:00
Rapptz
ea1d423904 Check for None in VocalGuildChannel.voice_states 2021-06-29 23:16:39 -04:00
Rapptz
2beee8be14 Type hint channel.py 2021-06-29 03:37:52 -04:00
Lilly Rose Berner
b59ec318c0 Fix Category.create_x_channel raising without overwrites 2021-06-28 00:00:51 -04:00
Josh
233d10649c [docs] Update Sphinx and Fix various references
Co-Authored-By: Riley Shaw <30989490+ShineyDev@users.noreply.github.com>
2021-06-27 23:43:49 -04:00
Rapptz
7dccbace78 Refactor Guild to support type hints
This patch also does the following:

* Sets some parameters to be positional only
* Changes Guild.edit to use the MISSING sentinel
* Changes the various create_channel methods to be type safe
* Changes many parameters from Optional[T] to use MISSING
* Changes Guild.create_role to use MISSING sentinel

This refactor is mostly partial but lays a decent foundation
2021-06-08 10:56:26 -04:00
Rapptz
4b51e3e253 Add TextChannel.active_threads 2021-06-08 07:26:22 -04:00
Rapptz
d0d2d7ea62 Clarify actions that require manage_threads permission 2021-06-08 07:26:22 -04:00
Rapptz
3a421a3eb9 Add TextChannel.get_thread shortcut helper 2021-06-08 07:26:22 -04:00
Rapptz
b2176dc0ef Change how threads are created
Instead of start_public_thread and start_private_thread they'll now be
one method.

I might revert this if starting a public thread without a message never
ends up happening.
2021-06-08 07:26:22 -04:00
Rapptz
51cc7622a6 TextChannel.archived_threads is not a coroutine 2021-06-08 07:25:40 -04:00
Rapptz
7c6724fdd7 Fix typo in start_private_thread
This also renames archive_threads to archived_threads
2021-06-08 07:25:40 -04:00
Rapptz
c1ce3b949f Implement remaining HTTP endpoints on threads
I'm not sure if I missed any -- but this is the entire documented set
so far.
2021-06-08 07:25:30 -04:00
Rapptz
68c7c538f5 First pass at preliminary thread support
This is missing a lot of functionality right now, such as two gateway
events and all the HTTP CRUD endpoints.
2021-06-08 07:23:40 -04:00
Rapptz
5c2945bcd4 Fix AttributeError in is_nsfw() methods 2021-06-08 05:37:10 -04:00
Rapptz
27556ea0a2 Fix DM channel permissions not having read_messages 2021-06-05 02:53:30 -04:00
Nadir Chowdhury
9f98a9a87f Implement StageInstance 2021-05-30 13:51:52 -04:00
Nadir Chowdhury
757cfad38f Type up **kwargs of various methods 2021-05-10 20:24:48 -04:00
Sebastian Law
b82a0dc6fd [docs] remove mentions of bot only usability 2021-05-04 07:21:59 -04:00
Nadir Chowdhury
1d7f387122 [docs] stage_channels doc typo 2021-04-21 23:18:49 -04:00
z03h
304229071f Add VoiceChannel.video_quality_mode 2021-04-17 08:10:41 -04:00
Rapptz
9eaf1e85e4 Rewrite Asset design
This is a breaking change.

This does the following transformations, assuming `asset` represents
an asset type.

Object.is_asset_animated() => Object.asset.is_animated()
Object.asset => Object.asset.key
Object.asset_url => Object.asset_url
Object.asset_url_as => Object.asset.replace(...)

Since the asset type now requires a key (or hash, if you will),
Emoji had to be flattened similar to how Attachment was done since
these assets are keyed solely ID.

Emoji.url (Asset) => Emoji.url (str)
Emoji.url_as => removed
Emoji.url.read => Emoji.read
Emoji.url.save => Emoji.save

This transformation was also done to PartialEmoji.
2021-04-16 11:27:23 -04:00
Robin
30310b9ab6 Add NSFW for Guilds 2021-04-14 00:48:51 -04:00
Rapptz
a8b3cfa592 Remove comment that doesn't apply anymore 2021-04-11 22:20:31 -04:00
Rapptz
9b94fe1ce0 Remove superfluous unused payload parameter 2021-04-11 22:13:48 -04:00
Rapptz
7bdaa793f6 Create temporary DMChannels from message create events
This allows for DMChannels to work without falling back to the
Object error case since there is enough information to build a pseudo
DMChannel object.

This is a breaking change since it changes the type of
DMChannel.recipient to Optional[User] for when this faux object is
created.
2021-04-11 22:09:10 -04:00
Rapptz
99fc950510 Use f-strings in more places that were missed. 2021-04-08 06:02:47 -04:00
Rapptz
54288879e2 Remove userbot functionality
This has a lot of legacy and cruft so there may be some stuff I've
missed but this first pass is enough to get a clear separation.
2021-04-04 10:15:30 -04:00
Rapptz
9d39b135f4 Modernize code to use f-strings
This also removes the encoding on the top, since Python 3 does it by
default. It also changes some methods to use `yield from`.
2021-04-04 07:03:53 -04:00
Rapptz
efc30a146e Guard for None in VocalGuildChannel.members 2021-04-03 23:08:03 -04:00
Nadir Chowdhury
1b2688518e Implement StageChannel and related methods 2021-04-03 22:43:41 -04:00
Tarek
6524869ddd Implement voice region changing for voice channels 2021-04-01 03:49:45 -04:00
Rapptz
a30ad6acf2 Ignore moving category channels to another category 2021-03-30 03:51:06 -04:00
Sebastian Law
d6501159e7 [docs] copy signature from overridden and inherited methods 2021-03-29 23:52:14 -04:00
Nadir Chowdhury
427e387a2f Deprecate non-bot methods 2021-02-23 03:36:37 -05:00
SuzuZusu
491b426205 Fix documentation with reference in GroupChannel.permissions_for 2021-02-17 04:16:38 -05:00
Nihaal Sangha
69bdc3a184 Change copyright year to present 2021-01-15 05:28:11 -05:00
Rapptz
52d587d286 Allow PartialMessage to work with DM channels as well 2020-12-11 02:32:51 -05:00
Rapptz
3fe6d261f1 Add PartialMessage to allow working with channel/message_id pairs.
Fix #5905
2020-12-11 00:32:38 -05:00
Rapptz
44dc7a8e02 Add support for editing and deleting webhook messages.
Fix #6058
2020-12-09 20:15:35 -05:00
SebbyLaw
2e2560126f Implement icon_rl_as and cover_image_url_as for AppInfo 2020-11-21 21:11:47 -05:00
Michael
93fa46713a Fix and add documentation 2020-09-23 03:19:35 -04:00
Nadir Chowdhury
e971e2f16c Allow more methods to set an audit log reason 2020-06-30 23:35:42 -04:00
Skezza
c3bca7ec73 Documentation formatting 2020-06-30 23:32:00 -04:00
Sebastian Law
b4b953bfc6 Fix various inconsistencies within the documentation (#5067) 2020-06-28 03:45:58 -04:00
NCPlayz
bd1420b5f0 Allow editing of channel types for news and text channels 2020-05-29 23:21:59 -04:00
Steve C
128c9f4eb8 Use GuildChannel abc for CategoryChannel edit
I noticed nothing happened when I did
`ch.edit(overwrites=oh.overwrites)`

`http.edit_channel` doesn't do anything with the `overwrites` keyword,
it's processed as `permission_overwrites` instead which `self._edit`
takes care of.

I feel this was an oversight at some point.
2020-05-10 17:00:24 -04:00