运营公众号也有半年了,今年5月份开始的,之前一直用一款windows工具来运营自动接受好友请求、群发文章、自动回复等操作,但颇有不便。

举几个场景:

  1. 突然在外面看到一篇文章很好,临时写了一篇,想群发一下。
  2. 好友加我微信后,每次都要手动备注。

这些使用客户端工具都无法解决,因为客户端工具的一个特点就是native,需要你直接操作电脑,不方便。

所以就想着自己写一个干脆,经过一周漫长的开发(主要是时间太零散了),把第一版定制化微信机器人给完成了,第一版里实现了几个功能:

  1. 自动添加好友,并同时根据附加信息打备注。
  2. 根据不同的分组,进行群发消息。因为有些群只允许你21:00~09:00,你中午发的时候就要屏蔽他,有的群是禁止发的,那你也要屏蔽。
  3. 根据关键字回复消息、图片等。

那先来看看效果:


第一版的功能非常简陋,而且不易扩展,但解决了我的基本用途,之后这个项目我会持续根据维护。

那么接下来就来看一些核心代码:

FileHelper类定义了所有的交互式指令集合,微信官方提供了文件传输助手这个功能,我们就要用好他嘛~

那这个_register_mass函数就在做一件事情:注册群发消息。

只要指令集和群发有关,就用这个函数去注册,因为群发包括很多指令集:群发消息,群发文章,群发图片,群发语音等等。所以有了这个注册器后,之后的函数就相对简单了:

另外,为了让匹配速度更快些,我特地开了一个子线程去同步本地的群组列表,把列表维护在内存里使得速度更快些。

整个项目目录还是比较复杂的,以上只是节选了部分关键代码:

之后的话,准备把代码健硕起来,使用说明、日志等,然后功能继续迭代,比如:识别公众号URL地址自动转换成文章转发格式,自动邀请入群等。

关注公众号「Python专栏」后台回复:wxRobot,获取完整微信机器人源码。

Python自制微信机器人:群发消息、自动接收好友的更多相关文章

  1. 用python自制微信机器人,定时发送天气预报

    0 引言 前段时间找到了一个免费的天气预报API,费了好段时间把这个API解析并组装成自己想用的格式了,就想着如何实现每天发送天气信息给自己.最近无意中发现了wxpy库,用它来做再合适不过了.以下是w ...

  2. python+爬虫+微信机器人 打造属于你的网购价格监督利器

    写在最前 程序是为人类服务的,最近正好身边小伙伴们在做球衣生意,当然是去nikenba专区购买了,可是有些热门球衣发布几分钟就被抢完,有些折扣球衣也是很快就被抢售一空,那么我们只能靠自己的眼睛一直盯着 ...

  3. 你的网购价格监督利器——python+爬虫+微信机器人

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:风,又奈何 PS:如有需要Python学习资料的小伙伴可以加点击下方链 ...

  4. Python创建微信机器人

    微信,一个日活10亿的超级app,不仅在国内社交独领风骚,在国外社交也同样占有一席之地,今天我们要将便是如何用Python来生成一个微信机器人,突然想起鲁迅先生曾经说过的一句话:因为是微信机器人系列的 ...

  5. python使用微信推送消息

    from wxpy import * #该库主要是用来模拟与对接微信操作的 import requests from datetime import datetime import time impo ...

  6. 使用python编写微信跳一跳的自动脚本

    实现思路: 调用adb命令,截图 寻找小小人的底部中心点role(从下到上扫描,直到找到小小人相同像素的点,至于小小人像素点rgb是什么,可以使用photoshop查看) 寻找棋盘最高点top,然后寻 ...

  7. python 钉钉机器人发送消息

    import json import requests def sendmessage(message): url = 'https://oapi.dingtalk.com/robot/send?ac ...

  8. httpClient实现微信公众号消息群发

    1.实现功能 向关注了微信公众号的微信用户群发消息.(可以是所有的用户,也可以是提供了微信openid的微信用户集合) 2.基本步骤 前提: 已经有认证的公众号或者测试公众账号 发送消息步骤: 发送一 ...

  9. android黑科技系列——解析公众号文章消息和链接文章消息自动打开原理

    一.辅助功能方案分析 关于WX的各种功能插件已经非常普遍了,而现在的插件都是依赖于Xposed框架进行的,所以个人觉得WX应该在这方便应对Xposed框架的使用防护,防止插件满天飞的现象,本文来介绍一 ...

随机推荐

  1. Java_oracle超出打开游标的最大数的原因和解决方案

    第一步:核查Oracle数据库 的游标的最大数 处理超出打开游标的最大数异常(ORA-01000: maximum open cursors exceeded) ORA-01000_maximum_o ...

  2. Confluence 6 手动运行和修改

    手动运行一个任务 希望手动运行一个计划任务,进入计划任务的列表中,找到你希望手动运行的计划任务,在这个计划任务的边上选择 运行(Run).这个计划任务将会马上执行. 不是所有的计划任务都可以手动运行的 ...

  3. PDF文件编辑技巧之PDF书签怎么设置

    纸质的文件想要添加书签就直接拿笔书写就可以,Word文件怎么添加书签相信大家也都知道,那么PDF文件的书签要怎么设置的呢,是不是有很多小伙伴不知道该怎么做呢,不要担心,今天小编就来跟大家分享一下在PD ...

  4. hdu4990 转移矩阵

    找了半天错发现m有可能是1.. /* 如果n是奇数,就进行(n/2)次转移,然后取F[2],反之取F[1] */ #include<bits/stdc++.h> using namespa ...

  5. OrCAD Capture CIS 为库里的元器件添加新属性

    1.进入元器件编辑界面 2.菜单:Options > Part Properties... 3.在窗口User Properties中,点击按钮New... 4.在弹出的子窗口NewProper ...

  6. python截图

    import time import os, win32gui, win32ui, win32con, win32api def window_capture(dpath,name,srcbmp=[0 ...

  7. 数据库和linux对大小写的区分

  8. 三.hadoop mapreduce之WordCount例子

    目录: 目录见文章1 这个案列完成对单词的计数,重写map,与reduce方法,完成对mapreduce的理解. Mapreduce初析 Mapreduce是一个计算框架,既然是做计算的框架,那么表现 ...

  9. spring+redis的集成,redis做缓存

    1.前言 Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.我们都知道,在日常的应用中,数据库瓶颈是最容易出现的 ...

  10. 将Elasticsearch的快照备份到HDFS

    1.安装Elasticsearch插件repository-hdfs 下载地址:https://artifacts.elastic.co/downloads/elasticsearch-plugins ...