美文网首页程序员技术栈
环境与工具1:微信群刷屏 | itchat

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

作者: 广州小程 | 来源:发表于2019-04-23 11:10 被阅读5次

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

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

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

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

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

    (1)itchat的安装

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

    clone下来研究一下:

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

    它的目录结构大概是这样的:


    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)

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

    微信群的列表,大概是这样的:


    微信群列表

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

    itchat.send(msg, toUserName=username)

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

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

    向微信群发消息的演示代码

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

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


    helloworld

    相关文章

      网友评论

        本文标题:环境与工具1:微信群刷屏 | itchat

        本文链接:https://www.haomeiwen.com/subject/oiomgqtx.html