Python基于PC版微信实现机器人

github中有基于web版的微信实现的实时收发消息apipython调用起来非常简单。但是目前来说,大部分的用户没法登录web版的微信,因此也就没法使用。

今天我们介绍基于windows版的微信,实现实时收发信息。本文站在巨人的肩膀上,基于第三方提供的库,实现自动聊天机器人。效果如下:
最终效果

1 微信实时收发消息

1.1 第三方库

基于第三方pc-wechat-hook-http-api实现微信实时收发消息。

需要注意的是,此库基于3.6.0.18版本微信。下载对应版本微信后,直接覆盖安装,这样可以保留聊天记录。

如果找不到对应版本的微信,可以直接到文末获取相关连接。

1.2 开启注入dll

想要实时获取微信消息,需要劫持响应的入口。这一部分内容我们无需过多关心技术细节,只需傻瓜式点击一下即可。

从pc-wechat-hook-http-api官方地址下载到如下三个文件。
相关文件

如果pc-wechat-hook-http-api地址失效,读者可以直接到文末获取相关dll下载资源。

HPSocket4C.dll文件复制到微信目录下(例如E:\Tencent\WeChat\[3.6.0.18]

点击Daen注入器.exe文件:
Daen注入器.exe

其中:

  1. 文件目录是指微信安装路径,参考上图。
  2. DLL路径指的是DaenWxHook.dll文件的完整路径。
  3. 进程参数直接使用默认即可。其中图中8089指本地用于接收微信实时消息的http server端口。8055指的是dll开启的http server端口,发送消息时只需往这个端口post数据即可。

点击注入并启动,登录微信即可。

1.3 实时收发消息

实时收发消息官方文档:https://www.apifox.cn/apidoc/project-1222856/doc-1012539

1.3.1 接收微信消息

对于实时接收消息,简单来说,就是在本地创建一个http server,端口与进程参数一致,即默认地址为:http://localhost:8089/wechat/。我们通过使用flask库创建http server

from flask import Flask, request
import json
import requests
app = Flask(__name__)def on_rcv_chatroom_msg(from_wxid, msg):print("收到群消息")def on_rcv_p2p_txt(from_wxid, msg_txt):print("收到文本消息", from_wxid, msg_txt)@app.route('/wechat/', methods=['get', 'post'])
def wechat():data = request.stream.read()data = data.decode('utf-8')data = json.loads(data)type = data['type']if type == 'D0003':data = data['data']msg = data['msg']from_wxid = data['fromWxid']if "@chatroom" in from_wxid:on_rcv_chatroom_msg(from_wxid, msg)else:on_rcv_p2p_txt(from_wxid, msg)return ''if __name__ == '__main__':app.run(debug=True, port=8089)

1.3.2 发送微信消息

对于发送消息来说,往指定的端口(默认8055)post消息即可:

import json
import requests 
def send_msg(wxid, is_img, msg):if is_img:payload = {"type": "Q0010", "data": {"wxid": wxid, "path": msg}}else:payload = {"type": "Q0001", "data": {"wxid": wxid, "msg": msg}}headers = {'User-Agent': 'apifox/1.0.0 (https://www.apifox.cn)','Content-Type': 'application/json'}# 请求urlurl = 'http://127.0.0.1:8055/DaenWxHook/client/'# 请求参数# 调用postresponse = requests.post(url, json=payload,headers=headers)  # response 响应对象# 获取响应状态码print('状态码:', response.status_code)# 获取响应头print('响应头信息:', response.headers)# 获取响应正文print('响应正文:', response.text)def send_txt_msg(wxid, txt):send_msg(wxid, False, txt)def send_img_msg(wxid, img_path):send_msg(wxid, True, img_path)

如上,分别实现了发送文本消息与图片消息函数。

2 自动聊天机器人

聊天机器人我们同样站在巨人肩膀上,使用青云客提供的api,实现自动对话。需要注意的是,青云客的机器人是女性,且名称为菲菲,如果想自定义名称,我们直接将回复的文本中的菲菲替换成自定义的名称即可,实现代码如下:

def talk_with_robot(msg, robot_name=None):url = 'http://api.qingyunke.com/api.php?key=free&appid=0&msg={}'.format(urllib.parse.quote(msg))html = requests.get(url)rt = html.json()["content"]rt = rt.replace("{br}","\n")if robot_name is not None:rt = rt.replace("菲菲", robot_name)return rt

3 资源获取

  1. 3.6.0.18版微信安装包】 关注公众号:Python学习实战,回复:36018
  2. 【Daen注入器相关dll文件】 关注公众号:Python学习实战,回复:daen
  3. 【完整源码获取】关注公众号:Python学习实战,回复:robot

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/21539.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python实现微信机器人——itchat库

itchat是一个开源的微信个人号接口,可以使用该库进行微信网页版中的所有操作,比如:所有好友、添加好友、拉好友群聊、微信机器人等等。详细用户请看文档介绍,在这里。 本文主要使用该库完成一个能够处理微信消息的的图灵器人&…

自己动手实现4大免费聊天机器人:小冰、图灵、腾讯、青云客

完整源代码(以及.py下载链接)见最后! 聊天机器人(Chatterbot)是经由对话或文字进行交谈的计算机程序。能够模拟人类对话,通过图灵测试,如Siri、小爱同学、微软小冰等。 本教程将教你用Python实现…

微信公众号接入微软小冰

前言 文章首发于微信公众号:前端指南。本文是一篇有点偏向于运营层面的技术类文章,文章略长,请耐心阅读。 也就是最近这几年,人工智能行业已经变得十分的火热了。不可否认,人工智能是整个互联网行业的一种趋势&#xf…

chrome 调试之 - 给微软小冰看病(无论给小冰发送什么内容都只回复“我已经开始升级啦,期待一下吧!”)

微软 Bing 搜索推出了小冰AI智能聊天模块,具体启用方式是用edge或chrome浏览器打开链接 cn.bing.com 后在输入框搜索任意内容,待搜索结果页面加载完并稍等片刻,页面右侧就会出现一个躲在滚动条后面的小萝莉,抚摸...不,…

微软小冰智能聊天是如何实现的

微软小冰智能聊天是如何实现的? 官网介绍:微软小冰 虽然知道小冰的智能回复背后,应该是微软庞大的数据库。 但作为大二的学生,对这方面不是很了解,期待能得到答复。谢谢。 关注者 1,033 被浏览 112,398 关注问题 写回答…

微软小冰推出“虚拟版”微信!比原版更好玩

来源:雷科技 提起AI,大伙的脑海里会想到什么场景? 小雷知道,有些自带“污妖王”属性的小伙伴,已经浮现出AI换脸那些事儿了。 只要有足够的人脸数据,再加上足够长的时间训练,就可以把明星的脸…

【小沐学NLP】Python实现聊天机器人(微软小冰)

🍺NLP开发系列相关文章编写如下🍺:1🎈【小沐学NLP】Python实现词云图🎈2🎈【小沐学NLP】Python实现图片文字识别🎈3🎈【小沐学NLP】Python实现中文、英文分词🎈4&#x1…

微软小冰智能聊天是如何实现的?

我在知乎关于《微软小冰智能聊天是如何实现的?》做的回答 刚好做过一个类似的产品,虽然没有那么高大上,但一些核心技术原理应该也参考意义,说一下做的思路。 类似小冰这样的产品说简单也简单,说复杂也复杂。单纯从外面…

微信小冰陪聊机器人Python

一、原因 女友因为我老不回消息分手了,很郁闷。 所以想能不能实现一个陪聊机器人,如果以后还有女朋友免去痛苦,可以专心打游戏敲代码,嘿嘿嘿。(果然有这种思想的人不会有女朋友了) 二、实现 本人学习没…

微软小冰:全双工语音对话详解

讲师 | 周力 来源 | AI科技大本营在线公开课 微软小冰第六代发布会上正式宣布上线全新的共感模型,同时也开始公测一种融合了文本、全双工语音与实时视觉的新感官。这项新技术可以实时预测人类即将说出的内容,实时生成回应,并控制对话节奏&…

itchat与微软小冰的碰撞!--微软小冰接入itchat实现微信自动回复

微软小冰接入itchat实现微信自动回复 本文简介先上效果图!一、集成微软小冰制作聊天机器人原理代码监听好友信息监听小冰信息 二、定时发送消息推送与自动回复同时实现原理代码完整代码加点花的代码结语 本文简介 最近研究了一下基于python实现的itchat模块&#x…

ChatGPT 最新知识大全:工作原理,ChatGPT 是如何训练的,局限性是什么,开源 ChatGPT 替代品有哪些?

我们今天谈论的应用程序在发布后的 5 天内就突破了 100 万用户,并在 2023 年 2 月之前获得了 1 亿用户,创下了增长最快的平台记录。它在 2 月达到了 10 亿次访问,在 2023 年 3 月达到了 16 亿次访问。相比之下,Facebook需要 10 个月,Spotify需要 5 个月,Instagram需要 2 …

昇思MindSpore AI框架在知名度与使用率市场份额上处于第一梯队

2023年2月6日,行业研究机构Omdia(Informa tech集团旗下国际信息与通信技术研究机构)发布了《中国人工智能框架市场调研报告》,深入分析了中国人工智能框架市场的竞争格局,产业现状与创新趋势。Omdia通过调研发现&#…

当ChatGPT杀入学术出版领域,有人开始围堵,有人悄悄地打开大门

导读 最近,智能聊天机器人ChatGPT火到了天际。 它能够通过学习和理解人类的语言来进行对话,还能根据聊天内容的上下文进行互动,像人一样来沟通交流,甚至能完成撰写邮件、视频脚本、文案、翻译、代码等任务。 除此之外&#xff…

Sorry, you have been blocked !vultr 又被 openai 屏蔽了,只能换个 vps 了

最近有段时间没登陆 chatGPT,最近听说 chatGPT 出插件功能了,于是就想体验一下。 打开网站发现 有特么被屏蔽了。 不慌,压压惊,先看看是屏蔽了 IP 还是屏蔽了账号。 Google 一下,一个靠谱的答案是: open…

AI新时代拐点:人工智能当红炸子鸡Chatgpt

​当下,AI聊天程序ChatGPT风靡全网,因为它能够给出更合理且充满人情味的答案,引发了广泛关注。那么,ChatGPT究竟能做什么?它的背后又有什么样的故事呢?让我们一起来探索一下吧! 在我们深入了解C…

马斯克启动TruthGPT/ 星舰首飞再延期至本周四/ Adobe AI工具重磅更新...今日更多新鲜事在此...

日报君 发自 凹非寺量子位 | 公众号 QbitAI 大家好,今天是4月18日星期二,昨天,马斯克的星舰又双叒叕咕咕咕了~ 今天科技圈有哪些新鲜事儿,和日报君一起来看看~ Space X星舰发射再度推迟,周边产品已开始预售 昨日&#…

edge-tts微软文本转语音库,来听听这些语音是否很熟悉?

上期图文教程,我们分享了Azure机器学习的文本转语音的账号申请与API申请的详细步骤,也介绍了基于python3实现Azure机器学习文本转语音功能的代码实现过程,虽然我们可以使用Azure账号免费提供一年的试用期,但是毕竟是要付费的,我们的API也无法长期使用,好在微软发布了edge…

韩语学习笔记

微软韩语键盘顺序: ㅂ ㅈ ㄷ ㄱ ㅅ ㅛ ㅕ ㅑ ㅐ ㅔ ㅁ ㄴ ㅇ ㄹ ㅎ ㅗ ㅓ ㅏ ㅣ ㅋ ㅌ ㅊ ㅍ ㅠ ㅜ ㅡ 注:Shift Q ㅃ 천 리 길 도 첫 걸 음 으 로 시 작 된 다. 千里之行,始于足下。 고통 이 없으면 얻는 것도 …

无需完美,文心一言已然自证百度

ChatGPT以火箭般的速度爆红,吹皱了中国科技圈和创投界的一池春水,引得无数人蠢蠢欲动。互联网大佬自掏腰包、带资建组,科技大厂摩拳擦掌、争先恐后,创业公司也不遑多让,甚至与AI不搭边的个别企业也借势营销&#xff0c…