async def _on_friend_update(self, obj): user = User(self, obj["user"], self.loop) ouser = self.get_friend(user.id) self._remove_friend_from_cache(user.id) self.friends[user.state].append(user) await self.on_friend_update(ouser, user)
async def _on_friend_online(self, obj): user = User(self, obj["user"], self.loop) self._remove_friend_from_cache(user.id) self.friends["online"].append(user) await self.on_friend_online(user)
async def fetch_user(self, id): ''' Gets a non-cached friend Returns a User object id, str ID of the user to get ''' logging.debug("Getting user via id " + id) user = await self.request.call("/users/" + id) return User(self, user["data"], loop=self.loop)
async def fetch_user(self, id): """ Fetches a non-cached user, and returns as a :class:`vrcpy.User` object Arguments ---------- id: :class:`str` ID of the use to fetch """ logging.debug("Getting user via id " + id) user = await self.request.get("/users/" + id) return User(self, user["data"], loop=self.loop)
async def _on_friend_location(self, obj): # Add location data obj["user"].update({ "location": obj["location"], "instanceId": obj["location"].split(":")[1] if ":" in obj["location"] else obj["location"], "worldId": obj["location"].split(":")[0] if ":" in obj["location"] else obj["location"] }) user = User(self, obj["user"], self.loop) ouser = self.get_friend(user.id) self._remove_friend_from_cache(user.id) self.friends[user.state].append(user) await self.on_friend_location(ouser, user)
async def _on_friend_add(self, obj): user = User(self, obj["user"], self.loop) self._remove_friend_from_cache(user.id) self.friends[user.state].append(user) await self.on_friend_add(user)