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程序
Apr 04 Python
python 基础学习第二弹 类属性和实例属性
Aug 27 Python
天翼开放平台免费短信验证码接口使用实例
Dec 18 Python
Python SqlAlchemy动态添加数据表字段实例解析
Feb 07 Python
Python + selenium自动化环境搭建的完整步骤
May 19 Python
Python多进程原理与用法分析
Aug 21 Python
Python 使用Numpy对矩阵进行转置的方法
Jan 28 Python
Python JSON格式数据的提取和保存的实现
Mar 22 Python
如何在Python中实现goto语句的方法
May 18 Python
在 Python 中接管键盘中断信号的实现方法
Feb 04 Python
如何在sublime编辑器中安装python
May 20 Python
Python必备技巧之函数的使用详解
Apr 04 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
PHP4 与 MySQL 交互使用
2006/10/09 PHP
LotusPhp笔记之:Logger组件的使用方法
2013/05/06 PHP
php+Mysqli利用事务处理转账问题实例
2015/02/11 PHP
javascript 四则运算精度修正函数代码
2010/05/31 Javascript
更换select下拉菜单背景样式的实现代码
2011/12/20 Javascript
JavaScript中的变量声明早于赋值分析
2012/03/01 Javascript
jQuery中scrollTop()方法用法实例
2015/01/16 Javascript
javaScript的函数对象的声明详解
2015/02/06 Javascript
C#中使用迭代器处理等待任务
2015/07/13 Javascript
关于验证码在IE中不刷新的快速解决方法
2016/09/23 Javascript
Vue自定义指令拖拽功能示例
2017/02/17 Javascript
jQuery中map函数的两种方式
2017/04/07 jQuery
详解angular element()方法使用
2017/04/08 Javascript
JavaScript中如何判断一个值的类型
2017/09/15 Javascript
javascript匿名函数中的'return function()'作用
2018/10/15 Javascript
vue 2.5.1 源码学习 之Vue.extend 和 data的合并策略
2019/06/04 Javascript
学前端,css与javascript重难点浅析
2020/06/11 Javascript
使用Python的Tornado框架实现一个一对一聊天的程序
2015/04/25 Python
python判断给定的字符串是否是有效日期的方法
2015/05/13 Python
python制作一个桌面便签软件
2015/08/09 Python
基于python 处理中文路径的终极解决方法
2018/04/12 Python
利用python如何处理nc数据详解
2018/05/23 Python
pandas 选择某几列的方法
2018/07/03 Python
详解python 注释、变量、类型
2018/08/10 Python
基于django传递数据到后端的例子
2019/08/16 Python
巴西家用小家电购物网站:Polishop
2016/08/07 全球购物
三只松鼠官方旗舰店:全网坚果销售第1
2017/11/25 全球购物
西班牙在线光学:Visual-Click
2020/06/22 全球购物
C# .NET面试题
2015/11/28 面试题
护士在校生自荐信
2014/02/01 职场文书
珍惜时间演讲稿
2014/05/14 职场文书
大学生学雷锋活动总结
2014/06/26 职场文书
幼儿园园长新年寄语2015
2014/12/08 职场文书
高中生综合素质评价范文
2015/08/18 职场文书
2016高校自主招生自荐信范文
2016/01/28 职场文书
适合毕业生创业的项目怎么找?
2019/08/08 职场文书