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

这篇具有很好参考价值的文章主要介绍了Python基于PC版微信实现机器人。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

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

1 微信实时收发消息

1.1 第三方库

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

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

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

1.2 开启注入dll

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

从pc-wechat-hook-http-api官方地址下载到如下三个文件。
Python基于PC版微信实现机器人

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

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

点击Daen注入器.exe文件:
Python基于PC版微信实现机器人

其中:

  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'
    }
    # 请求url
    url = 'http://127.0.0.1:8055/DaenWxHook/client/'
    # 请求参数

    # 调用post
    response = 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,实现自动对话。需要注意的是,青云客的机器人是女性,且名称为菲菲,如果想自定义名称,我们直接将回复的文本中的菲菲替换成自定义的名称即可,实现代码如下:文章来源地址https://www.toymoban.com/news/detail-416122.html

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

到了这里,关于Python基于PC版微信实现机器人的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 17行代码用python对接openai的api实现chatgpt微信对话机器人

    itchat python依赖下载 这里推荐这个。链接:衡天云

    2024年02月01日
    浏览(46)
  • 【转载】基于Python+深度学习+神经网络实现高度可用的生活垃圾分类机器人程序

    设计一个基于深度学习的生活垃圾分类机器人软件系统,针对现实社会中产生的垃圾照片进行自动识别分类,对不同类别的垃圾,干垃圾,湿垃圾,可回收垃圾,有害垃圾等进行分类统计处理,减轻人工针对垃圾分类的工作量,提高垃圾分类的效率。 原文地址 本基于深度学

    2024年02月12日
    浏览(37)
  • 微信公众号对接ChatGPT-实现基于自己知识库的机器人功能-并且可以人工接入进行回复的客服系统...

    现在很多教程有介绍如何把chatGPT对接到自己的公众号上,利用公众号的自动回复接口功能,实现用户在公众号与chatGPT进行交互。 而我实现的功能比上面的要高级很多 首先,用户在公众号端发送咨询消息,可以得到自动回复,并且这个回复是基于我自己的知识库回答的 然后

    2024年02月16日
    浏览(72)
  • 基于ChatGPT的企业微信机器人

    登录OpenAI的账号后,再点击右上角的“Personal”图标,然后点击“view API keys”进入API页面。 点击“create new secret key”按钮。 生成秘钥之后,把秘钥复制下来。 根目录下的config-template.json文件是配置文件的模板,复制该模板,修改复制的文件名为:config.json 打开刚才复制的c

    2024年02月13日
    浏览(31)
  • python微信机器人制作教程+源码

    大多数人无法登录网页版,所以饶过它模拟电脑登录,这个模块一定记得安装: python微信机器人 b站:川川菜鸟 前面qq机器人教程也在b站有,关注一下博主吧。 比如给文件传输助手发送消息,并实时监控,代码: 效果如下: 比如要自动给张三发送消息,代码如下: 效果:

    2024年02月13日
    浏览(29)
  • 使用Python做一个微信机器人

    实现代码和pip安装: https://blog.csdn.net/Qwertyuiop2016/article/details/135076957 简介 该程序将微信的内部功能提取出来,然后在程序里加载Python,接着将这些功能导出成库函数,就可以在Python里使用这些函数 程序启动的时候会执行py_code目录下的main.py,类似于你在命令行使用 python main

    2024年02月07日
    浏览(27)
  • 【微信加人自动化】RPA机器人:人人都会实现的机器人

    用上这个机器人,一定要心平气和,不要放肆,单号忍住控制在+15个人以内(但悄悄的告诉你,可以切换账号呀) 这个加人机器人,人人都可以通过学习自己动手实现,不再局限于遥不可及的“黑科技”技术。 在这个数字化飞速发展的时代,微信已经成为我们日常生活和工

    2024年04月15日
    浏览(40)
  • 微信自动回复客服(机器人)实现

    **功能诉求:**能设置个人消息回复,群消息回复的机器人: **技术实现:**通过易语言+python实现pc端,手机端的微信等机器人回复功能 配置微信自动回复功能支持三种方式:1,精准匹配;2、AI人工机器人接入;3.默认回复; 回复内容可以建设多套备用方案,用户可以

    2024年02月11日
    浏览(38)
  • python机器人编程——用python实现一个写字机器人

    本篇我们构建一个可以跟人一样写字的机器人python软件。实现如下功能:打开一个写字板,人类在屏幕上写或画出任意形状,机器人同步在纸面上画出和人类一样的形状,就好像人类在远程操控机械臂,又或是机械臂是人的另一只手。这个软件是可以扩展的,如果连上互联网

    2024年02月05日
    浏览(34)
  • 企业微信群:机器人实现定时提醒功能

    如果每天都需要,或者经常需要提醒企业微信群里面的人做某一件事情的话,靠人力去实现比较费力,而且偶尔忘记。 正好,企业微信群有一个机器人,正可以实现这一功能。 1、首先,在企业微信群,添加一个机器人。 2、根据企业微信机器人的配置说明,编写程序。这里

    2024年02月16日
    浏览(95)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包