python实现微信机器人: 登录微信、消息接收、自动回复功能


Posted in Python onApril 29, 2019

安装wxpy

pip install -U wxpy

登录微信

# 导入模块
from wxpy import *
# 初始化机器人,扫码登陆
bot = Bot()

运行以上代码,会生成一个二维码,通过图片扫描二维码即可登录微信。

如果是在服务器上运行代码,无法显示图片的时候, 可以选择通过终端显示二维码图片, 只需要将代码改成:

from wxpy import *
bot = Bot(console_qr=True)

运行的效果如下:

python实现微信机器人: 登录微信、消息接收、自动回复功能

当然,为了安全,这个二维码做了模糊处理

如果你认为每次都需要扫描二维码很麻烦,可以启用缓存,来保存自己的登录状态:

bot = Bot(console_qr=True, cache_path=True)

 发送消息

首先我们尝试给自己和文件传输助手发消息:

# 给机器人自己发送消息
bot.self.send('Hello World!')
# 给文件传输助手发送消息
bot.file_helper.send('Hello World!')

自动回复

可通过 预先注册 的方式,实现消息的自动处理。

“预先注册” 是指

预先将特定聊天对象的特定类型消息,注册到对应的处理函数,以实现自动回复等功能。

注册消息

提示

每当收到新消息时,将根据注册规则找到匹配条件的执行函数。
并将 消息对象 作为唯一参数传入该函数。

将 Bot.register() 作为函数的装饰器,即可完成注册。

# 获取所有类型的消息(好友消息、群聊、公众号,不包括任何自己发送的消息)
# 并将获得的消息打印到控制台
@bot.register()
def print_others(msg):
  print(msg)

同时wxpy也可以给注册消息的类型加上限制,

# 回复 my_friend 发送的消息
@bot.register(my_friend)
def reply_my_friend(msg):
  return 'received: {} ({})'.format(msg.text, msg.type)
 
# 回复发送给自己的消息,可以使用这个方法来进行测试机器人而不影响到他人
@bot.register(bot.self, except_self=False)
def reply_self(msg):
  return 'received: {} ({})'.format(msg.text, msg.type)
 
# 打印出所有群聊中@自己的文本消息,并自动回复相同内容
# 这条注册消息是我们构建群聊机器人的基础
@bot.register(Group, TEXT)
def print_group_msg(msg):
  if msg.is_at:
    print(msg)
    msg.reply(meg.text)

我们设置一个自动回复所有消息的功能:

@bot.register()
def reply_self(msg):
  # return 'received: {} ({})'.format(msg.text, msg.type)
  msg.reply(u'好的呀')

效果如下:

python实现微信机器人: 登录微信、消息接收、自动回复功能

以上所述是小编给大家介绍的python实现微信机器人: 登录微信、消息接收、自动回复功能详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
在Python中使用成员运算符的示例
May 13 Python
常用python编程模板汇总
Feb 12 Python
python opencv旋转图像(保持图像不被裁减)
Jul 26 Python
python实现简单登陆系统
Oct 18 Python
python 杀死自身进程的实现方法
Jul 01 Python
用django设置session过期时间的方法解析
Aug 05 Python
Python numpy.zero() 初始化矩阵实例
Nov 27 Python
python调用c++返回带成员指针的类指针实例
Dec 12 Python
tensorflow之获取tensor的shape作为max_pool的ksize实例
Jan 04 Python
Python连接mysql数据库及简单增删改查操作示例代码
Aug 03 Python
深入了解Python 方法之类方法 & 静态方法
Aug 17 Python
Python3中PyQt5简单实现文件打开及保存
Jun 10 Python
Python opencv实现人眼/人脸识别以及实时打码处理
Apr 29 #Python
python实现微信每日一句自动发送给喜欢的人
Apr 29 #Python
详解【python】str与json类型转换
Apr 29 #Python
python实现给微信指定好友定时发送消息
Apr 29 #Python
python使用wxpy实现微信消息防撤回脚本
Apr 29 #Python
Django Sitemap 站点地图的实现方法
Apr 29 #Python
python中报错"json.decoder.JSONDecodeError: Expecting value:"的解决
Apr 29 #Python
You might like
PHP判断远程图片或文件是否存在的实现代码
2014/02/20 PHP
PHP实现对图片的反色处理功能【测试可用】
2018/02/01 PHP
从Ajax到JQuery Ajax学习
2007/02/14 Javascript
jquery事件与函数的使用介绍
2013/09/29 Javascript
js页面跳转的常用方法整理
2013/10/18 Javascript
jQuery filter函数使用方法
2014/05/19 Javascript
javascript结合ajax读取txt文件内容
2014/12/05 Javascript
JS实现的数组全排列输出算法
2015/03/19 Javascript
快速掌握Node.js中setTimeout和setInterval的使用方法
2016/03/21 Javascript
Vue中的验证登录状态的实现方法
2019/03/09 Javascript
vue插槽slot的简单理解与用法实例分析
2020/03/14 Javascript
Python语言技巧之三元运算符使用介绍
2013/03/04 Python
解决Scrapy安装错误:Microsoft Visual C++ 14.0 is required...
2017/10/01 Python
Dlib+OpenCV深度学习人脸识别的方法示例
2019/05/14 Python
python Tcp协议发送和接收信息的例子
2019/07/22 Python
Django 允许局域网中的机器访问你的主机操作
2020/05/13 Python
纯CSS3绘制打火机动画火焰效果
2016/07/18 HTML / CSS
使用Html5、CSS实现文字阴影效果
2018/01/17 HTML / CSS
html5 音乐播放器 audio 标签使用概述
2013/07/15 HTML / CSS
美国顶级奢侈茶:Mighty Leaf Tea(美泰茶)
2016/11/26 全球购物
日语专业推荐信
2013/11/12 职场文书
互联网创业计划书的书写步骤
2014/01/28 职场文书
《愚公移山》教学反思
2014/02/20 职场文书
人力资源经理的岗位职责范本
2014/02/28 职场文书
岗位廉洁从政承诺书
2014/03/27 职场文书
地理科学专业自荐信
2014/09/01 职场文书
上班迟到检讨书
2014/09/15 职场文书
房产协议书范本
2014/10/18 职场文书
2015年双拥工作总结
2015/04/08 职场文书
通知函的格式
2015/04/27 职场文书
2015年“世界无车日”活动方案
2015/05/06 职场文书
2016形势与政策学习心得体会
2016/01/12 职场文书
浅析Django接口版本控制
2021/06/26 Python
java泛型通配符详解
2021/07/25 Java/Android
Python实现滑雪小游戏
2021/09/25 Python
HTML基础详解(下)
2021/10/16 HTML / CSS