环境与工具1:微信群刷屏 | itchat

在微信群里面,“刷屏”的行为是被谴责的,伴随着“快发红包道歉”与“送飞机票”的出现。那如果小程硬是要做到“刷屏”来验证自己的动手能力,有什么办法吗?

显然,靠快速打字是不现实的,用程序实现才靠谱。本文介绍如何用程序发送消息到微信群。

参考网页微信的功能,很自然的一个想法就是调用网页微信的接口来实现这个功能。那么,有没有现成的项目已经实现了对微信接口的封装了呢?

itchat,本文的主角,是一个开源的python项目,封装了微信接口。通过它,可以实现收发消息、分析好友数据等等有意思的事情。

下面就来看下这个工具怎么使用。

(1)itchat的安装

itchat在github的地址是这个:https://github.com/littlecodersh/ItChat/tree/robot

clone下来研究一下:

git clone https://github.com/littlecodersh/ItChat.git

它的目录结构大概是这样的:
环境与工具1:微信群刷屏 | itchat

大部分工具都是用来用的,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)

第一句是拿到所有微信群,第二句是搜索指定名称的微信群(模糊搜索),这两个函数都返回微信群列表。

微信群的列表,大概是这样的:
环境与工具1:微信群刷屏 | itchat

列表中的每一个元素都是一个Chatroom(一个字典),而每一个Chatroom都有一个UserName,可以给这个UserName发送消息。

itchat.send(msg, toUserName=username)

这个是发送消息的函数,msg为文本消息,toUserName表示往哪里发送,如果不指定就是发给自己(filehelper,即文件传输助手)。

小程给出大概的代码,里面有两个函数,一个是发消息到特定的微信群,一个是发消息到所有的微信群。程序运行的效果也通过了小程的测试。

环境与工具1:微信群刷屏 | itchat

如果要做到“刷屏”,只需要循环发送消息即可。

总结一下,本文介绍了itchat工具的使用,通过它提供的几个函数,实现在电脑上发送消息到微信群的功能。


环境与工具1:微信群刷屏 | itchat

上一篇:未能加载文件或程序集“MySql.Web,version=8.0.16.0.....“


下一篇:MySQL 删除表的三种方式