def make_user(self, user_data: dict, *,
user_klass: typing.Type[UserType] = User,
override_cache: bool = False) -> UserType:
"""
Creates a new user and caches it.
:param user_data: The user data to use to create.
:param user_klass: The type of user to create.
:param override_cache: Should the cache be overridden?
:return: A new :class`~.User` (hopefully).
"""
id = int(user_data.get("id", 0))
if id in self._users and not override_cache:
return self._users[id]
user = user_klass(self.client, **user_data)
self._users[user.id] = user
return user
评论列表
文章目录