1212 PrivateCookie ,
1313)
1414from LittlePaimon .utils import scheduler
15- from LittlePaimon .utils .api import DAILY_NOTE_API , get_mihoyo_private_data
15+ from LittlePaimon .utils .api import DAILY_NOTE_API , get_cookie , get_mihoyo_private_data , mihoyo_headers
1616from LittlePaimon .utils .requests import aiorequests
1717from nonebot import get_bot
1818from nonebot .adapters .onebot .v11 import Message
1919from nonebot .params import CommandArg , Depends
2020
21- from ..captcha .captcha import get_pass_challenge , mihoyo_headers
21+ from ..captcha .captcha import get_pass_challenge
2222from ..config .config import config
2323from ..draw .ssbq_draw import draw_daily_note_card
2424from ..utils .logger import Logger
@@ -55,9 +55,20 @@ async def get_subs(**kwargs) -> str:
5555
5656async def handle_ssbq (player : Player , sign_allow : bool ):
5757 await LastQuery .update_last_query (player .user_id , player .uid )
58- data = await get_mihoyo_private_data (
59- player .uid , player .user_id , "daily_note"
58+ server_id = "cn_qd01" if player .uid [0 ] == "5" else "cn_gf01"
59+ cookie_info = await get_cookie (player .user_id , player .uid , True , True )
60+ headers = mihoyo_headers (
61+ cookie = cookie_info .cookie ,
62+ q = f"role_id={ player .uid } &server={ server_id } " ,
6063 )
64+ headers ["x-rpc-device_id" ] = "3cf4ac6c-aeef-4e53-8f51-7d623b01d64d"
65+ headers ["x-rpc-device_fp" ] = "38d7f1d1d0fff"
66+ data = await aiorequests .get (
67+ url = DAILY_NOTE_API ,
68+ headers = headers ,
69+ params = {"server" : server_id , "role_id" : player .uid },
70+ )
71+ data = data .json ()
6172 if isinstance (data , str ):
6273 Logger .info (
6374 "原神实时便签" ,
@@ -67,10 +78,8 @@ async def handle_ssbq(player: Player, sign_allow: bool):
6778 False ,
6879 )
6980 return f"{ player .uid } { data } \n "
70- elif data ["retcode" ] in (1034 , 5003 ):
71- if (
72- config .rrocr_key or config .third_api or config .ttocr_key
73- ) and sign_allow :
81+ elif data ["retcode" ] == 1034 :
82+ if (config .rrocr_key or config .third_api or config .ttocr_key ) and sign_allow :
7483 Logger .info (
7584 "原神实时便签" ,
7685 "➤➤" ,
@@ -131,13 +140,14 @@ async def handle_ssbq(player: Player, sign_allow: bool):
131140 return f'{ player .uid } 获取数据失败,msg为{ data ["message" ]} \n '
132141 else :
133142 Logger .info (
134- "原神实时便签" , "➤➤" , {"用户" : player .user_id , "UID" : player .uid }, "获取数据成功"
143+ "原神实时便签" ,
144+ "➤➤" ,
145+ {"用户" : player .user_id , "UID" : player .uid },
146+ "获取数据成功" ,
135147 )
136148
137149 try :
138- img = await draw_daily_note_card (
139- data ["data" ], player .uid , player .user_id
140- )
150+ img = await draw_daily_note_card (data ["data" ], player .uid , player .user_id )
141151 Logger .info (
142152 "原神实时便签" ,
143153 "➤➤" ,
@@ -156,9 +166,7 @@ async def handle_ssbq(player: Player, sign_allow: bool):
156166 return f"{ player .uid } 绘制图片失败,{ e } \n "
157167
158168
159- @scheduler .scheduled_job (
160- "cron" , minute = f"*/{ config .ssbq_check } " , misfire_grace_time = 10
161- )
169+ @scheduler .scheduled_job ("cron" , minute = f"*/{ config .ssbq_check } " , misfire_grace_time = 10 )
162170async def check_note ():
163171 if not config .ssbq_enable :
164172 return
0 commit comments