mirror of
https://github.com/KimigaiiWuyi/GenshinUID.git
synced 2025-05-09 05:25:53 +08:00
🎨 优化体力推送提醒文案 (#637)
This commit is contained in:
parent
4447ab841f
commit
f1037c45fd
@ -10,9 +10,9 @@ from gsuid_core.segment import MessageSegment
|
|||||||
from gsuid_core.utils.error_reply import UID_HINT
|
from gsuid_core.utils.error_reply import UID_HINT
|
||||||
|
|
||||||
from ..utils.convert import get_uid
|
from ..utils.convert import get_uid
|
||||||
from .notice import get_notice_list
|
|
||||||
from .resin_text import get_resin_text
|
from .resin_text import get_resin_text
|
||||||
from .draw_resin_card import get_resin_img
|
from .draw_resin_card import get_resin_img
|
||||||
|
from .notice import MR_NOTICE, get_notice_list
|
||||||
from ..genshinuid_config.gs_config import gsconfig
|
from ..genshinuid_config.gs_config import gsconfig
|
||||||
|
|
||||||
sv_get_resin = SV('查询体力')
|
sv_get_resin = SV('查询体力')
|
||||||
@ -51,9 +51,10 @@ async def notice_job():
|
|||||||
for BOT_ID in gss.active_bot:
|
for BOT_ID in gss.active_bot:
|
||||||
bot = gss.active_bot[BOT_ID]
|
bot = gss.active_bot[BOT_ID]
|
||||||
for user_id in result[bot_id]['direct']:
|
for user_id in result[bot_id]['direct']:
|
||||||
msg = result[bot_id]['direct'][user_id]
|
msg_list = [result[bot_id]['direct'][user_id]]
|
||||||
|
msg_list.append(MessageSegment.text)
|
||||||
await bot.target_send(
|
await bot.target_send(
|
||||||
msg, 'direct', user_id, bot_id, '', ''
|
msg_list, 'direct', user_id, bot_id, '', ''
|
||||||
)
|
)
|
||||||
await asyncio.sleep(0.5)
|
await asyncio.sleep(0.5)
|
||||||
logger.info('[推送检查] 私聊推送完成')
|
logger.info('[推送检查] 私聊推送完成')
|
||||||
@ -63,6 +64,7 @@ async def notice_job():
|
|||||||
msg_list.append(MessageSegment.at(user_id))
|
msg_list.append(MessageSegment.at(user_id))
|
||||||
msg = result[bot_id]['group'][gid][user_id]
|
msg = result[bot_id]['group'][gid][user_id]
|
||||||
msg_list.append(MessageSegment.text(msg))
|
msg_list.append(MessageSegment.text(msg))
|
||||||
|
msg_list.append(MessageSegment.text(MR_NOTICE))
|
||||||
await bot.target_send(
|
await bot.target_send(
|
||||||
msg_list, 'group', gid, bot_id, '', ''
|
msg_list, 'group', gid, bot_id, '', ''
|
||||||
)
|
)
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
from typing import Dict, List
|
from typing import Dict, List, Union
|
||||||
|
|
||||||
from gsuid_core.gss import gss
|
from gsuid_core.gss import gss
|
||||||
from gsuid_core.logger import logger
|
from gsuid_core.logger import logger
|
||||||
@ -8,13 +8,13 @@ from gsuid_core.utils.database.models import GsPush, GsUser
|
|||||||
from ..utils.mys_api import mys_api
|
from ..utils.mys_api import mys_api
|
||||||
from ..genshinuid_config.gs_config import gsconfig
|
from ..genshinuid_config.gs_config import gsconfig
|
||||||
|
|
||||||
MR_NOTICE = '\n可发送[mr]或者[每日]来查看更多信息!\n'
|
MR_NOTICE = '\n✅可发送[mr]或者[每日]来查看更多信息!\n'
|
||||||
|
|
||||||
NOTICE = {
|
NOTICE = {
|
||||||
'coin': f'你的洞天宝钱快满啦!{MR_NOTICE}',
|
'coin': '你的洞天宝钱快满啦!',
|
||||||
'resin': f'你的树脂/体力快满啦!{MR_NOTICE}',
|
'resin': '你的树脂/体力快满啦!',
|
||||||
'go': f'你有派遣信息即将可收取!{MR_NOTICE}',
|
'go': '你有派遣奖励即将可领取!',
|
||||||
'transform': f'你的质变仪即将可使用!{MR_NOTICE}',
|
'transform': '你的质变仪即将可使用!',
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -64,11 +64,15 @@ async def all_check(
|
|||||||
)
|
)
|
||||||
continue
|
continue
|
||||||
# 准备推送
|
# 准备推送
|
||||||
if await check(mode, raw_data, push_data[f'{mode}_value']):
|
_check = await check(mode, raw_data, push_data[f'{mode}_value'])
|
||||||
|
if _check:
|
||||||
if push_data[f'{mode}_push'] == 'off':
|
if push_data[f'{mode}_push'] == 'off':
|
||||||
pass
|
pass
|
||||||
# on 推送到私聊
|
# on 推送到私聊
|
||||||
else:
|
else:
|
||||||
|
notice = NOTICE[mode]
|
||||||
|
if isinstance(_check, int):
|
||||||
|
notice += f'(当前值: {_check})'
|
||||||
# 初始化
|
# 初始化
|
||||||
if bot_id not in msg_dict:
|
if bot_id not in msg_dict:
|
||||||
msg_dict[bot_id] = {'direct': {}, 'group': {}}
|
msg_dict[bot_id] = {'direct': {}, 'group': {}}
|
||||||
@ -76,9 +80,9 @@ async def all_check(
|
|||||||
if push_data[f'{mode}_push'] == 'on':
|
if push_data[f'{mode}_push'] == 'on':
|
||||||
# 添加私聊信息
|
# 添加私聊信息
|
||||||
if user_id not in msg_dict[bot_id]['direct']:
|
if user_id not in msg_dict[bot_id]['direct']:
|
||||||
msg_dict[bot_id]['direct'][user_id] = NOTICE[mode]
|
msg_dict[bot_id]['direct'][user_id] = notice
|
||||||
else:
|
else:
|
||||||
msg_dict[bot_id]['direct'][user_id] += NOTICE[mode]
|
msg_dict[bot_id]['direct'][user_id] += notice
|
||||||
await GsPush.update_data_by_uid(
|
await GsPush.update_data_by_uid(
|
||||||
uid, bot_id, None, **{f'{mode}_is_push': 'on'}
|
uid, bot_id, None, **{f'{mode}_is_push': 'on'}
|
||||||
)
|
)
|
||||||
@ -90,28 +94,30 @@ async def all_check(
|
|||||||
msg_dict[bot_id]['group'][gid] = {}
|
msg_dict[bot_id]['group'][gid] = {}
|
||||||
|
|
||||||
if user_id not in msg_dict[bot_id]['group'][gid]:
|
if user_id not in msg_dict[bot_id]['group'][gid]:
|
||||||
msg_dict[bot_id]['group'][gid][user_id] = NOTICE[mode]
|
msg_dict[bot_id]['group'][gid][user_id] = notice
|
||||||
else:
|
else:
|
||||||
msg_dict[bot_id]['group'][gid][user_id] += NOTICE[mode]
|
msg_dict[bot_id]['group'][gid][user_id] += notice
|
||||||
await GsPush.update_data_by_uid(
|
await GsPush.update_data_by_uid(
|
||||||
uid, bot_id, None, **{f'{mode}_is_push': 'on'}
|
uid, bot_id, None, **{f'{mode}_is_push': 'on'}
|
||||||
)
|
)
|
||||||
return msg_dict
|
return msg_dict
|
||||||
|
|
||||||
|
|
||||||
async def check(mode: str, data: DailyNoteData, limit: int) -> bool:
|
async def check(
|
||||||
|
mode: str, data: DailyNoteData, limit: int
|
||||||
|
) -> Union[bool, int]:
|
||||||
if mode == 'coin':
|
if mode == 'coin':
|
||||||
if data['current_home_coin'] >= limit:
|
if data['current_home_coin'] >= limit:
|
||||||
return True
|
return data['current_home_coin']
|
||||||
elif data['current_home_coin'] >= data['max_home_coin']:
|
elif data['current_home_coin'] >= data['max_home_coin']:
|
||||||
return True
|
return data['current_home_coin']
|
||||||
else:
|
else:
|
||||||
return False
|
return False
|
||||||
if mode == 'resin':
|
if mode == 'resin':
|
||||||
if data['current_resin'] >= limit:
|
if data['current_resin'] >= limit:
|
||||||
return True
|
return data['current_resin']
|
||||||
elif data['current_resin'] >= data['max_resin']:
|
elif data['current_resin'] >= data['max_resin']:
|
||||||
return True
|
return data['current_resin']
|
||||||
else:
|
else:
|
||||||
return False
|
return False
|
||||||
if mode == 'go':
|
if mode == 'go':
|
||||||
@ -130,3 +136,4 @@ async def check(mode: str, data: DailyNoteData, limit: int) -> bool:
|
|||||||
return True
|
return True
|
||||||
return False
|
return False
|
||||||
return False
|
return False
|
||||||
|
return False
|
||||||
|
@ -55,10 +55,10 @@ async def get_resin_text(uid: str) -> Union[str, bytes]:
|
|||||||
for expedition in dailydata['expeditions']:
|
for expedition in dailydata['expeditions']:
|
||||||
avatar: str = expedition['avatar_side_icon'][89:-4]
|
avatar: str = expedition['avatar_side_icon'][89:-4]
|
||||||
try:
|
try:
|
||||||
avatar_name: str = await enName_to_avatarId(avatar)
|
_avatar_name: str = await enName_to_avatarId(avatar)
|
||||||
avatar_name: str = await avatar_id_to_name(avatar_name)
|
avatar_name = await avatar_id_to_name(_avatar_name)
|
||||||
except KeyError:
|
except KeyError:
|
||||||
avatar_name: str = avatar
|
avatar_name = avatar
|
||||||
|
|
||||||
if expedition['status'] == 'Finished':
|
if expedition['status'] == 'Finished':
|
||||||
expedition_info.append(f'{avatar_name} 探索完成')
|
expedition_info.append(f'{avatar_name} 探索完成')
|
||||||
|
Loading…
x
Reference in New Issue
Block a user