@@ -827,7 +827,7 @@ def __repr__(self) -> str:
827
827
return f'<CustomActivity name={ self .name !r} emoji={ self .emoji !r} >'
828
828
829
829
830
- class HangStatus ( BaseActivity ) :
830
+ class HangStatus :
831
831
"""A slimmed down version of :class:`Activity` that represents a Discord hang status.
832
832
833
833
This is typically displayed via **Right now, I'm -** on the official Discord client.
@@ -864,17 +864,17 @@ class HangStatus(BaseActivity):
864
864
865
865
__slots__ = ('state' , 'name' , 'emoji' )
866
866
867
- def __init__ (self , state : str , emoji : Optional [Union [PartialEmoji , Dict [str , Any ], str ]] = None , ** extra : Any ) -> None :
868
- super ().__init__ (** extra )
869
- self .state : HangStatusType = try_enum (HangStatusType , state )
867
+ def __init__ (self , ** data : Any ) -> None :
868
+ self .state : HangStatusType = try_enum (HangStatusType , data ['state' ])
870
869
871
870
self .name : str
872
871
if self .state == HangStatusType .custom :
873
- self .name = extra ['details' ]
872
+ self .name = data ['details' ]
874
873
else :
875
874
self .name = self .state .value
876
875
877
876
self .emoji : Optional [PartialEmoji ]
877
+ emoji = data .get ('emoji' )
878
878
if emoji is None :
879
879
self .emoji = emoji
880
880
elif isinstance (emoji , dict ):
@@ -894,25 +894,6 @@ def type(self) -> ActivityType:
894
894
"""
895
895
return ActivityType .hang
896
896
897
- def to_dict (self ) -> Dict [str , Any ]:
898
- if self .state == HangStatusType .custom :
899
- ret = {
900
- 'type' : ActivityType .hang .value ,
901
- 'name' : 'Hang Status' ,
902
- 'state' : self .state .value ,
903
- 'details' : self .name ,
904
- }
905
- else :
906
- ret = {
907
- 'type' : ActivityType .hang .value ,
908
- 'name' : 'Hang Status' ,
909
- 'state' : self .state .value ,
910
- }
911
-
912
- if self .emoji :
913
- ret ['emoji' ] = self .emoji .to_dict ()
914
- return ret
915
-
916
897
def __str__ (self ) -> str :
917
898
return str (self .name )
918
899
@@ -967,7 +948,7 @@ def create_activity(data: Optional[ActivityPayload], state: ConnectionState) ->
967
948
elif game_type is ActivityType .listening and 'sync_id' in data and 'session_id' in data :
968
949
return Spotify (** data )
969
950
elif game_type is ActivityType .hang :
970
- return HangStatus (** data ) # type: ignore
951
+ return HangStatus (** data )
971
952
else :
972
953
ret = Activity (** data )
973
954
0 commit comments