From 095f0ec2fc48ff353bd3bee21d0055b99fdc3aa9 Mon Sep 17 00:00:00 2001 From: Rapptz Date: Mon, 24 Sep 2018 22:50:05 -0400 Subject: Optimise some member and user related routines. * Skip user update if possible * Drop copy.copy in favour of manual copy Credit to Hornwitser for these findings. --- discord/user.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'discord/user.py') diff --git a/discord/user.py b/discord/user.py index bce31d69..07a17369 100644 --- a/discord/user.py +++ b/discord/user.py @@ -91,6 +91,19 @@ class BaseUser(_BaseUser): def __hash__(self): return self.id >> 22 + @classmethod + def _copy(cls, user): + self = cls.__new__(cls) # bypass __init__ + + self.name = user.name + self.id = user.id + self.discriminator = user.discriminator + self.avatar = user.avatar + self.bot = user.bot + self._state = user._state + + return self + @property def avatar_url(self): """Returns a friendly URL version of the avatar the user has. -- cgit v1.2.3