# YouTube Live Chat Overlay

This project provides a customizable web-based overlay for displaying live chat messages from YouTube streams. It consists of a Python backend that scrapes chat data and a simple HTML/CSS/JavaScript frontend for rendering the overlay.

## Features

*   Real-time display of YouTube Live Chat messages.
*   Automatic assignment of unique, persistent colors to chat participants.
*   Conversion of common text-based emotes to Unicode emojis.
*   Rich text markup for emotes (e.g., colored text).
*   Designed for use with streaming software like OBS Studio as a "Browser Source".

## Installation and Usage

### Prerequisites

*   Python 3.8+
*   `pip` (Python package installer)

### Setup

1.  **Navigate to the project directory:**
    ```bash
    cd /home/joe/Cloud9/Documents/Obisdian/projects/Overlays/youtube-chat-overlay
    ```

2.  **Create and activate a Python virtual environment:**
    ```bash
    python3 -m venv venv
    source venv/bin/activate # For Bash/Zsh
    # or source venv/bin/activate.fish # For Fish Shell
    ```

3.  **Install required Python packages:**
    ```bash
    pip install Flask Flask-Cors pytchat rich
    ```

### Running the Overlay

1.  **Start the Backend Server:**
    Open your terminal, navigate to the project directory, activate your virtual environment, and run the `backend.py` script:
    ```bash
    python overlay_backend.py
    ```
    The script will prompt you to "Enter the YouTube Live Stream Video ID for the overlay:". Provide the 11-character ID of the live stream you wish to monitor and press Enter. The Flask server will start, typically on `http://127.0.0.1:5000`.

2.  **Open the Web Overlay:**
    *   **In a Web Browser:** Open your preferred web browser and navigate to the `index.html` file located at `/home/joe/Cloud9/Documents/Obisdian/projects/Overlays/youtube-chat-overlay/index.html`. You can usually drag and drop the file into your browser, or type the full `file://` path in the address bar.
    *   **In OBS Studio (as a Browser Source):**
        1.  In OBS Studio, add a new "Browser" source.
        2.  Check "Local file" and browse to select the `index.html` file.
        3.  Set the width and height as desired (e.g., 1920x1080 or a custom size for your chat box).
        4.  Ensure "Refresh browser when scene becomes active" is checked.

## Development and Future Plans

For more detailed information on the project's current status, known issues, and future development ideas, please refer to the `DEVELOPMENT_PLAN.md` file in this directory.
