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)

Channel Chat Image

Web Interface - Commands Page

Commands Tab Image

Web Interface - Main Page

Audio Tab Image

Web Interface - Main Page

Debug Tab Image

Installation And Setup 🏃

  • Download and install python 3.7+
  • 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/[email protected]_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.

GitHub