WeChatFerry:功能全面的微信机器人开发框架
일반 소개
WeChatFerry 是一个开源的微信机器人底层框架,由开发者 lich0821 在 GitHub 上创建并维护。该项目通过微信 Hook 技术,提供了一套强大的 SDK,允许开发者将微信功能与多种大语言模型(如 ChatGPT、Gemini、DeepSeek、ChatGLM、讯飞星火、Tigerbot 等)集成,实现自动化任务和智能对话。核心模块使用 C++ 编写,支持多种客户端语言(如 Python、Rust、Go、Java、Node.js、C# 等),并适配特定微信版本(当前支持 3.9.11.25)。凭借其灵活性和丰富功能,WeChatFerry 已吸引 5.5k 星标和 1.1k forks,成为微信机器人开发的热门工具。

기능 목록
- 消息收发:支持发送文本(含 @)、图片、文件、GIF,并可监听和接收消息。
- 大语言模型集成:可接入 ChatGPT、Gemini、DeepSeek、ChatGLM、讯飞星火等模型,实现智能回复或任务处理。
- 群聊管理:支持邀请群成员、获取群信息等操作。
- 多媒体处理:支持下载图片、文件,解密图片,以及将语音文件(Silk)转为 MP3。
- 数据库访问:可查询微信联系人、消息记录等数据。
- 登录状态管理:提供获取登录二维码、检查登录状态、获取账号信息(wxid、昵称、手机号等)功能。
- 多语言客户端:支持 Python、Rust、Go、Java、Node.js、C# 等语言的客户端开发。
- 自动化任务:支持消息转发、定时任务等,适用于客服、教育等场景。
도움말 사용
설치 프로세스
WeChatFerry 的使用分为两部分:核心模块编译(开发者)和客户端安装(普通用户)。以下是详细步骤:
1. 客户端安装(以 Python 为例)
- 安装 Python 环境:推荐使用 Python 3.10,从 python.org 下载并安装,确保
pip
可用。 - 安装 wcferry 包:打开命令行,运行:
pip install --upgrade wcferry
- 验证安装:在 Python 中运行
import wcferry
,无报错即成功。
2. 核心模块编译(开发者可选)
- 환경 준비하기::
- 安装 Visual Studio 2019(社区版),包含 C++ 开发组件。
- 安装 Git,用于克隆仓库。
- 클론 창고::
git clone https://github.com/lich0821/WeChatFerry.git cd WeChatFerry
- 编译项目::
- 使用 VS2019 打开
WeChatFerry\WeChatFerry\WeChatFerry.sln
. - 点击“生成” > “生成解决方案”,编译完成后在
WeChatFerry\WeChatFerry\Out
目录下生成sdk.dll
. - 다음 사항에 유의하십시오.:若遇到
protoc
错误 9009,检查 Python 环境或配置protoc
环境变量(需安装 protobuf)。
- 使用 VS2019 打开
3. 启动微信并注入
- 准备微信:安装支持的微信版本(如 3.9.10.27 或 3.9.11.25,具体见 Releases)。
- 运行示例:参考官方代码加载
sdk.dll
并初始化:import ctypes sdk = ctypes.cdll.LoadLibrary("C:/path/to/WeChatFerry/WeChatFerry/Out/sdk.dll") sdk.WxInitSDK(False, 10086) # 初始化,默认端口 10086
- 退出 SDK:使用完毕后运行
sdk.WxDestroySDK()
,并关闭 Python 进程。
주요 기능
消息收发
- 发送文本消息::
from wcferry import Wcf wcf = Wcf() wcf.send_text("你好", "wxid_xxxx") # wxid_xxxx 为目标微信 ID
- 支持 @ 某人:
wcf.send_text("你好 @Tom", "roomid_xxxx")
.
- 支持 @ 某人:
- 接收消息::
wcf.enable_receiving_msgs() # 开启接收 while True: msg = wcf.get_msg() if msg: print(f"收到: {msg.content}") wcf.disable_receiving_msgs() # 停止接收
大语言模型集成
- 接入 ChatGPT 示例(需自行配置 API Key):
from wcferry import Wcf import openai wcf = Wcf() openai.api_key = "your_api_key" def chatgpt_reply(msg): response = openai.ChatCompletion.create( model="gpt-3.5-turbo", messages=[{"role": "user", "content": msg.content}] ) wcf.send_text(response.choices[0].message.content, msg.sender) wcf.enable_receiving_msgs() while True: msg = wcf.get_msg() if msg: chatgpt_reply(msg)
多媒体处理
- 发送图片::
wcf.send_image("C:/Pictures/test.jpg", "wxid_xxxx")
- 语音转 MP3사용
smc
模块(需编译),将.silk
文件转为.mp3
::from wcferry import smc smc.silk_to_mp3("input.silk", "output.mp3")
群聊管理
- 邀请成员::
wcf.invite_room_members("roomid_xxxx", ["wxid_user1", "wxid_user2"])
- 获取群信息::
room_info = wcf.get_chatroom_info("roomid_xxxx") print(room_info)
작업 흐름의 예
- 프레임워크 시작:编译
sdk.dll
,运行 Python 脚本加载并初始化。 - 登录微信:执行
wcf.get_login_qrcode()
获取二维码,扫码登录。 - 配置功能:编写脚本实现消息监听、自动回复或群管理。
- 운영 테스트:在命令行运行脚本,检查微信行为是否符合预期。
- 调试优化:若出错,可在 VS2019 中添加调试日志(如
DbgMsg("Test")
),定位问题。
多语言客户端支持
- Rust사용 wcfrust.
- Go:参考 go_wcf_http.
- Java:见 java 客户端说明.
- Node.js사용 wcferry-node.
- C#:参考 WeChatFerry-CSharp.
- Docker사용 docker_wechat.
주의
- 当前适配微信版本为 3.9.11.25,版本不符可能导致注入失败。
- 项目仅限学习和研究用途,遵循 MIT 许可证。
- 多开暂不支持,需单实例运行。
© 저작권 정책
이 글은 저작권이 있으며 무단으로 복제해서는 안 됩니다.
관련 문서
댓글 없음...