pytchat ======= pytchat is a python library for fetching youtube live chat.


## Description pytchat is a python library for fetching youtube live chat without using Selenium or BeautifulSoup. Other features: + Customizable [chat data processors](https://github.com/taizan-hokuto/pytchat/wiki/ChatProcessor) including youtube api compatible one. + Available on asyncio context. + Quick fetching of initial chat data by generating continuation params instead of web scraping. For more detailed information, see [wiki](https://github.com/taizan-hokuto/pytchat/wiki).
[wiki (Japanese)](https://github.com/taizan-hokuto/pytchat/wiki/Home_jp) ## Install ```python pip install pytchat ``` ## Examples ### Fetch chat data (see [wiki](https://github.com/taizan-hokuto/pytchat/wiki/PytchatCore)) ```python import pytchat chat = pytchat.create(video_id="uIx8l2xlYVY") while chat.is_alive(): for c in chat.get().sync_items(): print(f"{c.datetime} [{c.author.name}]- {c.message}") ``` ### Output JSON format string (feature of [DefaultProcessor](https://github.com/taizan-hokuto/pytchat/wiki/DefaultProcessor)) ```python import pytchat import time chat = pytchat.create(video_id="uIx8l2xlYVY") while chat.is_alive(): print(chat.get().json()) time.sleep(5) ''' # Each chat item can also be output in JSON format. for c in chat.get().items: print(c.json()) ''' ``` ### other + Fetch chat with a buffer ([LiveChat](https://github.com/taizan-hokuto/pytchat/wiki/LiveChat)) + Use with asyncio ([LiveChatAsync](https://github.com/taizan-hokuto/pytchat/wiki/LiveChatAsync)) + YT API compatible chat processor ([CompatibleProcessor](https://github.com/taizan-hokuto/pytchat/wiki/CompatibleProcessor)) ## Structure of Default Processor Each item can be got with `sync_items()` function.
name type remarks
type str "superChat","textMessage","superSticker","newSponsor"
id str
message str emojis are represented by ":(shortcut text):"
messageEx str list of message texts and emoji dicts(id, txt, url).
timestamp int unixtime milliseconds
datetime str e.g. "2019-10-10 12:34:56"
elapsedTime str elapsed time. (e.g. "1:02:27") *Replay Only.
amountValue float e.g. 1,234.0
amountString str e.g. "$ 1,234"
currency str ISO 4217 currency codes (e.g. "USD")
bgColor int RGB Int
author object see below
Structure of author object.
name type remarks
name str
channelId str *chatter's channel ID.
channelUrl str
imageUrl str
badgeUrl str
isVerified bool
isChatOwner bool
isChatSponsor bool
isChatModerator bool
## Licence [![MIT License](http://img.shields.io/badge/license-MIT-blue.svg?style=flat)](LICENSE)