From 6e25c41eccb8e7c8ed36a17608e8a599b927c4b2 Mon Sep 17 00:00:00 2001 From: ArThirtyFour <149522975+ArThirtyFour@users.noreply.github.com> Date: Sat, 23 May 2026 13:22:00 +0300 Subject: [PATCH 1/2] Add custom banner + gitignore --- .gitignore | 40 +++++++++++++++++++++++++++++++++++ src/mxuserbot/core/module.py | 13 +++++++----- src/mxuserbot/modules/help.py | 14 +++++++----- 3 files changed, 57 insertions(+), 10 deletions(-) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ddaa6c2 --- /dev/null +++ b/.gitignore @@ -0,0 +1,40 @@ +# Byte-compiled +__pycache__/ +*.py[cod] +*$py.class + +# Virtual environment +.venv/ +venv/ +env/ + +# Environment variables +.env +.env.* + +# IDE +.vscode/ +.idea/ +*.swp +*.swo +*~ + +# OS +.DS_Store +Thumbs.db + +# Project: session & data files +*.session +*.session-journal +*.session-backup +*.txt +mxu.rocksdb/ + +# Docker +docker-compose.override.yml + +# Logs +*.log + +# uv +uv.lock diff --git a/src/mxuserbot/core/module.py b/src/mxuserbot/core/module.py index cbb2116..497d1a9 100644 --- a/src/mxuserbot/core/module.py +++ b/src/mxuserbot/core/module.py @@ -152,11 +152,14 @@ async def _internal_init(self, name, db, loader_or_dict, is_core: bool): self.friendly_name = self.strings.get("name") or self.config.get("name") or self.__class__.__name__ schema = getattr(self.__class__, "config", {}) - self.config = ModuleConfig( - self._get, - self._set, - schema - ) + if is_core: + async def _cfg_get(key: str, default=None): + return await db.get(name, key, default) + async def _cfg_set(key: str, value): + return await db.set(name, key, value) + self.config = ModuleConfig(_cfg_get, _cfg_set, schema) + else: + self.config = ModuleConfig(self._get, self._set, schema) await self.config._load_from_db() self._commands = {} diff --git a/src/mxuserbot/modules/help.py b/src/mxuserbot/modules/help.py index ac737d0..669d4a7 100644 --- a/src/mxuserbot/modules/help.py +++ b/src/mxuserbot/modules/help.py @@ -11,7 +11,7 @@ class Meta: name = "HelperModule" description = "helper Centre" - version = "2.2.0" + version = "2.3.0" dependencies = ["patchlib"] tags = ["helper"] @@ -243,6 +243,13 @@ class Strings(BaseModel): class HelperModule(loader.Module): strings = locales + config = { + "banner_url": loader.ConfigValue( + default="mxc://matrix.org/YiqPIkdkkiJqMqizxJQTBqVx", + description="Banner image URL for .info command", + ), + } + def _module_name(self, mod) -> str: return getattr(getattr(mod, "Meta", None), "name", mod.__class__.__name__) @@ -403,17 +410,14 @@ async def on_page(ctx: utils.EmojiCallbackContext) -> None: @loader.command() async def info(self, mx, event: MessageEvent): """System information card""" - banner_url = await mx._get_core_conf("banner_url") or "mxc://matrix.org/YiqPIkdkkiJqMqizxJQTBqVx" await utils.answer( mx, room_id=event.room_id, media=Image( - url=banner_url, + url=self.config["banner_url"], caption=self.strings["info_caption"].format(version=mx.version), filename="info.png", mimetype="image/png", - w=600, - h=335, ), ) From a0a182ddc3c845e48b504990e60d08551a58f298 Mon Sep 17 00:00:00 2001 From: ArThirtyFour <149522975+ArThirtyFour@users.noreply.github.com> Date: Sun, 24 May 2026 08:30:29 +0300 Subject: [PATCH 2/2] Add community in gitignore --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index ddaa6c2..4189ef2 100644 --- a/.gitignore +++ b/.gitignore @@ -32,7 +32,7 @@ mxu.rocksdb/ # Docker docker-compose.override.yml - +src/mxuserbot/community # Logs *.log