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