]> git.0d.be Git - botaradio.git/blob - README.md
Merge pull request #52 from elpatron68/radiobrowser
[botaradio.git] / README.md
1 # botamusique
2
3 Botamusique is a mumble bot which goal is to allow users to listen music together with its audio output.
4 Predicted functionalities will be ones you could expect from any classic music player.
5
6 Bot the can play :
7 - Radio station from url
8 - Radio station from http://www.radio-browser.info API (query from > 24k stations)
9 - Youtube/Soundcloud URL (everything supported by youtube-dl)
10 - Local folder (disabled, I need to work on the web interface)
11
12 -----
13 ## Menu
14 1. [Web Interface](#web-interface)
15 2. [Installation](#installation)
16 3. [Update](#udpate)
17 4. [Generate a certificate](#optional-generate-a-certificate)
18 5. [Starting the bot](#starting-the-bot)
19 6. [Custom commands](#custom-commands)
20 7. [Contributors](#contributors)
21
22
23 ### Web interface
24 * Disabled by default. It's working but ugly (I'm not a web developer).
25
26 You need to create a folder for all your music. Organize your music by subfolder.
27 The main folder needs to be declared in the config (with a '/' at the end)
28 You can enable the web interface into the configuration.ini file.
29
30 ### Installation
31 1. You need python 3 with opuslib and protobuf (look at the requirement of pymumble)
32 2. The Bot uses ffmpeg, so you know what you have to do if ffmpeg isn't in your package manager. I personally use [this repository](http://repozytorium.mati75.eu/) on my raspberry.
33
34 To Install botamusique (stable and build-in auto-update):
35 ```
36 curl -Lo botamusique.tar.gz https://azlux.fr/botamusique/sources.tar.gz
37 tar -xzf botamusique.tar.gz
38 cd botamusique
39 python3 -m venv venv
40 venv/bin/pip install wheel
41 venv/bin/pip install -r requirements.txt
42 ```
43
44 For the master version, you can use Git installation commands (no build-in auto-update allowed):
45 ```
46 apt install python3-venv ffmpeg libjpeg-dev zlibc zlib1g zlib1g-dev
47 git clone --recurse-submodules https://github.com/azlux/botamusique.git
48 cd botamusique
49 python3 -m venv venv
50 venv/bin/pip install wheel
51 venv/bin/pip install -r requirements.txt
52 ```
53
54 ### Update
55 If using the recommanded install, you can send to the bot `!update`(command by default)
56
57 If using git, you need to make the update manually:
58 ```
59 git pull --all
60 git submodule update
61 venv/bin/pip install --upgrade -r requirements.txt
62 ```
63
64
65 ### (Optional) Generate a certificate
66 `$ openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout botamusique.pem -out botamusique.pem -subj "/CN=botamusique"`
67
68 ### Starting the bot
69 `$ venv/bin/python mumbleBot.py -s HOST -u BOTNAME -P PASSWORD -p PORT -c CHANNEL -C /path/to/botamusique.pem`
70
71 The bot listen to the 8181 port so you should redirect to this one in you NAT configuration to let others peoples access the web interface. (DISABLED)
72
73 If you want information about autoStart and auto-Restart the bot, [you can have help on the wiki.](https://github.com/azlux/botamusique/wiki/AutoStart---AutoRestart)
74
75 ### Custom commands
76 You can copy the file `configuration.default.ini` to `configuration.ini` and customize all variable. Everything can be change but don't remove the default file.
77
78 you have the section :
79 - server : configuration about the server and bot name. This is overrided by the `./mumbleBot.py` parameters.
80 - bot : basic configuration of the bot : comment, folder, volume at start ....
81 - webinterface : basic configuration about the interface (disabled by default)
82 - command : you can customize the command you want for each action (if you put `help = helpme` , the bot will response to `!helpme` )
83 - radio : here you can have a list of default radio ( I can play a jazz radio with the command `!radio jazz`)
84 - rbquery : search http://www.radio-browser.info API for listed radio stations - eg: `!rbquery nora`
85 - rbplay : Play a specific radio station by ID (from rbquery) - eg: `!rbplay 96748`
86 - strings : you can customize all string the bot can say.
87 - debug : option to activate ffmpeg or pymumble debug. (Can be very verbose)
88
89 ### Contributors
90 If you want to participate, You're welcome to fork and pull requests (fixes and new features).
91
92 The following people joined the collaborators for a faster development, big thanks:
93 - @slipenbois
94 - @mertkutay
95
96 Feel free to ask me if you want to help activelly without using pull requests.