22import struct
33import asyncio
44from io import BytesIO
5- from typing import BinaryIO , Callable , Coroutine , List , Optional , Union , overload , Literal
5+ from typing import (
6+ BinaryIO ,
7+ Callable ,
8+ Coroutine ,
9+ List ,
10+ Optional ,
11+ Union ,
12+ overload ,
13+ Literal ,
14+ )
615
716from lagrange .info import AppInfo , DeviceInfo , SigInfo
817from lagrange .pb .message .msg_push import MsgPushBody
5059from .message .encoder import build_message
5160from .message .types import Element
5261from .models import UserInfo
53- from .server_push . binder import PushDeliver
62+ from .server_push import PushDeliver , bind_services
5463from .wtlogin .sso import SSOPacket
5564
5665
@@ -61,14 +70,17 @@ def __init__(
6170 app_info : AppInfo ,
6271 device_info : DeviceInfo ,
6372 sig_info : SigInfo ,
64- sign_provider : Optional [Callable [[str , int , bytes ], Coroutine [None , None , dict ]]] = None ,
73+ sign_provider : Optional [
74+ Callable [[str , int , bytes ], Coroutine [None , None , dict ]]
75+ ] = None ,
6576 use_ipv6 = True ,
6677 ):
6778 super ().__init__ (uin , app_info , device_info , sig_info , sign_provider , use_ipv6 )
6879
6980 self ._events = Events ()
7081 self ._push_deliver = PushDeliver (self )
7182 self ._highway = HighWaySession (self )
83+ bind_services (self ._push_deliver )
7284
7385 @property
7486 def events (self ) -> Events :
@@ -100,7 +112,9 @@ async def easy_login(self) -> bool:
100112 else :
101113 raise AssertionError ("siginfo not found, you must login first" )
102114
103- async def login (self , password : str = "" , qrcode_path : Optional [str ] = None ) -> bool :
115+ async def login (
116+ self , password : str = "" , qrcode_path : Optional [str ] = None
117+ ) -> bool :
104118 try :
105119 if self ._sig .temp_pwd :
106120 rsp = await self .easy_login ()
@@ -235,7 +249,9 @@ async def down_grp_audio(self, audio: Audio, grp_id: int) -> BytesIO:
235249 async def down_friend_audio (self , audio : Audio ) -> BytesIO :
236250 return await self ._highway .download_audio (audio , uid = self .uid )
237251
238- async def fetch_image_url (self , bus_type : Literal [10 , 20 ], node : "IndexNode" , uid = None , gid = None ):
252+ async def fetch_image_url (
253+ self , bus_type : Literal [10 , 20 ], node : "IndexNode" , uid = None , gid = None
254+ ):
239255 if bus_type == 10 :
240256 return await self ._get_pri_img_url (uid , node )
241257 elif bus_type == 20 :
@@ -313,7 +329,9 @@ async def get_grp_msg(
313329 ), "return args not matched"
314330
315331 rsp = list (
316- await asyncio .gather (* [parse_grp_msg (self , MsgPushBody .decode (i )) for i in payload .elems ])
332+ await asyncio .gather (
333+ * [parse_grp_msg (self , MsgPushBody .decode (i )) for i in payload .elems ]
334+ )
317335 )
318336 if filter_deleted_msg :
319337 return [* filter (lambda msg : msg .rand != - 1 , rsp )]
0 commit comments