-- coding: utf-8 --导入 WeChat 和需要用到的消息类型from wxauto import WeChat from wxauto.msgs import FriendMessage import time import requests import json 初始化 WeChat 实例wx = WeChat() 发送通知的函数def send_notification(title, content): data = { "body": content, "title": title, "device_key": "", # 注意:这里是你的设备密钥,请妥善保管 "url": "", "group": "绿泡泡", "icon": "https://open.weixin.qq.com/zh_CN/htmledition/res/assets/res-design-download/icon64_appwx_logo.png" } headers = {'Content-Type': 'application/json'} try: response = requests.post('https://api.day.app/push', data=json.dumps(data), headers=headers) response.raise_for_status() # 检查请求是否成功 print(f"通知已发送: {title} - {content}") time.sleep(1) except requests.exceptions.RequestException as e: print(f"发送通知时出错: {e}") 设置检查新消息的时间间隔wait_time = 1 无限循环检查新消息while True: try: # 获取下一条新消息,结果可能是一个字典,也可能是None messages = wx.GetNextNewMessage(filter_mute=True) # 检查是否真的收到了新消息 if messages: print(f"收到新消息包: {messages}") # 【修改点1】使用 messages['msg'] 来访问字典中的消息列表 for msg in messages['msg']: # print(f"正在处理消息: {msg}") # 可以取消注释这行来调试 # 【修改点2】判断单个消息 msg 的类型,而不是整个 messages 字典 if isinstance(msg, FriendMessage): print(f"识别到好友消息: 来自 {msg.sender} 的内容是 '{msg.content}'") send_notification(f"{msg.sender}", f"{msg.content}")except Exception as e: print(f"主循环出现错误: {e}")time.sleep(wait_time)
|