Move global user cache to a WeakValueDictionary.

This commit is contained in:
Rapptz
2017-01-04 05:16:59 -05:00
parent f8a5d890fe
commit 808a05ff2d
3 changed files with 19 additions and 3 deletions

View File

@ -42,6 +42,7 @@ import copy, enum, math
import datetime
import asyncio
import logging
import weakref
class ListenerType(enum.Enum):
chunk = 0
@ -66,8 +67,8 @@ class ConnectionState:
self.user = None
self.sequence = None
self.session_id = None
self._users = weakref.WeakValueDictionary()
self._calls = {}
self._users = {}
self._emojis = {}
self._guilds = {}
self._voice_clients = {}
@ -133,6 +134,9 @@ class ConnectionState:
self._users[user_id] = user = User(state=self, data=data)
return user
def get_user(self, id):
return self._users.get(id)
def store_emoji(self, guild, data):
emoji_id = int(data['id'])
try: