streamer-widgets/README.md

1.4 KiB

Streamer Widgets (OBS Browser Sources)

This app runs a single local web server that hosts multiple streamer widgets on one port, and pushes updates via WebSockets.

Available Widgets

  • Now Playing: Display currently playing music from Windows Media
  • Live Chat: Display Twitch and YouTube live chat with emote support (FFZ, BTTV, 7TV)

Run (dev)

uv sync
uv run streamer-widgets --tray

Then add as OBS Browser Sources:

  • Now Playing: http://127.0.0.1:8765/widgets/nowplaying/
  • Live Chat: http://127.0.0.1:8765/widgets/livechat/
  • Configuration: http://127.0.0.1:8765/config

Live Chat Setup

See CHAT_SETUP.md for detailed instructions on:

  • Connecting to Twitch and YouTube
  • Setting up OAuth authentication
  • Configuring emote providers (FFZ, BTTV, 7TV)
  • Customizing the chat widget

Build a standalone .exe (PyInstaller)

uv sync --group build
pyinstaller --noconsole --onefile --name streamer-widgets ^
  --add-data "app/assets/web;app/assets/web" ^
  run_tray.py

The executable will be in dist/streamer-widgets.exe.

For end users: Configuration files are stored in %LOCALAPPDATA%\StreamerWidgets\. The app auto-creates a config template on first run. Use the config UI at http://127.0.0.1:8765/config to open the config directory and set up OAuth credentials.