1.微信库选择

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

2.实现原理

我相信有不少同学使用过微信的网页版,而wxpy(底层使用itchat)库就是模拟登录网页端,然后调用微信的api实现操作的,我们可以查看itchat源码发现。

总之大家记住,目前wxpyitchat都是模拟网页版微信来操作的

3.图灵机器人

既然可以模拟网页微信了,那又如何做到自动回复呢?这里我们就使用到了图灵机器人,大家可以在他们的官网(http://www.tuling123.com)免费注册账号,然后申请一个免费的机器人,每个人最多免费申请五个机器人。

我会在项目代码中给一个默认的apikey,让大家不用申请机器人就可以直接运行项目,但是猪哥还是建议同学自己去申请,因为这个默认的apikey有调用次数限制,况且这算是一笔免费的财富呢!

4.整体流程

为了方便大家理解,猪哥给大家画了一个时序图

二、项目代码

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

1.下载项目

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

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

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

然后打开你的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

运行之后弹出登录二维码,手机微信扫一扫点击确定登录即可和好友聊天。

三、总结

首先感谢大家的耐心阅读,考虑到有很多零基础的同学所以文章有点长。

猪哥来总结下这几天使用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

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

转载于:https://www.cnblogs.com/WYlover/p/10783290.html

Python 微信机器人相关推荐

  1. python微信机器人部署服务器_玩法收藏/云服务器/零基础微信机器人实践( Python )...

    最近想做个微信机器人,主要是为了个人方便.在腾云阁发现这个教程,得到了一些启发.(修改转载已取得腾讯云授权) 技术路径和实现思路 首先编程语言使用了 Python , Python 语法简洁.第三方扩 ...

  2. python 微信机器人_Python 微信机器人

    一.写在前边的话 如何做一个自动回复的微信机器人?机器人的功能有,自动加好友,关键字回复,等等,它甚至可以成为你的私人管家,只要你的代码到位.今天,主要讲解下,微信机器人-图灵版. 二.准备 1.py ...

  3. python 微信机器人教程_Python实现微信机器人的方法

    最近在学python的过程中无意间发现一个python库:wxpy,其可以实现让微信自动接收.处理消息并进行回复的一系列功能.感觉挺有意思的,便自行摸索学习,并成功地实现了其功能. 当我们打开微信,就 ...

  4. python 微信机器人教程_Python创建微信机器人(附赠Python视频教程)

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

  5. 会聊天、提醒、撩妹的Python微信机器人你肯定没见过

    阅读文本大概需要 6 分钟. 看过 pk 哥之前的文章的小伙伴知道,pk 哥写过关于微信机器人的文章(用 Python 玩微信,机器人陪你唠嗑)和定时给心仪的伙伴发送早安或者祝福语录(Python 教 ...

  6. python 微信机器人,微信自动回复

    使用python现成的模块 itchat,可以实现,微信机器人的自动回复 其内部原理,是模拟了web版微信的登录,然后进行消息的接收发送,并不是只能用python实现,其他后端语言都可以做到 下面是使 ...

  7. python微信机器人库_Python微信机器人

    1.需要用到的模块: requests:Requests 是用 Itchat:itchat是一个开源的微信个人号接口,使用python调用微信从未如此简单. 使用不到三十行的代码,你就可以完成一个能够 ...

  8. Python 微信机器人:属于自己的微信机器人制作,简单易懂。图灵机器人接口api调用

    首先你需要安装 itchat 库. 进入 cmd,先直接 pip install itchat 就好了. 我调的是图灵机器人的接口,可以了解一下: 图灵机器人的注册,图灵机器人api获取方式 微信机器 ...

  9. Python 微信机器人-用itchat库向好友发送名片、转发名片实例演示

    先看效果图: 我发给机器人的名片,它存了下来,然后再发送给我. itchat.content.CARD 就是名片类型,当微信接收到名片就会触发. itchat.send_raw_msg() 就是发送名 ...

最新文章

  1. 2021-03-01 Matlab 多项式的根求解
  2. 39. Combination Sum
  3. CF 1093G Multidimensional Queries——线段树(消去绝对值符号)
  4. 商业逻辑12讲之管理沟通的逻辑
  5. 看懂这些代码,我哭着笑了
  6. python数据模型_#PYTHON#数据模型 | 学步园
  7. 程序员让开,硅谷将是物理学家的天下,薪水高得离谱
  8. 如何调用Android隐藏API
  9. Android 修改系统时间代码
  10. 来抽个奖吧!stata随机程序揭秘
  11. pwnable-mistake
  12. 《动手学深度学习》组队学习打卡Task5——卷积神经网络进阶
  13. 为什么计算机无法打开扫描机,为什么打印机无法扫描 打印机无法扫描是什么原因 - 云骑士一键重装系统...
  14. win10系统关机被阻止解决方法
  15. 科大讯飞离线语音命令词识别的使用说明
  16. pip 常用命令及控制台怎么查看python 及pip 和已安装包版本号
  17. 马库斯批判Hinton、吴恩达、LeCun等煽风点火!炒作将带来AI寒冬
  18. 长高不仅靠遗传,让孩子再次长高的秘诀都在这
  19. 降压式变换电路(Buck电路)详解
  20. Github上最热门的开源项目排行

热门文章

  1. 【计算机网络】【应用层-6】
  2. Spring、Spring Boot与Spring MVC
  3. USB学习3-USB描述符
  4. python脚本之领取cf道具
  5. iText in Action 2nd3.1节(Introducing the concept of direct content)读书笔记
  6. 系统集成项目管理工程师 计算专题(下午计算题-成本类-案例分析)
  7. 第4章第7节nbsp;二进制信号量(二)
  8. 【Cell报表】设计模板
  9. java实现CGS2000大地坐标和WGS84经纬度坐标互转,亲测准确
  10. 2022 android studio 安装及模拟器使用