微信机器人底层框架,可接入Gemini、ChatGPT、ChatGLM、讯飞星火、Tigerbot等大模型。WeChat Robot Hook.
Go to file
2023-03-19 10:21:02 +08:00
.github/ISSUE_TEMPLATE Update issue template 2022-11-21 00:31:53 +08:00
java/wcferry Impl getMsgTypes 2023-03-19 10:21:02 +08:00
launcher Add cli 2023-02-25 02:11:04 +08:00
python v3.7.0.30.21 2023-03-15 21:33:13 +08:00
rpc Update java package name 2023-03-17 23:45:39 +08:00
sdk Add cli 2023-02-25 02:11:04 +08:00
spy Impl SendEmotionMessage 2023-03-13 00:09:32 +08:00
wcf Add post build event 2023-02-25 18:04:40 +08:00
.editorconfig Switch to UTF-8 BOM to avoid build warning 2022-08-07 22:00:11 +08:00
.gitignore Ingore bin 2023-03-18 01:07:24 +08:00
demo.gif Add demo 2022-11-21 00:20:53 +08:00
LICENSE Add LICENSE 2022-09-15 21:22:56 +08:00
README.MD v3.7.0.30.21 2023-03-15 21:33:13 +08:00
TEQuant.jpeg Bump gRPC 2022-10-15 20:25:42 +08:00
WeChatFerry.sln Add post build event 2023-02-25 18:04:40 +08:00

WeChatFerry

一个玩微信的工具。更多介绍见:WeChatFerry: 一个玩微信的工具

目前实现的功能:

  • 检查登录状态
  • 获取登录账号的 wxid
  • 获取消息类型
  • 获取所有联系人
  • 获取所有好友
  • 获取数据库
  • 获取某数据库下的表
  • 发送文本消息(可 @
  • 发送图片
  • 发送文件
  • 发送 XML
  • 允许接收消息
  • 停止接收消息
  • 执行 SQL 查询
  • 接受好友申请
  • 添加群成员

Demo

👉 WeChatRobot一个基于WeChatFerry的Python机器人框架。

欢迎加群交流,后台回复 WeChatFerry

碲矿

快速开始

下载 最新发布的版本。根据技术栈,选择客户端,目前支持:

  • Python PyPi Downloads

gRPC 分支 支持更多客户端:

  • C/C++
  • Java
  • Node.js
  • Python

Python

  • 安装
pip install --upgrade wcferry
  • 运行

参考 README.MD

一起开发

安装开发环境

参见 A gRPC Demo

安装 vcpkg

cd C:\Tools
git clone https://github.com/microsoft/vcpkg
.\vcpkg\bootstrap-vcpkg.bat
  • 添加全局配置: 环境变量增加 vcpkg 所在路径(本文为:C:\Tools\vcpkg)。

安装相关组件

vcpkg install protobuf[zlib]:x86-windows-static
vcpkg install spdlog:x86-windows-static
vcpkg install nng:x86-windows-static
vcpkg integrate install

安装 VS2019

编译

使用 VS2019 打开工程,编译即可。

运行

双击 Release 里的 launcher.exe启动

项目结构

WeChatFerry
├── LICENSE           # LICENSE
├── README.MD         # 说明
├── TEQuant.jpeg      # 二维码,测试用图
├── WeChatFerry.sln   # VS2019 工程文件
├── demo.gif          # 示例图
├── launcher          # 图形版启动器
├── python            # Python 客户端
├── rpc               # RPC 模块
├── sdk               # 注入及启动模块
├── spy               # 核心功能实现模块
└── wcf               # 命令行版启动器

launcher

图形启动器,调用 sdkspy 注入微信。其他客户端可通过 RPC 连接到 spy 进行消息传递。监听的地址为 tcp://0.0.0.0:10086tcp://0.0.0.0:10087

python

Python 客户端。

rpc

RPC 的通信部分和序列化 / 反序列化部分。

sdk

负责将 spy 注入微信进程,并启动 RPC 服务。

spy

间谍模块,注入到微信中,通过 RPC 做消息转发工作。

wcf

launcher 类似,命令行版启动器。

版本更新

v3.7.0.30.212023.03.15

  • 发送表情

v3.7.0.30.202023.03.12

修复 wxid 获取问题。

v3.7.0.30.192023.03.06

修复重复消息问题。

v3.7.0.30.182023.03.05

修复添加好友问题。

v3.7.0.30.172023.03.05

修复获取登录账号 wxid 问题。

v3.7.0.30.162023.03.04

将错误码改成错误消息,方便调试。

v3.7.0.30.152023.03.01

  • 发送 xml

v3.7.0.30.142023.02.28

  • 添加群成员

v3.7.0.30.132023.02.27

去除 gRPC 框架,自定义更轻量的 RPC 轮子 nnprc

v3.7.0.30.122023.01.20

  • 更新 Python 客户端
  • 修改监听地址为 0.0.0.0:10086
  • 增加 Launcher,直接注入 spy

v3.7.0.30.112022.10.19

更新 Python 客户端。

v3.7.0.30-gRPC-22022.10.18

增加 Java 客户端。

v3.7.0.30-gRPC-12022.10.16

将 RPC 框架切换为 gRPC

v3.7.0.30-82022.09.25

  • 获取登录账号微信 ID

v3.7.0.30-72022.09.24

修复群聊有系统消息时会崩溃 bug。后续考虑把消息来源交还给客户端自己区别。

v3.7.0.30-62022.08.21

  • 通过好友验证

v3.7.0.30-52022.08.20

  • 执行 SQL 语句

v3.7.0.30-42022.08.20

修复群消息 @人 功能。有几点注意事项:

  1. vAtWxids 是要 @wxid 清单,以 , 分隔。
  2. 只有群主才能 @所有人,非群主硬发 @所有人 会导致消息发不出去;@所有人 对应 vAtWxids"notify@all"
  3. 消息体里 @ 的数量必须与 vAtWxids 里的数量一致,否则消息能发出但 @ 功能失效。

v3.7.0.30-32022.08.20

修复可重入 bug。

v3.7.0.30-22022.08.14

优化 Hook 和 Inject 代码,实现可重入。

v3.7.0.30-12022.08.12

适配微信 3.7.0.30

v3.7.0.29-32022.08.7

  • 查询数据库,获取库、表。

v3.7.0.29-22022.08.7

优化 RPC。

v3.7.0.29-12022.08.7

适配微信 3.7.0.29

v3.3.0.115-32021.08.28

适配微信 3.3.0.115,新增功能:

  • 获取所有联系人

v3.3.0.115-22021.08.22

适配微信 3.3.0.115,新增功能:

  • 发送图片消息

v3.3.0.115-12021.08.22

适配微信 3.3.0.115

v3.0.0.57-12021.02.12

适配微信 3.0.0.57,支持功能:

  • 登录状态判断
  • 接收文本消息
  • 发送文本消息