No description
Find a file
2026-04-10 13:31:21 +02:00
.github/workflows Fix CI/CD pipeline - remove attestation step that caused errors 2026-02-14 23:13:49 +01:00
content reset stream after obs reset 2026-02-14 23:03:42 +01:00
web Fix: ensure saved settings always take precedence over ENV and fix Chat ID persistence 2026-04-10 13:31:21 +02:00
.dockerignore add dashboard 2026-01-19 20:35:13 +01:00
.env.example Simplify to YouTube monitor: removed OBS, added cool Telegram alerts and web configuration 2026-04-10 10:53:27 +02:00
.gitignore reset stream after obs reset 2026-02-14 23:03:42 +01:00
CHANGELOG.md reset stream after obs reset 2026-02-14 23:03:42 +01:00
docker-compose.synology.yml privacy false 2026-02-15 01:47:04 +01:00
docker-compose.yml privacy false 2026-02-15 01:47:04 +01:00
Dockerfile fix: change OAuth to use localhost:8080 only (Web Application) 2026-02-15 01:06:07 +01:00
README.md Simplify to YouTube monitor: removed OBS, added cool Telegram alerts and web configuration 2026-04-10 10:53:27 +02:00
requirements.txt Critical fix: Add websockets dependency and fix negative Chat ID handling 2026-04-10 13:17:37 +02:00

YouTube Stream Monitor

A simple, lightweight web application to monitor a YouTube channel's live status and send Telegram notifications when the stream goes offline or comes back online.

Features

  • YouTube Monitoring: Checks if a specific channel is live using the YouTube Data API.
  • Telegram Notifications:
    • 🚨 Robust alerts when the stream goes offline with "cool" status messages.
    • Notifications when the stream is back online.
    • 🛠 Test message feature to verify Telegram configuration.
  • Web Interface:
    • Real-time status dashboard.
    • Configurable check intervals (default is 15 minutes/900 seconds).
    • History chart showing stream status over time.
    • Multi-language support (English, Hungarian).

Prerequisites

  • Python 3.9+
  • YouTube Data API Key
  • YouTube Channel ID
  • Telegram Bot Token and Chat ID (for notifications)

Quick Start

  1. Clone the repository:

    git clone https://github.com/yourusername/obs-stream-control.git
    cd obs-stream-control
    
  2. Install dependencies:

    pip install -r requirements.txt
    
  3. Configure environment variables: Create a .env file from the example:

    cp .env.example .env
    

    Edit .env and provide your:

    • YOUTUBE_API_KEY
    • YOUTUBE_CHANNEL_ID
    • TELEGRAM_BOT_TOKEN (optional, can be set in UI)
    • TELEGRAM_CHAT_ID (optional, can be set in UI)
  4. Run the application:

    python -m web.backend.main
    
  5. Access the dashboard: Open http://localhost:8000 in your browser.

Docker Usage

You can also run the monitor using Docker:

docker-compose up -d

Settings

Settings like the Telegram bot token, chat ID, and check interval can be updated directly from the web interface and are saved to a settings.json file.

License

MIT