diff --git a/JJMumbleBot/plugins/core/core_commands/core_commands.py b/JJMumbleBot/plugins/core/core_commands/core_commands.py index 223e3b4a..95a6d142 100644 --- a/JJMumbleBot/plugins/core/core_commands/core_commands.py +++ b/JJMumbleBot/plugins/core/core_commands/core_commands.py @@ -104,11 +104,56 @@ def process(self, text): return rutils.refresh_plugins() + elif command == "comment": + from JJMumbleBot.lib.utils.dir_utils import get_main_dir + if not privileges.plugin_privilege_checker(text, command, self.plugin_name): + return + message = text.message.strip() + message_parse = message[1:].split(' ', 1) + if len(message_parse) < 2: + return + GS.mumble_inst.users.myself.comment( + f'{message_parse[1]}

[{META_NAME}({META_VERSION})] - {rutils.get_bot_name()}
{rutils.get_about()}') + + GS.cfg.set(C_CONNECTION_SETTINGS, P_USER_COMMENT, message_parse[1]) + with open(f'{get_main_dir()}/cfg/config.ini', mode='w') as cfg_file: + GS.cfg.write(cfg_file) + + GS.gui_service.quick_gui( + f"Changed the bot's user comment.", + text_type='header', + box_align='left', + ignore_whisper=True, + user=GS.mumble_inst.users[text.actor]['name']) + dprint(f"Changed the bot\'s user comment to {message_parse[1]}.") + log(INFO, f"Changed the bot\'s user comment to {message_parse[1]}.", origin=L_COMMAND) + + elif command == "resetcomment": + from JJMumbleBot.lib.utils.dir_utils import get_main_dir + if not privileges.plugin_privilege_checker(text, command, self.plugin_name): + return + GS.mumble_inst.users.myself.comment( + f'[{META_NAME}({META_VERSION})] - {rutils.get_bot_name()}
{rutils.get_about()}') + + GS.cfg.set(C_CONNECTION_SETTINGS, P_USER_COMMENT, "") + with open(f'{get_main_dir()}/cfg/config.ini', mode='w') as cfg_file: + GS.cfg.write(cfg_file) + + GS.gui_service.quick_gui( + f"Reset the bot's user comment.", + text_type='header', + box_align='left', + ignore_whisper=True, + user=GS.mumble_inst.users[text.actor]['name']) + dprint(f"Reset the bot\'s user comment.") + log(INFO, f"Reset the bot\'s user comment.", origin=L_COMMAND) + + elif command == "help": if not privileges.plugin_privilege_checker(text, command, self.plugin_name): return message = text.message.strip() - message_parse = message[1:].split(' ', 2) + message_parse = message[1:].split(' ', 1) if len(message_parse) < 2: all_plugin_names = sorted(list(GS.bot_plugins.keys()), key=str.lower) all_help_lines = [f'!help {msg.strip()} - Displays help information for the {msg.strip()} plugin.' for msg in all_plugin_names] diff --git a/JJMumbleBot/plugins/core/core_commands/help.html b/JJMumbleBot/plugins/core/core_commands/help.html index 8e0a3037..f4a4f729 100644 --- a/JJMumbleBot/plugins/core/core_commands/help.html +++ b/JJMumbleBot/plugins/core/core_commands/help.html @@ -2,6 +2,8 @@ !exit/!quit: Initializes the bot exit procedure.
!help: Displays a list of the help commands for all the available plugins.
!help 'plugin_name': Displays all the commands available for the given plugin.
+!comment 'comment_text': Sets the bot's user comment with the given text.
+!resetcomment: Resets the bot's user comment to the default text.
!version: Displays the bot version.
!refresh: Refreshes all plugins.
!reboot/!restart: Completely stops the bot and restarts it.
diff --git a/JJMumbleBot/plugins/core/core_commands/privileges.csv b/JJMumbleBot/plugins/core/core_commands/privileges.csv index 5997c71c..5ae19c9c 100644 --- a/JJMumbleBot/plugins/core/core_commands/privileges.csv +++ b/JJMumbleBot/plugins/core/core_commands/privileges.csv @@ -2,7 +2,8 @@ command,level exit,4 help,1 version,1 -botstatus,1 +comment,4 +resetcomment,4 refresh,4 about,1 system_test,4