WeChatFerry

项目介绍
~~WeChatFerry HTTP 客户端~~
WeChatFerry Python 客户端
🤖示例机器人框架:WeChatRobot。
快速开始
pip install --upgrade wcferry
Demo:
参考 WeChatRobot 和上面的文档。
后台回复 |
如果你觉得有用 |
一起开发
配置环境
# 创建虚拟环境
python -m venv .env
# 激活虚拟环境
source .env/Scripts/activate
# 升级 pip
pip install --upgrade pip
# 安装依赖包
pip install grpcio-tools pynng
重新生成 PB 文件
# CMD
cd clients\python\wcferry
python -m grpc_tools.protoc --python_out=. --proto_path=..\..\..\WeChatFerry\rpc\proto\ wcf.proto
# GitBash
cd clients/python/wcferry
python -m grpc_tools.protoc --python_out=. --proto_path=../../../WeChatFerry/rpc/proto/ wcf.proto
版本更新
v39.0.14.0 (2024.02.18)
若干优化
若干功能
点击查看更多
版本号:w.x.y.z
。
其中:
w
是微信的大版本号,如37
(3.7.a.a),38
(3.8.a.a),39
(3.9.a.a)x
是适配的微信的小版本号,从 0 开始y
是WeChatFerry
的版本,从 0 开始z
是各客户端的版本,从 0 开始
功能:
检查登录状态
获取登录账号的 wxid
获取消息类型
获取所有联系人
获取所有好友
获取数据库
获取某数据库下的表
获取用户信息
发送文本消息(可 @)
发送图片(支持网络路径)
发送文件(支持网络路径)
允许接收消息
停止接收消息
执行 SQL 查询
接受好友申请
添加群成员
删除群成员
解密图片
获取朋友圈消息
保存图片
保存语音
发送卡片消息
拍一拍群友
邀请群成员
图片 OCR
转发消息
撤回消息
获取登录二维码
OpenAPI
wcfhttp
安装启动 wcfhttp 后,通过 http://localhost:9999/docs 查看。
API Reference
This page contains auto-generated API reference documentation [1].
wcferry
Submodules
wcferry.client
Module Contents
Classes
WeChatFerry, 一个玩微信的工具。 |
- class wcferry.client.Wcf(host: str = None, port: int = 10086, debug: bool = True, block: bool = True)
WeChatFerry, 一个玩微信的工具。
- 参数:
- download_attach(id: int, thumb: str, extra: str) int
下载附件(图片、视频、文件)。这方法别直接调用,下载图片使用 download_image。
- enable_recv_msg(callback: Callable[[wcferry.wxmsg.WxMsg], None] = None) bool
(不建议使用)设置接收消息回调,消息量大时可能会丢失消息
自 3.7.0.30.13 版本弃用.
- get_audio_msg(id: int, dir: str, timeout: int = 3) str
获取语音消息并转成 MP3 :param id: 语音消息 id :type id: int :param dir: MP3 保存目录(目录不存在会出错) :type dir: str :param timeout: 超时时间(秒) :type timeout: int
- 返回:
成功返回存储路径;空字符串为失败,原因见日志。
- 返回类型:
- get_chatroom_members(roomid: str) Dict
获取群成员
- 参数:
roomid (str) -- 群的 id
- 返回:
群成员列表: {wxid1: 昵称1, wxid2: 昵称2, ...}
- 返回类型:
Dict
- get_contacts() List[Dict]
获取完整通讯录
- get_friends() List[Dict]
获取好友列表
- get_msg(block=True) wcferry.wxmsg.WxMsg
从消息队列中获取消息
- get_msg_types() Dict
获取所有消息类型
- get_tables(db: str) List[Dict]
获取 db 中所有表
- 参数:
db (str) -- 数据库名(可通过 get_dbs 查询)
- 返回:
db 下的所有表名及对应建表语句
- 返回类型:
List[Dict]
- get_user_info() Dict
获取登录账号个人信息
- keep_running()
阻塞进程,让 RPC 一直维持连接
- send_rich_text(name: str, account: str, title: str, digest: str, url: str, thumburl: str, receiver: str) int
发送富文本消息 卡片样式:
wcferry.roomdata_pb2
Generated protocol buffer code.
Module Contents
- wcferry.roomdata_pb2.DESCRIPTOR
wcferry.wcf_pb2
Generated protocol buffer code.
Module Contents
- wcferry.wcf_pb2.DESCRIPTOR
wcferry.wxmsg
Module Contents
Classes
微信消息 |
- class wcferry.wxmsg.WxMsg(msg: wcferry.wcf_pb2.WxMsg)
微信消息
Package Contents
Classes
WeChatFerry, 一个玩微信的工具。 |
|
微信消息 |
- class wcferry.Wcf(host: str = None, port: int = 10086, debug: bool = True, block: bool = True)
WeChatFerry, 一个玩微信的工具。
- 参数:
- download_attach(id: int, thumb: str, extra: str) int
下载附件(图片、视频、文件)。这方法别直接调用,下载图片使用 download_image。
- enable_recv_msg(callback: Callable[[wcferry.wxmsg.WxMsg], None] = None) bool
(不建议使用)设置接收消息回调,消息量大时可能会丢失消息
自 3.7.0.30.13 版本弃用.
- get_audio_msg(id: int, dir: str, timeout: int = 3) str
获取语音消息并转成 MP3 :param id: 语音消息 id :type id: int :param dir: MP3 保存目录(目录不存在会出错) :type dir: str :param timeout: 超时时间(秒) :type timeout: int
- 返回:
成功返回存储路径;空字符串为失败,原因见日志。
- 返回类型:
- get_chatroom_members(roomid: str) Dict
获取群成员
- 参数:
roomid (str) -- 群的 id
- 返回:
群成员列表: {wxid1: 昵称1, wxid2: 昵称2, ...}
- 返回类型:
Dict
- get_contacts() List[Dict]
获取完整通讯录
- get_friends() List[Dict]
获取好友列表
- get_msg(block=True) wcferry.wxmsg.WxMsg
从消息队列中获取消息
- get_msg_types() Dict
获取所有消息类型
- get_tables(db: str) List[Dict]
获取 db 中所有表
- 参数:
db (str) -- 数据库名(可通过 get_dbs 查询)
- 返回:
db 下的所有表名及对应建表语句
- 返回类型:
List[Dict]
- get_user_info() Dict
获取登录账号个人信息
- keep_running()
阻塞进程,让 RPC 一直维持连接
- send_rich_text(name: str, account: str, title: str, digest: str, url: str, thumburl: str, receiver: str) int
发送富文本消息 卡片样式:
- class wcferry.WxMsg(msg: wcferry.wcf_pb2.WxMsg)
微信消息