# JJMumbleBot
[![GitHub release](https://img.shields.io/github/release/DuckBoss/JJMumbleBot.svg)](https://github.com/DuckBoss/JJMumbleBot/releases/latest)
[![Packagist](https://img.shields.io/badge/License-GPL-blue.svg)](https://github.com/DuckBoss/JJMumbleBot/blob/master/LICENSE)
[![CodeFactor](https://www.codefactor.io/repository/github/duckboss/jjmumblebot/badge)](https://www.codefactor.io/repository/github/duckboss/jjmumblebot)
[![Build Status](https://travis-ci.com/DuckBoss/JJMumbleBot.svg?branch=master)](https://travis-ci.com/DuckBoss/JJMumbleBot)
A plugin-based All-In-One mumble bot solution in python 3.7+ with extensive features and support for custom plugins.
## Features 🔥
- Built-in Plugins - Fast, responsive, plugin-based system for easy expandability.
- Media Plugin - Streams Youtube/SoundCloud audio in the channel.
- Youtube Playlist Support
- Video Thumbnails
- Queue System
- Direct Youtube/SoundCloud Link Support
- Search/Browse Youtube Support
- Mumble Whisper Support
- Images Plugin - Posts images from urls or from a local directory in the channel.
- Local Images Support
- Direct Link Images Support
- Sound Board Plugin - Sound Board that plays short wav audio clips in the channel.
- Local Audio Clips Support
- Download and Play Audio Clips
- Mumble Whisper Support
- Randomizer Plugin - Do custom dice rolls, coin flips, etc in the channel.
- Whisper Plugin - Mumble Whisper support for audio data.
- Bot Commands Plugin - Enhanced interactivity and management commands.
- Full list of built-in plugins
- Docker Support - Deploy JJMumbleBot on the cloud or on any docker-supported device.
- Web Interface - Control and manage the bot with an optional web interface.
- Auto-Updater - A System to update dependencies through bot commands.
- Support for custom plugins
- Pseudo-GUI System [PGUI] - A pseudo graphical user interface built with html tags.
- Event logging to keep track of bot usage and command history.
- Multi-Command Input - Input multiple commands in a single line.
- Command Aliases - Register custom aliases to shorten command calls, and do some nifty command combinations.
- Custom Command Tokens - Custom command recognition tokens (ex: !command, ~command, /command, etc)
- Command Tick Rates - Commands in the queue are processed by the tick rate assigned in the config.
- Multi-Threaded Command Processing - Commands in the queue are handled in multiple threads for faster processing.
- Reconfigurable Command Privileges - The user privileges required to execute commands can be completely reconfigured.
- User Privileges System - Set user privileges to server users to limit the command usage on a per-user basis.
- Extensive Callback System - Create custom callbacks to mumble server events and more.
## Screenshots
#### Audio Interface System (youtube plugin, sound board plugin, etc)
#### Web Interface - Commands Page
#### Web Interface - Audio Page
#### Web Interface - Debug Page
## Installation And Setup 🏃
- Download and install python 3.7+
- Linux: Depends on distribution
- Mac OSX: Mac OSX Python Downloads
- Windows: Windows Python Downloads
- Full project dependency installation:
- Install all requirements files: `pip install -r requirements/xxxxx.txt`
- Update installed pymumble to the latest github release: `pip install --upgrade git+git://github.com/azlux/pymumble@pymumble_py3`
- FFmpeg and VLC must be installed on your system
- Note: You must have libopus installed, and installation varies by operating system.
- Note: v4.2+ requires FFmpeg and VLC. v4.1 and under uses only VLC.
- Please make sure your murmur server supports sending text messages of over 90000 characters. (Configurable in your murmur.ini file)
- Please check the Wiki Pages for setup procedures and more information.
- JJMumbleBot has been tested on Linux/Windows platforms. MacOS is untested, but it should theoretically work.
## Docker Setup 🏃
Please check the Docker Setup Wiki Page for more information.
## Documentation 📝
JJMumbleBot Documentation Wiki
F.A.Q - Solve common issues easily
Requirements and Dependencies
Quick Start Guide
Quick Setup Utility - Web Interface For Config.ini File Creation
## Extra Plugins:
https://github.com/DuckBoss/JJMumbleBot-PluginLibrary
### Got any questions or concerns? Please post an issue report 👋
#### Or email me @ duckboss@kakao.com