From 99d713a952546e782d32d149296f006a44a67e0f Mon Sep 17 00:00:00 2001 From: Malasaur Date: Sat, 30 Aug 2025 14:52:08 +0200 Subject: [PATCH] Added module upgrading to Control --- modules/control.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/modules/control.py b/modules/control.py index d2b2187..75249d8 100644 --- a/modules/control.py +++ b/modules/control.py @@ -1,3 +1,6 @@ +from pathlib import Path +from os import system + import libminecraft import libsignal import libcommon @@ -45,3 +48,22 @@ Unloaded modules: {" ".join(unloaded_modules)}""", RetardsServer except Exception as e: libsignal.sendMessage( f"Error reloading '{module}': {e}", RetardsServer) + case ["!modules", "update"]: + system("git -C Serve pull") + log = [] + modules = [] + for file in Path("Serve", "modules").iterdir(): + if file.name[:-3] in libcommon.listModules()[0]: + if file.read_text != Path("modules", file.name).read_text: + log.append( + f"Module '{file.name[:-3]}' has an available update.") + else: + log.append(f"New module added: '{file.name[:-3]}'.") + modules.append(file.name[:-3]) + for module in libcommon.listModules()[0]: + if module not in modules: + log.append(f"Module '{module}' was removed.") + libsignal.sendMessage("\n".join(log), RetardsServer) + case ["!modules", "install"]: + system("cp Serve/modules/* modules") + libsignal.sendMessage("Modules installed.", RetardsServer)