Member.roles array now has the default role as the first element.
This commit is contained in:
parent
e10b6c767b
commit
df3cb831a9
@ -139,7 +139,7 @@ class Channel(object):
|
|||||||
if member.id == self.server.owner.id:
|
if member.id == self.server.owner.id:
|
||||||
return Permissions.all()
|
return Permissions.all()
|
||||||
|
|
||||||
default = self.server.get_default_role()
|
default = member.roles[0]
|
||||||
base = deepcopy(default.permissions)
|
base = deepcopy(default.permissions)
|
||||||
|
|
||||||
# Apply server roles that the member has.
|
# Apply server roles that the member has.
|
||||||
@ -155,7 +155,7 @@ class Channel(object):
|
|||||||
# Apply channel specific role permission overwrites
|
# Apply channel specific role permission overwrites
|
||||||
for overwrite in self._permission_overwrites:
|
for overwrite in self._permission_overwrites:
|
||||||
if overwrite.type == 'role':
|
if overwrite.type == 'role':
|
||||||
if overwrite.id in member_role_ids or overwrite.id == self.server.id:
|
if overwrite.id in member_role_ids:
|
||||||
base.handle_overwrite(allow=overwrite.allow, deny=overwrite.deny)
|
base.handle_overwrite(allow=overwrite.allow, deny=overwrite.deny)
|
||||||
|
|
||||||
# Apply member specific permission overwrites
|
# Apply member specific permission overwrites
|
||||||
|
@ -56,7 +56,8 @@ class Member(User):
|
|||||||
is not currently in a voice channel.
|
is not currently in a voice channel.
|
||||||
.. attribute:: roles
|
.. attribute:: roles
|
||||||
|
|
||||||
An array of :class:`Role` that the member belongs to.
|
A list of :class:`Role` that the member belongs to. Note that the first element of this
|
||||||
|
list is always the default '@everyone' role.
|
||||||
.. attribute:: joined_at
|
.. attribute:: joined_at
|
||||||
|
|
||||||
A datetime object that specifies the date and time in UTC that the member joined the server for
|
A datetime object that specifies the date and time in UTC that the member joined the server for
|
||||||
|
@ -94,12 +94,13 @@ class Server(object):
|
|||||||
self.unavailable = guild.get('unavailable', False)
|
self.unavailable = guild.get('unavailable', False)
|
||||||
self.id = guild['id']
|
self.id = guild['id']
|
||||||
self.roles = [Role(everyone=(self.id == r['id']), **r) for r in guild['roles']]
|
self.roles = [Role(everyone=(self.id == r['id']), **r) for r in guild['roles']]
|
||||||
|
default_role = self.get_default_role()
|
||||||
|
|
||||||
self.members = []
|
self.members = []
|
||||||
self.owner = guild['owner_id']
|
self.owner = guild['owner_id']
|
||||||
|
|
||||||
for data in guild['members']:
|
for data in guild['members']:
|
||||||
roles = []
|
roles = [default_role]
|
||||||
for role_id in data['roles']:
|
for role_id in data['roles']:
|
||||||
role = utils.find(lambda r: r.id == role_id, self.roles)
|
role = utils.find(lambda r: r.id == role_id, self.roles)
|
||||||
if role is not None:
|
if role is not None:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user