Skip to content

v5.2.0 - Major Management Improvements!

Latest
Compare
Choose a tag to compare
@DuckBoss DuckBoss released this 11 Jul 07:09
· 19 commits to master since this release

Please visit the What's New wiki page for an easy-to-read update list and upgrade guide for v5.1.0 and v5.1.1 users.

This release contains a large number of updates, so the limitations of this release description makes it hard to read!

Use the wiki link provided above instead!

Update Guide For v5.1.0 and v5.1.1 Users
  • Required Update Config.ini File
    Update your config.ini file to include EnableDatabaseIntegrityCheck=True under the [Main Settings] section:
                            [Main Settings]
                            EnableDatabaseIntegrityCheck = True
                        
    Refer to the /templates/ directory to see a template of the file.
  • Optional Setup Custom Aliases File
    Rename your global_aliases.csv file to custom_aliases.csv
    Alternatively, if you don't have custom aliases under global_aliases.csv you can simply delete it.
  • Optional Setup Custom User Privileges File
    Create a custom_user_privileges.csv file (template provided in /templates/ folder) and fill it with custom user privileges as required.
    This is important since the new update will require the database to be regenerated, so doing this will prevent any loss of custom user privileges.
  • Optional Setup Custom Command Permissions File
    Create a custom_permissions.csv file (template provided in /templates/ folder) and fill it with custom command permissions as required.
    This is important since the new update will require the database to be regenerated, so doing this will prevent any loss of custom command permissions.
Wiki Command For Server Tools Plugin NEW
    This is a simple command that displays a link to the JJMumbleBot wiki for quick reference at runtime.
  • !wiki: Displays a link to the JJMumbleBot wiki.
Custom Aliases And Runtime Modifications UPDATED

Previously, aliases could be updated by modifying the global_aliases.csv file. Every update to the file required restarting the bot which was very tedious!
In this update, the internal database handling of this process has been improved and the file has been renamed to custom_aliases.csv for consistency.
With this update, Updating multiple aliases can be updated at runtime using either a local csv file or a remote csv file downloaded through a URL.

Update Aliases With Local Files:
  • Users can now set custom aliases for commands by utilizing a custom_aliases.csv file within the cfg folder.*
    This is useful for everyone, but particularly helpful for docker containers and cloud-hosted solutions that have their /cfg/ folders mounted.
    *This file is automatically generated if it's missing and was formerly called the global_aliases.csv file.
  • For example: "I want to have an alias to display information about the bot!"

  • 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.

  • You can update the database at runtime using the new command: !refreshaliases.
Update Aliases With Remote Files:
  • Bot owners now have an option of updating aliases by utilizing a csv file on a remote endpoint/URL.
    This functions similarly to the local file method shown above, but has the advantage of not requiring extensive access to the filesystem.
    This is extremely useful for bot owners that use cloud-hosting solutions with limited filesystem access.
    The csv file is downloaded to the following temporary path: /cfg/downloads/_aliases.csv
  • This can be achieved by utilizing this new command: !importaliases 'URL'
Custom Command Permissions And Runtime Modifications NEW

Previously, to update the command permissions, each command had to be meticulously updated by modifying multiple csv files across multiple plugin folders.
With this update, that is no longer the case and updating multiple commands can be updated at runtime using either a local csv file or a remote csv file downloaded through a URL.
In addition to those updates, new commands have been added to display/update individual command permissions.

Display/Update Individual Permissions With Commands:
  • !getpermission 'command_name': Displays the permission level for the specified command.
    !setpermission 'command_name' 'permission_level': Modifies the permission level for the specified command.
Update Command Permissions With Local Files:
  • Users can now set custom permission levels for commands by utilizing a custom_permissions.csv file within the cfg folder.*
    This is useful for everyone, but particularly helpful for docker containers and cloud-hosted solutions that have their /cfg/ folders mounted.
    *This file is automatically generated if it's missing.
  • For example: "I want to allow only administrators to change the bot volume!"

  • 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).

  • You can update the database at runtime using the new command: !refreshpermissions.
Update Command Permissions With Remote Files:
  • Bot owners now have an option of updating the command permissions by utilizing a csv file on a remote endpoint/URL.
    This functions similarly to the local file method shown above, but has the advantage of not requiring extensive access to the filesystem.
    This is extremely useful for bot owners that use cloud-hosting solutions with limited filesystem access.
    The csv file is downloaded to the following temporary path: /cfg/downloads/_permissions.csv
  • This can be achieved by utilizing this command: !importpermissions 'URL'
Custom User Privileges And Runtime Modifications NEW

Previously, to update the user privileges, administrators had to individually update user privileges using the !setprivileges command for every user.
With this update, It is much simpler to update multiple user privileges at a time at runtime using either a local csv file or a remove csv file downloaded with a URL.

Update User Privileges With Local Files:
  • Users can now set custom privileges for users by utilizing a custom_user_privileges.csv file within the cfg folder.*
    This is useful for everyone, but particularly helpful for docker containers and cloud hosted-solutions that have their /cfg/ folders mounted.
    *This file is automatically generated if it's missing.
  • For example: "I want to change privileges for 4 users!"

  • 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.

  • You can update the database at runtime using the new command: !refreshuserprivileges.
Update User Privileges With Remote Files:
  • Bot owners now have an option of updating user privileges by utilizing a csv file on a remote endpoint/URL.
    This functions similarly to the local file method shown above, but has the advantage of not requiring extensive access to the filesystem.
    This is extremely useful for bot owners that use cloud-hosting solutions with limited filesystem access.
    The csv file is downloaded to the following temporary path: /cfg/downloads/_privileges.csv
  • This can be achieved by utilizing this command: !importuserprivileges 'URL'
Database and Config Integrity Checking NEW
  • On startup, the database is updated with any custom command permissions, custom aliases, or custom user privileges provided in the custom_aliases.csv, custom_permissions.csv, and custom_user_privileges.csv files.1
    1This feature can be disabled in the config.ini file, but disabling it may result in data conflicts when updates occur.
  • On startup, the config.ini file is scanned to make sure the options match the options in the template_config.ini file to ensure integrity.2
    2This feature CANNOT be disabled in the config.ini file since it is critical to prevent conflicts in the config file.
New Command Line Arguments NEW
  • -regeneratedatabase: Deletes the existing internal database if it exists, so that it can be regenerated from scratch.
Wiki Visual Overhaul UPDATED
  • The JJMumbleBot Wiki has had a visual overhaul to improve readability and navigation!
    Come check it out!
Bug Fixes FIXES
  • Fixed error-handling for the !volume command.
  • Fixed issue where custom aliases would be re-added to the database on start-up if they were previously removed using a command.
  • The JJMumbleBot Wiki now properly displays an error if javascript is disabled.
Other Changes MISC
  • A warning is now displayed if database backups are enabled but the database file is missing.
  • A different message is now displayed to blacklisted users that try to use bot commands.
  • Renamed the generated global_aliases.csv to custom_aliases.csv
  • Cleaned up the console messages on regular bot startup.
  • Optimized logging and debugging messages in the internal database library.
  • Refactored user privilege checks.
  • Updated repository README to allow new users to better understand the features of JJMumbleBot.
  • Updated Quick Setup Utility web utility for v5.2.0
  • Updated bot internal version and updated plugins to v5.2.0