Diane
6c106032bc
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 yt-dlp from PyPI does not include them, and remote fetching is disabled by default, so images built after the EJS migration download nothing and fail with HTTP 403 while metadata and playlists keep working. Pin yt-dlp[default] so 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:28:04 +00:00
Diane
026698cba2
Fix AzuraCast integration against verified API behavior
...
Fix AzuraCast integration against verified API behavior
Verified against AzuraCast source (Files\BatchAction, FlowUploadAction,
Files\ListAction, Paginator, StationPlaylistMediaRepository):
- Rotation read a nonexistent 'mtime' key; the files API returns
'timestamp' (unix epoch). Age buckets now work, so tracks actually
migrate Currents -> Recurrents -> Gold as intended.
- Rotation now filters on type == 'media' (dirs are 'directory', not
'dir') and skips rows without a path/timestamp.
- Follow ?page= pagination on /files: the default (no params) response
is an unpaginated JSON array, but any paginated response is now
traversed instead of only page 1 being visible.
- POST /files/upload returns only {success, message}; it never returns
unique_id/path, and the file lands at the uploaded filename. Removed
the dead unique_id search; playlist+queue now use the known path.
- Added success/error checks for batch ops (playlist/queue) instead of
discarding responses, and queue no longer runs when playlist assign
or Currents lookup failed.
- Replaced curl subprocess shelling with aiohttp (already a matrix-nio
dependency): single helper for API calls, real multipart upload,
timeouts everywhere, no temp JSON/pickle files in DATA_DIR.
Functional test (mock AzuraCast mirroring verified API shapes):
15/15 checks pass - upload contract, pagination, batch ops, and age
bucketing (fresh/6d/10d/30d -> Currents/Currents/Recurrents/Gold,
directories and non-media excluded).
2026-09-03 13:09:27 +00:00
afk
ad828c3605
Fix radio.
...
Signed-off-by: Abdulkadir Furkan Şanlı <me@afk.pm >
2026-07-19 22:53:22 +02:00
afk
fac762c84d
Time limit for radio.
...
Signed-off-by: Abdulkadir Furkan Şanlı <me@afk.pm >
2026-07-19 15:30:31 +02:00
afk
5c990752fb
Add deps and enable cache dir.
...
Signed-off-by: Abdulkadir Furkan Şanlı <me@afk.pm >
2026-07-19 15:30:10 +02:00
afk
b946f649e0
Try to fix playlist assignment and increase rotation freq.
...
Signed-off-by: Abdulkadir Furkan Şanlı <me@afk.pm >
2026-07-19 02:25:49 +02:00
afk
5515690416
Fix search and add JS runtime.
2026-07-16 22:13:30 +02:00
afk
1a6a0c4382
Oops
2026-07-16 21:23:59 +02:00
afk
6b12874de6
Radio album art.
2026-07-16 20:30:02 +02:00
afk
ac973ba32a
Fix queueing
2026-07-16 20:21:48 +02:00
afk
0a35e40e25
Playlist rotation automation, fingers crossed.
2026-07-16 20:07:02 +02:00
afk
594d619e2e
Add metadata to radio
2026-07-16 19:54:04 +02:00
afk
dba420ca3a
Correct endpoint
2026-07-16 19:48:15 +02:00
afk
5941909646
Fix radio
2026-07-16 19:42:12 +02:00
afk
6648cfc848
Revert and debug
2026-07-16 19:29:00 +02:00
afk
13f8c962e3
Debug
2026-07-16 19:21:47 +02:00
afk
f7c2e014f9
Update radio upload.
1.3.1
2026-07-16 19:04:54 +02:00
afk
92781e4291
Radio station track uploads.
1.3.0
2026-07-16 18:43:01 +02:00
afk
f98f83d5df
revert 512275a8b8
...
revert Switch to synchronous Python.
Signed-off-by: Abdulkadir Furkan Şanlı <me@abdulocra.cy >
2026-04-20 11:49:08 +02:00
Abdulkadir Furkan Şanlı
611a9551df
Update README.
...
Signed-off-by: Abdulkadir Furkan Şanlı <me@abdulocra.cy >
1.2.4
2026-04-20 11:42:59 +02:00
Abdulkadir Furkan Şanlı
512275a8b8
Switch to synchronous Python.
...
Signed-off-by: Abdulkadir Furkan Şanlı <me@abdulocra.cy >
2026-04-19 19:47:28 +02:00
Abdulkadir Furkan Şanlı
3abc37bb3c
Pin versions and use uv for speed.
...
Signed-off-by: Abdulkadir Furkan Şanlı <me@abdulocra.cy >
2026-04-19 19:37:26 +02:00
Abdulkadir Furkan Şanlı
9c1f18fbee
Remove gay emoji
1.2.3
2026-04-16 12:12:41 +02:00
Abdulkadir Furkan Şanlı
98e2683b80
Fix
1.2.2
2026-04-16 12:09:40 +02:00
Abdulkadir Furkan Şanlı
cba7a701bf
Color
1.2.1
2026-04-16 12:06:58 +02:00
Abdulkadir Furkan Şanlı
884f1c6dd2
Channel name
1.2.0
2026-04-16 11:56:00 +02:00
Abdulkadir Furkan Şanlı
84c245b948
Titles.
1.1.1
1.1.0
2026-04-16 11:39:44 +02:00
Abdulkadir Furkan Şanlı
be5271372c
Add restart to compose file.
...
Signed-off-by: Abdulkadir Furkan Şanlı <me@abdulocra.cy >
1.0.0
2024-08-15 22:19:35 +02:00
abdulkadir
122622b442
Fix wrong duplicate function
2024-01-25 18:32:54 +01:00
Abdulkadir Furkan Şanlı
f84b214ab0
Add all-time playlist
...
Signed-off-by: Abdulkadir Furkan Şanlı <me@abdulocra.cy >
2024-01-25 17:57:05 +01:00
Abdulkadir Furkan Şanlı
5a3ace4297
Refactor, save video_id in playlist_tracks and use it to detect existance.
...
Signed-off-by: Abdulkadir Furkan Şanlı <me@abdulocra.cy >
2024-01-24 22:16:31 +01:00
Abdulkadir Furkan Şanlı
e834867bab
Stabilize matrix-nio version, this is pre-release software.
...
Signed-off-by: Abdulkadir Furkan Şanlı <me@abdulocra.cy >
2024-01-23 22:00:10 +01:00
Abdulkadir Furkan Şanlı
ad13e5d69f
Add entertainment category and fix incorrect variable name.
...
Signed-off-by: Abdulkadir Furkan Şanlı <me@abdulocra.cy >
2024-01-23 18:53:53 +01:00
Abdulkadir Furkan Şanlı
734362014c
Give up on ficing GIF upload.
...
Signed-off-by: Abdulkadir Furkan Şanlı <me@abdulocra.cy >
2024-01-23 18:38:31 +01:00
Abdulkadir Furkan Şanlı
242c0ba362
Fix GIF upload again.
...
Signed-off-by: Abdulkadir Furkan Şanlı <me@abdulocra.cy >
2024-01-23 18:19:54 +01:00
Abdulkadir Furkan Şanlı
580a89c86f
Don't restart in the compose.yml.
...
Signed-off-by: Abdulkadir Furkan Şanlı <me@abdulocra.cy >
2024-01-23 18:15:59 +01:00
Abdulkadir Furkan Şanlı
86e0ab031d
Fix GIF upload.
...
Signed-off-by: Abdulkadir Furkan Şanlı <me@abdulocra.cy >
2024-01-23 18:15:41 +01:00
Abdulkadir Furkan Şanlı
f7f5857ef1
Fix datetime shit again^2.
...
Signed-off-by: Abdulkadir Furkan Şanlı <me@abdulocra.cy >
2024-01-23 18:09:03 +01:00
Abdulkadir Furkan Şanlı
821ed5ab08
Fix datetime shit again.
...
Signed-off-by: Abdulkadir Furkan Şanlı <me@abdulocra.cy >
2024-01-23 18:06:23 +01:00
Abdulkadir Furkan Şanlı
6917c1cc6a
Fix datetime shit.
...
Signed-off-by: Abdulkadir Furkan Şanlı <me@abdulocra.cy >
2024-01-23 18:03:48 +01:00
Abdulkadir Furkan Şanlı
8192db563d
Fix Dockerfile.
...
Signed-off-by: Abdulkadir Furkan Şanlı <me@abdulocra.cy >
2024-01-23 17:59:49 +01:00
Abdulkadir Furkan Şanlı
438cb3e415
Make introduction visual.
...
Signed-off-by: Abdulkadir Furkan Şanlı <me@abdulocra.cy >
2024-01-23 17:58:22 +01:00
Abdulkadir Furkan Şanlı
77a1275431
Add introduction command !parkerbot
...
Signed-off-by: Abdulkadir Furkan Şanlı <me@abdulocra.cy >
2024-01-23 17:46:39 +01:00
Abdulkadir Furkan Şanlı
bd976a2cd5
Replace deprecated datetime functions.
...
Signed-off-by: Abdulkadir Furkan Şanlı <me@abdulocra.cy >
2024-01-23 17:37:41 +01:00
Abdulkadir Furkan Şanlı
0af5be57ac
Add backfill (DANGER), ensure message timestamp's Monday is used, only respond to recent !pow command.
...
Signed-off-by: Abdulkadir Furkan Şanlı <me@abdulocra.cy >
2024-01-23 17:13:01 +01:00
Abdulkadir Furkan Şanlı
2193e11c3b
Update README.md
...
Signed-off-by: Abdulkadir Furkan Şanlı <me@abdulocra.cy >
2024-01-22 00:15:13 +01:00
Abdulkadir Furkan Şanlı
ab05a87705
compose.yml: restart unless stopped.
...
Signed-off-by: Abdulkadir Furkan Şanlı <me@abdulocra.cy >
2024-01-22 00:11:25 +01:00
Abdulkadir Furkan Şanlı
a2cb80c377
Dockerfile: run as user 1000 by default.
...
Signed-off-by: Abdulkadir Furkan Şanlı <me@abdulocra.cy >
2024-01-22 00:10:29 +01:00
Abdulkadir Furkan Şanlı
de13265915
Fix YouTube shortlink incompatibility, remove 'graceful' SIGTERM.
...
Signed-off-by: Abdulkadir Furkan Şanlı <me@abdulocra.cy >
2024-01-21 12:29:34 +01:00
Abdulkadir Furkan Şanlı
a181660836
Update README.md
...
Signed-off-by: Abdulkadir Furkan Şanlı <me@abdulocra.cy >
2024-01-21 10:48:27 +01:00