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