diff --git a/.sphinx/_build/doctrees/TikTokLive.client.doctree b/.sphinx/_build/doctrees/TikTokLive.client.doctree index 3175ef4..a24ab4e 100644 Binary files a/.sphinx/_build/doctrees/TikTokLive.client.doctree and b/.sphinx/_build/doctrees/TikTokLive.client.doctree differ diff --git a/.sphinx/_build/doctrees/environment.pickle b/.sphinx/_build/doctrees/environment.pickle index e56a8a4..eab4260 100644 Binary files a/.sphinx/_build/doctrees/environment.pickle and b/.sphinx/_build/doctrees/environment.pickle differ diff --git a/.sphinx/_build/doctrees/index.doctree b/.sphinx/_build/doctrees/index.doctree index 6563c18..b0e02a5 100644 Binary files a/.sphinx/_build/doctrees/index.doctree and b/.sphinx/_build/doctrees/index.doctree differ diff --git a/docs/TikTokLive.client.html b/docs/TikTokLive.client.html index bab9b22..8210a4c 100644 --- a/docs/TikTokLive.client.html +++ b/docs/TikTokLive.client.html @@ -95,7 +95,7 @@

Submodules

TikTokLive.client.base module

-class TikTokLive.client.base.BaseClient(unique_id: str, loop: Optional[AbstractEventLoop] = None, client_params: Optional[dict] = None, headers: Optional[dict] = None, timeout_ms: Optional[int] = None, ping_interval_ms: int = 1000, process_initial_data: bool = True, enable_extended_gift_info: bool = True, trust_env: bool = False, proxies: Optional[Dict[str, str]] = None, lang: Optional[str] = 'en-US', fetch_room_info_on_connect: bool = True, websocket_enabled: bool = True)
+class TikTokLive.client.base.BaseClient(unique_id: str, loop: Optional[AbstractEventLoop] = None, client_params: Optional[dict] = None, headers: Optional[dict] = None, timeout_ms: Optional[int] = None, ping_interval_ms: int = 1000, process_initial_data: bool = True, enable_extended_gift_info: bool = True, trust_env: bool = False, proxies: Optional[Dict[str, str]] = None, lang: Optional[str] = 'en-US', fetch_room_info_on_connect: bool = True, websocket_enabled: bool = True, websocket_timeout_ms: int = 15000)

Bases: AsyncIOEventEmitter

Base client responsible for long polling to the TikTok Webcast API

@@ -255,7 +255,7 @@

Submodules
-async stop() None
+stop() None

Stop the client safely

Returns:
diff --git a/docs/index.html b/docs/index.html index 912eed1..c61069d 100644 --- a/docs/index.html +++ b/docs/index.html @@ -97,11 +97,14 @@

TikTokLiveunique_id and allows you to join your livestream as well as that of other streamers. No credentials are required to use TikTokLive.

-

This library a Python implementation of the Javascript +

This library a Python implementation of the JavaScript TikTok-Live-Connector by @zerodytrash meant to serve as an alternative for users who feel more comfortable working in Python or require it for their specific project parameters.

-

This is not an official API. It’s a reverse engineering and research project.

Join the support discord and visit the #support channel for questions, contributions and ideas. Feel free to make pull requests with missing/new features, fixes, etc.

+

NOTE: This is not an official API. It’s a reverse engineering and research project.

+
+

UPDATE:
Due to a change on the part of TikTok, versions prior v4.3.0 are no longer functional. If you are using one of these versions, upgrade to the latest version using the pip install TikTokLive --upgrade command.

+

Table of Contents

Primary Information

@@ -110,6 +113,7 @@

Table of ContentsContributors

  • License

  • Thermal Printing

  • +
  • Quickstart Examples

  • Resources & Guides

      @@ -119,7 +123,6 @@

      Table of ContentsClient Methods

    1. Client Attributes

    2. TikTok Events

    3. -
    4. Usage Examples

    diff --git a/docs/searchindex.js b/docs/searchindex.js index e648ce1..02ab64f 100644 --- a/docs/searchindex.js +++ b/docs/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["README", "TikTokLive", "TikTokLive.client", "TikTokLive.proto", "TikTokLive.types", "index", "modules"], "filenames": ["README.md", "TikTokLive.rst", "TikTokLive.client.rst", "TikTokLive.proto.rst", "TikTokLive.types.rst", "index.rst", "modules.rst"], "titles": ["How To Build", "TikTokLive package", "TikTokLive.client package", "TikTokLive.proto package", "TikTokLive.types package", "TikTokLive Docs", "TikTokLive"], "terms": {"complet": 0, "command": [0, 5], "cd": 0, "sphinx": 0, "apidoc": 0, "ext": 0, "autodoc": 0, "forc": 0, "o": 0, "tiktokl": 0, "proto": [0, 1, 2, 4, 5, 6], "tiktok_schema_pb2": 0, "py": 0, "make": [0, 2, 5], "html": [0, 1, 2, 4], "move": 0, "gener": [0, 4], "_build": 0, "folder": [0, 5], "root": 0, "renam": 0, "doc": 0, "add": [0, 5], "nojekyl": 0, "file": [0, 5], "new": [0, 2, 4, 5], "alern": 0, "remov": 0, "item": [0, 4], "recurs": 0, "path": [0, 2, 4], "destin": 0, "client": [1, 4, 5, 6], "base": [1, 4, 6], "config": [1, 3, 6], "httpx": [1, 6], "type": [1, 3, 5, 6], "error": [1, 2, 6], "event": [1, 2, 6], "object": [1, 2, 3, 5, 6], "get_room_id_from_main_page_html": 1, "main_page_html": 1, "str": [1, 2, 3, 4], "get": [1, 2], "room": [1, 2, 4, 5], "id": [1, 2, 4, 5], "from": [1, 2, 3, 4, 5], "creator": [1, 5], "": [1, 2, 4, 5], "page": [1, 2], "If": [1, 2, 4, 5], "thi": [1, 5], "fail": [1, 4, 5], "you": [1, 2, 4, 5], "ar": [1, 2, 3, 4, 5], "probabl": 1, "block": [1, 2, 5], "tiktok": [1, 2, 4, 5], "us": [1, 2, 3, 5], "vpn": 1, "return": [1, 2, 3, 4, 5], "The": [1, 2, 3, 4, 5], "validate_and_normalize_unique_id": 1, "unique_id": [1, 2, 5], "take": [1, 5], "host": [1, 4, 5], "format": [1, 2], "convert": 1, "them": 1, "normal": [1, 3], "version": 1, "For": [1, 5], "exampl": [1, 5], "class": [2, 3, 4], "basecli": 2, "loop": [2, 5], "option": [2, 3, 4], "abstracteventloop": 2, "none": [2, 3, 4, 5], "client_param": [2, 5], "dict": [2, 3, 4, 5], "header": [2, 5], "timeout_m": [2, 5], "int": [2, 4, 5], "ping_interval_m": [2, 5], "1000": [2, 5], "process_initial_data": [2, 5], "bool": [2, 4], "true": [2, 4, 5], "enable_extended_gift_info": [2, 5], "trust_env": [2, 5], "fals": [2, 4, 5], "proxi": [2, 5], "lang": [2, 5], "en": [2, 5], "u": [2, 5], "fetch_room_info_on_connect": [2, 5], "websocket_en": [2, 5], "asyncioeventemitt": 2, "respons": [2, 5], "long": [2, 4, 5], "poll": [2, 4, 5], "webcast": [2, 4, 5], "api": [2, 5], "properti": [2, 4, 5], "available_gift": [2, 5], "extendedgift": [2, 4, 5], "avail": [2, 5], "gift": [2, 4], "inform": [2, 4, 5], "live": [2, 4, 5], "info": [2, 4, 5], "connect": [2, 4], "whether": [2, 4, 5], "i": [2, 4, 5], "result": [2, 3, 4, 5], "download": [2, 4, 5], "durat": [2, 4, 5], "verbos": [2, 4], "loglevel": 2, "global_opt": 2, "set": [2, 3, 4, 5], "input": 2, "output": 2, "start": [2, 4], "user": [2, 4, 5], "livestream": [2, 4, 5], "video": [2, 4, 5], "given": [2, 4, 5], "non": [2, 5], "via": [2, 5], "python": [2, 3, 5], "thread": [2, 4, 5], "paramet": [2, 3, 4, 5], "ffmpeg": [2, 4], "log": [2, 4, 5], "level": 2, "pass": [2, 5], "custom": [2, 5], "param": 2, "global": 2, "less": [2, 5], "than": [2, 4, 5], "1": [2, 4, 5], "go": 2, "forev": 2, "about": [2, 4, 5], "consol": [2, 5], "rais": [2, 4], "alreadydownloadingstream": [2, 4], "alreadi": [2, 4], "attempt": [2, 4, 5], "second": [2, 4, 5], "async": [2, 5], "get_proxi": [2, 5], "current": [2, 4, 5], "being": [2, 5], "http": [2, 4, 5], "request": [2, 4, 5], "retrieve_available_gift": [2, 5], "retriev": [2, 4, 5], "retrieve_room_info": [2, 5], "method": 2, "dictionari": [2, 3, 4, 5], "contain": [2, 3, 4, 5], "all": [2, 5], "room_id": [2, 5], "wa": [2, 4], "success": 2, "room_info": [2, 5], "run": [2, 5], "session_id": 2, "while": [2, 5], "main": [2, 5], "send_messag": [2, 5], "text": [2, 4, 5], "send": [2, 4, 5], "messag": [2, 3, 4, 5], "chat": [2, 4, 5], "want": [2, 5], "session": [2, 4, 5], "ve": 2, "suppli": [2, 4, 5], "one": [2, 4, 5], "don": 2, "t": [2, 3, 5], "need": 2, "set_proxi": [2, 5], "Not": 2, "websocket": [2, 3, 4, 5], "without": [2, 5], "stop": [2, 4, 5], "safe": 2, "stop_download": [2, 5], "notdownloadingstream": [2, 4], "try": [2, 4, 5], "when": [2, 4, 5], "downloadprocessnotfound": [2, 4], "befor": [2, 4, 5], "process": [2, 4, 5], "ha": [2, 4, 5], "open": [2, 4], "uniqu": [2, 5], "streamer": [2, 4, 5], "Their": [2, 4], "viewer_count": [2, 5], "viewer": [2, 4, 5], "count": [2, 4, 5], "tiktoklivecli": [2, 5], "debug": [2, 5], "emit": 2, "asynchron": [2, 5], "default_client_param": 2, "union": 2, "aid": 2, "1988": 2, "app_languag": 2, "app_nam": 2, "tiktok_web": 2, "browser_languag": 2, "browser_nam": 2, "mozilla": 2, "browser_onlin": 2, "browser_platform": 2, "win32": 2, "browser_vers": 2, "5": [2, 4, 5], "0": [2, 5], "window": 2, "nt": 2, "10": [2, 4, 5], "win64": 2, "x64": 2, "applewebkit": 2, "537": 2, "36": 2, "khtml": 2, "like": [2, 4], "gecko": 2, "chrome": 2, "102": 2, "5005": 2, "63": 2, "safari": 2, "cookie_en": 2, "cursor": [2, 4], "device_platform": 2, "web": 2, "did_rul": 2, "3": 2, "fetch_rul": 2, "focus_st": 2, "from_pag": 2, "history_len": 2, "4": 2, "ident": 2, "audienc": 2, "internal_ext": 2, "is_fullscreen": 2, "is_page_vis": 2, "last_rtt": 2, "live_id": 2, "12": 2, "mstoken": 2, "refer": 2, "www": [2, 5], "com": [2, 5], "resp_content_typ": 2, "protobuf": [2, 3], "root_refer": 2, "screen_height": 2, "1152": 2, "screen_width": 2, "2048": 2, "tz_name": 2, "europ": 2, "berlin": 2, "update_version_cod": 2, "version_cod": 2, "180800": 2, "webcast_sdk_vers": 2, "default": [2, 5], "includ": [2, 4, 5], "server": 2, "default_request_head": 2, "accept": 2, "applic": 2, "json": 2, "encod": 2, "gzip": 2, "deflat": 2, "languag": [2, 5], "q": [2, 4], "9": 2, "cach": [2, 5], "control": 2, "max": 2, "ag": 2, "keep": 2, "aliv": 2, "origin": 2, "agent": 2, "url": [2, 4, 5], "webapp": 2, "tiktok_url_web": 2, "tiktok_url_webcast": 2, "extern": 2, "sign": 2, "tiktokhttpcli": 2, "get_deserialized_object_from_webcast_api": 2, "schema": [2, 3], "sign_url": 2, "deseri": [2, 3], "an": [2, 4, 5], "authent": 2, "decod": [2, 3, 5], "data": [2, 3, 4, 5], "timeoutexcept": 2, "get_json_object_from_webcast_api": 2, "get_livestream_page_html": 2, "string": 2, "post_json_to_webcast_api": 2, "post": 2, "urlencod": 2, "classmethod": 2, "update_url": 2, "updat": [2, 4, 5], "break": 2, "compon": 2, "ad": [2, 5], "ones": 2, "rebuild": 2, "we": 2, "deserialize_messag": 3, "proto_nam": 3, "obj": 3, "byte": 3, "name": [3, 4, 5], "deserialize_websocket_messag": 3, "binary_messag": 3, "which": [3, 4, 5], "addit": 3, "A": [3, 4, 5], "msg": 3, "repres": 3, "webcastrespons": 3, "binari": 3, "from_dict_plu": 3, "data_class": 3, "ani": [3, 4], "load": 3, "_as_dict": [3, 4], "attribut": [3, 4], "automat": [3, 5], "fit": 3, "dacit": 3, "dataclass": 3, "serialize_messag": 3, "serial": 3, "bytearrai": 3, "except": [4, 5], "alreadyconnect": 4, "runtimeerror": 4, "whilst": 4, "downloadstreamerror": 4, "chatmessagerepeat": 4, "chatmessagesendfailur": 4, "someon": [4, 5], "repeat": 4, "found": 4, "usual": 4, "re": 4, "spawn": 4, "broadli": 4, "anyth": 4, "relat": 4, "stream": [4, 5], "failedconnect": 4, "failedfetchgift": 4, "failedhttprequest": 4, "fetch": [4, 5], "encount": 4, "failedfetchroominfo": 4, "whenev": 4, "failedparseuserhtml": 4, "pars": 4, "failedroompol": 4, "initialcursormiss": 4, "initi": [4, 5], "miss": [4, 5], "invalidsessionid": 4, "expir": 4, "livenotfound": 4, "offlin": [4, 5], "doe": 4, "exist": 4, "signatureratelimitreach": 4, "hit": 4, "signatur": 4, "rate": [4, 5], "limit": [4, 5], "websocketconnectionfail": 4, "abstractev": [4, 5], "abstract": 4, "as_dict": [4, 5], "copi": 4, "raw": [4, 5], "payload": [4, 5], "set_as_dict": 4, "commentev": [4, 5], "comment": 4, "fire": [4, 5], "utf": 4, "8": 4, "sent": [4, 5], "connectev": [4, 5], "disconnectev": [4, 5], "disconnect": 4, "emoteev": [4, 5], "emot": 4, "subscrib": 4, "person": [4, 5], "who": [4, 5], "envelopeev": [4, 5], "treasureboxdata": [4, 5], "treasureboxus": [4, 5], "envelop": 4, "enclos": 4, "treasur": [4, 5], "box": [4, 5], "followev": [4, 5], "displaytyp": 4, "label": 4, "follow": 4, "giftev": [4, 5], "receiv": [4, 5], "joinev": [4, 5], "join": 4, "through_shar": 4, "thei": 4, "through": 4, "link": [4, 5], "v": [4, 5], "app": 4, "share": 4, "likeev": [4, 5], "likecount": 4, "totallikecount": 4, "number": [4, 5], "think": 4, "total": 4, "liveendev": [4, 5], "live_end": 4, "end": [4, 5], "micarmiesev": [4, 5], "battlestatu": 4, "battleus": [4, 5], "list": [4, 5], "micarmiesus": 4, "factori": 4, "mic_armi": 4, "dure": [4, 5], "mic": [4, 5], "battl": [4, 5], "its": [4, 5], "progress": [4, 5], "statu": [4, 5], "engag": 4, "micbattleev": [4, 5], "micbattleus": 4, "mic_battl": 4, "moreshareev": [4, 5], "more_shar": 4, "shareev": [4, 5], "more": [4, 5], "user123": 4, "peopl": [4, 5], "amount": [4, 5], "have": [4, 5], "off": [4, 5], "questionev": 4, "questiontext": 4, "question": [4, 5], "ask": 4, "intern": [4, 5], "subscribeev": [4, 5], "actionid": 4, "membermessag": 4, "correspond": 4, "sub": 4, "7": 4, "detail": [4, 5], "subscript": [4, 5], "unknownev": [4, 5], "unknown": 4, "handl": [4, 5], "other": [4, 5], "librari": 4, "viewercountupdateev": [4, 5], "viewercount": 4, "viewer_count_upd": 4, "view": [4, 5], "weeklyrankingev": [4, 5], "rankcontain": 4, "weekly_rank": 4, "weekli": [4, 5], "rank": [4, 5], "abstractobject": 4, "avatar": 4, "avatar_url": 4, "last": [4, 5], "highest": 4, "qualiti": 4, "badg": 4, "e": 4, "g": 4, "moder": 4, "badgecontain": 4, "imagebadg": 4, "hous": 4, "friend": 4, "imag": [4, 5], "emoteid": 4, "emoteimag": 4, "encapsul": 4, "imageurl": [4, 5], "cdn": 4, "diamond_count": 4, "describ": 4, "event_nam": [4, 5], "icon": 4, "gifticon": 4, "notifi": 4, "is_broadcast_gift": 4, "is_displayed_on_panel": 4, "is_effect_befview": 4, "is_random_gift": 4, "is_grai": 4, "extend": [4, 5], "whole": 4, "lotta": 4, "extra": [4, 5], "currenc": 4, "diamond": 4, "valu": [4, 5], "extraattribut": 4, "followrol": 4, "ffmpegwrapp": 4, "runtim": 4, "started_at": 4, "wrapper": [4, 5], "util": [4, 5, 6], "ffmpy": 4, "subprocess": 4, "argument": 4, "how": 4, "time": [4, 5], "began": 4, "occur": [4, 5], "giftid": 4, "repeatcount": 4, "repeatend": 4, "giftdetail": 4, "giftextra": 4, "extended_gift": [4, 5], "veri": [4, 5], "import": [4, 5], "april": 4, "2022": 4, "specif": [4, 5], "multi": 4, "gift_typ": [4, 5], "alia": 4, "gifttyp": 4, "backward": 4, "compat": 4, "repetit": 4, "over": [4, 5], "repeat_count": [4, 5], "repeat_end": [4, 5], "streakabl": [4, 5], "can": [4, 5], "streak": [4, 5], "otherwis": [4, 5], "giftdetailimag": 4, "giftpictureurl": 4, "giftimag": 4, "diamondcount": 4, "giftnam": 4, "timestamp": 4, "receiveruserid": 4, "recipi": 4, "avg_color": 4, "uri": 4, "is_anim": 4, "url_list": 4, "anim": 4, "variou": 4, "size": 4, "imagebadgeimag": 4, "linkus": 4, "userid": 4, "nicknam": [4, 5], "profilepictur": 4, "uniqueid": [4, 5], "linkmicbattl": 4, "profil": 4, "pictur": 4, "eventdetail": 4, "membermessagedetail": 4, "member": 4, "displai": 4, "micarmiesgroup": 4, "point": 4, "group": 4, "presum": 4, "involv": 4, "hostuserid": 4, "battlegroup": [4, 5], "armi": 4, "micbattlegroup": 4, "weeklyrank": 4, "rankitem": 4, "colour": 4, "ui": 4, "400": 4, "top": [4, 5], "coin": 4, "canopen": 4, "is_follow": 4, "watch": [4, 5], "is_friend": 4, "is_moder": 4, "is_new_gift": 4, "gifter": 4, "is_subscrib": 4, "charli": 4, "d": 4, "amelio": 4, "top_gifter_rank": 4, "charlidamelio": 4, "packag": [5, 6], "subpackag": [5, 6], "submodul": [5, 6], "modul": [5, 6], "abov": 5, "tree": 5, "document": 5, "read": 5, "servic": 5, "real": 5, "push": 5, "onli": 5, "allow": 5, "your": 5, "well": 5, "No": 5, "credenti": 5, "requir": 5, "implement": 5, "javascript": 5, "connector": 5, "zerodytrash": 5, "meant": 5, "serv": 5, "altern": 5, "feel": 5, "comfort": 5, "work": 5, "project": 5, "offici": 5, "It": 5, "revers": 5, "engin": 5, "research": 5, "support": 5, "discord": 5, "visit": 5, "channel": 5, "contribut": 5, "idea": 5, "free": 5, "pull": 5, "featur": 5, "fix": 5, "etc": 5, "primari": 5, "resourc": 5, "guid": 5, "david": 5, "usag": 5, "speech": 5, "plai": 5, "sound": 5, "much": 5, "just": 5, "life": 5, "futur": 5, "instal": 5, "easi": 5, "15": 5, "minut": 5, "plug": 5, "printer": 5, "driver": 5, "termin": 5, "As": 5, "access": 5, "everi": 5, "releas": 5, "here": 5, "sampl": 5, "what": 5, "do": 5, "30": 5, "line": 5, "code": 5, "even": 5, "own": 5, "youtub": 5, "come": 5, "pre": 5, "made": 5, "abil": 5, "isn": 5, "strong": 5, "To": 5, "bui": 5, "creat": 5, "ticket": 5, "gg": 5, "4mbw58w5qx": 5, "cannot": 5, "recommend": 5, "enough": 5, "succinct": 5, "understand": 5, "teather": 5, "click": 5, "thumbnail": 5, "warp": 5, "pip": 5, "first": 5, "instanti": 5, "usernam": 5, "isaackogz": 5, "defin": 5, "decor": 5, "def": 5, "on_connect": 5, "_": 5, "notic": 5, "on_com": 5, "f": 5, "callback": 5, "add_listen": 5, "__name__": 5, "__main__": 5, "await": 5, "see": 5, "provid": 5, "configur": 5, "kwarg": 5, "descript": 5, "ye": 5, "broadcast": 5, "find": 5, "officialgeilegisela": 5, "specifi": 5, "old": 5, "enabl": 5, "prevent": 5, "also": 5, "manual": 5, "unconnect": 5, "state": 5, "cost": 5, "polling_interval_m": 5, "interv": 5, "aiohttp": 5, "wait": 5, "should": 5, "asyncio": 5, "activ": 5, "mostli": 5, "nest": 5, "oldskoldj": 5, "timeout": 5, "frequent": 5, "trust": 5, "environ": 5, "variabl": 5, "password": 5, "localhost": 5, "8030": 5, "420": 5, "69": 5, "8031": 5, "chang": 5, "sync": 5, "turn": 5, "listen": 5, "function": 5, "two": 5, "until": 5, "throw": 5, "cooki": 5, "exclud": 5, "whose": 5, "k": 5, "pair": 5, "either": 5, "callabl": 5, "trigger": 5, "successfulli": 5, "establish": 5, "call": 5, "reconnect": 5, "note": 5, "littl": 5, "bit": 5, "avoid": 5, "on_disconnect": 5, "on_lik": 5, "on_join": 5, "arriv": 5, "gleam": 5, "capabl": 5, "increas": 5, "again": 5, "after": 5, "anoth": 5, "signal": 5, "appli": 5, "mean": 5, "onc": 5, "twice": 5, "therefor": 5, "wai": 5, "on_gift": 5, "x": 5, "elif": 5, "els": 5, "on_follow": 5, "on_shar": 5, "viewcount": 5, "out": 5, "between": 5, "yet": 5, "my": 5, "handler": 5, "present": 5, "up": 5, "individu": 5, "warn": 5, "becaus": 5, "caus": 5, "overriden": 5, "isinst": 5, "somerandomerror": 5, "some": 5, "_log_error": 5, "isaac": 5, "kogan": 5, "maintain": 5, "isaackogan": 5, "zerodi": 5, "davinc": 5, "introduct": 5, "davidteath": 5, "full": 5, "particip": 5, "under": 5, "mit": 5, "content": 6}, "objects": {"": [[1, 0, 0, "-", "TikTokLive"]], "TikTokLive": [[2, 0, 0, "-", "client"], [3, 0, 0, "-", "proto"], [4, 0, 0, "-", "types"], [1, 0, 0, "-", "utils"]], "TikTokLive.client": [[2, 0, 0, "-", "base"], [2, 0, 0, "-", "client"], [2, 0, 0, "-", "config"], [2, 0, 0, "-", "httpx"]], "TikTokLive.client.base": [[2, 1, 1, "", "BaseClient"]], "TikTokLive.client.base.BaseClient": [[2, 2, 1, "", "available_gifts"], [2, 2, 1, "", "connected"], [2, 3, 1, "", "download"], [2, 3, 1, "", "get_proxies"], [2, 3, 1, "", "retrieve_available_gifts"], [2, 3, 1, "", "retrieve_room_info"], [2, 2, 1, "", "room_id"], [2, 2, 1, "", "room_info"], [2, 3, 1, "", "run"], [2, 3, 1, "", "send_message"], [2, 3, 1, "", "set_proxies"], [2, 3, 1, "", "start"], [2, 3, 1, "", "stop"], [2, 3, 1, "", "stop_download"], [2, 2, 1, "", "unique_id"], [2, 2, 1, "", "viewer_count"]], "TikTokLive.client.client": [[2, 1, 1, "", "TikTokLiveClient"]], "TikTokLive.client.config": [[2, 4, 1, "", "DEFAULT_CLIENT_PARAMS"], [2, 4, 1, "", "DEFAULT_REQUEST_HEADERS"], [2, 4, 1, "", "TIKTOK_URL_WEB"], [2, 4, 1, "", "TIKTOK_URL_WEBCAST"]], "TikTokLive.client.httpx": [[2, 1, 1, "", "TikTokHTTPClient"]], "TikTokLive.client.httpx.TikTokHTTPClient": [[2, 3, 1, "", "get_deserialized_object_from_webcast_api"], [2, 3, 1, "", "get_json_object_from_webcast_api"], [2, 3, 1, "", "get_livestream_page_html"], [2, 3, 1, "", "post_json_to_webcast_api"], [2, 3, 1, "", "update_url"]], "TikTokLive.proto": [[3, 0, 0, "-", "utilities"]], "TikTokLive.proto.utilities": [[3, 5, 1, "", "deserialize_message"], [3, 5, 1, "", "deserialize_websocket_message"], [3, 5, 1, "", "from_dict_plus"], [3, 5, 1, "", "serialize_message"]], "TikTokLive.types": [[4, 0, 0, "-", "errors"], [4, 0, 0, "-", "events"], [4, 0, 0, "-", "objects"]], "TikTokLive.types.errors": [[4, 6, 1, "", "AlreadyConnected"], [4, 6, 1, "", "AlreadyConnecting"], [4, 6, 1, "", "AlreadyDownloadingStream"], [4, 6, 1, "", "ChatMessageRepeat"], [4, 6, 1, "", "ChatMessageSendFailure"], [4, 6, 1, "", "DownloadProcessNotFound"], [4, 6, 1, "", "DownloadStreamError"], [4, 6, 1, "", "FailedConnection"], [4, 6, 1, "", "FailedFetchGifts"], [4, 6, 1, "", "FailedFetchRoomInfo"], [4, 6, 1, "", "FailedHTTPRequest"], [4, 6, 1, "", "FailedParseUserHTML"], [4, 6, 1, "", "FailedRoomPolling"], [4, 6, 1, "", "InitialCursorMissing"], [4, 6, 1, "", "InvalidSessionId"], [4, 6, 1, "", "LiveNotFound"], [4, 6, 1, "", "NotDownloadingStream"], [4, 6, 1, "", "SignatureRateLimitReached"], [4, 6, 1, "", "WebsocketConnectionFailed"]], "TikTokLive.types.events": [[4, 1, 1, "", "AbstractEvent"], [4, 1, 1, "", "CommentEvent"], [4, 1, 1, "", "ConnectEvent"], [4, 1, 1, "", "DisconnectEvent"], [4, 1, 1, "", "EmoteEvent"], [4, 1, 1, "", "EnvelopeEvent"], [4, 1, 1, "", "FollowEvent"], [4, 1, 1, "", "GiftEvent"], [4, 1, 1, "", "JoinEvent"], [4, 1, 1, "", "LikeEvent"], [4, 1, 1, "", "LiveEndEvent"], [4, 1, 1, "", "MicArmiesEvent"], [4, 1, 1, "", "MicBattleEvent"], [4, 1, 1, "", "MoreShareEvent"], [4, 1, 1, "", "QuestionEvent"], [4, 1, 1, "", "ShareEvent"], [4, 1, 1, "", "SubscribeEvent"], [4, 1, 1, "", "UnknownEvent"], [4, 1, 1, "", "ViewerCountUpdateEvent"], [4, 1, 1, "", "WeeklyRankingEvent"]], "TikTokLive.types.events.AbstractEvent": [[4, 2, 1, "", "as_dict"], [4, 7, 1, "", "name"], [4, 3, 1, "", "set_as_dict"]], "TikTokLive.types.events.CommentEvent": [[4, 7, 1, "", "comment"], [4, 7, 1, "", "name"], [4, 7, 1, "", "user"]], "TikTokLive.types.events.ConnectEvent": [[4, 7, 1, "", "name"]], "TikTokLive.types.events.DisconnectEvent": [[4, 7, 1, "", "name"]], "TikTokLive.types.events.EmoteEvent": [[4, 7, 1, "", "emote"], [4, 7, 1, "", "name"], [4, 7, 1, "", "user"]], "TikTokLive.types.events.EnvelopeEvent": [[4, 7, 1, "", "name"], [4, 7, 1, "", "treasureBoxData"], [4, 7, 1, "", "treasureBoxUser"]], "TikTokLive.types.events.FollowEvent": [[4, 7, 1, "", "displayType"], [4, 7, 1, "", "label"], [4, 7, 1, "", "name"], [4, 7, 1, "", "user"]], "TikTokLive.types.events.GiftEvent": [[4, 7, 1, "", "gift"], [4, 7, 1, "", "name"], [4, 7, 1, "", "user"]], "TikTokLive.types.events.JoinEvent": [[4, 7, 1, "", "displayType"], [4, 7, 1, "", "label"], [4, 7, 1, "", "name"], [4, 2, 1, "", "through_share"], [4, 7, 1, "", "user"]], "TikTokLive.types.events.LikeEvent": [[4, 7, 1, "", "displayType"], [4, 7, 1, "", "label"], [4, 7, 1, "", "likeCount"], [4, 7, 1, "", "name"], [4, 7, 1, "", "totalLikeCount"], [4, 7, 1, "", "user"]], "TikTokLive.types.events.LiveEndEvent": [[4, 7, 1, "", "name"]], "TikTokLive.types.events.MicArmiesEvent": [[4, 7, 1, "", "battleStatus"], [4, 7, 1, "", "battleUsers"], [4, 7, 1, "", "name"]], "TikTokLive.types.events.MicBattleEvent": [[4, 7, 1, "", "battleUsers"], [4, 7, 1, "", "name"]], "TikTokLive.types.events.MoreShareEvent": [[4, 2, 1, "", "amount"], [4, 7, 1, "", "name"]], "TikTokLive.types.events.QuestionEvent": [[4, 7, 1, "", "name"], [4, 7, 1, "", "questionText"], [4, 7, 1, "", "user"]], "TikTokLive.types.events.ShareEvent": [[4, 7, 1, "", "displayType"], [4, 7, 1, "", "label"], [4, 7, 1, "", "name"], [4, 7, 1, "", "user"]], "TikTokLive.types.events.SubscribeEvent": [[4, 7, 1, "", "actionId"], [4, 7, 1, "", "event"], [4, 7, 1, "", "name"], [4, 7, 1, "", "user"]], "TikTokLive.types.events.UnknownEvent": [[4, 7, 1, "", "name"]], "TikTokLive.types.events.ViewerCountUpdateEvent": [[4, 7, 1, "", "name"], [4, 7, 1, "", "viewerCount"]], "TikTokLive.types.events.WeeklyRankingEvent": [[4, 7, 1, "", "data"], [4, 7, 1, "", "name"]], "TikTokLive.types.objects": [[4, 1, 1, "", "AbstractObject"], [4, 1, 1, "", "Avatar"], [4, 1, 1, "", "Badge"], [4, 1, 1, "", "BadgeContainer"], [4, 1, 1, "", "Emote"], [4, 1, 1, "", "EmoteImage"], [4, 1, 1, "", "ExtendedGift"], [4, 1, 1, "", "ExtraAttributes"], [4, 1, 1, "", "FFmpegWrapper"], [4, 1, 1, "", "Gift"], [4, 1, 1, "", "GiftDetailImage"], [4, 1, 1, "", "GiftDetails"], [4, 1, 1, "", "GiftExtra"], [4, 1, 1, "", "GiftIcon"], [4, 1, 1, "", "ImageBadge"], [4, 1, 1, "", "ImageBadgeImage"], [4, 1, 1, "", "LinkUser"], [4, 1, 1, "", "MemberMessage"], [4, 1, 1, "", "MemberMessageDetails"], [4, 1, 1, "", "MicArmiesGroup"], [4, 1, 1, "", "MicArmiesUser"], [4, 1, 1, "", "MicBattleGroup"], [4, 1, 1, "", "MicBattleUser"], [4, 1, 1, "", "RankContainer"], [4, 1, 1, "", "RankItem"], [4, 1, 1, "", "TreasureBoxData"], [4, 1, 1, "", "User"], [4, 1, 1, "", "WeeklyRanking"]], "TikTokLive.types.objects.Avatar": [[4, 2, 1, "", "avatar_url"], [4, 7, 1, "", "urls"]], "TikTokLive.types.objects.Badge": [[4, 7, 1, "", "name"], [4, 7, 1, "", "type"]], "TikTokLive.types.objects.BadgeContainer": [[4, 7, 1, "", "badges"], [4, 7, 1, "", "imageBadges"]], "TikTokLive.types.objects.Emote": [[4, 7, 1, "", "emoteId"], [4, 7, 1, "", "image"]], "TikTokLive.types.objects.EmoteImage": [[4, 7, 1, "", "imageUrl"]], "TikTokLive.types.objects.ExtendedGift": [[4, 7, 1, "", "describe"], [4, 7, 1, "", "diamond_count"], [4, 7, 1, "", "duration"], [4, 7, 1, "", "event_name"], [4, 7, 1, "", "icon"], [4, 7, 1, "", "id"], [4, 7, 1, "", "image"], [4, 7, 1, "", "is_broadcast_gift"], [4, 7, 1, "", "is_displayed_on_panel"], [4, 7, 1, "", "is_effect_befview"], [4, 7, 1, "", "is_gray"], [4, 7, 1, "", "is_random_gift"], [4, 7, 1, "", "name"], [4, 7, 1, "", "notify"], [4, 7, 1, "", "type"]], "TikTokLive.types.objects.ExtraAttributes": [[4, 7, 1, "", "followRole"]], "TikTokLive.types.objects.FFmpegWrapper": [[4, 7, 1, "", "ffmpeg"], [4, 7, 1, "", "path"], [4, 7, 1, "", "runtime"], [4, 7, 1, "", "started_at"], [4, 7, 1, "", "thread"], [4, 7, 1, "", "verbose"]], "TikTokLive.types.objects.Gift": [[4, 7, 1, "", "extended_gift"], [4, 7, 1, "", "giftDetails"], [4, 7, 1, "", "giftExtra"], [4, 7, 1, "", "giftId"], [4, 2, 1, "", "gift_type"], [4, 7, 1, "", "repeatCount"], [4, 7, 1, "", "repeatEnd"], [4, 2, 1, "", "repeat_count"], [4, 2, 1, "", "repeat_end"], [4, 2, 1, "", "streakable"], [4, 2, 1, "", "streaking"]], "TikTokLive.types.objects.GiftDetailImage": [[4, 7, 1, "", "giftPictureUrl"]], "TikTokLive.types.objects.GiftDetails": [[4, 7, 1, "", "describe"], [4, 7, 1, "", "diamondCount"], [4, 7, 1, "", "giftImage"], [4, 7, 1, "", "giftName"], [4, 7, 1, "", "giftType"]], "TikTokLive.types.objects.GiftExtra": [[4, 7, 1, "", "receiverUserId"], [4, 7, 1, "", "timestamp"]], "TikTokLive.types.objects.GiftIcon": [[4, 7, 1, "", "avg_color"], [4, 7, 1, "", "is_animated"], [4, 7, 1, "", "uri"], [4, 7, 1, "", "url_list"]], "TikTokLive.types.objects.ImageBadge": [[4, 7, 1, "", "displayType"], [4, 7, 1, "", "image"]], "TikTokLive.types.objects.ImageBadgeImage": [[4, 7, 1, "", "url"]], "TikTokLive.types.objects.LinkUser": [[4, 7, 1, "", "nickname"], [4, 7, 1, "", "profilePicture"], [4, 7, 1, "", "uniqueId"], [4, 7, 1, "", "userId"]], "TikTokLive.types.objects.MemberMessage": [[4, 7, 1, "", "eventDetails"]], "TikTokLive.types.objects.MemberMessageDetails": [[4, 7, 1, "", "displayType"], [4, 7, 1, "", "label"]], "TikTokLive.types.objects.MicArmiesGroup": [[4, 7, 1, "", "points"], [4, 7, 1, "", "users"]], "TikTokLive.types.objects.MicArmiesUser": [[4, 7, 1, "", "battleGroups"], [4, 7, 1, "", "hostUserId"]], "TikTokLive.types.objects.MicBattleGroup": [[4, 7, 1, "", "user"]], "TikTokLive.types.objects.MicBattleUser": [[4, 7, 1, "", "battleGroup"]], "TikTokLive.types.objects.RankContainer": [[4, 7, 1, "", "rankings"]], "TikTokLive.types.objects.RankItem": [[4, 7, 1, "", "colour"], [4, 7, 1, "", "id"]], "TikTokLive.types.objects.TreasureBoxData": [[4, 7, 1, "", "canOpen"], [4, 7, 1, "", "coins"], [4, 7, 1, "", "timestamp"]], "TikTokLive.types.objects.User": [[4, 7, 1, "", "badges"], [4, 7, 1, "", "extraAttributes"], [4, 2, 1, "", "is_following"], [4, 2, 1, "", "is_friend"], [4, 2, 1, "", "is_moderator"], [4, 2, 1, "", "is_new_gifter"], [4, 2, 1, "", "is_subscriber"], [4, 7, 1, "", "nickname"], [4, 7, 1, "", "profilePicture"], [4, 2, 1, "", "top_gifter_rank"], [4, 7, 1, "", "uniqueId"], [4, 7, 1, "", "userId"]], "TikTokLive.types.objects.WeeklyRanking": [[4, 7, 1, "", "label"], [4, 7, 1, "", "rank"], [4, 7, 1, "", "type"]], "TikTokLive.utils": [[1, 5, 1, "", "get_room_id_from_main_page_html"], [1, 5, 1, "", "validate_and_normalize_unique_id"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:property", "3": "py:method", "4": "py:data", "5": "py:function", "6": "py:exception", "7": "py:attribute"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "property", "Python property"], "3": ["py", "method", "Python method"], "4": ["py", "data", "Python data"], "5": ["py", "function", "Python function"], "6": ["py", "exception", "Python exception"], "7": ["py", "attribute", "Python attribute"]}, "titleterms": {"how": [0, 5], "To": 0, "build": 0, "tiktokl": [1, 2, 3, 4, 5, 6], "packag": [1, 2, 3, 4], "subpackag": 1, "submodul": [1, 2, 3, 4], "util": [1, 3], "modul": [1, 2, 3, 4], "content": [1, 2, 3, 4, 5], "client": 2, "base": 2, "config": 2, "httpx": 2, "proto": 3, "type": 4, "error": [4, 5], "event": [4, 5], "object": 4, "doc": 5, "tabl": 5, "thermal": 5, "print": 5, "librari": 5, "sale": 5, "purchas": 5, "intro": 5, "tutori": 5, "get": 5, "start": 5, "param": 5, "option": 5, "method": 5, "attribut": 5, "connect": 5, "disconnect": 5, "like": 5, "join": 5, "gift": 5, "follow": 5, "share": 5, "viewer_count_upd": 5, "comment": 5, "emot": 5, "envelop": 5, "subscrib": 5, "weekly_rank": 5, "mic_battl": 5, "mic_armi": 5, "more_shar": 5, "live_end": 5, "unknown": 5, "contributor": 5, "licens": 5}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 6, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 56}}) \ No newline at end of file +Search.setIndex({"docnames": ["README", "TikTokLive", "TikTokLive.client", "TikTokLive.proto", "TikTokLive.types", "index", "modules"], "filenames": ["README.md", "TikTokLive.rst", "TikTokLive.client.rst", "TikTokLive.proto.rst", "TikTokLive.types.rst", "index.rst", "modules.rst"], "titles": ["How To Build", "TikTokLive package", "TikTokLive.client package", "TikTokLive.proto package", "TikTokLive.types package", "TikTokLive Docs", "TikTokLive"], "terms": {"complet": 0, "command": [0, 5], "cd": 0, "sphinx": 0, "apidoc": 0, "ext": 0, "autodoc": 0, "forc": 0, "o": 0, "tiktokl": 0, "proto": [0, 1, 2, 4, 5, 6], "tiktok_schema_pb2": 0, "py": 0, "make": [0, 2, 5], "html": [0, 1, 2, 4], "move": 0, "gener": [0, 4], "_build": 0, "folder": [0, 5], "root": 0, "renam": 0, "doc": 0, "add": [0, 5], "nojekyl": 0, "file": [0, 5], "new": [0, 2, 4, 5], "alern": 0, "remov": 0, "item": [0, 4], "recurs": 0, "path": [0, 2, 4], "destin": 0, "client": [1, 4, 5, 6], "base": [1, 4, 6], "config": [1, 3, 6], "httpx": [1, 6], "type": [1, 3, 5, 6], "error": [1, 2, 6], "event": [1, 2, 6], "object": [1, 2, 3, 5, 6], "get_room_id_from_main_page_html": 1, "main_page_html": 1, "str": [1, 2, 3, 4], "get": [1, 2], "room": [1, 2, 4, 5], "id": [1, 2, 4, 5], "from": [1, 2, 3, 4, 5], "creator": [1, 5], "": [1, 2, 4, 5], "page": [1, 2], "If": [1, 2, 4, 5], "thi": [1, 5], "fail": [1, 4, 5], "you": [1, 2, 4, 5], "ar": [1, 2, 3, 4, 5], "probabl": 1, "block": [1, 2, 5], "tiktok": [1, 2, 4, 5], "us": [1, 2, 3, 5], "vpn": 1, "return": [1, 2, 3, 4, 5], "The": [1, 2, 3, 4, 5], "validate_and_normalize_unique_id": 1, "unique_id": [1, 2, 5], "take": [1, 5], "host": [1, 4, 5], "format": [1, 2], "convert": 1, "them": 1, "normal": [1, 3], "version": [1, 5], "For": [1, 5], "exampl": [1, 5], "class": [2, 3, 4], "basecli": 2, "loop": [2, 5], "option": [2, 3, 4], "abstracteventloop": 2, "none": [2, 3, 4, 5], "client_param": [2, 5], "dict": [2, 3, 4, 5], "header": [2, 5], "timeout_m": [2, 5], "int": [2, 4, 5], "ping_interval_m": [2, 5], "1000": [2, 5], "process_initial_data": [2, 5], "bool": [2, 4], "true": [2, 4, 5], "enable_extended_gift_info": [2, 5], "trust_env": [2, 5], "fals": [2, 4, 5], "proxi": [2, 5], "lang": [2, 5], "en": [2, 5], "u": [2, 5], "fetch_room_info_on_connect": [2, 5], "websocket_en": [2, 5], "websocket_timeout_m": 2, "15000": 2, "asyncioeventemitt": 2, "respons": [2, 5], "long": [2, 4, 5], "poll": [2, 4, 5], "webcast": [2, 4, 5], "api": [2, 5], "properti": [2, 4, 5], "available_gift": [2, 5], "extendedgift": [2, 4, 5], "avail": [2, 5], "gift": [2, 4], "inform": [2, 4, 5], "live": [2, 4, 5], "info": [2, 4, 5], "connect": [2, 4], "whether": [2, 4, 5], "i": [2, 4, 5], "result": [2, 3, 4, 5], "download": [2, 4, 5], "durat": [2, 4, 5], "verbos": [2, 4], "loglevel": 2, "global_opt": 2, "set": [2, 3, 4, 5], "input": 2, "output": 2, "start": [2, 4], "user": [2, 4, 5], "livestream": [2, 4, 5], "video": [2, 4, 5], "given": [2, 4, 5], "non": [2, 5], "via": [2, 5], "python": [2, 3, 5], "thread": [2, 4, 5], "paramet": [2, 3, 4, 5], "ffmpeg": [2, 4], "log": [2, 4, 5], "level": 2, "pass": [2, 5], "custom": [2, 5], "param": 2, "global": 2, "less": [2, 5], "than": [2, 4, 5], "1": [2, 4, 5], "go": 2, "forev": 2, "about": [2, 4, 5], "consol": [2, 5], "rais": [2, 4], "alreadydownloadingstream": [2, 4], "alreadi": [2, 4], "attempt": [2, 4, 5], "second": [2, 4, 5], "async": [2, 5], "get_proxi": [2, 5], "current": [2, 4, 5], "being": [2, 5], "http": [2, 4, 5], "request": [2, 4, 5], "retrieve_available_gift": [2, 5], "retriev": [2, 4, 5], "retrieve_room_info": [2, 5], "method": 2, "dictionari": [2, 3, 4, 5], "contain": [2, 3, 4, 5], "all": [2, 5], "room_id": [2, 5], "wa": [2, 4], "success": 2, "room_info": [2, 5], "run": [2, 5], "session_id": 2, "while": [2, 5], "main": [2, 5], "send_messag": [2, 5], "text": [2, 4, 5], "send": [2, 4, 5], "messag": [2, 3, 4, 5], "chat": [2, 4, 5], "want": [2, 5], "session": [2, 4, 5], "ve": 2, "suppli": [2, 4, 5], "one": [2, 4, 5], "don": 2, "t": [2, 3, 5], "need": 2, "set_proxi": [2, 5], "Not": 2, "websocket": [2, 3, 4, 5], "without": [2, 5], "stop": [2, 4, 5], "safe": 2, "stop_download": [2, 5], "notdownloadingstream": [2, 4], "try": [2, 4, 5], "when": [2, 4, 5], "downloadprocessnotfound": [2, 4], "befor": [2, 4, 5], "process": [2, 4, 5], "ha": [2, 4, 5], "open": [2, 4], "uniqu": [2, 5], "streamer": [2, 4, 5], "Their": [2, 4], "viewer_count": [2, 5], "viewer": [2, 4, 5], "count": [2, 4, 5], "tiktoklivecli": [2, 5], "debug": [2, 5], "emit": 2, "asynchron": [2, 5], "default_client_param": 2, "union": 2, "aid": 2, "1988": 2, "app_languag": 2, "app_nam": 2, "tiktok_web": 2, "browser_languag": 2, "browser_nam": 2, "mozilla": 2, "browser_onlin": 2, "browser_platform": 2, "win32": 2, "browser_vers": 2, "5": [2, 4, 5], "0": [2, 5], "window": 2, "nt": 2, "10": [2, 4, 5], "win64": 2, "x64": 2, "applewebkit": 2, "537": 2, "36": 2, "khtml": 2, "like": [2, 4], "gecko": 2, "chrome": 2, "102": 2, "5005": 2, "63": 2, "safari": 2, "cookie_en": 2, "cursor": [2, 4], "device_platform": 2, "web": 2, "did_rul": 2, "3": [2, 5], "fetch_rul": 2, "focus_st": 2, "from_pag": 2, "history_len": 2, "4": 2, "ident": 2, "audienc": 2, "internal_ext": 2, "is_fullscreen": 2, "is_page_vis": 2, "last_rtt": 2, "live_id": 2, "12": 2, "mstoken": 2, "refer": 2, "www": [2, 5], "com": [2, 5], "resp_content_typ": 2, "protobuf": [2, 3], "root_refer": 2, "screen_height": 2, "1152": 2, "screen_width": 2, "2048": 2, "tz_name": 2, "europ": 2, "berlin": 2, "update_version_cod": 2, "version_cod": 2, "180800": 2, "webcast_sdk_vers": 2, "default": [2, 5], "includ": [2, 4, 5], "server": 2, "default_request_head": 2, "accept": 2, "applic": 2, "json": 2, "encod": 2, "gzip": 2, "deflat": 2, "languag": [2, 5], "q": [2, 4], "9": 2, "cach": [2, 5], "control": 2, "max": 2, "ag": 2, "keep": 2, "aliv": 2, "origin": 2, "agent": 2, "url": [2, 4, 5], "webapp": 2, "tiktok_url_web": 2, "tiktok_url_webcast": 2, "extern": 2, "sign": 2, "tiktokhttpcli": 2, "get_deserialized_object_from_webcast_api": 2, "schema": [2, 3], "sign_url": 2, "deseri": [2, 3], "an": [2, 4, 5], "authent": 2, "decod": [2, 3, 5], "data": [2, 3, 4, 5], "timeoutexcept": 2, "get_json_object_from_webcast_api": 2, "get_livestream_page_html": 2, "string": 2, "post_json_to_webcast_api": 2, "post": 2, "urlencod": 2, "classmethod": 2, "update_url": 2, "updat": [2, 4, 5], "break": 2, "compon": 2, "ad": [2, 5], "ones": 2, "rebuild": 2, "we": 2, "deserialize_messag": 3, "proto_nam": 3, "obj": 3, "byte": 3, "name": [3, 4, 5], "deserialize_websocket_messag": 3, "binary_messag": 3, "which": [3, 4, 5], "addit": 3, "A": [3, 4, 5], "msg": 3, "repres": 3, "webcastrespons": 3, "binari": 3, "from_dict_plu": 3, "data_class": 3, "ani": [3, 4], "load": 3, "_as_dict": [3, 4], "attribut": [3, 4], "automat": [3, 5], "fit": 3, "dacit": 3, "dataclass": 3, "serialize_messag": 3, "serial": 3, "bytearrai": 3, "except": [4, 5], "alreadyconnect": 4, "runtimeerror": 4, "whilst": 4, "downloadstreamerror": 4, "chatmessagerepeat": 4, "chatmessagesendfailur": 4, "someon": [4, 5], "repeat": 4, "found": 4, "usual": 4, "re": 4, "spawn": 4, "broadli": 4, "anyth": 4, "relat": 4, "stream": [4, 5], "failedconnect": 4, "failedfetchgift": 4, "failedhttprequest": 4, "fetch": [4, 5], "encount": 4, "failedfetchroominfo": 4, "whenev": 4, "failedparseuserhtml": 4, "pars": 4, "failedroompol": 4, "initialcursormiss": 4, "initi": [4, 5], "miss": [4, 5], "invalidsessionid": 4, "expir": 4, "livenotfound": 4, "offlin": [4, 5], "doe": 4, "exist": 4, "signatureratelimitreach": 4, "hit": 4, "signatur": 4, "rate": [4, 5], "limit": [4, 5], "websocketconnectionfail": 4, "abstractev": [4, 5], "abstract": 4, "as_dict": [4, 5], "copi": 4, "raw": [4, 5], "payload": [4, 5], "set_as_dict": 4, "commentev": [4, 5], "comment": 4, "fire": [4, 5], "utf": 4, "8": 4, "sent": [4, 5], "connectev": [4, 5], "disconnectev": [4, 5], "disconnect": 4, "emoteev": [4, 5], "emot": 4, "subscrib": 4, "person": [4, 5], "who": [4, 5], "envelopeev": [4, 5], "treasureboxdata": [4, 5], "treasureboxus": [4, 5], "envelop": 4, "enclos": 4, "treasur": [4, 5], "box": [4, 5], "followev": [4, 5], "displaytyp": 4, "label": 4, "follow": 4, "giftev": [4, 5], "receiv": [4, 5], "joinev": [4, 5], "join": 4, "through_shar": 4, "thei": 4, "through": 4, "link": [4, 5], "v": [4, 5], "app": 4, "share": 4, "likeev": [4, 5], "likecount": 4, "totallikecount": 4, "number": [4, 5], "think": 4, "total": 4, "liveendev": [4, 5], "live_end": 4, "end": [4, 5], "micarmiesev": [4, 5], "battlestatu": 4, "battleus": [4, 5], "list": [4, 5], "micarmiesus": 4, "factori": 4, "mic_armi": 4, "dure": [4, 5], "mic": [4, 5], "battl": [4, 5], "its": [4, 5], "progress": [4, 5], "statu": [4, 5], "engag": 4, "micbattleev": [4, 5], "micbattleus": 4, "mic_battl": 4, "moreshareev": [4, 5], "more_shar": 4, "shareev": [4, 5], "more": [4, 5], "user123": 4, "peopl": [4, 5], "amount": [4, 5], "have": [4, 5], "off": [4, 5], "questionev": 4, "questiontext": 4, "question": [4, 5], "ask": 4, "intern": [4, 5], "subscribeev": [4, 5], "actionid": 4, "membermessag": 4, "correspond": 4, "sub": 4, "7": 4, "detail": [4, 5], "subscript": [4, 5], "unknownev": [4, 5], "unknown": 4, "handl": [4, 5], "other": [4, 5], "librari": 4, "viewercountupdateev": [4, 5], "viewercount": 4, "viewer_count_upd": 4, "view": [4, 5], "weeklyrankingev": [4, 5], "rankcontain": 4, "weekly_rank": 4, "weekli": [4, 5], "rank": [4, 5], "abstractobject": 4, "avatar": 4, "avatar_url": 4, "last": [4, 5], "highest": 4, "qualiti": 4, "badg": 4, "e": 4, "g": 4, "moder": 4, "badgecontain": 4, "imagebadg": 4, "hous": 4, "friend": 4, "imag": [4, 5], "emoteid": 4, "emoteimag": 4, "encapsul": 4, "imageurl": [4, 5], "cdn": 4, "diamond_count": 4, "describ": 4, "event_nam": [4, 5], "icon": 4, "gifticon": 4, "notifi": 4, "is_broadcast_gift": 4, "is_displayed_on_panel": 4, "is_effect_befview": 4, "is_random_gift": 4, "is_grai": 4, "extend": [4, 5], "whole": 4, "lotta": 4, "extra": [4, 5], "currenc": 4, "diamond": 4, "valu": [4, 5], "extraattribut": 4, "followrol": 4, "ffmpegwrapp": 4, "runtim": 4, "started_at": 4, "wrapper": [4, 5], "util": [4, 5, 6], "ffmpy": 4, "subprocess": 4, "argument": 4, "how": 4, "time": [4, 5], "began": 4, "occur": [4, 5], "giftid": 4, "repeatcount": 4, "repeatend": 4, "giftdetail": 4, "giftextra": 4, "extended_gift": [4, 5], "veri": [4, 5], "import": [4, 5], "april": 4, "2022": 4, "specif": [4, 5], "multi": 4, "gift_typ": [4, 5], "alia": 4, "gifttyp": 4, "backward": 4, "compat": 4, "repetit": 4, "over": [4, 5], "repeat_count": [4, 5], "repeat_end": [4, 5], "streakabl": [4, 5], "can": [4, 5], "streak": [4, 5], "otherwis": [4, 5], "giftdetailimag": 4, "giftpictureurl": 4, "giftimag": 4, "diamondcount": 4, "giftnam": 4, "timestamp": 4, "receiveruserid": 4, "recipi": 4, "avg_color": 4, "uri": 4, "is_anim": 4, "url_list": 4, "anim": 4, "variou": 4, "size": 4, "imagebadgeimag": 4, "linkus": 4, "userid": 4, "nicknam": [4, 5], "profilepictur": 4, "uniqueid": [4, 5], "linkmicbattl": 4, "profil": 4, "pictur": 4, "eventdetail": 4, "membermessagedetail": 4, "member": 4, "displai": 4, "micarmiesgroup": 4, "point": 4, "group": 4, "presum": 4, "involv": 4, "hostuserid": 4, "battlegroup": [4, 5], "armi": 4, "micbattlegroup": 4, "weeklyrank": 4, "rankitem": 4, "colour": 4, "ui": 4, "400": 4, "top": [4, 5], "coin": 4, "canopen": 4, "is_follow": 4, "watch": [4, 5], "is_friend": 4, "is_moder": 4, "is_new_gift": 4, "gifter": 4, "is_subscrib": 4, "charli": 4, "d": 4, "amelio": 4, "top_gifter_rank": 4, "charlidamelio": 4, "packag": [5, 6], "subpackag": [5, 6], "submodul": [5, 6], "modul": [5, 6], "abov": 5, "tree": 5, "document": 5, "read": 5, "servic": 5, "real": 5, "push": 5, "onli": 5, "allow": 5, "your": 5, "well": 5, "No": 5, "credenti": 5, "requir": 5, "implement": 5, "javascript": 5, "connector": 5, "zerodytrash": 5, "meant": 5, "serv": 5, "altern": 5, "feel": 5, "comfort": 5, "work": 5, "project": 5, "support": 5, "discord": 5, "visit": 5, "channel": 5, "contribut": 5, "idea": 5, "free": 5, "pull": 5, "featur": 5, "fix": 5, "etc": 5, "note": 5, "offici": 5, "It": 5, "revers": 5, "engin": 5, "research": 5, "due": 5, "chang": 5, "part": 5, "prior": 5, "v4": 5, "longer": 5, "function": 5, "upgrad": 5, "latest": 5, "pip": 5, "instal": 5, "primari": 5, "quickstart": 5, "resourc": 5, "guid": 5, "david": 5, "speech": 5, "plai": 5, "sound": 5, "much": 5, "just": 5, "life": 5, "futur": 5, "easi": 5, "15": 5, "minut": 5, "plug": 5, "printer": 5, "driver": 5, "termin": 5, "As": 5, "access": 5, "everi": 5, "releas": 5, "here": 5, "sampl": 5, "what": 5, "do": 5, "30": 5, "line": 5, "code": 5, "even": 5, "own": 5, "youtub": 5, "come": 5, "pre": 5, "made": 5, "abil": 5, "isn": 5, "strong": 5, "To": 5, "bui": 5, "creat": 5, "ticket": 5, "gg": 5, "4mbw58w5qx": 5, "cannot": 5, "recommend": 5, "enough": 5, "succinct": 5, "understand": 5, "teather": 5, "click": 5, "thumbnail": 5, "warp": 5, "first": 5, "instanti": 5, "usernam": 5, "isaackogz": 5, "defin": 5, "decor": 5, "def": 5, "on_connect": 5, "_": 5, "notic": 5, "on_com": 5, "f": 5, "callback": 5, "add_listen": 5, "__name__": 5, "__main__": 5, "await": 5, "see": 5, "provid": 5, "configur": 5, "kwarg": 5, "descript": 5, "ye": 5, "broadcast": 5, "find": 5, "officialgeilegisela": 5, "specifi": 5, "old": 5, "enabl": 5, "prevent": 5, "also": 5, "manual": 5, "unconnect": 5, "state": 5, "cost": 5, "polling_interval_m": 5, "interv": 5, "aiohttp": 5, "wait": 5, "should": 5, "asyncio": 5, "usag": 5, "activ": 5, "mostli": 5, "nest": 5, "oldskoldj": 5, "timeout": 5, "frequent": 5, "trust": 5, "environ": 5, "variabl": 5, "password": 5, "localhost": 5, "8030": 5, "420": 5, "69": 5, "8031": 5, "sync": 5, "turn": 5, "listen": 5, "two": 5, "until": 5, "throw": 5, "cooki": 5, "exclud": 5, "whose": 5, "k": 5, "pair": 5, "either": 5, "callabl": 5, "trigger": 5, "successfulli": 5, "establish": 5, "call": 5, "reconnect": 5, "littl": 5, "bit": 5, "avoid": 5, "on_disconnect": 5, "on_lik": 5, "on_join": 5, "arriv": 5, "gleam": 5, "capabl": 5, "increas": 5, "again": 5, "after": 5, "anoth": 5, "signal": 5, "appli": 5, "mean": 5, "onc": 5, "twice": 5, "therefor": 5, "wai": 5, "on_gift": 5, "x": 5, "elif": 5, "els": 5, "on_follow": 5, "on_shar": 5, "viewcount": 5, "out": 5, "between": 5, "yet": 5, "my": 5, "handler": 5, "present": 5, "up": 5, "individu": 5, "warn": 5, "becaus": 5, "caus": 5, "overriden": 5, "isinst": 5, "somerandomerror": 5, "some": 5, "_log_error": 5, "isaac": 5, "kogan": 5, "maintain": 5, "isaackogan": 5, "zerodi": 5, "davinc": 5, "introduct": 5, "davidteath": 5, "full": 5, "particip": 5, "under": 5, "mit": 5, "content": 6}, "objects": {"": [[1, 0, 0, "-", "TikTokLive"]], "TikTokLive": [[2, 0, 0, "-", "client"], [3, 0, 0, "-", "proto"], [4, 0, 0, "-", "types"], [1, 0, 0, "-", "utils"]], "TikTokLive.client": [[2, 0, 0, "-", "base"], [2, 0, 0, "-", "client"], [2, 0, 0, "-", "config"], [2, 0, 0, "-", "httpx"]], "TikTokLive.client.base": [[2, 1, 1, "", "BaseClient"]], "TikTokLive.client.base.BaseClient": [[2, 2, 1, "", "available_gifts"], [2, 2, 1, "", "connected"], [2, 3, 1, "", "download"], [2, 3, 1, "", "get_proxies"], [2, 3, 1, "", "retrieve_available_gifts"], [2, 3, 1, "", "retrieve_room_info"], [2, 2, 1, "", "room_id"], [2, 2, 1, "", "room_info"], [2, 3, 1, "", "run"], [2, 3, 1, "", "send_message"], [2, 3, 1, "", "set_proxies"], [2, 3, 1, "", "start"], [2, 3, 1, "", "stop"], [2, 3, 1, "", "stop_download"], [2, 2, 1, "", "unique_id"], [2, 2, 1, "", "viewer_count"]], "TikTokLive.client.client": [[2, 1, 1, "", "TikTokLiveClient"]], "TikTokLive.client.config": [[2, 4, 1, "", "DEFAULT_CLIENT_PARAMS"], [2, 4, 1, "", "DEFAULT_REQUEST_HEADERS"], [2, 4, 1, "", "TIKTOK_URL_WEB"], [2, 4, 1, "", "TIKTOK_URL_WEBCAST"]], "TikTokLive.client.httpx": [[2, 1, 1, "", "TikTokHTTPClient"]], "TikTokLive.client.httpx.TikTokHTTPClient": [[2, 3, 1, "", "get_deserialized_object_from_webcast_api"], [2, 3, 1, "", "get_json_object_from_webcast_api"], [2, 3, 1, "", "get_livestream_page_html"], [2, 3, 1, "", "post_json_to_webcast_api"], [2, 3, 1, "", "update_url"]], "TikTokLive.proto": [[3, 0, 0, "-", "utilities"]], "TikTokLive.proto.utilities": [[3, 5, 1, "", "deserialize_message"], [3, 5, 1, "", "deserialize_websocket_message"], [3, 5, 1, "", "from_dict_plus"], [3, 5, 1, "", "serialize_message"]], "TikTokLive.types": [[4, 0, 0, "-", "errors"], [4, 0, 0, "-", "events"], [4, 0, 0, "-", "objects"]], "TikTokLive.types.errors": [[4, 6, 1, "", "AlreadyConnected"], [4, 6, 1, "", "AlreadyConnecting"], [4, 6, 1, "", "AlreadyDownloadingStream"], [4, 6, 1, "", "ChatMessageRepeat"], [4, 6, 1, "", "ChatMessageSendFailure"], [4, 6, 1, "", "DownloadProcessNotFound"], [4, 6, 1, "", "DownloadStreamError"], [4, 6, 1, "", "FailedConnection"], [4, 6, 1, "", "FailedFetchGifts"], [4, 6, 1, "", "FailedFetchRoomInfo"], [4, 6, 1, "", "FailedHTTPRequest"], [4, 6, 1, "", "FailedParseUserHTML"], [4, 6, 1, "", "FailedRoomPolling"], [4, 6, 1, "", "InitialCursorMissing"], [4, 6, 1, "", "InvalidSessionId"], [4, 6, 1, "", "LiveNotFound"], [4, 6, 1, "", "NotDownloadingStream"], [4, 6, 1, "", "SignatureRateLimitReached"], [4, 6, 1, "", "WebsocketConnectionFailed"]], "TikTokLive.types.events": [[4, 1, 1, "", "AbstractEvent"], [4, 1, 1, "", "CommentEvent"], [4, 1, 1, "", "ConnectEvent"], [4, 1, 1, "", "DisconnectEvent"], [4, 1, 1, "", "EmoteEvent"], [4, 1, 1, "", "EnvelopeEvent"], [4, 1, 1, "", "FollowEvent"], [4, 1, 1, "", "GiftEvent"], [4, 1, 1, "", "JoinEvent"], [4, 1, 1, "", "LikeEvent"], [4, 1, 1, "", "LiveEndEvent"], [4, 1, 1, "", "MicArmiesEvent"], [4, 1, 1, "", "MicBattleEvent"], [4, 1, 1, "", "MoreShareEvent"], [4, 1, 1, "", "QuestionEvent"], [4, 1, 1, "", "ShareEvent"], [4, 1, 1, "", "SubscribeEvent"], [4, 1, 1, "", "UnknownEvent"], [4, 1, 1, "", "ViewerCountUpdateEvent"], [4, 1, 1, "", "WeeklyRankingEvent"]], "TikTokLive.types.events.AbstractEvent": [[4, 2, 1, "", "as_dict"], [4, 7, 1, "", "name"], [4, 3, 1, "", "set_as_dict"]], "TikTokLive.types.events.CommentEvent": [[4, 7, 1, "", "comment"], [4, 7, 1, "", "name"], [4, 7, 1, "", "user"]], "TikTokLive.types.events.ConnectEvent": [[4, 7, 1, "", "name"]], "TikTokLive.types.events.DisconnectEvent": [[4, 7, 1, "", "name"]], "TikTokLive.types.events.EmoteEvent": [[4, 7, 1, "", "emote"], [4, 7, 1, "", "name"], [4, 7, 1, "", "user"]], "TikTokLive.types.events.EnvelopeEvent": [[4, 7, 1, "", "name"], [4, 7, 1, "", "treasureBoxData"], [4, 7, 1, "", "treasureBoxUser"]], "TikTokLive.types.events.FollowEvent": [[4, 7, 1, "", "displayType"], [4, 7, 1, "", "label"], [4, 7, 1, "", "name"], [4, 7, 1, "", "user"]], "TikTokLive.types.events.GiftEvent": [[4, 7, 1, "", "gift"], [4, 7, 1, "", "name"], [4, 7, 1, "", "user"]], "TikTokLive.types.events.JoinEvent": [[4, 7, 1, "", "displayType"], [4, 7, 1, "", "label"], [4, 7, 1, "", "name"], [4, 2, 1, "", "through_share"], [4, 7, 1, "", "user"]], "TikTokLive.types.events.LikeEvent": [[4, 7, 1, "", "displayType"], [4, 7, 1, "", "label"], [4, 7, 1, "", "likeCount"], [4, 7, 1, "", "name"], [4, 7, 1, "", "totalLikeCount"], [4, 7, 1, "", "user"]], "TikTokLive.types.events.LiveEndEvent": [[4, 7, 1, "", "name"]], "TikTokLive.types.events.MicArmiesEvent": [[4, 7, 1, "", "battleStatus"], [4, 7, 1, "", "battleUsers"], [4, 7, 1, "", "name"]], "TikTokLive.types.events.MicBattleEvent": [[4, 7, 1, "", "battleUsers"], [4, 7, 1, "", "name"]], "TikTokLive.types.events.MoreShareEvent": [[4, 2, 1, "", "amount"], [4, 7, 1, "", "name"]], "TikTokLive.types.events.QuestionEvent": [[4, 7, 1, "", "name"], [4, 7, 1, "", "questionText"], [4, 7, 1, "", "user"]], "TikTokLive.types.events.ShareEvent": [[4, 7, 1, "", "displayType"], [4, 7, 1, "", "label"], [4, 7, 1, "", "name"], [4, 7, 1, "", "user"]], "TikTokLive.types.events.SubscribeEvent": [[4, 7, 1, "", "actionId"], [4, 7, 1, "", "event"], [4, 7, 1, "", "name"], [4, 7, 1, "", "user"]], "TikTokLive.types.events.UnknownEvent": [[4, 7, 1, "", "name"]], "TikTokLive.types.events.ViewerCountUpdateEvent": [[4, 7, 1, "", "name"], [4, 7, 1, "", "viewerCount"]], "TikTokLive.types.events.WeeklyRankingEvent": [[4, 7, 1, "", "data"], [4, 7, 1, "", "name"]], "TikTokLive.types.objects": [[4, 1, 1, "", "AbstractObject"], [4, 1, 1, "", "Avatar"], [4, 1, 1, "", "Badge"], [4, 1, 1, "", "BadgeContainer"], [4, 1, 1, "", "Emote"], [4, 1, 1, "", "EmoteImage"], [4, 1, 1, "", "ExtendedGift"], [4, 1, 1, "", "ExtraAttributes"], [4, 1, 1, "", "FFmpegWrapper"], [4, 1, 1, "", "Gift"], [4, 1, 1, "", "GiftDetailImage"], [4, 1, 1, "", "GiftDetails"], [4, 1, 1, "", "GiftExtra"], [4, 1, 1, "", "GiftIcon"], [4, 1, 1, "", "ImageBadge"], [4, 1, 1, "", "ImageBadgeImage"], [4, 1, 1, "", "LinkUser"], [4, 1, 1, "", "MemberMessage"], [4, 1, 1, "", "MemberMessageDetails"], [4, 1, 1, "", "MicArmiesGroup"], [4, 1, 1, "", "MicArmiesUser"], [4, 1, 1, "", "MicBattleGroup"], [4, 1, 1, "", "MicBattleUser"], [4, 1, 1, "", "RankContainer"], [4, 1, 1, "", "RankItem"], [4, 1, 1, "", "TreasureBoxData"], [4, 1, 1, "", "User"], [4, 1, 1, "", "WeeklyRanking"]], "TikTokLive.types.objects.Avatar": [[4, 2, 1, "", "avatar_url"], [4, 7, 1, "", "urls"]], "TikTokLive.types.objects.Badge": [[4, 7, 1, "", "name"], [4, 7, 1, "", "type"]], "TikTokLive.types.objects.BadgeContainer": [[4, 7, 1, "", "badges"], [4, 7, 1, "", "imageBadges"]], "TikTokLive.types.objects.Emote": [[4, 7, 1, "", "emoteId"], [4, 7, 1, "", "image"]], "TikTokLive.types.objects.EmoteImage": [[4, 7, 1, "", "imageUrl"]], "TikTokLive.types.objects.ExtendedGift": [[4, 7, 1, "", "describe"], [4, 7, 1, "", "diamond_count"], [4, 7, 1, "", "duration"], [4, 7, 1, "", "event_name"], [4, 7, 1, "", "icon"], [4, 7, 1, "", "id"], [4, 7, 1, "", "image"], [4, 7, 1, "", "is_broadcast_gift"], [4, 7, 1, "", "is_displayed_on_panel"], [4, 7, 1, "", "is_effect_befview"], [4, 7, 1, "", "is_gray"], [4, 7, 1, "", "is_random_gift"], [4, 7, 1, "", "name"], [4, 7, 1, "", "notify"], [4, 7, 1, "", "type"]], "TikTokLive.types.objects.ExtraAttributes": [[4, 7, 1, "", "followRole"]], "TikTokLive.types.objects.FFmpegWrapper": [[4, 7, 1, "", "ffmpeg"], [4, 7, 1, "", "path"], [4, 7, 1, "", "runtime"], [4, 7, 1, "", "started_at"], [4, 7, 1, "", "thread"], [4, 7, 1, "", "verbose"]], "TikTokLive.types.objects.Gift": [[4, 7, 1, "", "extended_gift"], [4, 7, 1, "", "giftDetails"], [4, 7, 1, "", "giftExtra"], [4, 7, 1, "", "giftId"], [4, 2, 1, "", "gift_type"], [4, 7, 1, "", "repeatCount"], [4, 7, 1, "", "repeatEnd"], [4, 2, 1, "", "repeat_count"], [4, 2, 1, "", "repeat_end"], [4, 2, 1, "", "streakable"], [4, 2, 1, "", "streaking"]], "TikTokLive.types.objects.GiftDetailImage": [[4, 7, 1, "", "giftPictureUrl"]], "TikTokLive.types.objects.GiftDetails": [[4, 7, 1, "", "describe"], [4, 7, 1, "", "diamondCount"], [4, 7, 1, "", "giftImage"], [4, 7, 1, "", "giftName"], [4, 7, 1, "", "giftType"]], "TikTokLive.types.objects.GiftExtra": [[4, 7, 1, "", "receiverUserId"], [4, 7, 1, "", "timestamp"]], "TikTokLive.types.objects.GiftIcon": [[4, 7, 1, "", "avg_color"], [4, 7, 1, "", "is_animated"], [4, 7, 1, "", "uri"], [4, 7, 1, "", "url_list"]], "TikTokLive.types.objects.ImageBadge": [[4, 7, 1, "", "displayType"], [4, 7, 1, "", "image"]], "TikTokLive.types.objects.ImageBadgeImage": [[4, 7, 1, "", "url"]], "TikTokLive.types.objects.LinkUser": [[4, 7, 1, "", "nickname"], [4, 7, 1, "", "profilePicture"], [4, 7, 1, "", "uniqueId"], [4, 7, 1, "", "userId"]], "TikTokLive.types.objects.MemberMessage": [[4, 7, 1, "", "eventDetails"]], "TikTokLive.types.objects.MemberMessageDetails": [[4, 7, 1, "", "displayType"], [4, 7, 1, "", "label"]], "TikTokLive.types.objects.MicArmiesGroup": [[4, 7, 1, "", "points"], [4, 7, 1, "", "users"]], "TikTokLive.types.objects.MicArmiesUser": [[4, 7, 1, "", "battleGroups"], [4, 7, 1, "", "hostUserId"]], "TikTokLive.types.objects.MicBattleGroup": [[4, 7, 1, "", "user"]], "TikTokLive.types.objects.MicBattleUser": [[4, 7, 1, "", "battleGroup"]], "TikTokLive.types.objects.RankContainer": [[4, 7, 1, "", "rankings"]], "TikTokLive.types.objects.RankItem": [[4, 7, 1, "", "colour"], [4, 7, 1, "", "id"]], "TikTokLive.types.objects.TreasureBoxData": [[4, 7, 1, "", "canOpen"], [4, 7, 1, "", "coins"], [4, 7, 1, "", "timestamp"]], "TikTokLive.types.objects.User": [[4, 7, 1, "", "badges"], [4, 7, 1, "", "extraAttributes"], [4, 2, 1, "", "is_following"], [4, 2, 1, "", "is_friend"], [4, 2, 1, "", "is_moderator"], [4, 2, 1, "", "is_new_gifter"], [4, 2, 1, "", "is_subscriber"], [4, 7, 1, "", "nickname"], [4, 7, 1, "", "profilePicture"], [4, 2, 1, "", "top_gifter_rank"], [4, 7, 1, "", "uniqueId"], [4, 7, 1, "", "userId"]], "TikTokLive.types.objects.WeeklyRanking": [[4, 7, 1, "", "label"], [4, 7, 1, "", "rank"], [4, 7, 1, "", "type"]], "TikTokLive.utils": [[1, 5, 1, "", "get_room_id_from_main_page_html"], [1, 5, 1, "", "validate_and_normalize_unique_id"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:property", "3": "py:method", "4": "py:data", "5": "py:function", "6": "py:exception", "7": "py:attribute"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "property", "Python property"], "3": ["py", "method", "Python method"], "4": ["py", "data", "Python data"], "5": ["py", "function", "Python function"], "6": ["py", "exception", "Python exception"], "7": ["py", "attribute", "Python attribute"]}, "titleterms": {"how": [0, 5], "To": 0, "build": 0, "tiktokl": [1, 2, 3, 4, 5, 6], "packag": [1, 2, 3, 4], "subpackag": 1, "submodul": [1, 2, 3, 4], "util": [1, 3], "modul": [1, 2, 3, 4], "content": [1, 2, 3, 4, 5], "client": 2, "base": 2, "config": 2, "httpx": 2, "proto": 3, "type": 4, "error": [4, 5], "event": [4, 5], "object": 4, "doc": 5, "tabl": 5, "thermal": 5, "print": 5, "librari": 5, "sale": 5, "purchas": 5, "intro": 5, "tutori": 5, "get": 5, "start": 5, "param": 5, "option": 5, "method": 5, "attribut": 5, "connect": 5, "disconnect": 5, "like": 5, "join": 5, "gift": 5, "follow": 5, "share": 5, "viewer_count_upd": 5, "comment": 5, "emot": 5, "envelop": 5, "subscrib": 5, "weekly_rank": 5, "mic_battl": 5, "mic_armi": 5, "more_shar": 5, "live_end": 5, "unknown": 5, "contributor": 5, "licens": 5}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 6, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 56}}) \ No newline at end of file diff --git a/setup.py b/setup.py index 7342f98..7407e6c 100644 --- a/setup.py +++ b/setup.py @@ -9,7 +9,7 @@ setuptools.setup( name="TikTokLive", packages=setuptools.find_packages(), - version="4.3.0", + version="4.3.2", license="MIT", description="TikTok Live Connection Client", author="Isaac Kogan", @@ -17,7 +17,7 @@ url="https://github.com/isaackogan/TikTokLive", long_description=long_description, long_description_content_type="text/markdown", - download_url="https://github.com/isaackogan/TikTokLive/releases/tag/v4.3.0", + download_url="https://github.com/isaackogan/TikTokLive/releases/tag/v4.3.2", keywords=["tiktok", "tiktok live", "python3", "api", "unofficial"], install_requires=[ "httpx>=0.23.0", # Make requests