"""绝地潜兵小助手 —— 入口(元数据 + 依赖 + 配置/Web 注册)。""" import os import httpx # noqa: F401 from nonebot import logger from nonebot.adapters.onebot.v11 import MessageEvent # noqa: F401 from nonebot.internal.params import ArgPlainText # noqa: F401 from nonebot.typing import T_State # noqa: F401 from nonebot import on_command # noqa: F401 from nonebot.plugin import PluginMetadata from .services.equipment import get_random_equipment, get_equipment_by_combination # noqa: F401 from .services.hd2_api import get_briefing_data # noqa: F401 from .utils.war_renderer import render_war_briefing # noqa: F401 from .utils import gen_ms_img, pic2b64 # noqa: F401 from .services.equipment_store import init_db as _init_equipment_db from .web import stratagem_admin as _stratagem_admin from hexi.web_hub.web_plugin_registry import register_web_plugin __plugin_meta__ = PluginMetadata( name="绝地潜兵小助手", description="绝地潜兵小助手,提供一些小功能,让超级地球更加美好!", usage="简报:获取星系战争简要概况(每个阵营取人数前 4 张卡片)\n" "详报:全量绘制当前进行的战役\n" "随机战备:让机器人帮你随机一套战备\n" "战备管理后台:/hub/ 统一管理台内可视化编辑", type="application", homepage="https://github.com/sansenhoshi/nonebot_plugin_helldivers_tools", ) basic_path = os.path.dirname(__file__) save_path = os.path.join(basic_path, "temp") img_path = os.path.join(basic_path, "res", "img") data_path = os.path.join(basic_path, "data") # 注册到统一 Web:hub 启动时会自动挂载 /api/helldivers,无需手动配置 _init_equipment_db() register_web_plugin( "helldivers", "战备管理", "rocket", lambda: _stratagem_admin.build_admin_app(), module_name=__name__, ) logger.info("战备管理 Web 插件已注册(/api/helldivers)") # 统一配置标准:把 API 相关配置暴露给 Web 管理台(/hub 插件配置) from hexi.web_hub.config_standard import register_model_config # noqa: E402 from .config import config as _hd2_config # noqa: E402 register_model_config( __name__, _hd2_config, fields=[ "hd2_api_base_url", "hd2_api_language", "hd2_cache_ttl", "hd2_super_client", "hd2_super_contact", ], labels={ "hd2_api_base_url": "API 根地址", "hd2_api_language": "本地化语言", "hd2_cache_ttl": "数据缓存秒数", "hd2_super_client": "请求头 Client", "hd2_super_contact": "请求头 Contact", }, descriptions={ "hd2_api_base_url": "自托管 helldivers-2/api 根地址;不填则用公共社区 API", "hd2_api_language": "请求本地化语言,自托管实例支持 zh-Hans/zh-Hant", "hd2_cache_ttl": "战况快照约几分钟更新一次,靠这个避免频繁打接口触发限流", "hd2_super_client": "公共/自托管都要求 X-Super-Client 头", "hd2_super_contact": "公共/自托管都要求 X-Super-Contact 头", }, ) from . import handlers as _handlers # noqa: E402,F401