python实现微信机器人: 登录微信、消息接收、自动回复功能
Python  /  管理员 发布于 7年前   202
安装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实现微信机器人: 登录微信、消息接收、自动回复功能详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对站的支持!
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号
