🎨 支持新版core的gs帮助

This commit is contained in:
Wuyi无疑 2023-05-29 01:08:24 +08:00
parent 3b8b279dfe
commit 3724b4b160
13 changed files with 171 additions and 83 deletions

View File

@ -1,18 +1,15 @@
from pathlib import Path
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 ..utils.image.convert import convert_img
from .get_help import get_core_help
HELP_IMG = Path(__file__).parent / 'help.jpg'
sv_gsuid_help = SV('原神帮助')
sv_gs_help = SV('gs帮助')
@sv_gsuid_help.on_fullmatch('gs帮助')
async def send_guide_pic(bot: Bot, ev: Event):
img = await convert_img(HELP_IMG)
await bot.logger.info('获得gs帮助图片成功')
await bot.send(img)
@sv_gs_help.on_fullmatch(('gs帮助'))
async def send_help_img(bot: Bot, ev: Event):
logger.info('开始执行[gs帮助]')
im = await get_core_help()
await bot.send(im)

View File

@ -0,0 +1,44 @@
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 GenshinUID_version
from ..utils.image.image_tools import get_color_bg
from ..utils.fonts.genshin_fonts import genshin_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(
'GenshinUID',
f'版本号:{GenshinUID_version}',
help_data,
await get_color_bg(1080, 1920),
Image.open(TEXT_PATH / 'icon.png'),
Image.open(TEXT_PATH / 'badge.png'),
Image.open(TEXT_PATH / 'banner.png'),
Image.open(TEXT_PATH / 'button.png'),
genshin_font_origin,
False,
(5, 5, 5),
)
return img

View File

@ -1,4 +1,89 @@
{
"个人服务": {
"desc": "一些和其他账号相关的",
"data": [
{
"name": "清除原神公告红点",
"desc": "清除自己的原神公告红点",
"eg": "清除原神公告红点",
"need_ck": true,
"need_sk": false,
"need_admin": false
},
{
"name": "留影叙佳期",
"desc": "获取当天的留影叙佳期画片",
"eg": "留影叙佳期",
"need_ck": true,
"need_sk": false,
"need_admin": false
},
{
"name": "扫码登陆",
"desc": "私聊扫码登陆,米游社扫码即可",
"eg": "扫码登陆",
"need_ck": false,
"need_sk": false,
"need_admin": false
},
{
"name": "刷新抽卡记录",
"desc": "更新抽卡记录需要SK",
"eg": "刷新抽卡记录",
"need_ck": false,
"need_sk": true,
"need_admin": false
},
{
"name": "抽卡记录",
"desc": "查询你的抽卡记录",
"eg": "抽卡记录",
"need_ck": false,
"need_sk": true,
"need_admin": false
},
{
"name": "导出抽卡记录",
"desc": "仅限群聊导出UIGF",
"eg": "导出抽卡记录",
"need_ck": false,
"need_sk": true,
"need_admin": false
},
{
"name": "导入抽卡记录",
"desc": "导入符合UIGF格式的文件",
"eg": "私聊直接发Json文件",
"need_ck": false,
"need_sk": true,
"need_admin": false
},
{
"name": "从小助手导入抽卡记录",
"desc": "直接从小助手导入抽卡记录",
"eg": "从小助手导入抽卡记录",
"need_ck": false,
"need_sk": false,
"need_admin": false
},
{
"name": "导出抽卡记录到小助手",
"desc": "直接导出抽卡记录进入小助手",
"eg": "导出抽卡记录到小助手",
"need_ck": false,
"need_sk": false,
"need_admin": false
},
{
"name": "导出抽卡记录链接",
"desc": "直接获取最新的抽卡记录链接",
"eg": "导出抽卡记录链接",
"need_ck": true,
"need_sk": true,
"need_admin": false
}
]
},
"私人服务": {
"desc": "需要加 [gs开启/设置] 前缀",
"data": [
@ -41,62 +126,6 @@
"need_ck": true,
"need_sk": false,
"need_admin": false
},
{
"name": "刷新抽卡记录",
"desc": "更新抽卡记录需要SK",
"eg": "刷新抽卡记录",
"need_ck": false,
"need_sk": true,
"need_admin": false
},
{
"name": "抽卡记录",
"desc": "查询你的抽卡记录",
"eg": "抽卡记录",
"need_ck": false,
"need_sk": true,
"need_admin": false
},
{
"name": "导出抽卡记录",
"desc": "仅限群聊导出UIGF",
"eg": "导出抽卡记录",
"need_ck": false,
"need_sk": true,
"need_admin": false
},
{
"name": "导入抽卡记录",
"desc": "导入符合UIGF格式的文件",
"eg": "私聊直接发Json文件",
"need_ck": false,
"need_sk": true,
"need_admin": false
},
{
"name": "扫码登陆",
"desc": "私聊扫码登陆,米游社扫码即可",
"eg": "扫码登陆",
"need_ck": false,
"need_sk": false,
"need_admin": false
},
{
"name": "清除原神公告红点",
"desc": "清除自己的原神公告红点",
"eg": "清除原神公告红点",
"need_ck": true,
"need_sk": false,
"need_admin": false
},
{
"name": "留影叙佳期",
"desc": "获取当天的留影叙佳期画片",
"eg": "留影叙佳期",
"need_ck": true,
"need_sk": false,
"need_admin": false
}
]
},
@ -463,15 +492,15 @@
"need_admin": false
},
{
"name": "食物介绍、原魔介绍",
"desc": "查询食物和怪物信息",
"eg": "食物、原魔公子",
"name": "食物介绍",
"desc": "查询食物信息",
"eg": "食物介绍鸡",
"need_ck": false,
"need_sk": false,
"need_admin": false
},
{
"name": "武器材料、角色材料",
"name": "角色材料",
"desc": "查询材料消耗",
"eg": "角色材料可莉",
"need_ck": false,
@ -493,6 +522,22 @@
"need_ck": false,
"need_sk": false,
"need_admin": false
},
{
"name": "原魔介绍",
"desc": "查询怪物信息",
"eg": "原魔介绍公子",
"need_ck": false,
"need_sk": false,
"need_admin": false
},
{
"name": "武器材料",
"desc": "查询武器材料消耗",
"eg": "武器材料天空",
"need_ck": false,
"need_sk": false,
"need_admin": false
}
]
},

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 730 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 156 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

23
poetry.lock generated
View File

@ -154,24 +154,25 @@ docs = ["sphinx (==6.1.3)", "sphinx-mdinclude (==0.5.3)"]
[[package]]
name = "anyio"
version = "3.6.2"
version = "3.7.0"
description = "High level compatibility layer for multiple asynchronous event loop implementations"
category = "main"
optional = false
python-versions = ">=3.6.2"
python-versions = ">=3.7"
files = [
{file = "anyio-3.6.2-py3-none-any.whl", hash = "sha256:fbbe32bd270d2a2ef3ed1c5d45041250284e31fc0a4df4a5a6071842051a51e3"},
{file = "anyio-3.6.2.tar.gz", hash = "sha256:25ea0d673ae30af41a0c442f81cf3b38c7e79fdc7b60335a4c14e05eb0947421"},
{file = "anyio-3.7.0-py3-none-any.whl", hash = "sha256:eddca883c4175f14df8aedce21054bfca3adb70ffe76a9f607aef9d7fa2ea7f0"},
{file = "anyio-3.7.0.tar.gz", hash = "sha256:275d9973793619a5374e1c89a4f4ad3f4b0a5510a2b5b939444bee8f4c4d37ce"},
]
[package.dependencies]
exceptiongroup = {version = "*", markers = "python_version < \"3.11\""}
idna = ">=2.8"
sniffio = ">=1.1"
[package.extras]
doc = ["packaging", "sphinx-autodoc-typehints (>=1.2.0)", "sphinx-rtd-theme"]
test = ["contextlib2", "coverage[toml] (>=4.5)", "hypothesis (>=4.0)", "mock (>=4)", "pytest (>=7.0)", "pytest-mock (>=3.6.1)", "trustme", "uvloop (<0.15)", "uvloop (>=0.15)"]
trio = ["trio (>=0.16,<0.22)"]
doc = ["Sphinx (>=6.1.0)", "packaging", "sphinx-autodoc-typehints (>=1.2.0)", "sphinx-rtd-theme", "sphinxcontrib-jquery"]
test = ["anyio[trio]", "coverage[toml] (>=4.5)", "hypothesis (>=4.0)", "mock (>=4)", "psutil (>=5.9)", "pytest (>=7.0)", "pytest-mock (>=3.6.1)", "trustme", "uvloop (>=0.17)"]
trio = ["trio (<0.22)"]
[[package]]
name = "apscheduler"
@ -205,14 +206,14 @@ zookeeper = ["kazoo"]
[[package]]
name = "asgiref"
version = "3.7.1"
version = "3.7.2"
description = "ASGI specs, helper code, and adapters"
category = "dev"
optional = false
python-versions = ">=3.7"
files = [
{file = "asgiref-3.7.1-py3-none-any.whl", hash = "sha256:33958cb2e4b3cd8b1b06ef295bd8605cde65b11df51d3beab39e2e149a610ab3"},
{file = "asgiref-3.7.1.tar.gz", hash = "sha256:8de379fcc383bcfe4507e229fc31209ea23d4831c850f74063b2c11639474dd2"},
{file = "asgiref-3.7.2-py3-none-any.whl", hash = "sha256:89b2ef2247e3b562a16eef663bc0e2e703ec6468e2fa8a5cd61cd449786d4f6e"},
{file = "asgiref-3.7.2.tar.gz", hash = "sha256:9e0ce3aa93a819ba5b45120216b23878cf6e8525eb3848653452b4192b92afed"},
]
[package.dependencies]
@ -601,7 +602,7 @@ files = [
name = "exceptiongroup"
version = "1.1.1"
description = "Backport of PEP 654 (exception groups)"
category = "dev"
category = "main"
optional = false
python-versions = ">=3.7"
files = [

View File

@ -2,7 +2,7 @@ aiofiles==23.1.0 ; python_full_version >= "3.8.1" and python_version < "4.0"
aiohttp==3.8.4 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0"
aiosignal==1.3.1 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0"
aiosqlite==0.19.0 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0"
anyio==3.6.2 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0"
anyio==3.7.0 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0"
apscheduler==3.10.1 ; python_full_version >= "3.8.1" and python_version < "4.0"
async-timeout==4.0.2 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0"
attrs==23.1.0 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0"
@ -15,6 +15,7 @@ colorama==0.4.6 ; python_full_version >= "3.8.1" and python_version < "4.0" and
dnspython==2.3.0 ; python_full_version >= "3.8.1" and python_version < "4.0"
email-validator==2.0.0.post2 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0"
et-xmlfile==1.1.0 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0"
exceptiongroup==1.1.1 ; python_full_version >= "3.8.1" and python_version < "3.11"
fastapi-amis-admin==0.5.7 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0"
fastapi-user-auth==0.5.0 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0"
fastapi==0.95.2 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0"