Support for discord.Object in Member.remove_roles and Member.add_roles
This commit is contained in:
parent
f554861e68
commit
be1cffb7c3
@ -36,6 +36,7 @@ from .game import Game
|
|||||||
from .permissions import Permissions
|
from .permissions import Permissions
|
||||||
from .enums import Status, try_enum
|
from .enums import Status, try_enum
|
||||||
from .colour import Colour
|
from .colour import Colour
|
||||||
|
from .object import Object
|
||||||
|
|
||||||
class VoiceState:
|
class VoiceState:
|
||||||
"""Represents a Discord user's voice state.
|
"""Represents a Discord user's voice state.
|
||||||
@ -494,7 +495,8 @@ class Member(discord.abc.Messageable, _BaseUser):
|
|||||||
Parameters
|
Parameters
|
||||||
-----------
|
-----------
|
||||||
\*roles
|
\*roles
|
||||||
An argument list of :class:`Role`\s to give the member.
|
An argument list of :class:`abc.Snowflake` representing a :class:`Role`
|
||||||
|
to give to the member.
|
||||||
reason: Optional[str]
|
reason: Optional[str]
|
||||||
The reason for adding these roles. Shows up on the audit log.
|
The reason for adding these roles. Shows up on the audit log.
|
||||||
|
|
||||||
@ -506,7 +508,7 @@ class Member(discord.abc.Messageable, _BaseUser):
|
|||||||
Adding roles failed.
|
Adding roles failed.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
new_roles = utils._unique(r for s in (self.roles[1:], roles) for r in s)
|
new_roles = utils._unique(Object(id=r.id) for s in (self.roles[1:], roles) for r in s)
|
||||||
yield from self.edit(roles=new_roles, reason=reason)
|
yield from self.edit(roles=new_roles, reason=reason)
|
||||||
|
|
||||||
@asyncio.coroutine
|
@asyncio.coroutine
|
||||||
@ -521,7 +523,8 @@ class Member(discord.abc.Messageable, _BaseUser):
|
|||||||
Parameters
|
Parameters
|
||||||
-----------
|
-----------
|
||||||
\*roles
|
\*roles
|
||||||
An argument list of :class:`Role`\s to remove from the member.
|
An argument list of :class:`abc.Snowflake` representing a :class:`Role`
|
||||||
|
to remove from the member.
|
||||||
reason: Optional[str]
|
reason: Optional[str]
|
||||||
The reason for removing these roles. Shows up on the audit log.
|
The reason for removing these roles. Shows up on the audit log.
|
||||||
|
|
||||||
@ -533,10 +536,10 @@ class Member(discord.abc.Messageable, _BaseUser):
|
|||||||
Removing the roles failed.
|
Removing the roles failed.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
new_roles = self.roles[1:] # remove @everyone
|
new_roles = [Object(id=r.id) for r in self.roles[1:]] # remove @everyone
|
||||||
for role in roles:
|
for role in roles:
|
||||||
try:
|
try:
|
||||||
new_roles.remove(role)
|
new_roles.remove(Object(id=role.id))
|
||||||
except ValueError:
|
except ValueError:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user