mirror of
https://github.com/Rapptz/discord.py.git
synced 2025-04-22 16:51:59 +00:00
Completely update member references from message inner members.
Fixes #5819
This commit is contained in:
parent
c31da1b23d
commit
3b172b9f34
@ -199,6 +199,12 @@ class Member(discord.abc.Messageable, _BaseUser):
|
||||
data['user'] = author._to_minimal_user_json()
|
||||
return cls(data=data, guild=message.guild, state=message._state)
|
||||
|
||||
def _update_from_message(self, data):
|
||||
self.joined_at = utils.parse_time(data.get('joined_at'))
|
||||
self.premium_since = utils.parse_time(data.get('premium_since'))
|
||||
self._update_roles(data)
|
||||
self.nick = data.get('nick', None)
|
||||
|
||||
@classmethod
|
||||
def _try_upgrade(cls, *, data, guild, state):
|
||||
# A User object with a 'member' key
|
||||
@ -433,7 +439,7 @@ class Member(discord.abc.Messageable, _BaseUser):
|
||||
guild = self.guild
|
||||
if len(self._roles) == 0:
|
||||
return guild.default_role
|
||||
|
||||
|
||||
return max(guild.get_role(rid) or guild.default_role for rid in self._roles)
|
||||
|
||||
@property
|
||||
|
@ -473,8 +473,7 @@ class Message:
|
||||
author = self.author
|
||||
try:
|
||||
# Update member reference
|
||||
if author.joined_at is None:
|
||||
author.joined_at = utils.parse_time(member.get('joined_at'))
|
||||
author._update_from_message(member)
|
||||
except AttributeError:
|
||||
# It's a user here
|
||||
# TODO: consider adding to cache here
|
||||
|
Loading…
x
Reference in New Issue
Block a user