🎨 支持新版core的gs帮助
@ -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)
|
||||
|
44
GenshinUID/genshinuid_help/get_help.py
Normal 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
|
@ -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
|
||||
}
|
||||
]
|
||||
},
|
||||
|
BIN
GenshinUID/genshinuid_help/texture2d/badge.png
Normal file
After Width: | Height: | Size: 2.1 KiB |
BIN
GenshinUID/genshinuid_help/texture2d/banner.png
Normal file
After Width: | Height: | Size: 730 B |
BIN
GenshinUID/genshinuid_help/texture2d/button.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 156 KiB |
BIN
GenshinUID/genshinuid_help/texture2d/icon.png
Normal file
After Width: | Height: | Size: 86 KiB |
Before Width: | Height: | Size: 1.3 KiB |
23
poetry.lock
generated
@ -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 = [
|
||||
|
@ -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"
|
||||
|