用 py 写了一个简单的 wechat robot

查看 108|回复 7
作者:gitxuzan   
wechat_robot
WeChat 机器人,python + websocket + go 实现
项目地址 : [https://github.com/Xuzan9396/wechat_robot] ( https://github.com/Xuzan9396/wechat_robot)
步骤
[ol]

  • 系统准备: 准备 Windows 系统,可以选择腾讯云服务器,或者 win10 。

  • 微信版本要求:
  • 使用微信版本 3.7.0.30 。
  • 设置微信不要自动更新。
  • 打开微信,登录到你自己的账号。


    3.7.0.30 版本下载地址: 下载地址

  • 启动机器人: 可以使用 Python 启动或直接运行 GUI 程序。

  • Python 启动:
    pip install -r requirements.txt
    python main.py

  • 也可以自己打包 gui

  • 打包命令
    pyinstaller -F -w --icon=ui/img/wechat.ico main.py

  • 或者使用我打包好的,在项目 wechat_gui 目录可以测试,GUI 程序启动:
    wechat_gui.exe

  • WebSocket 通信配置: GUI 页面是通过 WebSocket 协议传输。
  • WebSocket 端口
  • WebSocket 认证: 默认认证规则,会在你的头部添加 Authorization: Bearer
  • WebSocket Path 认证: 默认路径为 /

  • WebSocket 客户端测试: 可以打开 WebSocket 客户端进行测试,例如发送一条消息,WebSocket 协议如下:
    {
      "action": "SendText",
      "params": {
        "receiver": "filehelper",
        "msg": "消息发送到文件夹了,请查收"
      }
    }

  • 简单的 WebSocket 客户端测试: 使用 Go 编写的简单 WebSocket 客户端进行测试,在 ws_client_go 目录下,或者运行打包的程序
    [/ol]
    有 golang 环境的可以直接运行
    go run ws_client.go  -addr="你的服务器地址" -wxid="没有就不需要填写" -ws_auth="你的 ws 服务器认证信息" -ws_path="你的 ws 服务器路径,默认 /"
    例如:
    go run ws_client.go  -addr="xxx.xxx.xxx.xxx:port" -wxid="wxid_xxxxxxxx" -ws_auth="auth123" -ws_path="/"
    windows 系统 cmd 运行
    .\ws_client.exe -addr="你的服务器地址" -wxid="没有就不需要填写" -ws_auth="你的 ws 服务器认证信息" -ws_path="你的 ws 服务器路径,默认 /"
    mac 系统 arm 架构的
    .\ws_client_darwin_arm64  -addr="你的服务器地址" -wxid="没有就不需要填写" -ws_auth="你的 ws 服务器认证信息" -ws_path="你的 ws 服务器路径,默认 /"
    mac 系统 amd64 架构的
    .\ws_client_darwin_amd64 -addr="你的服务器地址" -wxid="没有就不需要填写" -ws_auth="你的 ws 服务器认证信息" -ws_path="你的 ws 服务器路径,默认 /"
  • -addr : 你的服务器 ip 地址,如果是本地就输入 127.0.0.1:xxxx
  • path: /
  • -ws_auth: 你的 token,gui 界面的 token
  • wxid: 没有就为空

    演示

    其他
    除了发消息,还有其他功能,有需求的去看源码吧

    WebSocket, 服务器, wxid, ws_auth

  • npe   
    这个是什么协议? 新微信号能接入吗?
    dji38838c   
    会被封号吧?
    微信恶心的很,很容易封号
    gitxuzan
    OP
      
    wechat hook 实现的,我自己用来当做机器人做通知用处
    gitxuzan
    OP
      
    @dji38838c hook 注入的还好,我登录了 1 个多月,挺稳定的
    z1829909   
    hi 你好, 请问 hook 部分是什么语言实现的
    gitxuzan
    OP
      
    @z1829909 c++
    hiyoi   
    关键的 CWeChatRobot.exe 没开源这谁敢用啊?
    您需要登录后才可以回帖 登录 | 立即注册

    返回顶部