在微信群里面,“刷屏”的行为是被谴责的。那如果小程硬是要做到“刷屏”的话,有什么办法吗?
显然,靠快速打字是不现实的,用程序来实现才靠谱。
本文介绍如何用程序发送消息到微信群。
参考网页微信的功能,很自然的一个想法就是调用网页微信的接口来实现这个功能。
那么,有没有现成的项目已经实现了对微信接口的封装了呢?
itchat,这是一个开源的python项目,封装了微信接口。通过它,可以实现收发消息、分析好友数据等等有兴趣的事情。
所以,小程就用它来实现消息的发送。
(1)itchat的安装
itchat在github的地址是这个:https://github.com/littlecodersh/ItChat/tree/robot
读者感兴趣的话,可以clone下来研究一下:
它的目录结构大概是这样的:
但小程是冲着“使用”而来的,所以,只要安装好就行。
安装itchat:
sudo pip install itchat
(2)实现发送消息到群
itchat,使用了网页微信的接口,在做所有事之前,先要登陆微信:
itchat.auto_login(hotReload=True)
hotRelad参数写为True,表示使用热登陆,在一定的时间内不需要重新扫码登陆。
rooms = itchat.get_chatrooms(update=True)
rooms = itchat.search_chatrooms(gname)
第一句是拿到所有微信群,第二句是搜索指定名称的微信群(模糊搜索),这两个函数都返回微信群列表。
微信群的列表,大概是这样的:
列表中的每一个元素都是一个Chatroom(一个字典),而每一个Chatroom都有一个UserName,可以给这个UserName发送消息。
itchat.send(msg, toUserName=username)
这个是发送消息的函数,msg为文本消息,toUserName表示往哪里发送,如果不指定就是发给自己(filehelper)。
小程给出大概的代码,里面有两个函数,一个是发消息到特定的微信群,一个是发消息到所有的微信群。程序运行的效果也通过了小程的测试。
如果要做到“刷屏”,只需要循环发送消息即可。
总结一下,本文主要是itchat项目的调用,使用它提供的几个函数,实现在电脑上发送消息到微信群的功能。操作简单,难度为低。