diff --git a/GenshinUID/genshinuid_map/draw_genshinmap_card.py b/GenshinUID/genshinuid_map/draw_genshinmap_card.py index 3bd45896..38f7bd0a 100644 --- a/GenshinUID/genshinuid_map/draw_genshinmap_card.py +++ b/GenshinUID/genshinuid_map/draw_genshinmap_card.py @@ -15,7 +15,7 @@ async def draw_genshin_map( try: raw_data = await get_map_data(resource_name, map_id) except MiniggNotFoundError: - return f'未在{map_name}找到{resource_name}...' + return f'未在{map_name}找到所需资源...' with open(MAP_DATA / f'{map_name}_{resource_name}.jpg', 'wb') as f: f.write(raw_data) # 保存到文件夹中 return raw_data diff --git a/GenshinUID/genshinuid_resin/__init__.py b/GenshinUID/genshinuid_resin/__init__.py index 4e795d3f..390f9f1c 100644 --- a/GenshinUID/genshinuid_resin/__init__.py +++ b/GenshinUID/genshinuid_resin/__init__.py @@ -15,6 +15,7 @@ from ..utils.error_reply import UID_HINT from .draw_resin_card import get_resin_img sv_get_resin = SV('查询体力') +sv_get_resin_admin = SV('强制推送', pm=1) @sv_get_resin.on_fullmatch(('当前状态')) @@ -29,12 +30,19 @@ async def send_daily_info(bot: Bot, ev: Event): await bot.send(im) +@sv_get_resin_admin.on_fullmatch(('强制推送体力提醒')) +async def force_notice_job(bot: Bot, ev: Event): + await bot.logger.info('开始执行[强制推送体力信息]') + await notice_job() + + @scheduler.scheduled_job('cron', minute='*/30') async def notice_job(): result = await get_notice_list() logger.info('[推送检查]完成!等待消息推送中...') - # 执行私聊推送 + logger.debug(result) + # 执行私聊推送 for bot_id in result: for BOT_ID in gss.active_bot: bot = gss.active_bot[BOT_ID] diff --git a/GenshinUID/genshinuid_resin/notice.py b/GenshinUID/genshinuid_resin/notice.py index 39a66261..c8813676 100644 --- a/GenshinUID/genshinuid_resin/notice.py +++ b/GenshinUID/genshinuid_resin/notice.py @@ -30,7 +30,7 @@ async def get_notice_list() -> Dict[str, Dict[str, Dict]]: continue push_data = await sqla.select_push_data(user.uid) msg_dict = await all_check( - bot_id, + user.bot_id, raw_data, push_data.__dict__, msg_dict, @@ -78,16 +78,14 @@ async def all_check( # 群号推送到群聊 else: # 初始化 - gid = f'{mode}_push' - if push_data[gid] not in msg_dict[bot_id]['group']: - msg_dict[bot_id]['direct'][gid] = {} + gid = push_data[f'{mode}_push'] + if gid not in msg_dict[bot_id]['group']: + msg_dict[bot_id]['group'][gid] = {} - if user_id not in msg_dict[bot_id]['direct'][gid]: - msg_dict[bot_id]['direct'][gid][user_id] = NOTICE[mode] + if user_id not in msg_dict[bot_id]['group'][gid]: + msg_dict[bot_id]['group'][gid][user_id] = NOTICE[mode] else: - msg_dict[bot_id]['direct'][gid][user_id] += NOTICE[ - mode - ] + msg_dict[bot_id]['group'][gid][user_id] += NOTICE[mode] await sqla.update_push_data(uid, {f'{mode}_is_push': 'on'}) return msg_dict diff --git a/GenshinUID/genshinuid_start/__init__.py b/GenshinUID/genshinuid_start/__init__.py index b5665d54..d7317f3e 100644 --- a/GenshinUID/genshinuid_start/__init__.py +++ b/GenshinUID/genshinuid_start/__init__.py @@ -12,10 +12,10 @@ from ..utils.resource.generate_char_card import create_all_char_card async def all_start(): try: + await draw_help_img() await startup() await create_all_char_card() await draw_xk_abyss_img() - await draw_help_img() await generate_data() except Exception as e: logger.exception(e)