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
- Resolves the TikTok username to a room ID
- Acquires a ttwid cookie (anonymous GET to tiktok.com)
- 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§
Structs§
- TikTok
Live - Entry point for connecting to TikTok Live streams.
- TikTok
Live Builder - Builder for configuring a TikTok Live connection.
- TikTok
Live Stream - A live event stream from a TikTok Live room.