"""随机 JM 码 —— 配置注册(按《插件配置文件标准》)。 把原本硬编码在 __init__.py 里的文案模板 / 屏蔽码 / 白名单群号 注册为 Web 可读可改的配置项(来源无关,store=本模块)。运行期插件读本模块常量, Web 保存后经 apply 热更新本模块属性,重启也不丢。 """ from __future__ import annotations import sys as _sys from hexi.config_standard import register_config_items # plugin_id = NoneBot 插件模块名 _PLUGIN_ID = __package__ # —— 可配置常量(来源为本模块) —— TEXT_TEMPLATES = [ "给你{code},拿去吧", "给你{code},记得谢谢我", "给你{code},注意保养弹簧", ] BLOCK_CODE = ["350235", "350234"] WHITE_LIST = ["1019165018"] def _jm_codes_getter() -> list[str]: from .services.store import sync_get_jm_codes return sync_get_jm_codes() def _jm_codes_setter(codes) -> None: from .services.store import sync_set_jm_codes sync_set_jm_codes(codes) def register_config() -> None: register_config_items( _PLUGIN_ID, [ { "key": "TEXT_TEMPLATES", "label": "随机文案模板", "type": "array", "item_type": "str", "default": TEXT_TEMPLATES, }, { "key": "BLOCK_CODE", "label": "屏蔽码", "type": "array", "item_type": "str", "default": BLOCK_CODE, }, { "key": "WHITE_LIST", "label": "白名单群号", "type": "array", "item_type": "str", "default": WHITE_LIST, }, { "key": "JM_CODES", "label": "JM 码列表", "type": "array", "item_type": "str", "default": [], "description": "一行一个(或逗号分隔)。保存会写回 hexi/data/random_jm_code/jm_code.json,机器人随改随用。", "getter": _jm_codes_getter, "setter": _jm_codes_setter, "nosave": True, }, ], store=_sys.modules[__name__], )