mirror of
https://github.com/baiqwerdvd/StarRailUID.git
synced 2025-05-04 18:57:33 +08:00
✨支持wiki
This commit is contained in:
parent
db3acf9718
commit
24ec4b6944
4015
StarRailUID/starrailuid_damagecal/config/RelicAbility.json
Normal file
4015
StarRailUID/starrailuid_damagecal/config/RelicAbility.json
Normal file
File diff suppressed because it is too large
Load Diff
69
StarRailUID/starrailuid_wiki/__init__.py
Normal file
69
StarRailUID/starrailuid_wiki/__init__.py
Normal file
@ -0,0 +1,69 @@
|
||||
import re
|
||||
|
||||
from gsuid_core.sv import SV
|
||||
from gsuid_core.bot import Bot
|
||||
from gsuid_core.models import Event
|
||||
from gsuid_core.utils.image.convert import convert_img
|
||||
|
||||
from ..utils.map.name_covert import alias_to_char_name
|
||||
from ..utils.resource.RESOURCE_PATH import (
|
||||
WIKI_ROLE_PATH,
|
||||
WIKI_RELIC_PATH,
|
||||
WIKI_LIGHT_CONE_PATH,
|
||||
WIKI_MATERIAL_FOR_ROLE,
|
||||
)
|
||||
|
||||
sv_sr_wiki = SV('星铁WIKI')
|
||||
|
||||
|
||||
@sv_sr_wiki.on_prefix(('sr角色攻略'))
|
||||
async def send_role_wiki_pic(bot: Bot, ev: Event):
|
||||
msg = ' '.join(re.findall('[\u4e00-\u9fa5]+', ev.text))
|
||||
await bot.logger.info('开始获取{}攻略'.format(msg))
|
||||
name = await alias_to_char_name(msg)
|
||||
img = WIKI_ROLE_PATH / '{}.png'.format(name)
|
||||
if img.exists():
|
||||
img = await convert_img(img)
|
||||
await bot.logger.info('获得{}攻略图片成功!'.format(name))
|
||||
await bot.send(img)
|
||||
else:
|
||||
await bot.logger.warning('未找到{}攻略图片'.format(name))
|
||||
|
||||
|
||||
@sv_sr_wiki.on_prefix(('sr遗器'))
|
||||
async def send_relic_wiki_pic(bot: Bot, ev: Event):
|
||||
msg = ' '.join(re.findall('[\u4e00-\u9fa5]+', ev.text))
|
||||
await bot.logger.info('开始获取{}遗器'.format(msg))
|
||||
img = WIKI_RELIC_PATH / '{}.png'.format(msg)
|
||||
if img.exists():
|
||||
img = await convert_img(img)
|
||||
await bot.logger.info('获得{}攻略图片成功!'.format(msg))
|
||||
await bot.send(img)
|
||||
else:
|
||||
await bot.logger.warning('未找到{}攻略图片'.format(msg))
|
||||
|
||||
|
||||
@sv_sr_wiki.on_prefix(('sr突破材料'))
|
||||
async def send_material_for_role_wiki_pic(bot: Bot, ev: Event):
|
||||
msg = ' '.join(re.findall('[\u4e00-\u9fa5]+', ev.text))
|
||||
await bot.logger.info('开始获取{}突破材料'.format(msg))
|
||||
img = WIKI_MATERIAL_FOR_ROLE / '{}.png'.format(msg)
|
||||
if img.exists():
|
||||
img = await convert_img(img)
|
||||
await bot.logger.info('获得{}攻略图片成功!'.format(msg))
|
||||
await bot.send(img)
|
||||
else:
|
||||
await bot.logger.warning('未找到{}攻略图片'.format(msg))
|
||||
|
||||
|
||||
@sv_sr_wiki.on_prefix(('sr武器'))
|
||||
async def send_light_cone_wiki_pic(bot: Bot, ev: Event):
|
||||
msg = ' '.join(re.findall('[\u4e00-\u9fa5]+', ev.text))
|
||||
await bot.logger.info('开始获取{}武器'.format(msg))
|
||||
img = WIKI_LIGHT_CONE_PATH / '{}.png'.format(msg)
|
||||
if img.exists():
|
||||
img = await convert_img(img)
|
||||
await bot.logger.info('获得{}攻略图片成功!'.format(msg))
|
||||
await bot.send(img)
|
||||
else:
|
||||
await bot.logger.warning('未找到{}攻略图片'.format(msg))
|
@ -1,61 +1,61 @@
|
||||
from .SR_MAP_PATH import (
|
||||
EquipmentID2Name,
|
||||
EquipmentID2EnName,
|
||||
alias_data,
|
||||
avatarId2Name,
|
||||
avatarId2Star_data,
|
||||
)
|
||||
|
||||
|
||||
async def avatar_id_to_name(avatar_id: str) -> str:
|
||||
char_name = avatarId2Name[avatar_id]
|
||||
return char_name
|
||||
|
||||
|
||||
async def name_to_avatar_id(name: str) -> str:
|
||||
avatar_id = ''
|
||||
for i in avatarId2Name:
|
||||
if avatarId2Name[i] == name:
|
||||
avatar_id = i
|
||||
break
|
||||
return avatar_id
|
||||
|
||||
|
||||
async def avatar_id_to_char_star(char_id: str) -> str:
|
||||
char_star = avatarId2Star_data[str(char_id)]
|
||||
return char_star
|
||||
|
||||
|
||||
async def alias_to_char_name(char_name: str) -> str:
|
||||
for i in alias_data['characters']:
|
||||
if char_name in alias_data['characters'][i]:
|
||||
return alias_data['characters'][i][0]
|
||||
return False
|
||||
|
||||
|
||||
async def weapon_id_to_name(weapon_id: str) -> str:
|
||||
weapon_name = EquipmentID2Name[weapon_id]
|
||||
return weapon_name
|
||||
|
||||
|
||||
async def name_to_weapon_id(name: str) -> str:
|
||||
weapon_id = ''
|
||||
for i in EquipmentID2Name:
|
||||
if EquipmentID2Name[i] == name:
|
||||
weapon_id = i
|
||||
break
|
||||
return weapon_id
|
||||
|
||||
|
||||
async def weapon_id_to_en_name(weapon_id: str) -> str:
|
||||
weapon_en_name = EquipmentID2EnName[weapon_id]
|
||||
return weapon_en_name
|
||||
|
||||
|
||||
async def en_name_to_weapon_id(name: str) -> str:
|
||||
weapon_id = ''
|
||||
for i in EquipmentID2EnName:
|
||||
if EquipmentID2EnName[i] == name:
|
||||
weapon_id = i
|
||||
break
|
||||
return weapon_id
|
||||
from .SR_MAP_PATH import (
|
||||
EquipmentID2Name,
|
||||
EquipmentID2EnName,
|
||||
alias_data,
|
||||
avatarId2Name,
|
||||
avatarId2Star_data,
|
||||
)
|
||||
|
||||
|
||||
async def avatar_id_to_name(avatar_id: str) -> str:
|
||||
char_name = avatarId2Name[avatar_id]
|
||||
return char_name
|
||||
|
||||
|
||||
async def name_to_avatar_id(name: str) -> str:
|
||||
avatar_id = ''
|
||||
for i in avatarId2Name:
|
||||
if avatarId2Name[i] == name:
|
||||
avatar_id = i
|
||||
break
|
||||
return avatar_id
|
||||
|
||||
|
||||
async def avatar_id_to_char_star(char_id: str) -> str:
|
||||
char_star = avatarId2Star_data[str(char_id)]
|
||||
return char_star
|
||||
|
||||
|
||||
async def alias_to_char_name(char_name: str) -> str:
|
||||
for i in alias_data['characters']:
|
||||
if char_name in alias_data['characters'][i]:
|
||||
return alias_data['characters'][i][0]
|
||||
return char_name
|
||||
|
||||
|
||||
async def weapon_id_to_name(weapon_id: str) -> str:
|
||||
weapon_name = EquipmentID2Name[weapon_id]
|
||||
return weapon_name
|
||||
|
||||
|
||||
async def name_to_weapon_id(name: str) -> str:
|
||||
weapon_id = ''
|
||||
for i in EquipmentID2Name:
|
||||
if EquipmentID2Name[i] == name:
|
||||
weapon_id = i
|
||||
break
|
||||
return weapon_id
|
||||
|
||||
|
||||
async def weapon_id_to_en_name(weapon_id: str) -> str:
|
||||
weapon_en_name = EquipmentID2EnName[weapon_id]
|
||||
return weapon_en_name
|
||||
|
||||
|
||||
async def en_name_to_weapon_id(name: str) -> str:
|
||||
weapon_id = ''
|
||||
for i in EquipmentID2EnName:
|
||||
if EquipmentID2EnName[i] == name:
|
||||
weapon_id = i
|
||||
break
|
||||
return weapon_id
|
||||
|
60
poetry.lock
generated
60
poetry.lock
generated
@ -373,7 +373,6 @@ 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]
|
||||
@ -386,14 +385,14 @@ dev = ["Sphinx (>=5.1.1)", "black (==23.1.0)", "build (>=0.10.0)", "coverage (>=
|
||||
|
||||
[[package]]
|
||||
name = "loguru"
|
||||
version = "0.6.0"
|
||||
version = "0.7.0"
|
||||
description = "Python logging made (stupidly) simple"
|
||||
category = "dev"
|
||||
optional = false
|
||||
python-versions = ">=3.5"
|
||||
files = [
|
||||
{file = "loguru-0.6.0-py3-none-any.whl", hash = "sha256:4e2414d534a2ab57573365b3e6d0234dfb1d84b68b7f3b948e6fb743860a77c3"},
|
||||
{file = "loguru-0.6.0.tar.gz", hash = "sha256:066bd06758d0a513e9836fd9c6b5a75bfb3fd36841f4b996bc60b547a309d41c"},
|
||||
{file = "loguru-0.7.0-py3-none-any.whl", hash = "sha256:b93aa30099fa6860d4727f1b81f8718e965bb96253fa190fab2077aaad6d15d3"},
|
||||
{file = "loguru-0.7.0.tar.gz", hash = "sha256:1612053ced6ae84d7959dd7d5e431a0532642237ec21f7fd83ac73fe539e03e1"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
@ -401,7 +400,7 @@ colorama = {version = ">=0.3.4", markers = "sys_platform == \"win32\""}
|
||||
win32-setctime = {version = ">=1.0.0", markers = "sys_platform == \"win32\""}
|
||||
|
||||
[package.extras]
|
||||
dev = ["Sphinx (>=4.1.1)", "black (>=19.10b0)", "colorama (>=0.3.4)", "docutils (==0.16)", "flake8 (>=3.7.7)", "isort (>=5.1.1)", "pytest (>=4.6.2)", "pytest-cov (>=2.7.1)", "sphinx-autobuild (>=0.7.1)", "sphinx-rtd-theme (>=0.4.3)", "tox (>=3.9.0)"]
|
||||
dev = ["Sphinx (==5.3.0)", "colorama (==0.4.5)", "colorama (==0.4.6)", "freezegun (==1.1.0)", "freezegun (==1.2.2)", "mypy (==v0.910)", "mypy (==v0.971)", "mypy (==v0.990)", "pre-commit (==3.2.1)", "pytest (==6.1.2)", "pytest (==7.2.1)", "pytest-cov (==2.12.1)", "pytest-cov (==4.0.0)", "pytest-mypy-plugins (==1.10.1)", "pytest-mypy-plugins (==1.9.3)", "sphinx-autobuild (==2021.3.14)", "sphinx-rtd-theme (==1.2.0)", "tox (==3.27.1)", "tox (==4.4.6)"]
|
||||
|
||||
[[package]]
|
||||
name = "mccabe"
|
||||
@ -528,18 +527,18 @@ setuptools = "*"
|
||||
|
||||
[[package]]
|
||||
name = "nonebot2"
|
||||
version = "2.0.0rc4"
|
||||
version = "2.0.0"
|
||||
description = "An asynchronous python bot framework."
|
||||
category = "dev"
|
||||
optional = false
|
||||
python-versions = ">=3.8,<4.0"
|
||||
files = [
|
||||
{file = "nonebot2-2.0.0rc4-py3-none-any.whl", hash = "sha256:dba33955e07f962d4fc0d3841b1d5d20ed00b8eb4189f0ac608b07e193148a3b"},
|
||||
{file = "nonebot2-2.0.0rc4.tar.gz", hash = "sha256:572ab5a2678155dca93ec27695a51b1c8b3ad43c3329a360e67ce11c6dd01c7d"},
|
||||
{file = "nonebot2-2.0.0-py3-none-any.whl", hash = "sha256:a3b0caedd52033a11f1d7c24875c3b89513a4b5014f703e0bb266e2e39a0bd30"},
|
||||
{file = "nonebot2-2.0.0.tar.gz", hash = "sha256:144c175ce100c3300d53475fc47b7a9f0a6545861ff12bdc8a1442ab12d430df"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
loguru = ">=0.6.0,<0.7.0"
|
||||
loguru = ">=0.6.0,<1.0.0"
|
||||
pydantic = {version = ">=1.10.0,<2.0.0", extras = ["dotenv"]}
|
||||
pygtrie = ">=2.4.1,<3.0.0"
|
||||
tomli = {version = ">=2.0.1,<3.0.0", markers = "python_version < \"3.11\""}
|
||||
@ -548,22 +547,22 @@ yarl = ">=1.7.2,<2.0.0"
|
||||
|
||||
[package.extras]
|
||||
aiohttp = ["aiohttp[speedups] (>=3.7.4,<4.0.0)"]
|
||||
all = ["Quart (>=0.18.0,<1.0.0)", "aiohttp[speedups] (>=3.7.4,<4.0.0)", "fastapi (>=0.93.0,<1.0.0)", "httpx[http2] (>=0.20.0,<1.0.0)", "uvicorn[standard] (>=0.20.0,<1.0.0)", "websockets (>=10.0,<11.0)"]
|
||||
all = ["Quart (>=0.18.0,<1.0.0)", "aiohttp[speedups] (>=3.7.4,<4.0.0)", "fastapi (>=0.93.0,<1.0.0)", "httpx[http2] (>=0.20.0,<1.0.0)", "uvicorn[standard] (>=0.20.0,<1.0.0)", "websockets (>=10.0)"]
|
||||
fastapi = ["fastapi (>=0.93.0,<1.0.0)", "uvicorn[standard] (>=0.20.0,<1.0.0)"]
|
||||
httpx = ["httpx[http2] (>=0.20.0,<1.0.0)"]
|
||||
quart = ["Quart (>=0.18.0,<1.0.0)", "uvicorn[standard] (>=0.20.0,<1.0.0)"]
|
||||
websockets = ["websockets (>=10.0,<11.0)"]
|
||||
websockets = ["websockets (>=10.0)"]
|
||||
|
||||
[[package]]
|
||||
name = "nonebug"
|
||||
version = "0.3.3"
|
||||
version = "0.3.4"
|
||||
description = "nonebot2 test framework"
|
||||
category = "dev"
|
||||
optional = false
|
||||
python-versions = ">=3.8,<4.0"
|
||||
files = [
|
||||
{file = "nonebug-0.3.3-py3-none-any.whl", hash = "sha256:c3e53e9fe0859083512b78b1af5c29c2ba73b86957fac6a028f094a64a04ea5a"},
|
||||
{file = "nonebug-0.3.3.tar.gz", hash = "sha256:3ef520e60c9af97fc4f4dbddcc46723aedb8a127b84369b49d2e9a40bea5b799"},
|
||||
{file = "nonebug-0.3.4-py3-none-any.whl", hash = "sha256:d6ebbde934d463141497e3162e26371b7e266d39f8cac0aa1bccc0e4542dd48b"},
|
||||
{file = "nonebug-0.3.4.tar.gz", hash = "sha256:11d106dff3fe0d5fa029b9745f701770bcc484be048e72722bb17bb00f84753d"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
@ -587,14 +586,14 @@ files = [
|
||||
|
||||
[[package]]
|
||||
name = "pathspec"
|
||||
version = "0.10.3"
|
||||
version = "0.11.1"
|
||||
description = "Utility library for gitignore style pattern matching of file paths."
|
||||
category = "dev"
|
||||
optional = false
|
||||
python-versions = ">=3.7"
|
||||
files = [
|
||||
{file = "pathspec-0.10.3-py3-none-any.whl", hash = "sha256:3c95343af8b756205e2aba76e843ba9520a24dd84f68c22b9f93251507509dd6"},
|
||||
{file = "pathspec-0.10.3.tar.gz", hash = "sha256:56200de4077d9d0791465aa9095a01d421861e405b5096955051deefd697d6f6"},
|
||||
{file = "pathspec-0.11.1-py3-none-any.whl", hash = "sha256:d8af70af76652554bd134c22b3e8a1cc46ed7d91edcdd721ef1a0c51a84a5293"},
|
||||
{file = "pathspec-0.11.1.tar.gz", hash = "sha256:2798de800fa92780e33acca925945e9a19a133b715067cf165b8866c15a31687"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -650,22 +649,22 @@ virtualenv = ">=20.10.0"
|
||||
|
||||
[[package]]
|
||||
name = "pycln"
|
||||
version = "2.1.3"
|
||||
version = "2.1.5"
|
||||
description = "A formatter for finding and removing unused import statements."
|
||||
category = "dev"
|
||||
optional = false
|
||||
python-versions = ">=3.6.2,<4"
|
||||
files = [
|
||||
{file = "pycln-2.1.3-py3-none-any.whl", hash = "sha256:161142502e4ff9853cd462a38401e29eb56235919856df2cb7fa4c84e463717f"},
|
||||
{file = "pycln-2.1.3.tar.gz", hash = "sha256:a33bfc64ded74a623b7cf49eca38b58db4348facc60c35af26d45de149b256f5"},
|
||||
{file = "pycln-2.1.5-py3-none-any.whl", hash = "sha256:1e1f2542aabc8942fd945bbecd39b55ed5f25cd9a70fa116a554cceaab4fdc3b"},
|
||||
{file = "pycln-2.1.5.tar.gz", hash = "sha256:5029007881d00b87bfc8831ef7cf59c90cc214fbbcc8773f0a9560ddef8d150a"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
libcst = {version = ">=0.3.10,<0.5.0", markers = "python_version >= \"3.7\""}
|
||||
pathspec = ">=0.9.0,<0.11.0"
|
||||
pathspec = ">=0.9.0,<0.12.0"
|
||||
pyyaml = ">=5.3.1,<7.0.0"
|
||||
tomlkit = ">=0.11.1,<0.12.0"
|
||||
typer = ">=0.4.1,<0.8.0"
|
||||
typer = ">=0.4.1,<0.10.0"
|
||||
|
||||
[[package]]
|
||||
name = "pycodestyle"
|
||||
@ -929,35 +928,36 @@ files = [
|
||||
|
||||
[[package]]
|
||||
name = "typer"
|
||||
version = "0.7.0"
|
||||
version = "0.9.0"
|
||||
description = "Typer, build great CLIs. Easy to code. Based on Python type hints."
|
||||
category = "dev"
|
||||
optional = false
|
||||
python-versions = ">=3.6"
|
||||
files = [
|
||||
{file = "typer-0.7.0-py3-none-any.whl", hash = "sha256:b5e704f4e48ec263de1c0b3a2387cd405a13767d2f907f44c1a08cbad96f606d"},
|
||||
{file = "typer-0.7.0.tar.gz", hash = "sha256:ff797846578a9f2a201b53442aedeb543319466870fbe1c701eab66dd7681165"},
|
||||
{file = "typer-0.9.0-py3-none-any.whl", hash = "sha256:5d96d986a21493606a358cae4461bd8cdf83cbf33a5aa950ae629ca3b51467ee"},
|
||||
{file = "typer-0.9.0.tar.gz", hash = "sha256:50922fd79aea2f4751a8e0408ff10d2662bd0c8bbfa84755a699f3bada2978b2"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
click = ">=7.1.1,<9.0.0"
|
||||
typing-extensions = ">=3.7.4.3"
|
||||
|
||||
[package.extras]
|
||||
all = ["colorama (>=0.4.3,<0.5.0)", "rich (>=10.11.0,<13.0.0)", "shellingham (>=1.3.0,<2.0.0)"]
|
||||
all = ["colorama (>=0.4.3,<0.5.0)", "rich (>=10.11.0,<14.0.0)", "shellingham (>=1.3.0,<2.0.0)"]
|
||||
dev = ["autoflake (>=1.3.1,<2.0.0)", "flake8 (>=3.8.3,<4.0.0)", "pre-commit (>=2.17.0,<3.0.0)"]
|
||||
doc = ["cairosvg (>=2.5.2,<3.0.0)", "mdx-include (>=1.4.1,<2.0.0)", "mkdocs (>=1.1.2,<2.0.0)", "mkdocs-material (>=8.1.4,<9.0.0)", "pillow (>=9.3.0,<10.0.0)"]
|
||||
test = ["black (>=22.3.0,<23.0.0)", "coverage (>=6.2,<7.0)", "isort (>=5.0.6,<6.0.0)", "mypy (==0.910)", "pytest (>=4.4.0,<8.0.0)", "pytest-cov (>=2.10.0,<5.0.0)", "pytest-sugar (>=0.9.4,<0.10.0)", "pytest-xdist (>=1.32.0,<4.0.0)", "rich (>=10.11.0,<13.0.0)", "shellingham (>=1.3.0,<2.0.0)"]
|
||||
test = ["black (>=22.3.0,<23.0.0)", "coverage (>=6.2,<7.0)", "isort (>=5.0.6,<6.0.0)", "mypy (==0.910)", "pytest (>=4.4.0,<8.0.0)", "pytest-cov (>=2.10.0,<5.0.0)", "pytest-sugar (>=0.9.4,<0.10.0)", "pytest-xdist (>=1.32.0,<4.0.0)", "rich (>=10.11.0,<14.0.0)", "shellingham (>=1.3.0,<2.0.0)"]
|
||||
|
||||
[[package]]
|
||||
name = "typing-extensions"
|
||||
version = "4.6.2"
|
||||
version = "4.6.3"
|
||||
description = "Backported and Experimental Type Hints for Python 3.7+"
|
||||
category = "dev"
|
||||
optional = false
|
||||
python-versions = ">=3.7"
|
||||
files = [
|
||||
{file = "typing_extensions-4.6.2-py3-none-any.whl", hash = "sha256:3a8b36f13dd5fdc5d1b16fe317f5668545de77fa0b8e02006381fd49d731ab98"},
|
||||
{file = "typing_extensions-4.6.2.tar.gz", hash = "sha256:06006244c70ac8ee83fa8282cb188f697b8db25bc8b4df07be1873c43897060c"},
|
||||
{file = "typing_extensions-4.6.3-py3-none-any.whl", hash = "sha256:88a4153d8505aabbb4e13aacb7c486c2b4a33ca3b3f807914a9b4c844c471c26"},
|
||||
{file = "typing_extensions-4.6.3.tar.gz", hash = "sha256:d91d5919357fe7f681a9f2b5b4cb2a5f1ef0a1e9f59c4d8ff0d3491e05c0ffd5"},
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
Loading…
x
Reference in New Issue
Block a user