diff --git a/GenshinUID/genshinuid_help/get_help.py b/GenshinUID/genshinuid_help/get_help.py index 3462508f..4c6b74ed 100644 --- a/GenshinUID/genshinuid_help/get_help.py +++ b/GenshinUID/genshinuid_help/get_help.py @@ -7,9 +7,9 @@ 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 ..genshinuid_config.gs_config import gsconfig from ..utils.image.image_tools import get_color_bg +from ..version import Genshin_version, GenshinUID_version from ..utils.fonts.genshin_fonts import genshin_font_origin TEXT_PATH = Path(__file__).parent / 'texture2d' @@ -48,6 +48,6 @@ async def get_core_help() -> Union[bytes, str]: False, (5, 5, 5), column=column, - extra_message=['版本号测试', '数据版本 2.55'], + extra_message=[f'数据版本 {Genshin_version}'], ) return img diff --git a/GenshinUID/genshinuid_help/help.json b/GenshinUID/genshinuid_help/help.json index f25d5060..4819a1d6 100644 --- a/GenshinUID/genshinuid_help/help.json +++ b/GenshinUID/genshinuid_help/help.json @@ -268,7 +268,7 @@ { "name": "查询xx带xx换xx", "desc": "查询不存在的角色", - "eg": "查询莱依拉带月光换公子", + "eg": "查询莱依拉带护摩换公子圣遗物", "need_ck": false, "need_sk": false, "need_admin": false @@ -320,6 +320,51 @@ "need_ck": false, "need_sk": false, "need_admin": false + }, + { + "name": "圣遗物仓库", + "desc": "查看自己已缓存的圣遗物列表", + "eg": "圣遗物仓库", + "need_ck": false, + "need_sk": false, + "need_admin": false + } + ] + }, + "排名服务": { + "desc": "数据源由AKACV提供", + "data": [ + { + "name": "gs开启排名系统", + "desc": "开启排名系统之后可正常使用", + "eg": "gs开启排名系统", + "need_ck": false, + "need_sk": false, + "need_admin": true + }, + { + "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": false, + "need_sk": false, + "need_admin": false } ] }, @@ -445,6 +490,14 @@ "need_ck": false, "need_sk": false, "need_admin": false + }, + { + "name": "今日素材", + "desc": "查看今天的副本掉落素材", + "eg": "今日材料", + "need_ck": false, + "need_sk": false, + "need_admin": false } ] }, diff --git a/GenshinUID/tools/help_data/GenshinUID Help.xlsx b/GenshinUID/tools/help_data/GenshinUID Help.xlsx index f2f3d483..61002804 100644 Binary files a/GenshinUID/tools/help_data/GenshinUID Help.xlsx and b/GenshinUID/tools/help_data/GenshinUID Help.xlsx differ diff --git a/GenshinUID/utils/api/cv/api.py b/GenshinUID/utils/api/cv/api.py index a28299b8..9654eafc 100644 --- a/GenshinUID/utils/api/cv/api.py +++ b/GenshinUID/utils/api/cv/api.py @@ -1,15 +1,14 @@ -BASE = 'https://akasha.cv' +BASE = 'https://akasha.cv/api' -MAIN_API = BASE + '/api/filters/accounts/' -RANK_API = BASE + '/api/getCalculationsForUser/{}' -DATA_API = BASE + '/api/user/{}' -REFRESH_API = BASE + '/api/user/refresh/{}' -LEADERBOARD_API = BASE + '/api/v2/leaderboards/categories?characterId={}' +MAIN_API = BASE + '/filters/accounts/' +RANK_API = BASE + '/getCalculationsForUser/{}' +DATA_API = BASE + '/user/{}' +REFRESH_API = BASE + '/user/refresh/{}' +LEADERBOARD_API = BASE + '/v2/leaderboards/categories?characterId={}' -SORT_PROMOT = 'sort=calculation.result&order=-1&size=20' +SORT_PROMOT = 'sort=calculation.result&' +UNI_PROMOT = 'order=-1&size=20&page=1&filter=&uids=&fromId=' SORT_API = ( - BASE - + '/api/leaderboards?' - + SORT_PROMOT - + '&page=1&filter=&uids=&p=&fromId=&calculationId={}' + BASE + '/leaderboards?' + SORT_PROMOT + 'p=&calculationId={}' + UNI_PROMOT ) +ARTI_SORT_API = BASE + '/artifacts?sort={}&p=' + UNI_PROMOT diff --git a/GenshinUID/utils/api/cv/request.py b/GenshinUID/utils/api/cv/request.py index e5410203..e3e085a3 100644 --- a/GenshinUID/utils/api/cv/request.py +++ b/GenshinUID/utils/api/cv/request.py @@ -10,9 +10,24 @@ from .api import ( RANK_API, SORT_API, REFRESH_API, + ARTI_SORT_API, LEADERBOARD_API, ) +SUBSTAT_MAP = { + '双爆': 'critValue', + '攻击力': 'substats.Flat ATK', + '血量': 'substats.Flat HP', + '防御力': 'substats.Flat DEF', + '百分比攻击力': 'substats.ATK%', + '百分比血量': 'substats.HP%', + '百分比防御': 'substats.DEF%', + '元素精通': 'substats.Elemental Mastery', + '元素充能效率': 'substats.Energy Recharge', + '暴击率': 'substats.Crit RATE', + '暴击伤害': 'substats.Crit DMG', +} + class _CvApi: ssl_verify = True @@ -24,6 +39,43 @@ class _CvApi: ) self.sessionID = None + async def get_artifacts_list( + self, + sort_by: Union[ + Literal[ + 'critValue', + 'substats.Flat ATK', + 'substats.Flat HP', + 'substats.Flat DEF', + 'substats.ATK%', + 'substats.HP%', + 'substats.DEF%', + 'substats.Elemental Mastery', + 'substats.Energy Recharge', + 'substats.Crit RATE', + 'substats.Crit DMG', + ], + str, + ] = 'critValue', + ) -> Optional[List[Dict]]: + if not sort_by.startswith(('c', 's')): + for i in SUBSTAT_MAP: + if sort_by in i: + sort_by = SUBSTAT_MAP[i] + break + else: + return None + raw_data = await self._cv_request( + ARTI_SORT_API.format(sort_by), + 'GET', + self._HEADER, + ) + if isinstance(raw_data, Dict) and 'data' in raw_data: + if raw_data['data']: + return raw_data['data'] + else: + return None + async def get_leaderboard_id_list( self, char_id: str ) -> Optional[List[Dict]]: diff --git a/GenshinUID/utils/image/image_tools.py b/GenshinUID/utils/image/image_tools.py index 6427b2f4..5e77561d 100644 --- a/GenshinUID/utils/image/image_tools.py +++ b/GenshinUID/utils/image/image_tools.py @@ -350,7 +350,7 @@ class CustomizeImage: # 获取背景主色 color = 8 q = edit_bg.quantize(colors=color, method=2) - bg_color = (0, 0, 0) + bg_color: Tuple[int, int, int] = (0, 0, 0) if is_light: based_light = 195 else: @@ -364,7 +364,7 @@ class CustomizeImage: ) light_value = bg[0] * 0.3 + bg[1] * 0.6 + bg[2] * 0.1 if abs(light_value - based_light) < temp: # noqa:E203 - bg_color = bg + bg_color = bg # type:ignore temp = abs(light_value - based_light) return bg_color diff --git a/README.md b/README.md index d0de3993..0b97a4e2 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,12 @@
-