#!/usr/bin/env hy (import json) (import requests) (import subprocess) (import argparse) (defn live-play [live-id] (while True (for [item (.json (requests.get f"https://stream.chillhop.com/live/{live-id}"))] (print f"Now playing: {(:title item)} - {(:artists item)} - {(:fileId item)}") (subprocess.run f"mpv --no-video https://stream.chillhop.com/mp3/{(:fileId item)}" :shell True :capture_output True)))) (setv parser (argparse.ArgumentParser)) (parser.add_argument "-s" :action "store" :dest "station" :metavar "station" :required False) (setv args (parser.parse_args)) (when args.station (live-play args.station)) (let [presets (:presets (.json (requests.get "https://stream.chillhop.com/presets")))] (print "Now streaming...") (for [item presets] (print f"Name: {(:name item)} station Id: {(:stationId item)}")) (live-play (input "Input station ID: ")))