🎨 适配新版core的图片报错

This commit is contained in:
Wuyi无疑 2023-06-17 21:58:17 +08:00
parent f7db757220
commit 65a52123f2
16 changed files with 65 additions and 58 deletions

View File

@ -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:

View File

@ -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 = (

View File

@ -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]

View File

@ -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}还没有开启七圣召唤玩法 或 未去米游社激活数据!'

View File

@ -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']

View File

@ -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']

View File

@ -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:

View File

@ -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']

View File

@ -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):

View File

@ -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']
# 转换为日期

View File

@ -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)

View File

@ -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'

View File

@ -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'

View File

@ -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'

View File

@ -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'

View File

@ -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'