-
Notifications
You must be signed in to change notification settings - Fork 72
Open
Description
在 #22 的中我提到如果只监听导航栏的红色tag来判断是否有新消息。我觉得这非常有用,所以我就去拉取wxauto的源码,但我拉取后发现,wxauto的作者已经提供了这部分的方法,在wxauto/ui/navigationbox.py下有个has_new_message方法。所以我在app/wechat_adapter.py 添加了HasNewMessage方法 因为我只有wxauto包所有我只改了这部分。
wechat_adapter.py :
def __init__(self, lib_name: str = 'wxauto', lazy_init: bool = False):
"""
初始化适配器
Args:
lib_name: 指定使用的库名称,可选值: 'wxauto', 'wxautox',默认为'wxauto'
lazy_init: 是否延迟初始化,如果为True,则不立即导入库
"""
self._instance = None
self._navigation_box = None
self._lib_name = None
else: # wxauto
# 直接导入pip安装的wxauto包
from wxauto import WeChat
# 尝试创建WeChat实例,处理可能的Unicode编码错误
try:
self._instance = WeChat()
# 添加导航栏
self._navigation_box = self._instance.core.navigation
logger.info("成功创建wxauto.WeChat实例")
# 是否有新消息
def HasNewMessage(self):
if not self._instance:
raise AttributeError("微信实例未初始化")
return self._navigation_box.has_new_message()我的想法还是轮询,因为没有主动触发的事件,gui加个开关,打开后,填写一个服务端的通知接口地址,然后开启个死循环每3s检查一次并且发送给通知接口,由服务端来获取消息再加佐料,然后执行发送;或者暴露一个接口被服务端轮询请求,有消息再获取最新消息。。。
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels