From fa8a5127e9bb23185483930da0b6ae85e93055a7 Mon Sep 17 00:00:00 2001 From: Rossen Georgiev Date: Sun, 11 Nov 2018 12:56:42 +0000 Subject: [PATCH] SteamUser: add rich_presence property Fixes #53, #135 --- steam/client/user.py | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/steam/client/user.py b/steam/client/user.py index ea7c517..eb54f69 100644 --- a/steam/client/user.py +++ b/steam/client/user.py @@ -31,8 +31,7 @@ class SteamUser(object): self._steam.request_persona_state([self.steam_id]) self._pstate_ready.wait(timeout=5) - if self._pstate and self._pstate.HasField(field_name): - return getattr(self._pstate, field_name) + return getattr(self._pstate, field_name) return None @property @@ -64,6 +63,21 @@ class SteamUser(object): state = self.get_ps('persona_state', False) return EPersonaState(state) if state else EPersonaState.Offline + @property + def rich_presence(self): + """Contains Rich Presence key-values + + :rtype: dict + """ + kvs = self.get_ps('rich_presence') + data = {} + + if kvs: + for kv in kvs: + data[kv.key] = kv.value + + return data + def get_avatar_url(self, size=2): """Get URL to avatar picture