diff --git a/StarRailUID/starrailuid_help/Help.json b/StarRailUID/starrailuid_help/Help.json new file mode 100644 index 0000000..6ba76e0 --- /dev/null +++ b/StarRailUID/starrailuid_help/Help.json @@ -0,0 +1,155 @@ +{ + "基础服务": { + "desc": "需要先绑定uid", + "data": [ + { + "name": "sr绑定uid", + "desc": "绑定你的星铁UID", + "eg": "sr绑定uid123456", + "need_ck": false, + "need_sk": false, + "need_admin": false + }, + { + "name": "sr删除uid", + "desc": "删除你的星铁UID", + "eg": "sr删除uid123456", + "need_ck": false, + "need_sk": false, + "need_admin": false + }, + { + "name": "sr切换uid", + "desc": "切换你的星铁UID", + "eg": "sr切换uid123456", + "need_ck": false, + "need_sk": false, + "need_admin": false + } + ] + }, + "查询服务": { + "desc": "查询一些基本信息", + "data": [ + { + "name": "sruid", + "desc": "角色信息一览,后可跟UID", + "eg": "sruid100740568", + "need_ck": true, + "need_sk": false, + "need_admin": false + }, + { + "name": "sr深渊", + "desc": "查询星铁深渊信息", + "eg": "sr深渊100740568", + "need_ck": true, + "need_sk": false, + "need_admin": false + }, + { + "name": "srmr", + "desc": "查询自己的体力派遣", + "eg": "sr每日", + "need_ck": true, + "need_sk": false, + "need_admin": false + }, + { + "name": "sr札记", + "desc": "查询自己的每月收入", + "eg": "srzj", + "need_ck": true, + "need_sk": false, + "need_admin": false + }, + { + "name": "sr签到", + "desc": "米游社签到", + "eg": "sr签到", + "need_ck": true, + "need_sk": false, + "need_admin": false + }, + { + "name": "sr抽卡记录", + "desc": "查询自己的抽卡记录", + "eg": "sr抽卡记录", + "need_ck": false, + "need_sk": false, + "need_admin": false + }, + { + "name": "sr每月统计", + "desc": "srzj的文字版", + "eg": "sr每月统计", + "need_ck": true, + "need_sk": false, + "need_admin": false + }, + { + "name": "sr当前状态", + "desc": "srmr的文字版", + "eg": "sr当前状态", + "need_ck": true, + "need_sk": false, + "need_admin": false + } + ] + }, + "面板服务": { + "desc": "数据源由Mihomo提供", + "data": [ + { + "name": "sr强制刷新", + "desc": "刷新自己游戏内面板数据", + "eg": "sr强制刷新", + "need_ck": false, + "need_sk": false, + "need_admin": false + }, + { + "name": "sr查询xx", + "desc": "查询游戏内面板数据", + "eg": "sr查询希儿", + "need_ck": false, + "need_sk": false, + "need_admin": false + } + ] + }, + "私人服务": { + "desc": "一些仅供私聊调用的服务", + "data": [ + { + "name": "sr导入抽卡链接", + "desc": "后跟抽卡记录连接以导入", + "eg": "sr导入抽卡链接", + "need_ck": false, + "need_sk": false, + "need_admin": false + } + ] + }, + "管理员服务": { + "desc": "一些仅供管理员调用的服务", + "data": [ + { + "name": "sr下载全部资源", + "desc": "下载一些机器人必须的资源", + "eg": "sr下载全部资源", + "need_ck": false, + "need_sk": false, + "need_admin": true + }, + { + "name": "sr强制推送体力提醒", + "desc": "强制推送一次体力提醒", + "eg": "sr强制推送体力提醒", + "need_ck": false, + "need_sk": false, + "need_admin": true + } + ] + } +} \ No newline at end of file diff --git a/StarRailUID/starrailuid_help/__init__.py b/StarRailUID/starrailuid_help/__init__.py new file mode 100644 index 0000000..cc90c3b --- /dev/null +++ b/StarRailUID/starrailuid_help/__init__.py @@ -0,0 +1,16 @@ +from gsuid_core.sv import SV +from gsuid_core.bot import Bot +from gsuid_core.models import Event +from gsuid_core.logger import logger + +from .get_help import get_core_help +from ..utils.sr_prefix import PREFIX + +sv_sr_help = SV('sr帮助') + + +@sv_sr_help.on_fullmatch((f'{PREFIX}帮助')) +async def send_help_img(bot: Bot, ev: Event): + logger.info('开始执行[sr帮助]') + im = await get_core_help() + await bot.send(im) diff --git a/StarRailUID/starrailuid_help/get_help.py b/StarRailUID/starrailuid_help/get_help.py new file mode 100644 index 0000000..6538f54 --- /dev/null +++ b/StarRailUID/starrailuid_help/get_help.py @@ -0,0 +1,41 @@ +from pathlib import Path +from typing import Dict, Union, Optional + +import aiofiles +from PIL import Image +from msgspec import json as msgjson +from gsuid_core.help.model import PluginHelp +from gsuid_core.help.draw_plugin_help import get_help + +from ..version import StarRail_version +from ..utils.fonts.starrail_fonts import starrail_font_origin + +TEXT_PATH = Path(__file__).parent / 'texture2d' +HELP_DATA = Path(__file__).parent / 'Help.json' + + +async def get_help_data() -> Optional[Dict[str, PluginHelp]]: + if HELP_DATA.exists(): + async with aiofiles.open(HELP_DATA, 'rb') as file: + return msgjson.decode( + await file.read(), type=Dict[str, PluginHelp] + ) + + +async def get_core_help() -> Union[bytes, str]: + help_data = await get_help_data() + if help_data is None: + return '暂未找到帮助数据...' + + img = await get_help( + 'StarRailUID', + f'版本号:{StarRail_version}', + help_data, + Image.open(TEXT_PATH / 'bg.jpg'), + Image.open(TEXT_PATH / 'icon.png'), + Image.open(TEXT_PATH / 'badge.png'), + Image.open(TEXT_PATH / 'banner.png'), + Image.open(TEXT_PATH / 'button.png'), + starrail_font_origin, + ) + return img diff --git a/StarRailUID/starrailuid_help/texture2d/ICON.png b/StarRailUID/starrailuid_help/texture2d/ICON.png new file mode 100644 index 0000000..578e2be Binary files /dev/null and b/StarRailUID/starrailuid_help/texture2d/ICON.png differ diff --git a/StarRailUID/starrailuid_help/texture2d/badge.png b/StarRailUID/starrailuid_help/texture2d/badge.png new file mode 100644 index 0000000..66bddff Binary files /dev/null and b/StarRailUID/starrailuid_help/texture2d/badge.png differ diff --git a/StarRailUID/starrailuid_help/texture2d/banner.png b/StarRailUID/starrailuid_help/texture2d/banner.png new file mode 100644 index 0000000..0c9c54d Binary files /dev/null and b/StarRailUID/starrailuid_help/texture2d/banner.png differ diff --git a/StarRailUID/starrailuid_help/texture2d/bg.jpg b/StarRailUID/starrailuid_help/texture2d/bg.jpg new file mode 100644 index 0000000..2c6b897 Binary files /dev/null and b/StarRailUID/starrailuid_help/texture2d/bg.jpg differ diff --git a/StarRailUID/starrailuid_help/texture2d/button.png b/StarRailUID/starrailuid_help/texture2d/button.png new file mode 100644 index 0000000..fabd7c8 Binary files /dev/null and b/StarRailUID/starrailuid_help/texture2d/button.png differ diff --git a/poetry.lock b/poetry.lock index 984f615..727f5f8 100644 --- a/poetry.lock +++ b/poetry.lock @@ -373,6 +373,7 @@ files = [ {file = "libcst-0.4.10-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3e9d9fdd9a9b9b8991936ff1c07527ce7ef396c8233280ba9a7137e72c2e48e"}, {file = "libcst-0.4.10-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7e1b4cbaf7b1cdad5fa3eababe42d5b46c0d52afe13c5ba4eac2495fc57630ea"}, {file = "libcst-0.4.10-cp39-cp39-win_amd64.whl", hash = "sha256:bcbd07cec3d7a7be6f0299b0c246e085e3d6cc8af367e2c96059183b97c2e2fe"}, + {file = "libcst-0.4.10.tar.gz", hash = "sha256:b98a829d96e8b209fb761b00cd1bacc27c70eae77d00e57976e5ae2c718c3f81"}, ] [package.dependencies]