Files
HeXi/hexi/plugins/nonebot_plugin_random_jm_code/config.py
T
sansenhoshi 131b92b319 结构调整
视频解析多图/多媒体结构 消息体适配
2026-09-08 14:25:32 +08:00

76 lines
2.2 KiB
Python

"""随机 JM 码 —— 配置注册(按《插件配置文件标准》)。
把原本硬编码在 __init__.py 里的文案模板 / 屏蔽码 / 白名单群号
注册为 Web 可读可改的配置项(来源无关,store=本模块)。运行期插件读本模块常量,
Web 保存后经 apply 热更新本模块属性,重启也不丢。
"""
from __future__ import annotations
import sys as _sys
from hexi.web_hub.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__],
)