JJMumbleBot

A plugin-based All-In-One mumble bot solution in python 3.7+ with extensive features and support for custom plugins.

GPL-3.0 License

Stars
50
JJMumbleBot - v5.2.0 - Major Management Improvements! Latest Release

Published by DuckBoss over 3 years ago

alias,command
botinfo,(about)|(version)

In this simple example, the custom_aliases.csv is modified so that a !botinfo alias is made to call the !about and !version commands.

command,permission
volume,4

In this example, the custom_permissions.csv is modified so that the volume command is set to a permission level of 4 (administrators and above only).

username,level
Jason,4
Thomas,3
Suzy,4
John,2

In this example, the custom_user_privileges.csv is modified to update the privileges of individual users.

JJMumbleBot - v5.1.1 - New Command Line Arguments And Bug Fixes

Published by DuckBoss over 3 years ago

Updating Notes

This update DOES NOT require you to reconfigure configs, aliases, or database files.
This should be a straight-forward update for v5.1.0 users.

New Command Line Arguments

  • -usehttps: Enable the usage of HTTPS for the web interface.
  • -nohttps: Disable the usage of HTTPS for the web interface if enabled in the config file.
  • -websslcert: Enter the path to the SSL certificate file for the web interface (if HTTPS enabled).
  • -websslkey: Enter the path to the SSL key file for the web interface (if HTTPS enabled).
  • -webgeneratecert: Enables automatic certificate/key creation for the web interface (if HTTPS is enabled).
  • -noautoreconnect: Disables auto-reconnecting if the bot disconnects from the mumble server if enabled in the config file.
  • -noselfregister: Disables self-registration to the connected mumble server if enabled in the config file.
  • -nodatabasebackups: Disables automatic database backups for the bot service if enabled in the config file.
  • -noaudioduck: Disables audio ducking for the bot audio system if enabled in the config file.
  • -nologging: Disables event logging for the bot service if enabled in the config file.
  • -nologtrace: Disables stack trace logging for all logged events if enabled in the config file.

Bug Fixes

  • Fixed multiple command line arguments that enabled bot features such as (-uselogging, -usedatabasebackups, -useweb, -autoreconnect, etc)
  • Fixed -mediacookie command line argument documentation in wiki.

Misc

  • Added -nostdin parameter to ffmpeg launch options in the internal handling of the audio interface.
  • Updated bot version to v5.1.1
JJMumbleBot - v5.1.0 - New Administration Commands and Web Updates

Published by DuckBoss over 3 years ago

NOTE: Dependency Installation/Upgrading Instructions

Please make sure you are using the new and updated dependencies from the requirements/xxxxx.txt files.

In addition to that, please use the updated pymumble library from Github, as the PyPi repository is not updated.
To INSTALL the latest pymumble library and all other dependencies:
pip install -r requirements/requirements.txt -r requirements/web_server.txt
pip install git+git://github.com/azlux/pymumble@pymumble_py3
To UPDATE to the latest pymumble library and update all other dependencies:
pip install --upgrade -r requirements/requirements.txt -r requirements/web_server.txt
pip install --upgrade git+git://github.com/azlux/pymumble@pymumble_py3

New Web Server Plugin Dependency

  • Added new web server dependency: fastapi-utils to the requirements/web_server.txt file. [Added in 6286906]

Administrative Updates - New Commands...

  • Added ability to kick/ban users from the mumble server [Added in 10a510798e492764d9ebd628c7f68a791048d5d5]
    • !kickuser 'username' 'reason'
    • !banuser 'username' 'reason'
  • Added ability to mute/unmute/deafen/undeafen users with commands [Updated in 520a806]
    • !muteuser 'username'
    • !unmuteuser 'username'
    • !deafenuser 'username'
    • !undeafenuser 'username'
  • Added/Updated ability to make temporary/permanent channels [Updated in 7883ab7]
    • !makechannel 'channel_name' - This command now only make temporary channels.
    • !makepermanentchannel 'channel_name' - Creates a permanent channel.
  • Updated the !removechannel command to require a channel name [Updated in 7883ab7]
    • !removechannel 'channel_name'
  • Added ability to rename existing channels [Updated in 7883ab7]
    • !renamechannel 'channel_name' 'new_channel_name'
  • Added ability to move users from one channel to another [Updated in 7883ab7]
    • !moveuser 'username' 'channel'

Web Interface Updates - HTTPS Support, Administrative Controls...

  • Added optional HTTPS support. [Updated in 4d8fde4]
  • The main components on the Commands page now have a limited height, and use scrollbars if the content overflows. [Updated in cb3ce18]
  • Added user administration controls (mute/deafen/kick/ban) to users in the channel hierarchy list. [Updated in fcd0d8e]
  • Added user audio status icons to users in the channel hierarchy list to show when a user is muted/deafened. [Updated in fcd0d8e]
  • Added dialog prompts for kicking/banning users and removing channels. [Updated in 9cd5c80]

Web Server REST API Updates

  • Added general administrative APIs [Updated in 51fbb55]
    • [GET] /api/general/uptime - Retrieves the bot up-time information.
    • [GET] /api/general/version - Retrieves the bot version information.
    • [GET] /api/general/about - Retrieves the bot about information.
  • Added user administrative APIs: [Updated in 1ab311e]
    • [POST] /api/admin/users/join - Join the channel of a given user.
    • [POST] /api/admin/users/move - Move the given user to a channel.
    • [POST] /api/admin/users/kick - Kick the given user and provide an optional reason.
    • [POST] /api/admin/users/ban - Ban the given user and provide an optional reason.
    • [POST] /api/admin/users/mute - Mute/Unmute the given user.
    • [POST] /api/admin/users/deafen - Deafen/Undeafen the given user.
  • Added channel administrative APIs: [Updated in 1ab311e]
    • [POST] /api/admin/channels/rename - Rename the given channel to a new name.
    • [POST] /api/admin/channels/remove - Remove the given channel.
    • [POST] /api/admin/channels/move - Move to the given channel.
    • [POST] /api/admin/channels/leave - Leave the current channel and return to the default channel.
    • [POST] /api/admin/channels/make_temporary - Make a temporary channel with the given name.
    • [POST] /api/admin/channels/make_permanent - Make a permanent channel with the given name.
  • Added plugin administrative APIs: [Updated in 51fbb55]
    • [POST] /api/admin/plugins/stop - Stops an existing, running plugin with the given name.
    • [POST] /api/admin/plugins/start - Starts an existing, stopped plugin with the given name.
    • [POST] /api/admin/plugins/restart - Restarts an existing plugin with the given name.
    • [POST] /api/admin/plugins/restart_all - Restarts all existing plugins.
  • Added plugin metadata APIs: [Updated in 6cda89f]
    • [POST] /api/admin/plugins/metadata/get - Retrieves the metadata file contents of the plugin with the given name.
    • [POST] /api/admin/plugins/metadata/set - Overwrites the metadata file contents of the plugin with the given name, with the provided data.
  • Updated audio APIs: [Updated in 1ab311e]
    • Moved all /api/xxxx audio APIs to /api/audio/xxxx
  • Updated sound_board APIs: [Updated in 1ab311e]
    • Changed /api/soundboardclips to /api/sound_board/clips
    • Changed /api/soundboard-play to /api/sound_board/play
    • Changed /api/soundboard-random to /api/sound_board/random
  • Updated general APIs: [Updated in 1ab311e]
    • Changed /api/system to /api/general/system

Misc

  • Optimized commands in bot_commands plugin.
  • Optimized runtime utilities.
  • Updated web server's monitor service to support user state data such as muted/deafened/etc. [Updated in 372a831]
  • Updated default config parameter: MaxLogSize to 1500000 bytes (1.5Mb). [Updated in 83be3f2]
  • Removed on_permission_denied callback in core bot service. [Updated in a30ae8a]
  • Updated the -generatecert argument to use dynamic paths. [Updated in 1aa77c3]
  • Updated bot and relevant plugins to v5.1.0
JJMumbleBot - v5.0.0 - Updated Logging, Web Server, Many New Features!

Published by DuckBoss over 3 years ago

JJMumbleBot - v4.3.4 - Fixed user connection sounds

Published by DuckBoss almost 4 years ago

Bug Fixes

  • Fixed user connection sounds not playing after recent update
JJMumbleBot - v4.3.3 - !sbrandom/!sbrandomnow command hotfix

Published by DuckBoss almost 4 years ago

Bug Fixes

  • Fixed sbrandom command (alias: !sbr)
  • Fixed sbrandomnow command (alias: !sbrn)
JJMumbleBot - v4.3.2 - Sound Board Interface, Bug Fixes, etc.

Published by DuckBoss almost 4 years ago

Sound Board and Web Interface Updates

  • The web interface now has a new Sound Board tab which displays all the sound board clips available and can play these clips directly from the web interface.
  • Sound board clips can now be queued by default (this can be disabled in the soundboard plugin's metadata.ini file)
  • Changed sound board clip gathering to exclude file extensions. This means that commands that display sound clips will no longer display the file extension of the audio clip.

Bug Fixes

  • Fixed ytsearch command.
  • Fixed occassional issue where the bot audio thread got stuck on connecting to the server.
JJMumbleBot - v4.3.1 - Logging Fixes and Updates

Published by DuckBoss almost 4 years ago

Bug Fixes and Updates

  • Fixed launch parameters for logging functionality.
  • Disabled logging by default for new users, this can be enabled in the config.ini file or with the -uselogging launch parameter.

Misc

  • Updated youtube-dl dependency version.
  • Updated and fixed unit tests.
  • Updated documentation/wiki to reflect changes made in v4.3.1
JJMumbleBot - v4.3.0 - Docker Support, Launch Parameters Update, Many Bug Fixes, etc

Published by DuckBoss almost 4 years ago

What's New

Launch Parameters Update

With the release of v4.3.0, I've added ALL the options available in the config.ini file to the launch parameters list.
This means that any config option can be overridden on launch.

47 New launch parameters:

  • -generatecert : Automatically generates a certificate for the bot and updates the config.ini file to include the new certificate path.
  • All the options in the config.ini file are now available as launch parameters (47 new launch parameters!)
  • For the full list of launch parameters, check the wiki page: Launch Parameters List

Docker Builds Support

I've worked closely with @kaminascripts to prepare the JJMumbleBot project for Docker container support.
There's a lot to cover about this and the bot is easily configurable to run in a docker container.
For more information and a guide on setting up the bot with Docker, please check the wiki page: Docker Support

Server Tools Plugin

Added 'toggleuserconnectionsound' command to be able to toggle the user connection sound feature without manually editing the config.

  • !toggleuserconnectionsound : Enables/disables the user connection sound feature in the metadata file for the plugin.
  • Fixed issue where changes to the server_tools metadata file were not being saved.

Bug Fixes

  • Fixed audio library bugs with the media/sound_board plugins.
  • Fixed error with web interface trying to parse audio library metadata.
  • Fixed logging issue with whisper plugin where it would try to log items when logging was disabled.
  • Fixed errors that occurred when commands weren't formatted properly in the bot_commands plugin.
  • Fixed audio library issue that prevented user connection sound playback in the server_tools plugin.
  • Fixed issue in server_tools plugin where updating user connection sounds wouldn't properly update.

Other Updates

  • A minimally setup config file is now generated if the config.ini file is missing.
  • A minimally setup global_aliases file is now generated if the global_aliases.csv file is missing.
  • Directories such as the media/logging directories are now generated if missing.
  • Directories that are not configured in the config.ini file are now generated automatically instead of causing errors.
  • The bot now automatically adds itself to the user privileges if the web interface is enabled (previously it had to be manually added).
  • The default values in the config_template.ini have been changed to reflect a minimal config setup and make it easier for configuration.
  • Self-registration in servers is now disabled by default, and can be enabled in the config.ini file (previously it was enabled).
  • Logging is now enabled by default, and can be disabled in the config.ini file (previously it was disabled).
  • Database backups are disabled by default, and can be enabled in the config.ini fie (previously it was enabled).
  • Server_tools plugin's user_connections.csv file generates and is saved in the /cfg/plugins/ folder to improve usability.
  • The default multi-command limit set in the config file has been increased to 200.
  • The default command queue limit set in the config file has been increased to 600.
  • The default GUI font has been changed to 'Georgia' (previously set to 'Calibri').
  • The default GUI text color has been changed to 'Snow' instead of 'White'.
  • Removed redundant unit test and associated files.
  • Changed auto-generated media directories to generate in /cfg/ folder instead of root bot directory to keep media downloads persistent if the user is using docker. This won't make any difference to regular users.
  • Moved templates folder out of the cfg folder ->JJMumbleBot/cfg/templates/ folder to JJMumbleBot/templates/

Wiki Updates

  • Updated the wiki to include documentation and guides for Docker setups.
  • Updated the wiki documentation to reflect changes in v4.3.0
JJMumbleBot - v4.2.2 - VLC/FFmpeg Updates and Bug Fixes

Published by DuckBoss about 4 years ago

JJMumbleBot - v4.2.1 - FFmpeg Playback and Config Fixes

Published by DuckBoss about 4 years ago

FFmpeg Playback Fix

  • Fixed FFmpeg playback issue where the youtube video would stop playing 2/3rds of the way through because the URL expires. FFmpeg now auto-regenerates the URL when this error occurs.

FFmpeg Config Fix

  • Fixed 'FfmpegRunQuiet' config parameter.

Other Updates

  • Removed additional deprecated references to VLC.
JJMumbleBot - v4.2.0 - Audio Library Changes, Many Plugin Updates, New Wiki, Etc.

Published by DuckBoss about 4 years ago

This should be a performance boost and will have fewer dependencies since ffmpeg doesn't have a lot of extra packages like vlc.

  • Existing users:
    • please make sure to install FFmpeg for your system, and you can delete VLC as it is no longer required. Make sure to update your config.ini file.
  • New users:

Major Updates

Replaced VLC with FFmpeg

  • Experimenting with using FFMPEG directly instead of VLC.
  • This change should theoretically not be noticeable to any users.

Bot Commands Plugin

  • Added new command: !cmdsearch
    • Search for a command from the full list of commands available using fuzzy-searching to find the closest results.
      !cmdsearch 'command_name' : Search for a command from the full list of commands available.

Sound Board Plugin

  • !sbdownload command now supports an optional parameter providing a timestamp range to trim the downloaded clip.
    !sbdownload 'youtube_link' 'file_name' 'H:M:S-H:M:S'
    Example:
    !sbdownload https://youtu.be/bqDrftAxYpk test_file 0:1:10-0:2:15
  • Added new alias: sbd - !sbdownload
    !sbd 'youtube_link' 'file_name'
  • sound_board files played with !sb/!sbnow/!sbquiet/!sbquietnow can now loop tracks when loop mode is enabled.
    • sound_board files played with !sbrandom/!sbrandomnow don't loop.

Images Plugin

  • Added new command: !imgsearch
    Search for a command from the full list of images available using fuzzy-searching to find the closest results.
    • !imgsearch 'image_name': Searches through locally stored images and returns the closest results.
  • Fixed !post command.
  • The !post command now displays an error message when a common http error occurs.

Server Tools Plugin [NEW]

The server_tools plugin is an administrative plugin for high-permission users to set callback methods to mumble server events.
For now, the plugin contains callback events to play an audio clip when users join the server. This is an optional feature, configurable in the plugins' metadata.ini file.
Note: Any audio clips from the sound_board permanent directory can be used.
Note: The user connection audio feature is disabled by default and can be turned on in the metadata.ini file

  • Supports generic connection sound clips for all users, and per-user connection sound clips
    • Added new command: !setdefaultconnectionsound
      !setdefaultconnectionsound 'audio_clip_name': Sets the generic audio clip that is played when a user joins the server.
    • Added new command: !clearuserconnectionsound
      !clearuserconnectionsound 'username': Clears the audio clip associated with the given username.
    • Added new command: !getuserconnectionsound
      !getuserconnectionsound 'username': Displays the audio clip set to play whenever the given username connects to the server.
    • Added new command: !setuserconnectionsound
      !setuserconnectionsound 'username' 'audio_clip_name': Sets the audio clip that will play whenever the given user connects to the server.

New Wiki/DocumentationWebsite

  • There is a new custom built wiki website which is designed to be easily updated with changes in the repository and new JJMumbleBot versions.
    Visit the new wiki here: JJMumbleBot Wiki

Other Updates

  • Updated versions to v4.2.0
  • Updated youtube_dl dependency version to 2020.9.14
  • Fixed various small bugs
JJMumbleBot - v4.1.0 - New Plugin Callback System, Sound Board Updates

Published by DuckBoss about 4 years ago

NOTICE: This update DOES NOT require any config changes, so it is a relatively easy update!

Major Updates

New Callback System for easy custom plugin callbacks to Mumble server events

I created a new extensive callback system that all plugins can use to directly interface with mumble server events such as receiving audio, messages, user connection/disconnection, etc.

For example, if you want a plugin to execute some code in response to a user connecting to the server, that is now possible!
Possible uses of this system:

  • Create a custom plugin callback to play an audio clip when a user connects to the server.
  • Create a custom plugin callback to display a message when it receives audio data from a user.

You can create a custom callback in any plugin to react to server events however you want!

Sound Board Plugin (New Optional Feature)

  • The sound board is now capable of playing a sound clip whenever a user connects to the server. This is configurable in the sound board plugins metadata.ini file. This is an optional feature
; Play a selected audio clip when a user joins the server. (Set this to True to enable)
PlayAudioClipOnUserJoin = False
; If PlayAudioClipOnUserJoin is set to True, specify the track name (without file extension) below.
AudioClipToPlayOnUserJoin =
JJMumbleBot - v4.0.0 - Major Changes, New Features, Bug Fixes

Published by DuckBoss about 4 years ago

This is a major update which fundamentally changes a lot of internal systems of the bot.Please refer to the wiki for a quick-start guide and additional documentation.Click here to view the Wiki

  • For existing users: I suggest setting this up like a new user instead of updating your existing build. This is because this major update changes how aliases are handled, and there are many additions to the config.ini file.

Have any questions or need help?

  • Post an issue using the 'Question' template: Github Issues
  • If your question/help contains private/personal information, you can email me directly at [email protected]

Major Updates

Security Update - New Startup Procedure

  • The server ip/port/password is no longer saved in the config.ini file, so you need to enter it as a launch parameter like so:
    python JJMumbleBot/ -ip 127.0.0.1 -port 63478 -password mypassword
  • If your server doesn't require a password, you don't need to add the launch parameter.

Updated Web Interface

  • A fully functional media player is available in the web interface to control the bot audio.
    image

Reworked Commands/Aliases Processing System

  • New alias processing so that aliases work regardless of what command token you use (ex: !echo/~echo/$echo)
Old: !alias test !echo this | !echo is | !echo a | !echo test
New: !setalias test (echo) this | (echo) is | (echo) a | (echo) test
  • To update any existing aliases you have saved, simply follow the template above and surround the command in brackets without the presence of the command token.

Audio Commands Core Plugin - Centralized audio controls for whatever plugin is using the audio interface.

  • !volume/!pause/!resume/!replay/!shuffle/!skip/!stop/!loop/etc etc.... are commands for the audio interface that will work across any audio plugin (no more separate commands for each plugin, like !sbstop or !ytstop, etc.)
  • Improved "Do Not Interrupt" system so audio plugins don't accidentally play over each other
  • Improved track looping system (no longer interrupts audio/queue)
  • Implemented callback system so audio plugins can react to events in the audio interface.
  • Optional Audio Ducking so the bot automatically lowers the volume when it detects people talking in the channel.
  • New volume fading feature so that changes in volume are smooth and not abrupt.
  • Audio threads are created from the audio interface library which improve performance and memory usage.
  • For a full list of commands, use the !help command.

Media Plugin (Formerly 'Youtube Plugin'): Major improvements

  • Youtube plugin has been renamed to Media Plugin since SoundCloud support has been added.
  • SoundCloud URL support (no playlists support).
  • Youtube playlists generation has been sped up a lot, so it won't take forever to load (and no audio breaks when generating).
  • Faster youtube searching and video loading.
  • Improved thumbnail image retrieval and management.
  • Optional proxy url support for media plugin for users that use proxy servers.
  • Optional cookies file support for media plugin for users that may hit rate-limits.
  • For a full list of commands, use the !help command.

Sound Board Plugin - Major improvements

  • Support for queuing sound board clips (optional feature, default behaviour is still the same as v3.0+).
  • New commands: !sbnow/!sbquiet/!sbquietnow/!sbrandomnow/etc etc
    • Commands with quiet in them won't message the channel when the track starts playing.
    • Commands with now in them will override any existing queue and play the track immediately.
  • Updated sound_board plugin to use any vlc-supported file type (you can use webm, mp3, wav, etc etc).
  • Updated !sbdownload command to download youtube videos as 'webm' file types to save 50x-100x storage space.
  • Added !sbsearch command that uses fuzzy-searching techniques to find files most closely matching the search query.
  • For a full list of commands, use the !help command.

Randomizer Plugin

  • Added !d20roll command to roll d20 dices.
  • For a full list of commands, use the !help command.

Dependencies

  • New dependencies:
    - fuzzywuzzy (fuzzy-searching library)
    - python-Levenshtein (increases fuzzy-searching performance up to 10x)
  • Removed dependencies:
    - psutil

Third-Party Plugin Development

  • Plugin development is easier than ever for JJMumbleBot! Please refer to the wiki for more information and check the plugin_template.py python file in the cfg/templates/ directory to get started.
  • New callback-based command processing in plugins which make adding new commands super easy.
    • No more long if-else statements, just add your command name to the metadata.ini file for your plugin and write a method prefixed with cmd for the command.
    • Example: def cmd_mycommand(self, data):
    • Check the wiki for more information on plugin development.
  • Any audio plugin (third-party or not) can easily use this audio interface to make plugin development fast.
  • Centralized audio information handling which means that web interface development for audio plugins will be a lot easier.

Other

  • Improved support for custom fonts/background colors in GUI system.
  • Optional auto-reconnect on bot disconnection.
  • All plugins have been updated to use v4.0.0+ systems and have been redesigned from scratch.
  • Updated QSU web page for v4.0.0 configs.
  • LOTS OF BUG FIXES (way too many to explain)
JJMumbleBot - v3.1.3 - Bug Fixes, New Customization Options

Published by DuckBoss over 4 years ago

New Customization Options

Youtube Search Results Length

  • Youtube search results length can now be customized in the metadata.ini file in the youtube plugin.
; Max number of search results to be shown by the !yt command.
MaxSearchLength = 10

Internal Database

  • Made automatic database backup optional.
    This can be set in your config.ini file (refer to the config_template.ini file for existing users)
; Enable or disable automatic internal database backups
EnableDatabaseBackup = True

Bug Fixes and Other Updates

  • Fixed issue where new users couldn't launch the bot because it was trying to backup a pre-existing internal database.
  • Fixed index out of range error when youtube search results were fewer than expected.
  • Fixed issue with youtube search results not working for most videos (this was caused by a major youtube infrastructure change).
  • Updated quick setup utility web interface to include the new config parameters.
  • Updated Pillow dependency to v7.2.0
  • Updated pymumble dependency to v1.3.1
  • The wiki has been updated to reflect the changes made to the config/metadata files.
JJMumbleBot - v3.1.2 - Major Web Interface Upgrades, New Sound Board Commands

Published by DuckBoss over 4 years ago

New Features

Sound Board Plugin

  • Added !sbquiet and !sbloopquiet commands to the sound board plugin.These commands work identically to !sb/!sbloop commands except there is no message displaying the current sound clip to the channel.

Web Interface

  • Redesigned the web interface to have a Dark Theme
  • Downloading the bot report from the web interface now includes additional information.
  • The up-time of the bot is now visible in the web interface
  • The channels/users in the server are updated live in the web interface
  • The most recently outputted message from the bot is displayed in the web interface
  • Added favicon.ico to the web interface

Web Interface Preview Image

image

JJMumbleBot - v3.1.1 - Patch for youtube thumbnails

Published by DuckBoss over 4 years ago

Youtube keeps changing their infrastructure and their most recent change seems to have broken youtube-dl's system to collect thumbnail images correctly.

Some videos are currently downloading webp thumbnail images instead of the supported jpg images. This is incompatible with mumble, and I have provided a small patch in this update until youtube-dl can resolve the issue.

This patch may be removed in the future when youtube-dl is able to resolve the issue.

All Updates

  • Patched an issue with webp images being downloaded by youtube-dl instead of jpg images.
  • Fixed inaccuracy with youtube plugin help data.
  • Updated youtube plugin to v3.1.1
  • Updated requirements.txt with the newest youtube-dl version.
  • Added FAQ wiki link to the ReadMe file.
JJMumbleBot - v3.1.0 - Web Interface, Database Backups, Updated PGUI, etc.

Published by DuckBoss over 4 years ago

Note: Keep your dependencies up to date! The requirements.txt package versions will probably be outdated by the time you download this release.

New Features

Web Interface (Optional Feature)

I've implemented a basic web interface that shows the currently active plugins and allows
commands to be sent remotely to the bot.
This is just a basic interface, and will be improved over time to include more features.
Please refer to the Quick Start Guide and the Config.ini Reference in the Wiki for setup information

  • The introduction of the optional web interface brings 3 new dependencies:
    • websockets : Used for providing continuous live data between the bot and web interface.
    • flask : Provides a web page for the interface, and allows commands to be sent remotely.
    • gevent : Production-ready server for the web interface.
  • Added button for downloading bot/system reports as a JSON file. It currently has limited information but will be more useful when the interface is expanded to include more features.

PGUI Updates

  • Custom default font for PGUI content
    • The default font can be set in the PGUI section of the config.ini file. By default, the font is set to 'Calibri'.
  • Support for background colors in PGUI elements

Core Commands

  • New command: !pgui_stress_test
!pgui_stress_test 'num of lines': Runs a PGUI stress test by creating multiple lines of PGUI elements.

Quick Setup Utility

  • Updated the quick setup utility to include all the changes to the config.ini, so using the QSU should be up to date for config file generation.

Database Backups

  • The internal database is backed up to the JJMumbleBot/cfg/backups folder everytime the bot is launched. The file name is created with a date-stamp.

Other Updates

  • Improved startup logging/console outputs.
  • Removed debugs, optimized data handling
  • Added notice about murmur text-message length allowances to ReadMe and Wiki
  • Various bug fixes
JJMumbleBot - v3.0.9 - Bug Fixes And Optimizations

Published by DuckBoss over 4 years ago

Note: If your !help commands don't function correctly, update to this version and regenerate your database. You don't need to reconfigure any configs, plugins, etc.

Refer to the Quick Start Guide and New Version Update Guide if this is your first time updating the bot.

All Updates

  • Fixed missing field in the quick setup utility web page. Configs generated from the QSU should be fully functional now.
  • Fixed !help command showing incorrect plugin names
  • Fixed typo that caused incorrect formatting in randomizer plugin help data
  • Fixed log/print message for inserting help data into the database.
  • Made some internal database optimizations when importing new data.
  • Fixed importing issue with help data from plugins. The !help 'plugin_name' command should now work correctly.
    • Thanks to @ajmandourah for bringing up the issue with the help commands.
  • Fixed incorrect message being displayed when removing aliases from the database.
  • Fixed run-time error when trying to retrieve an alias from the database that doesn't exist.
  • Removed various debug statements.
JJMumbleBot - v3.0.8 - New/Changed Commands, Quick Setup Utility For Configs

Published by DuckBoss over 4 years ago

New/Changed Features

Quick Setup Utility - Web Interface For Config.ini Creation

  • I've made a simple config.ini generator as a web page on my github repository pages.
    All it does is help you set up your config.ini file and generates one for you to download and use for your bot.
    Link: Config.ini Generator

Sound Board Plugin

  • Renamed !sbskip to !sbseek in the sound_board plugin, it still works the same as before.
  • Updated sound board error message for !sbseek

Youtube Plugin

  • Made some optimizations to the youtube plugin.
  • Updated web interfacing code to use requests instead of urllib.
  • Added !seek command
!seek 'seconds' : Skips ahead in the track by the given amount of seconds.

Help Plugin

  • Revised the formatting of the !help command to separate the core/extension plugins. (Improved readability)

The wiki has been updated to reflect the changes in this update.