TikTokLive.client.ws package#
Submodules#
TikTokLive.client.ws.ws_client module#
- class TikTokLive.client.ws.ws_client.WebcastProxyConnect(uri: str, *, proxy: Proxy | None, **kwargs)#
Bases:
ProxyConnect
- class TikTokLive.client.ws.ws_client.WebcastWSClient(ws_kwargs: dict = {}, proxy: Proxy | None = None)#
Bases:
object
Websocket client responsible for connections to TikTok
- build_connection_args(uri: str, headers: Dict[str, str]) Dict[str, Any] #
Build the websockets library connection arguments dictionary
- Parameters:
uri – URI to connect to TikTok
headers – Headers to send to TikTok on connecting
- Returns:
Connection dictionary
- async connect(uri: str, headers: Dict[str, str]) AsyncIterator[WebcastResponseMessage] #
Connect to the Webcast websocket server & handle cancellation
- Parameters:
uri –
headers –
- Returns:
- async connect_loop(uri: str, headers: Dict[str, str]) AsyncIterator[WebcastResponseMessage] #
Connect to the Webcast server & iterate over response messages.
The iterator exits normally when the connection is closed with close code 1000 (OK) or 1001 (going away) or without a close code. It raises a
ConnectionClosedError
when the connection is closed with any other code.- Parameters:
uri – URI to connect to
headers – Headers used for the connection
- Returns:
Yields WebcastResponseMessage
- property connected: bool#
Check if the websocket is currently connected
- Returns:
Connection status
- async disconnect() None #
Request to stop the websocket connection & wait :return: None
- async process_recv(data: bytes) List[WebcastResponseMessage] #
Handle push frames received as websocket data
- Parameters:
data – Protobuf bytestream
- Returns:
List of contained messages for handling
- async send_ack(log_id: int, internal_ext: str) None #
Acknowledge incoming messages from TikTok
- Parameters:
log_id – ID for the acknowledgement
internal_ext – [unknown] Outbound data
- Returns:
None