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批量创建迅雷任务及创建多个文件
Feb 13 Python
Python 字典与字符串的互转实例
Jan 13 Python
python 遍历列表提取下标和值的实例
Dec 25 Python
解决django服务器重启端口被占用的问题
Jul 26 Python
Python调用Windows API函数编写录音机和音乐播放器功能
Jan 05 Python
python对数组进行排序,并输出排序后对应的索引值方式
Feb 28 Python
浅谈SciPy中的optimize.minimize实现受限优化问题
Feb 29 Python
keras使用Sequence类调用大规模数据集进行训练的实现
Jun 22 Python
django 获取字段最大值,最新的记录操作
Aug 09 Python
python使用建议技巧分享(三)
Aug 18 Python
Python读取ini配置文件传参的简单示例
Jan 05 Python
Python中使用ipython的详细教程
Jun 22 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中的cookie
2006/11/26 PHP
thinkphp利用模型通用数据编辑添加和删除的实例代码
2016/11/20 PHP
php压缩文件夹最新版
2018/07/18 PHP
增强用户体验友好性之jquery easyui window 窗口关闭时的提示
2012/06/22 Javascript
javascript中数组的冒泡排序使用示例
2013/12/18 Javascript
关闭页面时window.location事件未执行的原因分析及解决方案
2014/09/01 Javascript
JavaScript实现的一个倒计时的类
2015/03/12 Javascript
JavaScript中创建字典对象(dictionary)实例
2015/03/31 Javascript
Jquery promise实现一张一张加载图片
2015/11/13 Javascript
JavaScript使用简单正则表达式的数据验证功能示例
2017/01/13 Javascript
js 颜色选择插件
2017/01/23 Javascript
js实现点击切换checkbox背景图片的简单实例
2017/05/08 Javascript
jQuery基于闭包实现的显示与隐藏div功能示例
2018/06/09 jQuery
vue组件间通信六种方式(总结篇)
2019/05/15 Javascript
在mpvue框架中使用Vant WeappUI组件库的注意事项【推进】
2019/06/09 Javascript
webpack的pitching loader详解
2019/09/23 Javascript
vuex实现像调用模板方法一样调用Mutations方法
2019/11/06 Javascript
Vue实现Layui的集成方法步骤
2020/04/10 Javascript
微信小程序实现身份证取景框拍摄
2020/09/09 Javascript
[02:03]永远的信仰DOTA2 中国军团历届国际邀请赛回顾
2016/06/26 DOTA
python七夕浪漫表白源码
2019/04/05 Python
python字符串反转的四种方法详解
2019/12/02 Python
Python全局变量与global关键字常见错误解决方案
2020/10/05 Python
Tory Burch美国官方网站:美国时尚生活品牌
2016/08/01 全球购物
缅甸网上购物:Shop.com.mm
2017/12/05 全球购物
摩飞电器俄罗斯官方网站:Morphy Richards俄罗斯
2020/07/30 全球购物
教师年终个人自我评价
2013/10/04 职场文书
教育局长自荐信范文
2013/12/22 职场文书
甜美蛋糕店创业计划书
2014/01/30 职场文书
审计主管岗位职责
2014/01/31 职场文书
开业典礼主持词
2014/03/21 职场文书
检察院院长群众路线教育实践活动个人整改措施
2014/10/04 职场文书
考试作弊检讨书1000字(5篇)
2014/10/19 职场文书
英语教师求职信范文
2015/03/20 职场文书
Python Django获取URL中的数据详解
2021/11/01 Python
聊聊Python String型列表求最值的问题
2022/01/18 Python