Skip to main content

Crate piratetok_live_rs

Crate piratetok_live_rs 

Source
Expand description

§piratetok-live-rs

Connect to any TikTok Live stream and receive real-time events: chat messages, gifts, likes, joins, viewer counts, and more.

§Quick start

use piratetok_live_rs::TikTokLive;
use piratetok_live_rs::structs::TikTokLiveEvent;

#[tokio::main]
async fn main() {
    let mut stream = TikTokLive::builder("some_username")
        .connect()
        .await
        .unwrap();

    while let Some(event) = stream.next_event().await {
        match event {
            TikTokLiveEvent::Chat(msg) => {
                println!("chat: {}", msg.comment);
            }
            TikTokLiveEvent::Disconnected => break,
            _ => {}
        }
    }
}

§How it works

  1. Resolves the TikTok username to a room ID
  2. Acquires a ttwid cookie (anonymous GET to tiktok.com)
  3. Opens a WebSocket connection and streams protobuf-encoded events

No signing server, no x_bogus, no msToken. Just ttwid.

§Room info (optional)

Room metadata (title, viewer counts, stream URLs) is a separate call:

use piratetok_live_rs::http::api::{fetch_room_info, FetchParams};

let info = fetch_room_info("ROOM_ID", FetchParams::default()).await;

For 18+ rooms, pass session cookies:

let info = fetch_room_info("ROOM_ID", FetchParams {
    cookies: Some("sessionid=abc; sid_tt=abc"), ..Default::default()
}).await;

Modules§

decode
errors
helpers
http
structs
websocket

Structs§

TikTokLive
Entry point for connecting to TikTok Live streams.
TikTokLiveBuilder
Builder for configuring a TikTok Live connection.
TikTokLiveStream
A live event stream from a TikTok Live room.