.gitignore | ||
CHANGELOG.md | ||
commands.go | ||
LICENSE | ||
main.go | ||
Makefile | ||
mumbledj.gcfg | ||
parseconfig.go | ||
queue.go | ||
README.md | ||
song.go | ||
songqueue.go | ||
strings.go |
MumbleDJ
A Mumble bot that plays music fetched from YouTube videos. I have decided to experiment with rewriting the bot in Go using gumble. I am hoping this will cut down on the dependency list, make it easier to develop in the future, and allow for some extra functionality that wasn't previously possible.
And yes, I know that technically this is v3. The Ruby implementation had problems with high CPU usage and choppy audio which I couldn't seem to figure out.
USAGE
$ mumbledj -server=localhost -port=64738 -username=MumbleDJ -password="" -channel=root
All parameters are optional, the example above shows the default values for each field.
INSTALLATION
Installation for v2 of MumbleDJ is much easier than it was before, due to the reduced dependency list and a Makefile
which automates some of the process.
NOTE: This bot was designed for use on Linux machines. If you wish to run the bot on another OS, it will require tweaking and is not something I will be able to help with.
SETUP GUIDE
1) Install and correctly configure Go
. Specifically, make sure to follow this guide and set the GOPATH
environment variable properly.
2) Install ffmpeg
if it is not already installed on your system.
3) Install youtube-dl
.
4) Clone the MumbleDJ
repository.
5) cd
into the MumbleDJ
repository directory and execute the following commands:
$ make install_deps
$ make
$ make install
5) Edit ~/.mumbledj/config/mumbledj.gcfg
to your liking. This file will be overwritten if the config file structure is changed in a commit, but a backup is always stored at ~/.mumbledj/config/mumbledj_backup.gcfg
.
6) Execute the command shown at the top of this README
document with your credentials, and the bot should be up and running!
AUTHOR
LICENSE
The MIT License (MIT)
Copyright (c) 2014 Matthieu Grieger
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
THANKS
- All those who contribute to Mumble.
- Tim Cooper for gumble.
- Ricardo Garcia for youtube-dl.
- ScalingData for gcfg.
- Hicham Bouabdallah for Golang queue implementation.
- kennygrant for sanitize.
- Jason Moiron for jsonq.