环境与工具1:微信群刷屏 | itchat
在微信群里面,“刷屏”的行为是被谴责的,伴随着“快发红包道歉”与“送飞机票”的出现。那如果小程硬是要做到“刷屏”来验证自己的动手能力,有什么办法吗?
显然,靠快速打字是不现实的,用程序实现才靠谱。本文介绍如何用程序发送消息到微信群。
参考网页微信的功能,很自然的一个想法就是调用网页微信的接口来实现这个功能。那么,有没有现成的项目已经实现了对微信接口的封装了呢?
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工具的使用,通过它提供的几个函数,实现在电脑上发送消息到微信群的功能。

环境与工具1:微信群刷屏 | itchat的更多相关文章
- .net之微信企业号开发(一) 所使用的环境与工具以及准备工作
前言 一直以来,从事的是.net winform的编程,虽然对移动互联这块很感兴趣,但是由于现有的工作和移动互联之间隔的太远,也就没有时间和精力好好的去研究和实现.今年年初辞职了,刚好朋友那里希望建立 ...
- 基于itchat的微信群聊小助手基础开发(一)
前段时间由于要管理微信群,基于itchat开发了一个简单的微信机器人 主要功能有: 图灵机器人功能 群聊昵称格式修改提示 消息防撤回功能 斗图功能 要开发一个基于itchat的最基本的聊天机器人,在g ...
- 如何用20行Python代码打造一个微信群聊助手?
今天要教大家一个黑科技,20行代码实现自己定制的微信群聊助手,可以用来活跃群气氛,好多群主创建完群后,拉完一群人,之后就一片寂静,有个群聊助手,就可以帮忙活跃群里气氛,通过今天在自己的微信上有一大批好 ...
- 使用java做一个能赚钱的微信群聊机器人(2020年基于PC端协议最新可用版)
前言 微信群机器人,主要用来管理群聊,提供类似天气查询.点歌.机器人聊天等用途. 由于微信将web端的协议封杀后,很多基于http协议的群聊机器人都失效了,所以这里使用基于PC端协议的插件来实现. 声 ...
- 微信 python 接口 -- itchat 文档
itchat 一. 安装 $ pip install itchat 特殊的字典使用方式 通过打印 itchat 的用户以及注册消息的参数, 可以发现这些值都是字典. 但实际上 itchat 精心构造了 ...
- python-itchat 统计微信群、好友数量的实例
今天小编就为大家分享一篇python-itchat 统计微信群.好友数量,及原始消息数据的实例,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧 效果: 好友: # 获取自己的用 ...
- 高可用Redis(十一):使用redis-trib.rb工具搭建集群
环境说明: 两台虚拟机,IP地址分别为:192.168.81.100和192.168.81.101 虚拟机系统为:CentOS 7.5 Redis为yum安装,版本为3.2 系统环境:关闭firewa ...
- 环境与工具2:建立高效的mac环境
你的工作与生活离不开电脑,电脑是一个工具,也是一个环境.环境是不是绿水青山,是不是得心应手,这是很重要的事情.小程平时使用macbook来学习跟娱乐,最近重装了系统,很多环境与工具都需要重新组建. 那 ...
- 中小研发团队架构实践之生产环境诊断工具WinDbg 三分钟学会.NET微服务之Polly 使用.Net Core+IView+Vue集成上传图片功能 Fiddler原理~知多少? ABP框架(asp.net core 2.X+Vue)模板项目学习之路(一) C#程序中设置全局代理(Global Proxy) WCF 4.0 使用说明 如何在IIS上发布,并能正常访问
中小研发团队架构实践之生产环境诊断工具WinDbg 生产环境偶尔会出现一些异常问题,WinDbg或GDB是解决此类问题的利器.调试工具WinDbg如同医生的听诊器,是系统生病时做问题诊断的逆向分析工具 ...
随机推荐
- [pyMongo]insert_many的Bulkwrite实现机制
在SQL中,insert many的操作可能会出现插入数据量过大的问题. 印象中MySQL Driver对insert语句的buffer有一个大小限制.超过这个限制的数据可能会被丢弃? -- > ...
- 把ssl模块加入到已经编译好的apache中实现HTTPS
为了使Apache支持https访问,系统需要安有apache.openssl.mod_ssl.so 1.安装openssl: 基本上系统都已经安装了,在/usr/bin/openssl下,直接使用o ...
- 阿里云消息队列(MQ)服务
A.首先在阿里云上申请消息队列MQ服务: B.然后创建一个Topic(主题,一级主题):然后创建生产者与消费者: C.不过此时还没有结束 ,还需要创建一个AccessKey和AccessSecret( ...
- Oracle、DB2、SQLSERVER、Mysql、Access分页SQL语句
最近把平时在项目中常用到的数据库分页sql总结了下.大家可以贴出分页更高效的sql语句.sqlserver分页 第一种分页方法 需用到的参数: pageSize 每页显示多少条数据 pageNu ...
- ubuntu/deepin 下 Sha 哈 dow 哈 socks 全局配置
1. 安装编译环境 Ubuntu在默认情况下没有提供C/C++的编译环境,因此需要手动安装.如果单独安装gcc以及g++比较麻烦,为了方便,我们直接安装Ubuntu提供的build-essential ...
- Mysql 常见问题
------------------------------------------------ ------------------------------------------------ -- ...
- scala Weak Conformance
Weak Conformance In some situations Scala uses a more general conformance relation. A type S weakly ...
- swust oj 1052
输出利用先序遍历创建的二叉树中的指定结点的双亲结点 1000(ms) 10000(kb) 2415 / 5575 利用先序递归遍历算法创建二叉树并输出该二叉树中指定结点的双亲结点.约定二叉树结点数据为 ...
- 企业IT管理员IE11升级指南【9】—— IE10与IE11的功能对比
企业IT管理员IE11升级指南 系列: [1]—— Internet Explorer 11增强保护模式 (EPM) 介绍 [2]—— Internet Explorer 11 对Adobe Flas ...
- [Swift]LeetCode22. 括号生成 | Generate Parentheses
Given n pairs of parentheses, write a function to generate all combinations of well-formed parenthes ...