simple icecast status/control discord bot
Find a file
2025-10-26 02:01:40 +03:00
.gitignore Initial commit 2025-10-06 15:29:24 +00:00
bot.py Revert "use yp's currently playing entry (not ideal cuz its not real time but oh well)" 2025-10-26 02:01:40 +03:00
compose.yaml initial commit 2025-10-06 18:48:46 +03:00
config.ini useless commit (for now) 2025-10-11 00:10:34 +03:00
Dockerfile initial commit 2025-10-06 18:48:46 +03:00
LICENSE Initial commit 2025-10-06 15:29:24 +00:00
README.md use discord.py's command api, add telnet and restart command, overall unjank everything 2025-10-10 19:55:57 +03:00
requirements.txt initial commit 2025-10-06 18:48:46 +03:00

icecord

simple icecast/liquidsoap status/control discord bot thingy
im sorry for the absolutely abysmal code

running with docker compose

add your discord token and icecast url in config.ini, then clone the repo git clone https://git.maymundere.org/dj-no/icecord and run docker compose up

running locally

if you wanna run it locally run pip install --user -r requirements.txt and then python bot.py
you'll have to write your own systemd service for it

usage

run !help to get a list of commands

config

[main]
token = discord-token-goes-here # discord token goes here.....DUH
url = http://example.com:8000/status-json.xsl # your icecast server url goes here
telnet_ip = localhost
telnet_port = 1234

addendum on skipping

while !np and !stats will work on any icecast server that provides status-json.xsl, !skip and !tn use liquidsoap's internal telnet server.
if you wanna make use of them you will need to enable telnet in liquidsoap's config (also for added security either run the bot on the same machine as liquidsoap or set up an ssh tunnel, you do NOT wanna expose telnet to the internet)