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

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

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

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

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

(1)itchat的安装

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

clone下来研究一下:

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

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

大部分工具都是用来用的,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的更多相关文章

  1. .net之微信企业号开发(一) 所使用的环境与工具以及准备工作

    前言 一直以来,从事的是.net winform的编程,虽然对移动互联这块很感兴趣,但是由于现有的工作和移动互联之间隔的太远,也就没有时间和精力好好的去研究和实现.今年年初辞职了,刚好朋友那里希望建立 ...

  2. 基于itchat的微信群聊小助手基础开发(一)

    前段时间由于要管理微信群,基于itchat开发了一个简单的微信机器人 主要功能有: 图灵机器人功能 群聊昵称格式修改提示 消息防撤回功能 斗图功能 要开发一个基于itchat的最基本的聊天机器人,在g ...

  3. 如何用20行Python代码打造一个微信群聊助手?

    今天要教大家一个黑科技,20行代码实现自己定制的微信群聊助手,可以用来活跃群气氛,好多群主创建完群后,拉完一群人,之后就一片寂静,有个群聊助手,就可以帮忙活跃群里气氛,通过今天在自己的微信上有一大批好 ...

  4. 使用java做一个能赚钱的微信群聊机器人(2020年基于PC端协议最新可用版)

    前言 微信群机器人,主要用来管理群聊,提供类似天气查询.点歌.机器人聊天等用途. 由于微信将web端的协议封杀后,很多基于http协议的群聊机器人都失效了,所以这里使用基于PC端协议的插件来实现. 声 ...

  5. 微信 python 接口 -- itchat 文档

    itchat 一. 安装 $ pip install itchat 特殊的字典使用方式 通过打印 itchat 的用户以及注册消息的参数, 可以发现这些值都是字典. 但实际上 itchat 精心构造了 ...

  6. python-itchat 统计微信群、好友数量的实例

    今天小编就为大家分享一篇python-itchat 统计微信群.好友数量,及原始消息数据的实例,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧   效果:   好友: # 获取自己的用 ...

  7. 高可用Redis(十一):使用redis-trib.rb工具搭建集群

    环境说明: 两台虚拟机,IP地址分别为:192.168.81.100和192.168.81.101 虚拟机系统为:CentOS 7.5 Redis为yum安装,版本为3.2 系统环境:关闭firewa ...

  8. 环境与工具2:建立高效的mac环境

    你的工作与生活离不开电脑,电脑是一个工具,也是一个环境.环境是不是绿水青山,是不是得心应手,这是很重要的事情.小程平时使用macbook来学习跟娱乐,最近重装了系统,很多环境与工具都需要重新组建. 那 ...

  9. 中小研发团队架构实践之生产环境诊断工具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如同医生的听诊器,是系统生病时做问题诊断的逆向分析工具 ...

随机推荐

  1. On the Optimal Approach of Survivable Virtual Network Embedding in Virtualized SDN

    Introduction and related work 云数据中心对于虚拟技术是理想的创新地方. 可生存性虚拟网络映射(surviavable virtual network embedding ...

  2. Redis sentinel 哨兵模式

    一.sentinel介绍 Sentinel作用: 1):Master状态检测 2):如果Master异常,则会进行Master-Slave切换,将其中一个Slave作为Master,将之前的Maste ...

  3. [LeetCode] Bus Routes 公交线路

    We have a list of bus routes. Each routes[i] is a bus route that the i-th bus repeats forever. For e ...

  4. 解决ios10以上H5页面手势、双击缩放问题

    html:<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable= ...

  5. nginx获取上游真实IP(ngx_http_realip_module)

    realip模块的作用是:当本机的nginx处于一个反向代理的后端时获取到真实的用户IP,如果没有realip模块,nginx的access_log里记录的IP会是反向代理服务器的IP,PHP中$_S ...

  6. [tkinter]Radiobutton单选按钮的使用

    首先因为单选按钮有一个特性(一个被选中后,自动清除其它按钮的选中状态) 所以使用方式也有点不同 错误示例 from tkinter import * root = Tk() r1 = Radiobut ...

  7. RHEL7 配置网络yum源

    redhat系统安装好尽管默认带有yum,但是redhat的更新包只对注册用户有效(收费).所以需要更换yum源. 基本的流程就是: 1.删除redhat7.0系统自带的yum软件包: 2.自行下载所 ...

  8. svn 安装及更新web库

    安装: apt-get update         //更新apt-get库 apt-get install subversion        安装SVN mkdir /home/svn     ...

  9. WdatePicker 日期控件- 功能及示例

      3. 多语言和自定义皮肤多语言支持 通过lang属性,可以为每个日期控件单独配置语言,当然也可以通过WdatePicker.js配置全局的语言语言列表和语言安装说明详见语言配置 示例3-1 多语言 ...

  10. js 中 的 BOM对象

    BOM对象(浏览器对象模型 Browser Object Model) 01.页面的前进和后退 02.移动,调整和关闭浏览器窗口 03.创建新的浏览器窗口 01.window对象 ***** 核心对象 ...