本项目使用python来完成每日在群聊中或者给朋友推送新闻。主要使用python的wxauto库来完成此功能。
想要完成以上任务,需要安装3.8.10版本的python和最新版本的PC端微信。
另外,PC端的微信需要处于登录状态,并且微信的页面在桌面的最前边,不要最小化,否则无法完成此功能。
具体的开发步骤:
- 首先需要将PC端微信登录成功,并且将其放于桌面的最前端。
- 使用代码,获取当前微信的客户端。
- 然后可以获取当前的会话列表,并从中查找你想要发送的朋友或群聊,也可以直接指定搜索你想要发送的朋友或群聊,然后打开此聊天窗口。
- 鉴于本项目是向朋友发送新闻的,这里需要自己另外编写代码去获取每日的新闻。也可以去网上搜索现成的获取新闻的接口,然后调用得到每日的新闻。
- 然后将此新闻发送给第三步指定的用户。
- 至此已经完成发送新闻的功能。
- 然后,如果想要实现每日定时的发送新闻,需要将上边的3-5步使用一个死循环来无限的遍历,同时获取当前时间,判断当前时间是否已经达到你指定的时间,如果已经满足,则执行3-5步,然后可以使当前任务休息半小时到一小时,不断遍历。
- 最后,可以将以上步骤完成的代码打包成exe文件,然后执行此文件即可(PS:记得一直将微信登录上哦~~~)。打包脚本成exe文件的命令为:
pyinstaller -F ./文件名.py
实现以上步骤的部分代码如下:
def send():
while True:
current_time = time.localtime(time.time()) # 当前时间date
text = getNews()
if current_time.tm_hour == 7:
send_WeChat(text,"www")
print("当前时间为:"+str(datetime.datetime.now()))
time.sleep(3000)
def send_WeChat(msg,who):
wx = WeChat()
wx.ChatWith(who)
WxUtils.SetClipboard(msg)
wx.SendClipboard()
print("微信消息发送成功,收件人为:"+str(who))
print("消息内容为:"+str(msg))
除了发送新闻之外,还可以获取指定群聊或用户的聊天记录,获取会话列表。将得到的聊天记录进行分析,并可以实时监控所有的群聊,如果有人发送一些你比较关注的内容,你可以直接获取,然后单独发消息或者邮件通知你,可以很及时的得到最新消息。
另外,不仅仅可以发送消息,还可以发送文件、图片等非文字消息。