Skip to main content

A simple tool used to retrieve chat messages from livestreams, videos, clips and past broadcasts. No authentication needed!

Project description

Chat Downloader

A simple tool used to retrieve chat messages from livestreams, videos, clips and past broadcasts. No authentication needed!

Python PyPI version PyPI Downloads GitHub license

Installation

Install using pip

pip install chat-replay-downloader

To update to the latest version, add the --upgrade flag to the above command.

Install using git

git clone https://github.com/xenova/chat-replay-downloader.git
cd chat-replay-downloader
python setup.py install

Usage

Python:

from chat_replay_downloader import ChatDownloader

url = 'https://www.youtube.com/watch?v=5qap5aO4i9A'
chat = ChatDownloader().get_chat(url)       # create a generator
for message in chat:                        # iterate over messages
    print(chat.format(message))             # print the formatted message

For advanced python use-cases and examples, consult the Python Wiki.

Command line:

chat_replay_downloader https://www.youtube.com/watch?v=5qap5aO4i9A

For advanced command line use-cases and examples, consult the Command Line Wiki.

Issues

Found a bug or have a suggestion? File an issue here. To assist the developers in fixing the issue, please follow the issue template (automatically generated when creating a new issue).

Contributing

Become a contributor

Run as a developer

To run the program as a developer, you do not need to build anything separately. Simply execute:

python -m chat_replay_downloader

[work in progress]

Add support for a new site:

  1. Fork this repository.

  2. Clone the source code with:

     git clone git@github.com:YOUR_GITHUB_USERNAME/chat-replay-downloader.git
    
  3. Start a new branch with:

     cd youtube-dl
     git checkout -b site
    
  4. Rest of guide in progress...

Test the program

If you are unable to write code but still wish to assist, we encourage users to run commands with the --testing flag included. This will print debugging messages and pause once something unexpected happens (e.g. when an unknown item is being parsed). If something happens, please raise an issue and we will fix it or add support for it as soon as possible! Note that this will not affect any output you write to files (using --output). For example:

chat_replay_downloader https://www.youtube.com/watch?v=5qap5aO4i9A --testing

Some extractors use undocumented endpoints and may and as a result, users may encounter items which will not be parsed correctly. Increased testing will improve functionality of the software for other users and is greatly appreciated.

Chat Items

Chat items are parsed into JSON objects (a.k.a. dictionaries) and follow this template:

[work in progress]

For a more in-depth output template, consult the Item Wiki.

Supported sites:

  • YouTube.com - Livestreams, past broadcasts and premieres.
  • Twitch.tv - Livestreams, past broadcasts and clips.
  • Facebook.com (currently in development) - Livestreams and past broadcasts.

TODO list:

  • Finalise unit testing
  • Improve documentation
  • Add progress bar when duration is known
  • Add support for streams by username (i.e. currently live)
  • Websites to add:
    • facebook.com (in progress)
    • vimeo.com
    • dlive.tv
    • instagib.tv
    • dailymotion.com
    • reddit live
    • younow.com

======= History

0.0.1 (2020-12-01)

  • First release on PyPI.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

chat_replay_downloader-0.0.9.tar.gz (85.7 kB view details)

Uploaded Source

Built Distribution

chat_replay_downloader-0.0.9-py2.py3-none-any.whl (58.0 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file chat_replay_downloader-0.0.9.tar.gz.

File metadata

  • Download URL: chat_replay_downloader-0.0.9.tar.gz
  • Upload date:
  • Size: 85.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.8.3

File hashes

Hashes for chat_replay_downloader-0.0.9.tar.gz
Algorithm Hash digest
SHA256 ad75e523f41b9e1e59bc620212d033c81760bd6bff0273a118fb52f1dd9eefa7
MD5 bfcef19744fe622d7d7b601131a09fd4
BLAKE2b-256 aa2ae7f8e126cd973b475e4d06a3308249d9f426c8f41aaf7902b372798811a6

See more details on using hashes here.

File details

Details for the file chat_replay_downloader-0.0.9-py2.py3-none-any.whl.

File metadata

  • Download URL: chat_replay_downloader-0.0.9-py2.py3-none-any.whl
  • Upload date:
  • Size: 58.0 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.21.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.8.3

File hashes

Hashes for chat_replay_downloader-0.0.9-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 969a460f6d2a2094442998835fec986388b71dd0ba16e5fbf55d36bc9b394e25
MD5 81129443411a65b54f8c16563700e334
BLAKE2b-256 9fdf022ba2b01382660354cce30ba940f74319b87925564eace7ae53fbd3bac8

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page