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实现微信机器人: 登录微信、消息接收、自动回复功能详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
相关推荐
-
python微信公众号之关键词自动回复
最近忙国赛的一个项目,我得做一个微信公众号.功能就是调数据并回复给用户,需要用户发送给公众号一个关键词,通过关键词自动回复消息. 这时就是查询微信公众平台文档了,地址如下: 文档 按照它的入门指南,我基本上了解了用户给公众号发送消息的一个机制,并且一旦给公众号发送消息,在开发者后台,会收到公众平台发送的一个xml,所以通过编写Python脚本进行xml的解析与自动发送功能. 如果用户给公众号发送一段text消息,比如"hello",那么后台就会收到一个xml为: <xml>
-
python实现微信小程序自动回复
本文是使用Python的itchat模块进行微信私聊消息以及群消息的自动回复功能,必须在自己的微信中添加微信号xiaoice-ms(微软的微信机器人)才能实现,直接复制代码运行之后扫一扫二维码即可,经过测试,该程序能够保持几小时的时间. 实现原理,将别人发送给你的消息转发给AI小冰,然后再将AI的回复转回给那个人. 群消息也是如此,此外还添加了新年问候语,是否与他人进行AI聊天等功能.不过只能实现文本消息以及微信自带表情的转发,不能转发表情.语音等. # -*-coding:utf-8-*- i
-
python itchat实现微信自动回复的示例代码
今天在实验楼发现一个特别好玩的,Python 微信库itchat,可以实现自动回复等多种功能,好玩到根本停不下来啊,尤其是调戏调戏不懂计算机的,特别有成就感,哈哈!! 代码如下: #coding=utf8 import requests import itchat KEY = '8edce3ce905a4c1dbb965e6b35c3834d' def get_response(msg): apiUrl = 'http://www.tuling123.com/openapi/api' data
-
利用python微信库itchat实现微信自动回复功能
前言 在论坛上看到了用Python登录微信并实现自动签到,才了解到一个新的Python库: itchat 利用Python 微信库itchat,可以实现自动回复等多种功能,好玩到根本停不下来啊,尤其是调戏调戏不懂计算机的,特别有成就感,哈哈!! 代码如下: #coding=utf8 import requests import itchat KEY = '8edce3ce905a4c1dbb965e6b35c3834d' def get_response(msg): apiUrl = 'http
-
python实现人人自动回复、抢沙发功能
最近人人上看到有好友总是使用软件抢沙发,便决定用Python也写一个玩玩 一.状态回复表单POST 同样使用chrome开发者工具抓包 红色选择选中部分为必须提交的部分 提交表单的内容 postdata = { 'c': content, #1 你要评论的内容 'owner': owner, #2 该状态的所有者ID 'source': source, #3 该状态的ID 't': 3, #4 这条不用修改 'requestToken': xxx, #5 上图选中部分 '_rtk': 'xxx'
-
python实现微信自动回复功能
本文实例为大家分享了python实现微信自动回复的具体代码,供大家参考,具体内容如下 新年到了,不想让一早上给你发送祝福的人心里一阵寒风,可以秒回复对方的话,试试下面的python程序可以帮你解决这个问题. 预装: python2.x或3.x pycharm pip install itchat pillow 桌面新建一个文件我们叫做newYear.py文件 打开它,用刚刚下载好的pyCharm软件 将下面的代码复制过去: # encoding = utf8 import itchat,time
-
10分钟教你用Python实现微信自动回复功能
01 前言&&效果展示 相信大家都有忙碌的时候,不可能一直守在微信上及时回复消息.但微信又不能像QQ一样设置自动回复.无妨,今天,我们就来用Python实现微信的自动回复功能吧,并且把接收到的消息统一发送到文件助手里面,方便统一查看. 效果如下: 02 环境准备 Python版本:3.6.0 系统平台:Windows 10 X64 IDE:pycharm 相关模块: time模块: itchat模块: 以及一些Python自带的模块. 03 实现原理 其实原理很简单,主要是利用itcha
-
JAVA实现 SpringMVC方式的微信接入、实现简单的自动回复功能
前端时间小忙了一阵,微信公众号的开发,从零开始看文档,踩了不少坑,也算是熬过来了,最近考虑做一些总结,方便以后再开发的时候回顾,也给正在做相关项目的同学做个参考. 其实做过一遍之后会发现也不难,大致思路:用户消息和开发者需要的事件推送都会通过微信方服务器发起一个请求,转发到你在公众平台配置的服务器url地址,微信方将带上signature,timestamp,nonce,echostr四个参数,我们自己服务器通过拼接公众平台配置的token,以及传上来的timestamp,nonce进行SHA1
-
Python udp网络程序实现发送、接收数据功能示例
本文实例讲述了Python udp网络程序实现发送.接收数据功能.分享给大家供大家参考,具体如下: 1. udp网络程序-发送数据 创建一个基于udp的网络程序流程很简单,具体步骤如下: 创建客户端套接字 发送/接收数据 关闭套接字 代码如下: #coding=utf-8 from socket import * # 1. 创建udp套接字 udp_socket = socket(AF_INET, SOCK_DGRAM) # 2. 准备接收方的地址 # '192.168.1.103'表示目的ip
-
微信小程序在线客服自动回复功能(基于node)
前言 我们知道H5页面经常需要将用户导流到APP,通过下载安装包或者跳转至应用宝市场/Appstore等方式进行导流.但是由于小程序嵌套webview时需要校验域名,因此跳转到第三方应用市场和Appstroe无法实现导流.那怎么办呢? 只能说道高一尺魔高一丈,看看微博小程序是怎么导流的: 曲线救国的方式,利用小程序的在线功能可以打开H5的方式,去进行下载引导. 于是,就引出了这次文档的主题,小程序在线客服自动回复功能. 阅读本文档之前,最好已经了解过小程序客服信息官方的相关文档: 客服消息使用指
-
基于Python的微信机器人开发 微信登录和获取好友列表实现解析
首先需要安装itchat库,可以pip install itchat安装,也可以在pycharm里安装 # -*- coding:utf-8 -*- __author__ = "MuT6 Sch01aR" import itchat def get_friends(): friends = itchat.get_friends(update=True) #获取微信好友列表,如果设置update=True将从服务器刷新列表 for i in friends: print(i) def m
-
基于Taro的微信小程序模板消息-获取formId功能模块封装实践
前言 在微信小程序中,小程序提供了一种能力-模板消息,官方文档是这样描述的:"基于微信的通知渠道,我们为开发者提供了可以高效触达用户的模板消息能力,以便实现服务的闭环并提供更佳的体验." 看图说话: 下发模板消息效果图 这无疑又给小程序提供了与用户进行通知.反馈的新能力,但是小程序为了防止模板消息对用户造成信息轰炸,影响用户体验,也设置了一些规矩: 模板推送位置:服务通知 模板下发条件:用户本人在微信体系内与页面有交互行为后触发 模板跳转能力:点击查看详情仅能跳转下发模板的该帐号的各个
-
Python实现企业微信机器人每天定时发消息实例
1.背景 由于办公需要"每天定时推送某消息用来提醒群里面所有人",于是决定用企业微信自带的机器人来实现此功能.具体方法我来一一讲述. 2.企业微信API 具体见官网说明:https://work.weixin.qq.com/help?person_id=1&doc_id=13376 3.想法 想到几种方式: 直接写个sh脚本,并用linux定时器执行此脚本就可以了.这种方式简单实用,不过缺点就是修改起来稍微麻烦一点写个Qt/VS客户端程序,做好页面和每天想推送的内容,还是有点麻
-
如何用Python做一个微信机器人自动拉群
引言 微信群的用户添加逻辑是 -- 当群人数达到100人后,用户无法再通过扫描群二维码加入,只能让用户先添加群内联系人微信,再由联系人把用户拉进来.这样,联系人员的私人微信会添加大量陌生人,给其带来不必要的打扰,而且纯人工操作,也容易出现纰漏. 那么,是否可以通过代码,做一个自动拉群机器人呢? 由微信机器人来实现自动加群功能,一劳永逸解决人工拉群的麻烦. 当然可以.西秦公子 就用Python 创造了一个微信自动拉群机器人,并把它部署运行在UCloud云平台上. 现在,他把机器人构建过程及代码 都
-
python实现微信机器人: 登录微信、消息接收、自动回复功能
安装wxpy pip install -U wxpy 登录微信 # 导入模块 from wxpy import * # 初始化机器人,扫码登陆 bot = Bot() 运行以上代码,会生成一个二维码,通过图片扫描二维码即可登录微信. 如果是在服务器上运行代码,无法显示图片的时候, 可以选择通过终端显示二维码图片, 只需要将代码改成: from wxpy import * bot = Bot(console_qr=True) 运行的效果如下: 当然,为了安全,这个二维码做了模糊处理 如果你认为每次
-
Python微信企业号开发之回调模式接收微信端客户端发送消息及被动返回消息示例
本文实例讲述了Python微信企业号开发之回调模式接收微信端客户端发送消息及被动返回消息.分享给大家供大家参考,具体如下: 说明:此代码用于接收手机微信端发送的消息 #-*- coding:utf-8 -*- from flask import Flask,request from WXBizMsgCrypt import WXBizMsgCrypt import xml.etree.cElementTree as ET import sys app = Flask(__name__) @app
-
Python开发企业微信机器人每天定时发消息实例
由于办公需要"每天定时推送某消息用来提醒群里面所有人",有同事提议用企业微信自带的机器人来实现此功能.我觉得企业微信的这个工具还不错,具体使用方法我来一一讲述. 企业微信API 具体见官网说明:https://work.weixin.qq.com/help?person_id=1&doc_id= 企业微信机器人开发思路 想到几种方式: 直接写个sh脚本,并用linux定时器执行此脚本就可以了.这种方式简单实用,不过缺点就是修改起来稍微麻烦一点 写个Qt/VS客户端程序,做好页面
随机推荐
- javascript之IE版本检测超简单方法
- Java 关键字 volatile 的理解与正确使用
- httpclient重定向之后获取网址信息示例
- asp.net mvc3.0安装失败如何解决
- asp.net+js实现批量编码与解码的方法
- SQL为查询的结果加上序号(ROW_NUMBER) 合并多个查询结果
- vbs或asp采集文章时网页编码问题
- jsp+ajax实现的局部刷新较验验证码(onblur事件触发较验)
- php实现上传图片生成缩略图示例
- Javascript实现苹果悬浮虚拟按钮
- php实现常用文件上传类的示例
- 区分IE6,IE7,firefox的CSS hack
- Mongodb自增id实现方法
- 自适应图片大小的弹出窗口
- JS 获取鼠标左右键的键值方法
- javascript内置对象arguments详解
- apache启用gzip压缩的实现方法
- 实例详解Linux下的Make命令
- 第三方开源Android TickPlusDrawable状态可以通过动画切换的按钮
- 基于Socket.IO实现Android聊天功能代码示例