Add support for voice channel parties #33

Closed
wasi-master wants to merge 277 commits from master into 2.0
142 changed files with 7345 additions and 22156 deletions
Showing only changes of commit cb211c36bd - Show all commits

View File

@ -392,6 +392,10 @@ class Client:
in the guild is larger than 250. You can check if a guild is large
if :attr:`.Guild.large` is ``True``.
.. warning::
This method is deprecated.
Parameters
-----------
\*guilds: :class:`.Guild`
@ -400,12 +404,13 @@ class Client:
Raises
-------
:exc:`.InvalidArgument`
If any guild is unavailable or not large in the collection.
If any guild is unavailable in the collection.
"""
if any(not g.large or g.unavailable for g in guilds):
raise InvalidArgument('An unavailable or non-large guild was passed.')
if any(g.unavailable for g in guilds):
raise InvalidArgument('An unavailable guild was passed.')
await self._connection.request_offline_members(guilds)
for guild in guilds:
await self._connection.chunk_guild(guild)
# hooks

View File

@ -346,6 +346,10 @@ class AutoShardedClient(Client):
in the guild is larger than 250. You can check if a guild is large
if :attr:`Guild.large` is ``True``.
.. warning::
This method is deprecated.
Parameters
-----------
\*guilds: :class:`Guild`
@ -354,15 +358,15 @@ class AutoShardedClient(Client):
Raises
-------
InvalidArgument
If any guild is unavailable or not large in the collection.
If any guild is unavailable in the collection.
"""
if any(not g.large or g.unavailable for g in guilds):
if any(g.unavailable for g in guilds):
raise InvalidArgument('An unavailable or non-large guild was passed.')
_guilds = sorted(guilds, key=lambda g: g.shard_id)
for shard_id, sub_guilds in itertools.groupby(_guilds, key=lambda g: g.shard_id):
sub_guilds = list(sub_guilds)
await self._connection.request_offline_members(sub_guilds, shard_id=shard_id)
for guild in sub_guilds:
await self._connection.chunk_guild(guild)
async def launch_shard(self, gateway, shard_id, *, initial=False):
try: