mirror of
https://github.com/smallevilbeast/ntchat.git
synced 2025-07-07 12:46:06 +08:00
优化msg_register
This commit is contained in:
parent
f7fb727257
commit
38506a0e7b
|
@ -62,34 +62,32 @@ class WeChat:
|
||||||
WeChatMgr().append_instance(self)
|
WeChatMgr().append_instance(self)
|
||||||
self.__wait_login_event = Event()
|
self.__wait_login_event = Event()
|
||||||
self.__req_data_cache = {}
|
self.__req_data_cache = {}
|
||||||
self.__msg_event_emitter = pyee.EventEmitter()
|
self.event_emitter = pyee.EventEmitter()
|
||||||
self.__login_info = {}
|
self.__login_info = {}
|
||||||
|
|
||||||
def on(self, msg_type, f):
|
def on(self, msg_type, f):
|
||||||
return self.__msg_event_emitter.on(str(msg_type), RaiseExceptionFunc(f))
|
|
||||||
|
|
||||||
def msg_register(self, msg_type: Union[int, List[int], Tuple[int]]):
|
|
||||||
if not (isinstance(msg_type, list) or isinstance(msg_type, tuple)):
|
if not (isinstance(msg_type, list) or isinstance(msg_type, tuple)):
|
||||||
msg_type = [msg_type]
|
msg_type = [msg_type]
|
||||||
|
for event in msg_type:
|
||||||
|
self.event_emitter.on(str(event), RaiseExceptionFunc(f))
|
||||||
|
|
||||||
|
def msg_register(self, msg_type: Union[int, List[int], Tuple[int]]):
|
||||||
def wrapper(f):
|
def wrapper(f):
|
||||||
wraps(f)
|
wraps(f)
|
||||||
for event in msg_type:
|
self.on(msg_type, f)
|
||||||
self.on(event, RaiseExceptionFunc(f))
|
|
||||||
return f
|
return f
|
||||||
|
|
||||||
return wrapper
|
return wrapper
|
||||||
|
|
||||||
def on_close(self):
|
def on_close(self):
|
||||||
self.login_status = False
|
self.login_status = False
|
||||||
self.status = False
|
self.status = False
|
||||||
self.__msg_event_emitter.emit(str(notify_type.MT_RECV_WECHAT_QUIT_MSG), self)
|
self.event_emitter.emit(str(notify_type.MT_RECV_WECHAT_QUIT_MSG), self)
|
||||||
|
|
||||||
message = {
|
message = {
|
||||||
"type": notify_type.MT_RECV_WECHAT_QUIT_MSG,
|
"type": notify_type.MT_RECV_WECHAT_QUIT_MSG,
|
||||||
"data": {}
|
"data": {}
|
||||||
}
|
}
|
||||||
self.__msg_event_emitter.emit(str(notify_type.MT_ALL), self, message)
|
self.event_emitter.emit(str(notify_type.MT_ALL), self, message)
|
||||||
|
|
||||||
def bind_client_id(self, client_id):
|
def bind_client_id(self, client_id):
|
||||||
self.status = True
|
self.status = True
|
||||||
|
@ -113,8 +111,8 @@ class WeChat:
|
||||||
req_data.on_response(message)
|
req_data.on_response(message)
|
||||||
del self.__req_data_cache[extend]
|
del self.__req_data_cache[extend]
|
||||||
else:
|
else:
|
||||||
self.__msg_event_emitter.emit(str(msg_type), self, message)
|
self.event_emitter.emit(str(msg_type), self, message)
|
||||||
self.__msg_event_emitter.emit(str(notify_type.MT_ALL), self, message)
|
self.event_emitter.emit(str(notify_type.MT_ALL), self, message)
|
||||||
|
|
||||||
def wait_login(self, timeout=None):
|
def wait_login(self, timeout=None):
|
||||||
log.info("wait login...")
|
log.info("wait login...")
|
||||||
|
|
Loading…
Reference in New Issue
Block a user