diff --git a/revolt/types/user.py b/revolt/types/user.py index a7432de..65dd52b 100644 --- a/revolt/types/user.py +++ b/revolt/types/user.py @@ -10,10 +10,8 @@ Relation = Literal["Blocked", "BlockedOther", "Friend", "Incoming", "None", "Out class UserBot(TypedDict): owner: str -class _OptionalStatus(TypedDict, total=False): +class Status(TypedDict, total=False): text: str - -class Status(_OptionalStatus): presence: Literal["Busy", "Idle", "Invisible", "Online"] class UserRelation(TypedDict): diff --git a/revolt/user.py b/revolt/user.py index 0bfa909..259386e 100644 --- a/revolt/user.py +++ b/revolt/user.py @@ -15,7 +15,7 @@ class Relation(NamedTuple): class Status(NamedTuple): text: Optional[str] - presence: PresenceType + presence: Optional[PresenceType] class User: """Represents a user @@ -66,4 +66,8 @@ class User: self.relationship = RelationshipType(relationship) if relationship else None status = data.get("status") - self.status = Status(status.get("text"), PresenceType(status["presence"])) if status else None + if status: + presence = status.get("presence") + self.status = Status(status.get("text"), PresenceType(presence) if presence else None) if status else None + else: + self.status = None