71 lines
1.7 KiB
Markdown
71 lines
1.7 KiB
Markdown
# xmpp-radio-tower
|
|
|
|
Experimental music bot for xmpp similar to discord music bots
|
|
|
|
# Features
|
|
|
|
- Calling the bot over any xmpp client supporting WebRTC calls
|
|
|
|
- Shuffle playlist
|
|
|
|
- Queue system
|
|
|
|
- Add new songs from links yt-dlp supports
|
|
|
|
- Search for songs
|
|
|
|
- Radio relaying (copies m3u8 or mp3 streams of real radios)
|
|
|
|
# TODO
|
|
|
|
# List future ideas and bugs to fix here
|
|
|
|
# How to install
|
|
|
|
I do not remember most details about dependencies but I will try to make an install guide.
|
|
|
|
## Dependencies
|
|
The bot highly relies on the ffmpeg binary for audio. Also having an up to date version of yt-dlp helps a lot.
|
|
|
|
## Installation
|
|
Clone the projects or just copy the scripts over.
|
|
|
|
## Set up the Python Environment
|
|
I have used venv since it is what I know.
|
|
|
|
```bash
|
|
python3 -m venv venv
|
|
```
|
|
|
|
## pip install
|
|
Literally
|
|
|
|
```bash
|
|
pip install slixmpp aiortc aiohttp av mutagen yt-dlp slixmpp-omemo omemo dnspython
|
|
```
|
|
|
|
I am not sure if dnspython is necessary but just in case.
|
|
|
|
## Create Directories
|
|
Create the folder structure for music and downloads:
|
|
```bash
|
|
mkdir -p music/downloads
|
|
```
|
|
|
|
## Configuration
|
|
|
|
Take a look at file named `config.ini` in the bot folder. Edit it (every config has their descriptions near them).
|
|
|
|
## Run the Bot
|
|
|
|
## Manual Start
|
|
```bash
|
|
# Ensure you are in your python environment
|
|
python3 xmpp_radio_bot.py -c config.ini
|
|
```
|
|
|
|
## Usage
|
|
|
|
The bot mostly uses OMEMO encrypted messages. You may need to "Trust" the bot's fingerprint in your client (Gajim/Conversations/Dino) for commands to work if encryption is active. Plaintext works too but I do not check it mostly since OMEMO is good anyways.
|
|
|
|
Inside the DMs with the bot (or inside the bot control muc configured) type "!help" to see how can the bot used. |