itchat 不能用,微信自动回复如何实现?用 WechatPCAPI 就可以!
发布日期:2021-06-30 11:42:42
浏览次数:2
分类:技术文章
本文共 1659 字,大约阅读时间需要 5 分钟。
在之前的文章 中,我们使用 WechatPCAPI 做了获取微信好友信息以及查看撤回消息,本文我们再使用 WechatPCAPI 来实现微信自动回复的功能。实现自动回复的功能,我们需要用到图灵机器人,网址为:http://www.turingapi.com
,我们在浏览器中输入上述网址打开,之后点击注册/登录
按钮,如下图所示:
立即注册
,就跳转到了注册页,如下图所示: 我们先填写必填信息,填写完之后点击注册
按钮即可,注册成功之后便跳到了机器人管理页面,如下所示: 我们点击创建机器人
按钮跳转到如下页面: 我们填写完相应信息之后点创建
按钮,之后会跳转到机器人设置页面,如下图所示: 我们需要记录下 apikey
。 有了 apikey
,我们就可以实现自动回复功能了,实现代码如下所示:
import time, logging, random, requestsfrom queue import Queuefrom WechatPCAPI import WechatPCAPIlogging.basicConfig(level=logging.INFO)queue_recved_event = Queue()def on_message(msg): queue_recved_event.put(msg)# 机器人返回消息def reply_msg(receive_msg): apikey = '自己的apikey' apiurl = 'http://www.tuling123.com/openapi/api?key=%s&info=%s' % (apikey, receive_msg) result = requests.get(apiurl) result.encoding = 'utf-8' data = result.json() return data['text']def login(): pre_msg = '' # 初始化微信实例 wx_inst = WechatPCAPI(on_message=on_message, log=logging) # 启动微信 wx_inst.start_wechat(block=True) # 等待登陆成功,此时需要人为扫码登录微信 while not wx_inst.get_myself(): time.sleep(5) print('登陆成功') while True: msg = queue_recved_event.get() if 'msg::single' in msg.get('type'): data = msg.get('data') if data.get('is_recv', False): msgfrominfo = data.get('msgfrominfo') if msgfrominfo is not None: wx_id = msgfrominfo.get('wx_id') if wx_id != 'weixin': receive_msg =str(data.get('msgcontent')) reply = reply_msg(receive_msg) wx_inst.send_text(to_user=wx_id, msg=reply)
看一下实现效果:
作者:程序员野客
公号:Python小二 链接:
转载地址:https://ityard.blog.csdn.net/article/details/106299005 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
留言是一种美德,欢迎回访!
[***.207.175.100]2024年04月16日 11时48分46秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
数据源管理(七)
2019-04-30
数据源管理(八)
2019-04-30
分布式服务与库表设计
2019-04-30
Css布局口诀
2019-04-30
超详细常用css布局
2019-04-30
css 各种常见布局整理
2019-04-30
CSS布局大全
2019-04-30
C++读取配置文件代码
2019-04-30
数据库SQL优化大总结之 百万级数据库优化方案
2019-04-30
数据库性能优化一:数据库自身优化(大数据量)
2019-04-30
MYSQL数据库语句优化
2019-04-30
Modbus通讯两种传输方式
2019-04-30
关于TCP/IOCP构架中出现的Socket假死连接解决方案
2019-04-30
UDP Socket客服示例
2019-04-30
十大滤波算法程序大全(精心整理版) - C++
2019-04-30
60个非常实用的CSS代码
2019-04-30
Oracle在存储过程中如何返回结果集
2019-04-30
oracle如何解决锁表问题
2019-04-30
Oracle内连接和外连接(转)(多种写法)
2019-04-30
4.日期推算处理
2019-04-30