mirror of
https://github.com/baiqwerdvd/StarRailUID.git
synced 2025-05-07 12:43:25 +08:00
修改srmrbug (#26)
* 修改srmrbug
* 修改srmrbug
* 修改srmrbug
* 修改月历上月数据画图
* 🚨 `pre-commit-ci`修复格式错误
* 修改bug
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
This commit is contained in:
parent
bec0f16fdd
commit
8fd1216652
@ -1,268 +1,276 @@
|
||||
import json
|
||||
from pathlib import Path
|
||||
from typing import Union
|
||||
from datetime import datetime
|
||||
|
||||
from PIL import Image, ImageDraw
|
||||
from gsuid_core.logger import logger
|
||||
|
||||
from ..utils.mys_api import mys_api
|
||||
from ..utils.error_reply import get_error
|
||||
from ..utils.image.convert import convert_img
|
||||
from ..utils.resource.RESOURCE_PATH import PLAYER_PATH
|
||||
from ..utils.fonts.starrail_fonts import sr_font_20, sr_font_28, sr_font_34
|
||||
|
||||
TEXT_PATH = Path(__file__).parent / 'texture2d'
|
||||
|
||||
monthly_bg = Image.open(TEXT_PATH / 'monthly_bg.png')
|
||||
avatar_default = Image.open(TEXT_PATH / '200101.png')
|
||||
|
||||
first_color = (29, 29, 29)
|
||||
second_color = (67, 61, 56)
|
||||
second_color2 = (98, 98, 98)
|
||||
black_color = (54, 54, 54)
|
||||
white_color = (213, 213, 213)
|
||||
|
||||
COLOR_MAP = {
|
||||
'每日活跃': (248, 227, 157),
|
||||
'活动奖励': (99, 231, 176),
|
||||
'冒险奖励': (114, 205, 251),
|
||||
'模拟宇宙奖励': (160, 149, 248),
|
||||
'忘却之庭奖励': (221, 119, 250),
|
||||
'邮件奖励': (244, 110, 104),
|
||||
'其他': (255, 242, 200),
|
||||
'Daily Activity': (248, 227, 157),
|
||||
'Events': (99, 231, 176),
|
||||
'Adventure': (114, 205, 251),
|
||||
'moni': (160, 149, 248),
|
||||
'Spiral Abyss': (221, 119, 250),
|
||||
'Quests': (244, 110, 104),
|
||||
'Other': (255, 242, 200),
|
||||
}
|
||||
|
||||
|
||||
async def draw_note_img(sr_uid: str) -> Union[bytes, str]:
|
||||
path = PLAYER_PATH / str(sr_uid)
|
||||
if not path.exists():
|
||||
path.mkdir(parents=True, exist_ok=True)
|
||||
|
||||
# 获取当前时间
|
||||
now = datetime.now()
|
||||
current_year_mon = now.strftime('%Y-%m')
|
||||
|
||||
# 获取数据
|
||||
data = await mys_api.get_award(sr_uid)
|
||||
if isinstance(data, int):
|
||||
return get_error(data)
|
||||
|
||||
# 保存数据
|
||||
with open(
|
||||
path / f'monthly_{current_year_mon}.json', 'w', encoding='utf-8'
|
||||
) as f:
|
||||
save_data = json.dumps(
|
||||
{
|
||||
'data_time': now.strftime('%Y-%m-%d %H:%M:%S'),
|
||||
'data': data,
|
||||
},
|
||||
ensure_ascii=False,
|
||||
)
|
||||
f.write(save_data)
|
||||
|
||||
# 获取上月数据
|
||||
last_month = now.month - 1
|
||||
last_year = now.year
|
||||
if last_month == 0:
|
||||
last_month = 12
|
||||
last_year -= 1
|
||||
last_year_mon = f'{last_year}-{last_month:02d}'
|
||||
last_monthly_path = path / f'monthly_{last_year_mon}.json'
|
||||
if last_monthly_path.exists():
|
||||
with open(last_monthly_path, 'r', encoding='utf-8') as f:
|
||||
last_monthly_data = json.load(f)
|
||||
else:
|
||||
last_monthly_data = None
|
||||
|
||||
# nickname and level
|
||||
role_basic_info = await mys_api.get_role_basic_info(sr_uid)
|
||||
if isinstance(role_basic_info, int):
|
||||
return get_error(role_basic_info)
|
||||
nickname = role_basic_info['nickname']
|
||||
|
||||
day_hcoin = data['day_data']['current_hcoin']
|
||||
day_rails_pass = data['day_data']['current_rails_pass']
|
||||
lastday_hcoin = 0
|
||||
lastday_rails_pass = 0
|
||||
if int(sr_uid[0]) < 6:
|
||||
lastday_hcoin = data['day_data']['last_hcoin']
|
||||
lastday_rails_pass = data['day_data']['last_rails_pass']
|
||||
month_hcoin = data['month_data']['current_hcoin']
|
||||
month_rails_pass = data['month_data']['current_rails_pass']
|
||||
lastmonth_hcoin = data['month_data']['last_hcoin']
|
||||
lastmonth_rails_pass = data['month_data']['last_rails_pass']
|
||||
|
||||
day_hcoin_str = await int_carry(day_hcoin)
|
||||
day_rails_pass_str = await int_carry(day_rails_pass)
|
||||
month_hcoin_str = await int_carry(month_hcoin)
|
||||
month_rails_pass_str = await int_carry(month_rails_pass)
|
||||
lastday_hcoin_str = await int_carry(lastday_hcoin)
|
||||
lastday_rails_pass_str = await int_carry(lastday_rails_pass)
|
||||
lastmonth_hcoin_str = await int_carry(lastmonth_hcoin)
|
||||
lastmonth_rails_pass_str = await int_carry(lastmonth_rails_pass)
|
||||
|
||||
img = monthly_bg.copy()
|
||||
avatar_img = avatar_default.copy()
|
||||
char_pic = avatar_img.convert('RGBA').resize(
|
||||
(125, 125), Image.Resampling.LANCZOS # type: ignore
|
||||
)
|
||||
img.paste(char_pic, (115, 133), char_pic)
|
||||
img_draw = ImageDraw.Draw(img)
|
||||
|
||||
# 写Nickname
|
||||
img_draw.text(
|
||||
(310, 184), nickname, font=sr_font_34, fill=first_color, anchor='lm'
|
||||
)
|
||||
|
||||
# 写UID
|
||||
img_draw.text(
|
||||
(267, 219),
|
||||
f'UID {sr_uid}',
|
||||
font=sr_font_20,
|
||||
fill=second_color2,
|
||||
anchor='lm',
|
||||
)
|
||||
|
||||
# 写本日星琼
|
||||
img_draw.text(
|
||||
(283, 326),
|
||||
day_hcoin_str,
|
||||
font=sr_font_28,
|
||||
fill=white_color,
|
||||
anchor='lm',
|
||||
)
|
||||
|
||||
# 写本月星琼
|
||||
img_draw.text(
|
||||
(513, 326),
|
||||
month_hcoin_str,
|
||||
font=sr_font_28,
|
||||
fill=white_color,
|
||||
anchor='lm',
|
||||
)
|
||||
|
||||
# 写昨日星琼
|
||||
img_draw.text(
|
||||
(283, 366),
|
||||
lastday_hcoin_str,
|
||||
font=sr_font_28,
|
||||
fill=black_color,
|
||||
anchor='lm',
|
||||
)
|
||||
|
||||
# 写上月星琼
|
||||
img_draw.text(
|
||||
(513, 366),
|
||||
lastmonth_hcoin_str,
|
||||
font=sr_font_28,
|
||||
fill=black_color,
|
||||
anchor='lm',
|
||||
)
|
||||
|
||||
# 写本日铁票
|
||||
img_draw.text(
|
||||
(283, 431),
|
||||
day_rails_pass_str,
|
||||
font=sr_font_28,
|
||||
fill=white_color,
|
||||
anchor='lm',
|
||||
)
|
||||
|
||||
# 写本月铁票
|
||||
img_draw.text(
|
||||
(513, 431),
|
||||
month_rails_pass_str,
|
||||
font=sr_font_28,
|
||||
fill=white_color,
|
||||
anchor='lm',
|
||||
)
|
||||
|
||||
# 写昨日铁票
|
||||
img_draw.text(
|
||||
(283, 473),
|
||||
lastday_rails_pass_str,
|
||||
font=sr_font_28,
|
||||
fill=black_color,
|
||||
anchor='lm',
|
||||
)
|
||||
|
||||
# 写上月铁票
|
||||
img_draw.text(
|
||||
(513, 473),
|
||||
lastmonth_rails_pass_str,
|
||||
font=sr_font_28,
|
||||
fill=black_color,
|
||||
anchor='lm',
|
||||
)
|
||||
xy = ((0, 0), (2100, 2100))
|
||||
temp = -90
|
||||
if not data['month_data']['group_by']:
|
||||
pie_image = Image.new("RGBA", (2100, 2100), color=(255, 255, 255, 0))
|
||||
pie_image_draw = ImageDraw.Draw(pie_image)
|
||||
pie_image_draw.ellipse(xy, fill=(128, 128, 128))
|
||||
else:
|
||||
pie_image = Image.new("RGBA", (2100, 2100), color=(255, 255, 255, 0))
|
||||
pie_image_draw = ImageDraw.Draw(pie_image)
|
||||
for index, i in enumerate(data['month_data']['group_by']):
|
||||
pie_image_draw.pieslice(
|
||||
xy,
|
||||
temp,
|
||||
temp + (i['percent'] / 100) * 360,
|
||||
COLOR_MAP[i['action_name']],
|
||||
)
|
||||
temp = temp + (i['percent'] / 100) * 360
|
||||
# 绘制蒙版圆形
|
||||
new_image = Image.new("RGBA", (2100, 2100), color=(255, 255, 255, 0))
|
||||
pie_image_draw.ellipse((150, 150, 1950, 1950), fill=(255, 255, 255, 0))
|
||||
|
||||
position = (1050, 1050)
|
||||
pie_image.paste(new_image, position, mask=new_image)
|
||||
result_pie = pie_image.resize((210, 210))
|
||||
img.paste(result_pie, (138, 618), result_pie)
|
||||
|
||||
if last_monthly_data:
|
||||
pie_image = Image.new("RGBA", (2100, 2100), color=(255, 255, 255, 0))
|
||||
pie_image_draw = ImageDraw.Draw(pie_image)
|
||||
for index, i in enumerate(
|
||||
last_monthly_data['data']['month_data']['group_by']
|
||||
):
|
||||
pie_image_draw.pieslice(
|
||||
xy,
|
||||
temp,
|
||||
temp + (i['percent'] / 100) * 360,
|
||||
COLOR_MAP[i['action_name']],
|
||||
)
|
||||
temp = temp + (i['percent'] / 100) * 360
|
||||
else:
|
||||
pie_image = Image.new("RGBA", (2100, 2100), color=(255, 255, 255, 0))
|
||||
pie_image_draw = ImageDraw.Draw(pie_image)
|
||||
pie_image_draw.ellipse(xy, fill=(128, 128, 128))
|
||||
|
||||
# 绘制蒙版圆形
|
||||
new_image = Image.new("RGBA", (2100, 2100), color=(255, 255, 255, 0))
|
||||
pie_image_draw.ellipse((150, 150, 1950, 1950), fill=(255, 255, 255, 0))
|
||||
|
||||
position = (1050, 1050)
|
||||
pie_image.paste(new_image, position, mask=new_image)
|
||||
result_pie = pie_image.resize((210, 210))
|
||||
img.paste(result_pie, (138, 618 + 350), result_pie)
|
||||
|
||||
img = await convert_img(img)
|
||||
logger.info('[开拓月历] 图片绘制完成!等待发送...')
|
||||
return img
|
||||
|
||||
|
||||
async def int_carry(i: int) -> str:
|
||||
if i >= 100000:
|
||||
i_str = '{:.1f}W'.format(i / 10000)
|
||||
else:
|
||||
i_str = str(i)
|
||||
return i_str
|
||||
import json
|
||||
from pathlib import Path
|
||||
from typing import Union
|
||||
from datetime import datetime
|
||||
|
||||
from PIL import Image, ImageDraw
|
||||
from gsuid_core.logger import logger
|
||||
|
||||
from ..utils.mys_api import mys_api
|
||||
from ..utils.error_reply import get_error
|
||||
from ..utils.image.convert import convert_img
|
||||
from ..utils.resource.RESOURCE_PATH import PLAYER_PATH
|
||||
from ..utils.fonts.starrail_fonts import sr_font_20, sr_font_28, sr_font_34
|
||||
|
||||
TEXT_PATH = Path(__file__).parent / 'texture2d'
|
||||
|
||||
monthly_bg = Image.open(TEXT_PATH / 'monthly_bg.png')
|
||||
avatar_default = Image.open(TEXT_PATH / '200101.png')
|
||||
|
||||
first_color = (29, 29, 29)
|
||||
second_color = (67, 61, 56)
|
||||
second_color2 = (98, 98, 98)
|
||||
black_color = (54, 54, 54)
|
||||
white_color = (213, 213, 213)
|
||||
|
||||
COLOR_MAP = {
|
||||
'每日活跃': (248, 227, 157),
|
||||
'活动奖励': (99, 231, 176),
|
||||
'冒险奖励': (114, 205, 251),
|
||||
'模拟宇宙奖励': (160, 149, 248),
|
||||
'忘却之庭奖励': (221, 119, 250),
|
||||
'邮件奖励': (244, 110, 104),
|
||||
'其他': (255, 242, 200),
|
||||
'Daily Activity': (248, 227, 157),
|
||||
'Events': (99, 231, 176),
|
||||
'Adventure': (114, 205, 251),
|
||||
'moni': (160, 149, 248),
|
||||
'Spiral Abyss': (221, 119, 250),
|
||||
'Quests': (244, 110, 104),
|
||||
'Other': (255, 242, 200),
|
||||
}
|
||||
|
||||
|
||||
async def draw_note_img(sr_uid: str) -> Union[bytes, str]:
|
||||
path = PLAYER_PATH / str(sr_uid)
|
||||
if not path.exists():
|
||||
path.mkdir(parents=True, exist_ok=True)
|
||||
|
||||
# 获取当前时间
|
||||
now = datetime.now()
|
||||
current_year_mon = now.strftime('%Y-%m')
|
||||
add_month = ''
|
||||
if int(now.month) < 10:
|
||||
add_month = '0'
|
||||
now_month = str(now.year) + str(add_month) + str(now.month)
|
||||
print(now_month)
|
||||
# 获取数据
|
||||
data = await mys_api.get_award(sr_uid, now_month)
|
||||
if isinstance(data, int):
|
||||
return get_error(data)
|
||||
|
||||
# 保存数据
|
||||
with open(
|
||||
path / f'monthly_{current_year_mon}.json', 'w', encoding='utf-8'
|
||||
) as f:
|
||||
save_data = json.dumps(
|
||||
{
|
||||
'data_time': now.strftime('%Y-%m-%d %H:%M:%S'),
|
||||
'data': data,
|
||||
},
|
||||
ensure_ascii=False,
|
||||
)
|
||||
f.write(save_data)
|
||||
|
||||
# 获取上月数据
|
||||
last_month = now.month - 1
|
||||
last_year = now.year
|
||||
if last_month == 0:
|
||||
last_month = 12
|
||||
last_year -= 1
|
||||
last_year_mon = f'{last_year}-{last_month:02d}'
|
||||
last_monthly_path = path / f'monthly_{last_year_mon}.json'
|
||||
if last_monthly_path.exists():
|
||||
with open(last_monthly_path, 'r', encoding='utf-8') as f:
|
||||
last_monthly_data = json.load(f)
|
||||
last_monthly_data = last_monthly_data['data']
|
||||
else:
|
||||
add_month = ''
|
||||
if int(last_month) < 10:
|
||||
add_month = '0'
|
||||
find_last_month = str(last_year) + str(add_month) + str(last_month)
|
||||
print(find_last_month)
|
||||
last_monthly_data = await mys_api.get_award(sr_uid, find_last_month)
|
||||
|
||||
# nickname and level
|
||||
role_basic_info = await mys_api.get_role_basic_info(sr_uid)
|
||||
if isinstance(role_basic_info, int):
|
||||
return get_error(role_basic_info)
|
||||
nickname = role_basic_info['nickname']
|
||||
|
||||
day_hcoin = data['day_data']['current_hcoin']
|
||||
day_rails_pass = data['day_data']['current_rails_pass']
|
||||
lastday_hcoin = 0
|
||||
lastday_rails_pass = 0
|
||||
if int(sr_uid[0]) < 6:
|
||||
lastday_hcoin = data['day_data']['last_hcoin']
|
||||
lastday_rails_pass = data['day_data']['last_rails_pass']
|
||||
month_hcoin = data['month_data']['current_hcoin']
|
||||
month_rails_pass = data['month_data']['current_rails_pass']
|
||||
lastmonth_hcoin = data['month_data']['last_hcoin']
|
||||
lastmonth_rails_pass = data['month_data']['last_rails_pass']
|
||||
|
||||
day_hcoin_str = await int_carry(day_hcoin)
|
||||
day_rails_pass_str = await int_carry(day_rails_pass)
|
||||
month_hcoin_str = await int_carry(month_hcoin)
|
||||
month_rails_pass_str = await int_carry(month_rails_pass)
|
||||
lastday_hcoin_str = await int_carry(lastday_hcoin)
|
||||
lastday_rails_pass_str = await int_carry(lastday_rails_pass)
|
||||
lastmonth_hcoin_str = await int_carry(lastmonth_hcoin)
|
||||
lastmonth_rails_pass_str = await int_carry(lastmonth_rails_pass)
|
||||
|
||||
img = monthly_bg.copy()
|
||||
avatar_img = avatar_default.copy()
|
||||
char_pic = avatar_img.convert('RGBA').resize(
|
||||
(125, 125), Image.Resampling.LANCZOS # type: ignore
|
||||
)
|
||||
img.paste(char_pic, (115, 133), char_pic)
|
||||
img_draw = ImageDraw.Draw(img)
|
||||
|
||||
# 写Nickname
|
||||
img_draw.text(
|
||||
(310, 184), nickname, font=sr_font_34, fill=first_color, anchor='lm'
|
||||
)
|
||||
|
||||
# 写UID
|
||||
img_draw.text(
|
||||
(267, 219),
|
||||
f'UID {sr_uid}',
|
||||
font=sr_font_20,
|
||||
fill=second_color2,
|
||||
anchor='lm',
|
||||
)
|
||||
|
||||
# 写本日星琼
|
||||
img_draw.text(
|
||||
(283, 326),
|
||||
day_hcoin_str,
|
||||
font=sr_font_28,
|
||||
fill=white_color,
|
||||
anchor='lm',
|
||||
)
|
||||
|
||||
# 写本月星琼
|
||||
img_draw.text(
|
||||
(513, 326),
|
||||
month_hcoin_str,
|
||||
font=sr_font_28,
|
||||
fill=white_color,
|
||||
anchor='lm',
|
||||
)
|
||||
|
||||
# 写昨日星琼
|
||||
img_draw.text(
|
||||
(283, 366),
|
||||
lastday_hcoin_str,
|
||||
font=sr_font_28,
|
||||
fill=black_color,
|
||||
anchor='lm',
|
||||
)
|
||||
|
||||
# 写上月星琼
|
||||
img_draw.text(
|
||||
(513, 366),
|
||||
lastmonth_hcoin_str,
|
||||
font=sr_font_28,
|
||||
fill=black_color,
|
||||
anchor='lm',
|
||||
)
|
||||
|
||||
# 写本日铁票
|
||||
img_draw.text(
|
||||
(283, 431),
|
||||
day_rails_pass_str,
|
||||
font=sr_font_28,
|
||||
fill=white_color,
|
||||
anchor='lm',
|
||||
)
|
||||
|
||||
# 写本月铁票
|
||||
img_draw.text(
|
||||
(513, 431),
|
||||
month_rails_pass_str,
|
||||
font=sr_font_28,
|
||||
fill=white_color,
|
||||
anchor='lm',
|
||||
)
|
||||
|
||||
# 写昨日铁票
|
||||
img_draw.text(
|
||||
(283, 473),
|
||||
lastday_rails_pass_str,
|
||||
font=sr_font_28,
|
||||
fill=black_color,
|
||||
anchor='lm',
|
||||
)
|
||||
|
||||
# 写上月铁票
|
||||
img_draw.text(
|
||||
(513, 473),
|
||||
lastmonth_rails_pass_str,
|
||||
font=sr_font_28,
|
||||
fill=black_color,
|
||||
anchor='lm',
|
||||
)
|
||||
xy = ((0, 0), (2100, 2100))
|
||||
temp = -90
|
||||
if not data['month_data']['group_by']:
|
||||
pie_image = Image.new("RGBA", (2100, 2100), color=(255, 255, 255, 0))
|
||||
pie_image_draw = ImageDraw.Draw(pie_image)
|
||||
pie_image_draw.ellipse(xy, fill=(128, 128, 128))
|
||||
else:
|
||||
pie_image = Image.new("RGBA", (2100, 2100), color=(255, 255, 255, 0))
|
||||
pie_image_draw = ImageDraw.Draw(pie_image)
|
||||
for index, i in enumerate(data['month_data']['group_by']):
|
||||
pie_image_draw.pieslice(
|
||||
xy,
|
||||
temp,
|
||||
temp + (i['percent'] / 100) * 360,
|
||||
COLOR_MAP[i['action_name']],
|
||||
)
|
||||
temp = temp + (i['percent'] / 100) * 360
|
||||
# 绘制蒙版圆形
|
||||
new_image = Image.new("RGBA", (2100, 2100), color=(255, 255, 255, 0))
|
||||
pie_image_draw.ellipse((150, 150, 1950, 1950), fill=(255, 255, 255, 0))
|
||||
|
||||
position = (1050, 1050)
|
||||
pie_image.paste(new_image, position, mask=new_image)
|
||||
result_pie = pie_image.resize((210, 210))
|
||||
img.paste(result_pie, (138, 618), result_pie)
|
||||
|
||||
if last_monthly_data:
|
||||
pie_image = Image.new("RGBA", (2100, 2100), color=(255, 255, 255, 0))
|
||||
pie_image_draw = ImageDraw.Draw(pie_image)
|
||||
for index, i in enumerate(last_monthly_data['month_data']['group_by']):
|
||||
pie_image_draw.pieslice(
|
||||
xy,
|
||||
temp,
|
||||
temp + (i['percent'] / 100) * 360,
|
||||
COLOR_MAP[i['action_name']],
|
||||
)
|
||||
temp = temp + (i['percent'] / 100) * 360
|
||||
else:
|
||||
pie_image = Image.new("RGBA", (2100, 2100), color=(255, 255, 255, 0))
|
||||
pie_image_draw = ImageDraw.Draw(pie_image)
|
||||
pie_image_draw.ellipse(xy, fill=(128, 128, 128))
|
||||
|
||||
# 绘制蒙版圆形
|
||||
new_image = Image.new("RGBA", (2100, 2100), color=(255, 255, 255, 0))
|
||||
pie_image_draw.ellipse((150, 150, 1950, 1950), fill=(255, 255, 255, 0))
|
||||
|
||||
position = (1050, 1050)
|
||||
pie_image.paste(new_image, position, mask=new_image)
|
||||
result_pie = pie_image.resize((210, 210))
|
||||
img.paste(result_pie, (138, 618 + 350), result_pie)
|
||||
|
||||
img = await convert_img(img)
|
||||
logger.info('[开拓月历] 图片绘制完成!等待发送...')
|
||||
return img
|
||||
|
||||
|
||||
async def int_carry(i: int) -> str:
|
||||
if i >= 100000:
|
||||
i_str = '{:.1f}W'.format(i / 10000)
|
||||
else:
|
||||
i_str = str(i)
|
||||
return i_str
|
||||
|
@ -9,7 +9,6 @@ from gsuid_core.logger import logger
|
||||
|
||||
from ..utils.api import get_sqla
|
||||
from ..utils.mys_api import mys_api
|
||||
from ..utils.error_reply import get_error
|
||||
from ..utils.image.convert import convert_img
|
||||
from ..sruid_utils.api.mys.models import Expedition
|
||||
from ..utils.fonts.starrail_fonts import (
|
||||
@ -24,6 +23,7 @@ TEXT_PATH = Path(__file__).parent / 'texture2D'
|
||||
|
||||
note_bg = Image.open(TEXT_PATH / 'note_bg.png')
|
||||
note_travel_bg = Image.open(TEXT_PATH / 'note_travel_bg.png')
|
||||
warn_pic = Image.open(TEXT_PATH / 'warn.png')
|
||||
|
||||
based_w = 700
|
||||
based_h = 1200
|
||||
@ -148,7 +148,24 @@ async def draw_resin_img(sr_uid: str) -> Image.Image:
|
||||
img = note_bg.copy()
|
||||
|
||||
if isinstance(daily_data, int):
|
||||
return get_error(daily_data)
|
||||
img_draw = ImageDraw.Draw(img)
|
||||
img.paste(warn_pic, (0, 0), warn_pic)
|
||||
# 写UID
|
||||
img_draw.text(
|
||||
(250, 553),
|
||||
f'UID{sr_uid}',
|
||||
font=sr_font_26,
|
||||
fill=first_color,
|
||||
anchor='mm',
|
||||
)
|
||||
img_draw.text(
|
||||
(250, 518),
|
||||
f'错误码 {daily_data}',
|
||||
font=sr_font_26,
|
||||
fill=red_color,
|
||||
anchor='mm',
|
||||
)
|
||||
return img
|
||||
|
||||
# nickname and level
|
||||
role_basic_info = await mys_api.get_role_basic_info(sr_uid)
|
||||
|
BIN
StarRailUID/starrailuid_resin/texture2D/warn.png
Normal file
BIN
StarRailUID/starrailuid_resin/texture2D/warn.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 111 KiB |
@ -206,7 +206,7 @@ class MysApi(_MysApi):
|
||||
data = cast(MysSign, data['data'])
|
||||
return data
|
||||
|
||||
async def get_award(self, sr_uid) -> Union[MonthlyAward, int]:
|
||||
async def get_award(self, sr_uid, month) -> Union[MonthlyAward, int]:
|
||||
server_id = RECOGNIZE_SERVER.get(str(sr_uid)[0])
|
||||
ck = await self.get_ck(sr_uid, 'OWNER')
|
||||
if ck is None:
|
||||
@ -220,7 +220,7 @@ class MysApi(_MysApi):
|
||||
url=_API['STAR_RAIL_MONTH_INFO_URL'],
|
||||
method='GET',
|
||||
header=HEADER,
|
||||
params={'uid': sr_uid, 'region': server_id, 'month': ''},
|
||||
params={'uid': sr_uid, 'region': server_id, 'month': month},
|
||||
)
|
||||
else:
|
||||
HEADER = copy.deepcopy(self._HEADER_OS)
|
||||
@ -231,7 +231,7 @@ class MysApi(_MysApi):
|
||||
url=_API['STAR_RAIL_MONTH_INFO_URL'],
|
||||
method='GET',
|
||||
header=HEADER,
|
||||
params={'uid': sr_uid, 'region': server_id, 'month': ''},
|
||||
params={'uid': sr_uid, 'region': server_id, 'month': month},
|
||||
use_proxy=True,
|
||||
)
|
||||
if isinstance(data, Dict):
|
||||
|
Loading…
x
Reference in New Issue
Block a user