mirror of
https://github.com/zhenxun-org/zhenxun_bot.git
synced 2026-09-29 08:39:59 +08:00
update genshin
This commit is contained in:
@@ -120,7 +120,7 @@ async def _(bot: Bot, event: MessageEvent, state: T_State):
|
||||
if msg.find('1井') != -1 or msg.find('一井') != -1:
|
||||
num = 200
|
||||
if msg.find("卡") == -1:
|
||||
pool_name = 'horse'
|
||||
pool_name = 'char'
|
||||
else:
|
||||
pool_name = 'card'
|
||||
else:
|
||||
@@ -131,7 +131,7 @@ async def _(bot: Bot, event: MessageEvent, state: T_State):
|
||||
num = num[1:]
|
||||
pool_name = 'card'
|
||||
else:
|
||||
pool_name = 'horse'
|
||||
pool_name = 'char'
|
||||
num, flag = check_num(num, 200)
|
||||
if not flag:
|
||||
await pretty.finish(num, at_sender=True)
|
||||
|
||||
@@ -36,12 +36,15 @@ def is_expired(data: dict):
|
||||
# 检查写入
|
||||
def check_write(data: dict, up_char_file, game_name: str = ''):
|
||||
tmp = data
|
||||
if game_name == 'genshin':
|
||||
if game_name in ['genshin', 'pretty']:
|
||||
tmp = data['char']
|
||||
if not is_expired(tmp):
|
||||
if game_name == 'genshin':
|
||||
if game_name in ['genshin']:
|
||||
data['char']['title'] = ''
|
||||
data['arms']['title'] = ''
|
||||
elif game_name in ['pretty']:
|
||||
data['char']['title'] = ''
|
||||
data['card']['title'] = ''
|
||||
else:
|
||||
data['title'] = ''
|
||||
else:
|
||||
@@ -54,7 +57,7 @@ def check_write(data: dict, up_char_file, game_name: str = ''):
|
||||
with open(up_char_file, 'r', encoding='utf8') as f:
|
||||
old_data = json.load(f)
|
||||
tmp = old_data
|
||||
if game_name == 'genshin':
|
||||
if game_name in ['genshin', 'pretty']:
|
||||
tmp = old_data['char']
|
||||
if is_expired(tmp):
|
||||
return old_data
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import asyncio
|
||||
import nonebot
|
||||
import os
|
||||
from services.log import logger
|
||||
from .pcr_handle import update_pcr_info, init_pcr_data
|
||||
from .azur_handle import update_azur_info, init_azur_data
|
||||
from .prts_handle import update_prts_info, init_prts_data
|
||||
@@ -55,9 +56,13 @@ async def async_update_game():
|
||||
tasks.append(asyncio.ensure_future(update_onmyoji_info()))
|
||||
init_lst.remove(init_onmyoji_data)
|
||||
|
||||
await asyncio.gather(*tasks)
|
||||
for func in init_lst:
|
||||
await func()
|
||||
try:
|
||||
await asyncio.gather(*tasks)
|
||||
for func in init_lst:
|
||||
await func()
|
||||
except asyncio.exceptions.CancelledError:
|
||||
logger.info('更新异常:CancelledError,再次更新...')
|
||||
await async_update_game()
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -10,6 +10,7 @@ from dataclasses import dataclass
|
||||
from .init_card_pool import init_game_pool
|
||||
from util.init_result import image
|
||||
from configs.path_config import IMAGE_PATH
|
||||
from services.log import logger
|
||||
|
||||
try:
|
||||
import ujson as json
|
||||
@@ -89,6 +90,7 @@ async def update_pretty_info():
|
||||
data, code = await update_info(url, 'pretty_card')
|
||||
if code == 200:
|
||||
ALL_CARD = init_game_pool('pretty_card', data, PrettyChar)
|
||||
await _init_up_char()
|
||||
|
||||
|
||||
async def init_pretty_data():
|
||||
@@ -100,6 +102,7 @@ async def init_pretty_data():
|
||||
pretty_card_dict = json.load(f)
|
||||
ALL_CHAR = init_game_pool('pretty', pretty_char_dict, PrettyChar)
|
||||
ALL_CARD = init_game_pool('pretty_card', pretty_card_dict, PrettyChar)
|
||||
await _init_up_char()
|
||||
|
||||
|
||||
# 抽取卡池
|
||||
@@ -149,7 +152,7 @@ async def _init_up_char():
|
||||
os.remove(IMAGE_PATH + '/draw_card/pretty/up_char_pool_img.png')
|
||||
if os.path.exists(IMAGE_PATH + '/draw_card/genshin/up_arms_pool_img.png'):
|
||||
os.remove(IMAGE_PATH + '/draw_card/pretty/up_card_pool_img.png')
|
||||
print(f'成功获取赛马娘当前up信息...当前up池: {_CURRENT_CHAR_POOL_TITLE} & {_CURRENT_CARD_POOL_TITLE}')
|
||||
logger.info(f'成功获取赛马娘当前up信息...当前up池: {_CURRENT_CHAR_POOL_TITLE} & {_CURRENT_CARD_POOL_TITLE}')
|
||||
for key in up_char_dict.keys():
|
||||
for star in up_char_dict[key]['up_char'].keys():
|
||||
up_lst = []
|
||||
|
||||
Reference in New Issue
Block a user