diff options
| author | Rapptz <[email protected]> | 2020-09-14 03:14:57 -0400 |
|---|---|---|
| committer | Rapptz <[email protected]> | 2020-09-23 03:21:20 -0400 |
| commit | f2de794bdebc65dff99fd4ce13abde2cedf978dd (patch) | |
| tree | 95df96fe9d7e3af25ff43d5eb141909d4a42c84f | |
| parent | Allow finer grained control over the member cache. (diff) | |
| download | discord.py-f2de794bdebc65dff99fd4ce13abde2cedf978dd.tar.xz discord.py-f2de794bdebc65dff99fd4ce13abde2cedf978dd.zip | |
Intern status and overwrite strings
| -rw-r--r-- | discord/abc.py | 3 | ||||
| -rw-r--r-- | discord/member.py | 9 |
2 files changed, 7 insertions, 5 deletions
diff --git a/discord/abc.py b/discord/abc.py index 75624e18..0ac87d13 100644 --- a/discord/abc.py +++ b/discord/abc.py @@ -25,6 +25,7 @@ DEALINGS IN THE SOFTWARE. """ import abc +import sys import copy import asyncio @@ -169,7 +170,7 @@ class _Overwrites: self.id = kwargs.pop('id') self.allow = kwargs.pop('allow', 0) self.deny = kwargs.pop('deny', 0) - self.type = kwargs.pop('type') + self.type = sys.intern(kwargs.pop('type')) def _asdict(self): return { diff --git a/discord/member.py b/discord/member.py index 4b8fb8a0..59bd7bda 100644 --- a/discord/member.py +++ b/discord/member.py @@ -25,6 +25,7 @@ DEALINGS IN THE SOFTWARE. """ import itertools +import sys from operator import attrgetter import discord.abc @@ -221,10 +222,10 @@ class Member(discord.abc.Messageable, _BaseUser): clone = cls(data=data, guild=guild, state=state) to_return = cls(data=data, guild=guild, state=state) to_return._client_status = { - key: value + sys.intern(key): sys.intern(value) for key, value in data.get('client_status', {}).items() } - to_return._client_status[None] = data['status'] + to_return._client_status[None] = sys.intern(data['status']) return to_return, clone @classmethod @@ -266,10 +267,10 @@ class Member(discord.abc.Messageable, _BaseUser): def _presence_update(self, data, user): self.activities = tuple(map(create_activity, data.get('activities', []))) self._client_status = { - key: value + sys.intern(key): sys.intern(value) for key, value in data.get('client_status', {}).items() } - self._client_status[None] = data['status'] + self._client_status[None] = sys.intern(data['status']) if len(user) > 1: return self._update_inner_user(user) |