@@ -874,12 +874,12 @@ class ChannelBitsUse(_ResponderEvent):
874874 The redeeming user.
875875 bits: int
876876 The number of Bits used.
877- type: typing.Literal["cheer", "power_up"]
877+ type: typing.Literal["cheer", "power_up", "combo" ]
878878 What the Bits were used for.
879879 text: str | None
880880 The chat message in plain text. Is `None` if no chat message was used.
881881 fragments: list[ChatMessageFragment]
882- The ordered list of chat message fragments. Is `None` if no chat message was used .
882+ The ordered list of chat message fragments. This is only populated for Bits uses that contain a message .
883883 power_up: PowerUp | None
884884 Data about Power-up. Is `None` if a Power-up is not used.
885885 """
@@ -894,13 +894,13 @@ def __init__(self, payload: ChannelBitsUseEvent, *, http: HTTPClient) -> None:
894894 )
895895 self .user = PartialUser (payload ["user_id" ], payload ["user_login" ], payload ["user_name" ], http = http )
896896 self .bits : int = int (payload ["bits" ])
897- self .type : Literal ["cheer" , "power_up" ] = payload ["type" ]
898- self .text : str | None = payload .get ("message" ).get ("text" )
897+ self .type : Literal ["cheer" , "power_up" , "combo" ] = payload ["type" ]
898+ message = payload .get ("message" ) or {}
899+ self .text : str | None = message .get ("text" )
899900 power_up = payload .get ("power_up" )
900901 self .power_up : PowerUp | None = PowerUp (power_up ) if power_up is not None else None
901- self .fragments : list [ChatMessageFragment ] = [
902- ChatMessageFragment (fragment , http = http ) for fragment in payload ["message" ]["fragments" ]
903- ]
902+ fragments = message .get ("fragments" , [])
903+ self .fragments : list [ChatMessageFragment ] = [ChatMessageFragment (f , http = http ) for f in fragments ]
904904
905905 def __repr__ (self ) -> str :
906906 return f"<ChannelBitsUse broadcaster={ self .broadcaster } user={ self .user } bits={ self .bits } type={ self .type } >"
0 commit comments