python微信消息模拟请求(python实现微信机器人: 登录微信、消息接收、自动回复功能)
类别:脚本大全 浏览量:482
时间:2021-10-10 00:43:07 python微信消息模拟请求
python实现微信机器人: 登录微信、消息接收、自动回复功能安装wxpy
pip install -u wxpy
登录微信
|
# 导入模块 from wxpy import * # 初始化机器人,扫码登陆 bot = bot() |
运行以上代码,会生成一个二维码,通过图片扫描二维码即可登录微信。
如果是在服务器上运行代码,无法显示图片的时候, 可以选择通过终端显示二维码图片, 只需要将代码改成:
|
from wxpy import * bot = bot(console_qr = true) |
运行的效果如下:
当然,为了安全,这个二维码做了模糊处理
如果你认为每次都需要扫描二维码很麻烦,可以启用缓存,来保存自己的登录状态:
|
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实现微信机器人: 登录微信、消息接收、自动回复功能详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对开心学习网网站的支持!
原文链接:https://blog.csdn.net/harleylau/article/details/80271660
您可能感兴趣
- python表白神器教程(python浪漫表白源码)
- python ip代理池(Python 实现域名解析为ip的方法)
- pythonssh登录服务器(对python 通过ssh访问数据库的实例详解)
- python如何遍历一个列表(说说如何遍历Python列表的方法示例)
- pythonfor循环如何遍历嵌套列表(在Python中,不用while和for循环遍历列表的实例)
- python对象创建流程(Python3.5面向对象与继承图文实例详解)
- python装饰器使用说明(详解Python装饰器)
- python教程列表排序(Python一行代码实现快速排序的方法)
- 用python简单实现登录功能(使用python的pexpect模块,实现远程免密登录的示例)
- python socket 库(Pythony运维入门之Socket网络编程详解)
- python数据结构全攻略(详解python数据结构和算法)
- python设置按钮(Python按钮的响应事件详解)
- python中的类和对象的定义和使用(Python类的继承、多态及获取对象信息操作详解)
- python栈和队列(Python 实现数据结构中的栈队列)
- python爬虫音乐代码(详解python selenium 爬取网易云音乐歌单名)
- python2.7中logging的使用方式(Python中使用logging和traceback模块记录日志和跟踪异常)
- 北京旅游攻略(北京旅游攻略5日游及其花费)
- 四川旅游攻略(四川旅游攻略自由行攻略)
- 上海迪士尼攻略(上海迪士尼攻略旅游)
- 哪里可以看熊猫(成都哪里可以看熊猫)
- oppo手机的三种录屏方法,你知道有哪些吗(oppo手机的三种录屏方法)
- 吉林神秘传染链跨省 传染源尚未找到,舒兰 封城(吉林神秘传染链跨省)
热门推荐
- 宝塔面板使用外部数据库(宝塔面板负载状态load average中的数据代表了什么?)
- nginx过滤器漏洞(Nginx反爬虫策略,防止UA抓取网站)
- html5+canvas动画(解析html5 canvas实现背景鼠标连线动态效果代码)
- dedecms迁移data验证码不显示(dedecms织梦上传图片302Error错误的解决方法)
- python调用elasticsearch(Python-ElasticSearch搜索查询的讲解)
- python将一个字符串逆序输出(Python字符串逆序的实现方法一题多解)
- php创建文件(php创建多级目录与级联删除文件的方法示例)
- mysql对null值如何理解(MySQL为Null会导致5个问题个个致命)
- mysql事务未提交会锁表吗(Mysql事务中Update是否会锁表?)
- js中数组的操作
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9