Diane 1ba136b91c Fix radio downloads: ship EJS solver scripts and allow runtime refresh
yt-dlp now solves YouTube JS challenges via external EJS scripts (yt-dlp-ejs package); a bare PyPI yt-dlp does not include them and remote fetching is disabled by default. Images built after the EJS migration therefore fail every download with HTTP 403 while playlists keep working. Use yt-dlp[default] so the matching yt-dlp-ejs ships in the image, and pass --remote-components ejs:github so solver scripts refresh at runtime when YouTube rotates challenges.
2026-09-03 13:31:00 +00:00
2024-01-21 10:47:20 +01:00
2024-08-15 22:19:35 +02:00
2026-07-19 15:30:10 +02:00
2026-07-16 18:43:01 +02:00
2024-01-19 14:14:46 +01:00
2024-01-23 17:58:22 +01:00
2026-04-20 11:42:59 +02:00

ParkerBot

ParkerBot is a Matrix bot that monitors a channel for YouTube links and generates weekly playlists from them. It also sends YouTube link titles to the channel it's in.

Running locally

  1. Clone the repo
  2. Install the dependencies, preferably in a venv:
    uv venv --python 3.14 --seed
    source .venv/bin/activate
    uv pip install -r requirements.txt
    
  3. Copy example.env to .env, customize it.
  4. Source .env:
    source .env
    
  5. Execute the app:
    ./main.py
    

Running as a container

  1. Customize the compose.yml if necessary, you might want to change the data volume's path or make it a named volume.
  2. Copy example.env to .env and customize it.
  3. Run locally as described above at least once on a machine with a web browser. This is needed to get a valid token.pickle for YouTube. Copy it to the data directory where you want to run the container.
  4. Run the container, this is an example with podman-compose:
    podman-compose up -d
    
S
Description
Matrix bot that generates YouTube playlists from links in a channel.
Readme Apache-2.0
1.2 MiB
0 Stars 1 Watchers 1 Forks
1.2.3
Latest
2026-04-16 12:12:57 +02:00
Languages
Python 98.4%
Dockerfile 1.6%