Python 微信机器人

1.微信库选择

python关于开发微信的库主要有itchatwxpy,而wxpy底层是调用的itchat,因此若是你只是要使用的话建议使用wxpy库,它比其余的库都要优雅,更面向对象,并且深度整合了图灵机器人小i机器人;而itchat扩展性更好,若是你想本身开发一个本身的微信库那建议选itchatpython

2.实现原理

我相信有很多同窗使用过微信的网页版,而wxpy(底层使用itchat)库就是模拟登陆网页端,而后调用微信的api实现操做的,咱们能够查看itchat源码发现。
git

总之你们记住,目前wxpyitchat都是模拟网页版微信来操做的github

3.图灵机器人

既然能够模拟网页微信了,那又如何作到自动回复呢?这里咱们就使用到了图灵机器人,你们能够在他们的官网(http://www.tuling123.com)免费注册帐号,而后申请一个免费的机器人,每一个人最多免费申请五个机器人。
数据库

 


我会在项目代码中给一个默认的apikey,让你们不用申请机器人就能够直接运行项目,可是猪哥仍是建议同窗本身去申请,由于这个默认的apikey有调用次数限制,何况这算是一笔免费的财富呢!api

4.总体流程

为了方便你们理解,猪哥给你们画了一个时序图
微信

 

2、项目代码

先来张项目结构图压压惊:
svn

 

1.下载项目

猪哥已经把项目放在了GitHub上,群里有小伙伴反馈不会使用github,这里我就详细讲一下如何从github上下载项目。工具

注意:github与git不是同一个东西,github是全球最大的同性恋交友论坛,在这里咱们不比颜值与财富,只比谁的项目star多,star越多也就说明你越吸引同性的喜欢与爱慕,甚至连你的同事也会爱上你!而git是项目管理工具,github上的项目就是用git来管理,项目管理工具另外一派系是svn。测试


首先找到你须要下载的项目,而后点击Clone or download,而后点击右侧的复制按钮,猪哥这个项目的地址是:https://github.com/pig6/wxrobot
code

 


而后打开你的pycharm,选择CSV->Checkout from version control->git,而后粘贴刚才复制的项目连接。

 


最后pycharm可能会提示你使用 新窗口打开 仍是用 当前窗口 打开,猪哥通常习惯使用 新窗口(New Window) 打开,这样能够避免多个项目开发时形成混乱。

这个好像你电脑得安装Git :https://git-scm.com/download/win

2.下载wxpy库

项目下载下来以后,由于没有安装必须的库wxpy,pycharm可能会有以下提示,这时咱们点一下install就能够。

若是没有出现安装库提示的话,咱们能够在Setting->Project->Project Interpreter里面添加wxpy库。

 


或者使用如下命令安装wxpy库,若是你是pip3则替换下面的pip。

pip install -U wxpy -i “https://pypi.doubanio.com/simple/“

3.运行项目

你能够按右上角的绿色三角形按钮,也能够右键项目而后点击run

运行以后弹出登陆二维码,手机微信扫一扫点击肯定登陆便可和好友聊天。

 

3、总结

首先感谢你们的耐心阅读,考虑到有不少零基础的同窗因此文章有点长。

猪哥来总结下这几天使用wxpy库开发微信机器人的一些感觉吧!

  1. 猪哥用本身的大号测试了一周,也没有出现被封的迹象,只要不发送大量的相同信息就没问题

  2. 即便出现被封也只是会限制你微信登陆网页版,手机端不影响使用,正常使用大概一两周就自动解封

  3. 最好用小号测试,听说2018年及之后注册的微信号都不能够登微信网页版,也就是说不能用测试

  4. 微信网页版有些功能被阉割了,好比:添加好友,拉人入群等,由于怕微商使用机器人处处做恶因此才阉割

  5. 目前只开发了一个功能,先让你们入门,后面的功能会慢慢丰富起来

  6. 目前wxpy基于微信网页登陆,不少功能没法实现,后期考虑跟换成iPad登陆

  7. 图灵机器人智商有待提升

接收群消息  请看下图

过滤有用群消息

能接收到群消息以后,咱们如何过滤咱们须要的消息呢?这里咱们能够在接收到群消息后比较下这个群是否是咱们须要监听的群,而后再比较当前消息发送者在不在咱们要监听的对象中,若是二者都知足便实现了消息过滤。

在配置文件中指定须要监听人的名称(最好是备注名,防止微信昵称重名)和须要监听的群

根据配置须要监听的群和人去过滤群消息

转发有用群消息

在咱们拿到有用群消息后,咱们如何保存这些信息呢?有不少种保存信息的方式,你能够存文件,存数据库,也能够选择转发。这里猪哥就选择将信息转发,这样有几个优势:简单、实时、永久保存。

那转发给谁?你能够转发到指定好友或者文件助手都行,在猪哥的代码中是转发到机器人管理员那里,若是你没有设置管理员那么就转发到文件助手中。

管理员设置技巧:若是你用小号登陆机器人,那么你能够设置你的大号为管理员;若是你没有小号用本身的大号登陆,那这个你就空着默认就设置文件助手为管理员,相关信息发送至你的文件助手中。

目前微信机器人第二阶段开发完成,本次不只仅新增监听模式,还新增了如下如下一些功能:

  1. 机器人群聊:让机器人加入群聊,让更多的人来撩~

  2. 转发模式:可将老板重要指示转发至其余群

  3. 监控模式:监控群中别人发的分享,这样就能够第一时间发现是否有人在群中发广告

  4. 管理员:指定管理员后能够远程控制机器人的各个开关

 

 

你们能够根据本身的平常需求来自由发挥,个性化机器人哦~

原文:https://mp.weixin.qq.com/s/hqPx7Z6Pbd6zXRIzuGgl6w

Github项目地址:https://github.com/pig6/wxrobot(或点击阅读原文)
wxpy官方文档:https://wxpy.readthedocs.io/zh/latest

抄袭于 裸睡的猪公众号。。。。。。本人改良。

相关文章
相关标签/搜索