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
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.
Published by DuckBoss over 3 years ago
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.
Published by DuckBoss over 3 years ago
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
Published by DuckBoss over 3 years ago
Published by DuckBoss almost 4 years ago
Published by DuckBoss almost 4 years ago
Published by DuckBoss almost 4 years ago
Published by DuckBoss almost 4 years ago
config.ini
file or with the -uselogging
launch parameter.Published by DuckBoss almost 4 years ago
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.
-generatecert
: Automatically generates a certificate for the bot and updates the config.ini file to include the new certificate path.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
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.Published by DuckBoss about 4 years ago
Published by DuckBoss about 4 years ago
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.
!cmdsearch 'command_name' : Search for a command from the full list of commands available.
!sbdownload 'youtube_link' 'file_name' 'H:M:S-H:M:S'
!sbdownload https://youtu.be/bqDrftAxYpk test_file 0:1:10-0:2:15
!sbd 'youtube_link' 'file_name'
!imgsearch 'image_name': Searches through locally stored images and returns the closest results.
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
!setdefaultconnectionsound 'audio_clip_name': Sets the generic audio clip that is played when a user joins the server.
!clearuserconnectionsound 'username': Clears the audio clip associated with the given username.
!getuserconnectionsound 'username': Displays the audio clip set to play whenever the given username connects to the server.
!setuserconnectionsound 'username' 'audio_clip_name': Sets the audio clip that will play whenever the given user connects to the server.
Published by DuckBoss about 4 years ago
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:
; 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 =
Published by DuckBoss about 4 years ago
python JJMumbleBot/ -ip 127.0.0.1 -port 63478 -password mypassword
Old: !alias test !echo this | !echo is | !echo a | !echo test
New: !setalias test (echo) this | (echo) is | (echo) a | (echo) test
!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.)!help
command.!help
command.!sbnow/!sbquiet/!sbquietnow/!sbrandomnow/etc etc
quiet
in them won't message the channel when the track starts playing.now
in them will override any existing queue and play the track immediately.!sbdownload
command to download youtube videos as 'webm' file types to save 50x-100x storage space.!sbsearch
command that uses fuzzy-searching techniques to find files most closely matching the search query.!help
command.!d20roll
command to roll d20 dices.!help
command.plugin_template.py
python file in the cfg/templates/
directory to get started.Example: def cmd_mycommand(self, data):
Published by DuckBoss over 4 years ago
metadata.ini
file in the youtube plugin.; Max number of search results to be shown by the !yt command.
MaxSearchLength = 10
; Enable or disable automatic internal database backups
EnableDatabaseBackup = True
Published by DuckBoss over 4 years ago
Published by DuckBoss over 4 years ago
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.
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
!pgui_stress_test 'num of lines': Runs a PGUI stress test by creating multiple lines of PGUI elements.
JJMumbleBot/cfg/backups
folder everytime the bot is launched. The file name is created with a date-stamp.Published by DuckBoss over 4 years ago
Published by DuckBoss over 4 years ago
!seek 'seconds' : Skips ahead in the track by the given amount of seconds.