diff --git a/GenshinUID/genshinuid_abyss/draw_abyss_card.py b/GenshinUID/genshinuid_abyss/draw_abyss_card.py index 8e3a2adc..1d76992e 100644 --- a/GenshinUID/genshinuid_abyss/draw_abyss_card.py +++ b/GenshinUID/genshinuid_abyss/draw_abyss_card.py @@ -5,7 +5,7 @@ from typing import Union, Optional from PIL import Image, ImageDraw from gsuid_core.logger import logger -from gsuid_core.utils.error_reply import get_error +from gsuid_core.utils.error_reply import get_error_img from gsuid_core.utils.api.mys.models import AbyssBattleAvatar from ..utils.convert import GsCookie @@ -123,7 +123,7 @@ async def draw_abyss_img( # 获取数据 if isinstance(raw_abyss_data, int): - return get_error(raw_abyss_data) + return await get_error_img(raw_abyss_data) if raw_data: char_data = raw_data['avatars'] else: diff --git a/GenshinUID/genshinuid_gachalog/lelaer_tools.py b/GenshinUID/genshinuid_gachalog/lelaer_tools.py index d4f1ffc0..cf435818 100644 --- a/GenshinUID/genshinuid_gachalog/lelaer_tools.py +++ b/GenshinUID/genshinuid_gachalog/lelaer_tools.py @@ -5,7 +5,7 @@ import httpx import aiofiles from gsuid_core.logger import logger from urllib3 import encode_multipart_formdata -from gsuid_core.utils.error_reply import get_error +from gsuid_core.utils.error_reply import get_error_img from gsuid_core.utils.api.mys.request import RECOGNIZE_SERVER from ..utils.mys_api import mys_api @@ -16,7 +16,7 @@ async def get_gachaurl(uid: str): server_id = RECOGNIZE_SERVER.get(str(uid)[0]) authkey_rawdata = await mys_api.get_authkey_by_cookie(uid) if isinstance(authkey_rawdata, int): - return get_error(authkey_rawdata) + return await get_error_img(authkey_rawdata) authkey = authkey_rawdata['authkey'] now = time.time() url = ( diff --git a/GenshinUID/genshinuid_gcg/draw_gcgdesk.py b/GenshinUID/genshinuid_gcg/draw_gcgdesk.py index 1cdc7a8c..b4c30e63 100644 --- a/GenshinUID/genshinuid_gcg/draw_gcgdesk.py +++ b/GenshinUID/genshinuid_gcg/draw_gcgdesk.py @@ -3,7 +3,7 @@ from typing import Union from PIL import Image, ImageDraw from gsuid_core.logger import logger -from gsuid_core.utils.error_reply import get_error +from gsuid_core.utils.error_reply import get_error_img from ..utils.mys_api import mys_api from ..utils.image.convert import convert_img @@ -26,7 +26,7 @@ async def draw_deck_img( # 获取数据 raw_data = await mys_api.get_gcg_deck(uid) if isinstance(raw_data, int): - return get_error(raw_data) + return await get_error_img(raw_data) if len(raw_data['deck_list']) < deck_id: return f'你没有第{deck_id}套卡组!' raw_data = raw_data['deck_list'][deck_id - 1] diff --git a/GenshinUID/genshinuid_gcg/draw_gcginfo.py b/GenshinUID/genshinuid_gcg/draw_gcginfo.py index 14ac3814..2efe2d1a 100644 --- a/GenshinUID/genshinuid_gcg/draw_gcginfo.py +++ b/GenshinUID/genshinuid_gcg/draw_gcginfo.py @@ -3,7 +3,7 @@ from typing import Union from PIL import Image, ImageDraw from gsuid_core.logger import logger -from gsuid_core.utils.error_reply import get_error +from gsuid_core.utils.error_reply import get_error_img from ..utils.mys_api import mys_api from ..utils.image.convert import convert_img @@ -31,7 +31,7 @@ async def draw_gcg_info(uid: str) -> Union[bytes, str]: # 获得数据 raw_data = await mys_api.get_gcg_info(uid) if isinstance(raw_data, int): - return get_error(raw_data) + return await get_error_img(raw_data) if raw_data['covers'] == []: return f'UID{uid}还没有开启七圣召唤玩法 或 未去米游社激活数据!' diff --git a/GenshinUID/genshinuid_note/draw_note_card.py b/GenshinUID/genshinuid_note/draw_note_card.py index cf55d04c..c11b4794 100644 --- a/GenshinUID/genshinuid_note/draw_note_card.py +++ b/GenshinUID/genshinuid_note/draw_note_card.py @@ -3,7 +3,7 @@ from typing import Union from PIL import Image, ImageDraw from gsuid_core.logger import logger -from gsuid_core.utils.error_reply import get_error +from gsuid_core.utils.error_reply import get_error_img from ..utils.mys_api import mys_api from ..utils.image.convert import convert_img @@ -41,7 +41,7 @@ async def draw_note_img(uid: str) -> Union[bytes, str]: # 获取数据 data = await mys_api.get_award(uid) if isinstance(data, int): - return get_error(data) + return await get_error_img(data) # nickname = data['nickname'] day_stone = data['day_data']['current_primogems'] day_mora = data['day_data']['current_mora'] diff --git a/GenshinUID/genshinuid_note/note_text.py b/GenshinUID/genshinuid_note/note_text.py index ebeb7e93..0402f207 100644 --- a/GenshinUID/genshinuid_note/note_text.py +++ b/GenshinUID/genshinuid_note/note_text.py @@ -1,4 +1,6 @@ -from gsuid_core.utils.error_reply import get_error +from typing import Union + +from gsuid_core.utils.error_reply import get_error_img from ..utils.mys_api import mys_api @@ -23,10 +25,10 @@ UID:{} {}==============""" -async def award(uid) -> str: +async def award(uid) -> Union[str, bytes]: data = await mys_api.get_award(uid) if isinstance(data, int): - return get_error(data) + return await get_error_img(data) nickname = data['nickname'] day_stone = data['day_data']['current_primogems'] day_mora = data['day_data']['current_mora'] diff --git a/GenshinUID/genshinuid_postdraw/get_draw.py b/GenshinUID/genshinuid_postdraw/get_draw.py index cd66239e..c68131c7 100644 --- a/GenshinUID/genshinuid_postdraw/get_draw.py +++ b/GenshinUID/genshinuid_postdraw/get_draw.py @@ -1,17 +1,19 @@ -from gsuid_core.utils.error_reply import get_error +from typing import Union + +from gsuid_core.utils.error_reply import get_error_img from ..utils.mys_api import mys_api -async def post_my_draw(uid) -> str: +async def post_my_draw(uid) -> Union[str, bytes]: bs_index = await mys_api.get_bs_index(uid) calendar = await mys_api.get_draw_calendar(uid) # 错误检查 if isinstance(bs_index, int): - return get_error(bs_index) + return await get_error_img(bs_index) if isinstance(calendar, int): - return get_error(calendar) + return await get_error_img(calendar) im_list = [] @@ -19,7 +21,7 @@ async def post_my_draw(uid) -> str: if not role['is_partake']: data = await mys_api.post_draw(uid, role['role_id']) if isinstance(data, int): - im_list.append(get_error(data)) + im_list.append(await get_error_img(data)) else: retcode = data['retcode'] if retcode != 0: diff --git a/GenshinUID/genshinuid_resin/resin_text.py b/GenshinUID/genshinuid_resin/resin_text.py index bad8af77..ba359649 100644 --- a/GenshinUID/genshinuid_resin/resin_text.py +++ b/GenshinUID/genshinuid_resin/resin_text.py @@ -1,8 +1,8 @@ import math -from typing import List +from typing import List, Union from gsuid_core.logger import logger -from gsuid_core.utils.error_reply import get_error +from gsuid_core.utils.error_reply import get_error_img from ..utils.mys_api import mys_api from ..utils.map.name_covert import avatar_id_to_name, enName_to_avatarId @@ -25,11 +25,11 @@ def seconds2hours(seconds: int) -> str: return '%02d:%02d:%02d' % (h, m, s) -async def get_resin_text(uid: str) -> str: +async def get_resin_text(uid: str) -> Union[str, bytes]: try: dailydata = await mys_api.get_daily_data(uid) if isinstance(dailydata, int): - return get_error(dailydata) + return await get_error_img(dailydata) max_resin = dailydata['max_resin'] rec_time = '' current_resin = dailydata['current_resin'] diff --git a/GenshinUID/genshinuid_roleinfo/draw_roleinfo_card.py b/GenshinUID/genshinuid_roleinfo/draw_roleinfo_card.py index f059fa27..bba03663 100644 --- a/GenshinUID/genshinuid_roleinfo/draw_roleinfo_card.py +++ b/GenshinUID/genshinuid_roleinfo/draw_roleinfo_card.py @@ -3,7 +3,7 @@ from pathlib import Path from PIL import Image, ImageDraw from gsuid_core.logger import logger -from gsuid_core.utils.error_reply import get_error +from gsuid_core.utils.error_reply import get_error_img from gsuid_core.utils.api.mys.models import MihoyoAvatar from ..utils.mys_api import mys_api @@ -145,7 +145,7 @@ async def draw_pic(uid: str): char_rawdata = await mys_api.get_character(uid, char_ids, use_cookies) if isinstance(char_rawdata, int): - return get_error(char_rawdata) + return await get_error_img(char_rawdata) char_datas = char_rawdata['avatars'] for index, i in enumerate(char_datas): diff --git a/GenshinUID/genshinuid_roleinfo/get_regtime.py b/GenshinUID/genshinuid_roleinfo/get_regtime.py index 0067792e..f4208c59 100644 --- a/GenshinUID/genshinuid_roleinfo/get_regtime.py +++ b/GenshinUID/genshinuid_roleinfo/get_regtime.py @@ -1,18 +1,19 @@ import json import time +from typing import Union from gsuid_core.logger import logger -from gsuid_core.utils.error_reply import get_error +from gsuid_core.utils.error_reply import get_error_img from ..utils.mys_api import mys_api -async def calc_reg_time(uid: str) -> str: +async def calc_reg_time(uid: str) -> Union[str, bytes]: # 获得原始数据 try: raw_data = await mys_api.get_regtime_data(uid) if isinstance(raw_data, int): - return get_error(raw_data) + return await get_error_img(raw_data) # 获取时间戳 reg_time = json.loads(raw_data['data'])['1'] # 转换为日期 diff --git a/GenshinUID/genshinuid_topup/gs_topup.py b/GenshinUID/genshinuid_topup/gs_topup.py index 442440e8..da778fe6 100644 --- a/GenshinUID/genshinuid_topup/gs_topup.py +++ b/GenshinUID/genshinuid_topup/gs_topup.py @@ -2,7 +2,7 @@ import io import base64 import asyncio import traceback -from typing import Literal +from typing import Union, Literal from time import strftime, localtime import qrcode @@ -10,8 +10,8 @@ from gsuid_core.bot import Bot from qrcode import ERROR_CORRECT_L from gsuid_core.logger import logger from gsuid_core.segment import MessageSegment -from gsuid_core.utils.error_reply import get_error from gsuid_core.utils.api.mys.models import MysOrder +from gsuid_core.utils.error_reply import get_error_img from ..utils.mys_api import mys_api from ..utils.database import get_sqla @@ -90,13 +90,15 @@ def get_qrcode_base64(url: str): return base64.b64encode(img_byte).decode() -async def refresh(order: MysOrder, uid: str, order_id: str) -> str: +async def refresh( + order: MysOrder, uid: str, order_id: str +) -> Union[str, bytes]: times = 0 while True: await asyncio.sleep(5) order_status = await mys_api.check_order(order, uid) if isinstance(order_status, int): - return get_error(order_status) + return await get_error_img(order_status) if order_status['status'] != 900: pass else: @@ -120,7 +122,7 @@ async def topup_( return await bot.send('未绑定米游社账号') fetchgoods_data = await mys_api.get_fetchgoods() if isinstance(fetchgoods_data, int): - return await bot.send(get_error(fetchgoods_data)) + return await bot.send(await get_error_img(fetchgoods_data)) if goods_id < len(fetchgoods_data): goods_data = fetchgoods_data[goods_id] else: @@ -128,7 +130,7 @@ async def topup_( order = await mys_api.topup(uid, goods_data, method) if isinstance(order, int): logger.warning(f'[充值] {group_id} {user_id} 出错!') - return await bot.send(get_error(order)) + return await bot.send(await get_error_img(order)) try: b64_data = get_qrcode_base64(order['encode_order']) img_b64decode = base64.b64decode(b64_data) diff --git a/GenshinUID/genshinuid_wikitext/get_artifacts_pic.py b/GenshinUID/genshinuid_wikitext/get_artifacts_pic.py index f0c71a68..7b2df853 100644 --- a/GenshinUID/genshinuid_wikitext/get_artifacts_pic.py +++ b/GenshinUID/genshinuid_wikitext/get_artifacts_pic.py @@ -3,7 +3,7 @@ from typing import Tuple, Union import aiofiles from PIL import Image, ImageDraw -from gsuid_core.utils.error_reply import get_error +from gsuid_core.utils.error_reply import get_error_img from gsuid_core.utils.api.minigg.models import Artifact from gsuid_core.utils.api.minigg.request import get_others_info @@ -41,7 +41,7 @@ async def get_base_img(y1: int, y2: int) -> Tuple[Image.Image, int]: async def get_artifacts_wiki_img(name: str) -> Union[str, bytes]: data = await get_others_info('artifacts', name) if isinstance(data, int): - return get_error(data) + return await get_error_img(data) else: art_name = data['name'] path = WIKI_REL_PATH / f'{art_name}.jpg' diff --git a/GenshinUID/genshinuid_wikitext/get_constellation_pic.py b/GenshinUID/genshinuid_wikitext/get_constellation_pic.py index f61434b4..c5fdb68d 100644 --- a/GenshinUID/genshinuid_wikitext/get_constellation_pic.py +++ b/GenshinUID/genshinuid_wikitext/get_constellation_pic.py @@ -2,7 +2,7 @@ from typing import Dict, List, Tuple, Union import aiofiles from PIL import Image, ImageDraw -from gsuid_core.utils.error_reply import get_error +from gsuid_core.utils.error_reply import get_error_img from gsuid_core.utils.api.minigg.request import ( get_character_info, get_constellation_info, @@ -50,11 +50,11 @@ async def get_constellation_wiki_img(name: str) -> Union[str, bytes]: data = await get_constellation_info(name) char_data = await get_character_info(name) if isinstance(data, int): - return get_error(data) + return await get_error_img(data) elif isinstance(char_data, int): - return get_error(char_data) + return await get_error_img(char_data) elif isinstance(char_data, List): - return get_error(-400) + return await get_error_img(-400) else: full_name = data['name'] path = CONSTELLATION_PATH / f'{full_name}.jpg' @@ -70,7 +70,7 @@ async def get_single_constellation_img( ) -> Union[str, bytes]: data = await get_constellation_info(name) if isinstance(data, int): - return get_error(data) + return await get_error_img(data) else: full_name = data['name'] path = CONSTELLATION_PATH / f'{full_name}_{num}.jpg' diff --git a/GenshinUID/genshinuid_wikitext/get_cost_pic.py b/GenshinUID/genshinuid_wikitext/get_cost_pic.py index 014c6b3a..03c3d8e6 100644 --- a/GenshinUID/genshinuid_wikitext/get_cost_pic.py +++ b/GenshinUID/genshinuid_wikitext/get_cost_pic.py @@ -2,7 +2,7 @@ from typing import Dict, List, Tuple, Union import aiofiles from PIL import Image, ImageDraw -from gsuid_core.utils.error_reply import get_error +from gsuid_core.utils.error_reply import get_error_img from gsuid_core.utils.api.minigg.models import Character, CharacterTalents from gsuid_core.utils.api.minigg.request import ( get_others_info, @@ -16,6 +16,12 @@ from ..utils.get_assets import get_assets_from_ambr from ..utils.map.name_covert import name_to_avatar_id from ..utils.image.convert import str_lenth, convert_img from ..utils.resource.RESOURCE_PATH import CHAR_PATH, WIKI_COST_CHAR_PATH +from ..utils.image.image_tools import ( + get_star_png, + get_simple_bg, + get_unknown_png, + draw_pic_with_ring, +) from ..utils.fonts.genshin_fonts import ( gs_font_24, gs_font_26, @@ -23,23 +29,17 @@ from ..utils.fonts.genshin_fonts import ( gs_font_36, gs_font_44, ) -from ..utils.image.image_tools import ( - get_star_png, - get_simple_bg, - get_unknown_png, - draw_pic_with_ring, -) async def get_char_cost_wiki_img(name: str) -> Union[str, bytes]: data = await get_character_info(name) talent_data = await get_talent_info(name) if isinstance(data, int): - return get_error(data) + return await get_error_img(data) elif isinstance(data, List): - return get_error(-400) + return await get_error_img(-400) elif isinstance(talent_data, int): - return get_error(talent_data) + return await get_error_img(talent_data) else: char_name = talent_data['name'] path = WIKI_COST_CHAR_PATH / f'{char_name}.jpg' diff --git a/GenshinUID/genshinuid_wikitext/get_foods_pic.py b/GenshinUID/genshinuid_wikitext/get_foods_pic.py index 70368e0f..0e80d760 100644 --- a/GenshinUID/genshinuid_wikitext/get_foods_pic.py +++ b/GenshinUID/genshinuid_wikitext/get_foods_pic.py @@ -2,8 +2,8 @@ from typing import List, Union import aiofiles from PIL import Image, ImageDraw -from gsuid_core.utils.error_reply import get_error from gsuid_core.utils.api.minigg.models import Food +from gsuid_core.utils.error_reply import get_error_img from gsuid_core.utils.api.minigg.request import get_others_info from .path import TEXT_PATH @@ -27,9 +27,9 @@ from ..utils.fonts.genshin_fonts import ( async def get_foods_wiki_img(name: str) -> Union[str, bytes]: data = await get_others_info('foods', name) if isinstance(data, int): - return get_error(data) + return await get_error_img(data) elif isinstance(data, List): - return get_error(-400) + return await get_error_img(-400) else: food_name = data['name'] path = WIKI_FOOD_PATH / f'{food_name}.jpg' diff --git a/GenshinUID/genshinuid_wikitext/get_weapons_pic.py b/GenshinUID/genshinuid_wikitext/get_weapons_pic.py index 9680b6e2..2664e3e3 100644 --- a/GenshinUID/genshinuid_wikitext/get_weapons_pic.py +++ b/GenshinUID/genshinuid_wikitext/get_weapons_pic.py @@ -3,7 +3,7 @@ from typing import Dict, List, Union import aiofiles from PIL import Image, ImageDraw -from gsuid_core.utils.error_reply import get_error +from gsuid_core.utils.error_reply import get_error_img from gsuid_core.utils.api.minigg.models import Weapon, WeaponStats from gsuid_core.utils.api.minigg.request import ( get_others_info, @@ -33,9 +33,9 @@ from ..utils.fonts.genshin_fonts import ( async def get_weapons_wiki_img(name: str) -> Union[str, bytes]: data = await get_weapon_info(name) if isinstance(data, int): - return get_error(data) + return await get_error_img(data) elif isinstance(data, List): - return get_error(-400) + return await get_error_img(-400) else: if int(data['rarity']) < 3: stats = await get_weapon_stats(name, 70) @@ -43,9 +43,9 @@ async def get_weapons_wiki_img(name: str) -> Union[str, bytes]: stats = await get_weapon_stats(name, 90) if isinstance(stats, int): - return get_error(stats) + return await get_error_img(stats) elif isinstance(stats, List): - return get_error(-400) + return await get_error_img(-400) else: weapon_name = data['name'] path = WIKI_WEAPON_PATH / f'{weapon_name}.jpg'