Skip to content

lich0821/wcf-client-rust

Repository files navigation

WeChatFerry HTTP 客户端(基于 Rust)

又一个 WeChatFerry 的 HTTP 客户端。🙋 FAQ

免责声明【必读】

本工具仅供学习和技术研究使用,不得用于任何商业或非法行为,否则后果自负。

本工具的作者不对本工具的安全性、完整性、可靠性、有效性、正确性或适用性做任何明示或暗示的保证,也不对本工具的使用或滥用造成的任何直接或间接的损失、责任、索赔、要求或诉讼承担任何责任。

本工具的作者保留随时修改、更新、删除或终止本工具的权利,无需事先通知或承担任何义务。

本工具的使用者应遵守相关法律法规,尊重微信的版权和隐私,不得侵犯微信或其他第三方的合法权益,不得从事任何违法或不道德的行为。

本工具的使用者在下载、安装、运行或使用本工具时,即表示已阅读并同意本免责声明。如有异议,请立即停止使用本工具,并删除所有相关文件。

点击查看功能清单
  • 查询登录状态
  • 获取登录账号信息
  • 获取消息类型
  • 获取联系人
  • 获取可查询数据库
  • 获取数据库所有表
  • 获取语音消息
  • 发送文本消息(可 @)
  • 发送图片消息
  • 发送文件消息
  • 发送卡片消息
  • 拍一拍群友
  • 转发消息
  • 开启接收消息
  • 关闭接收消息
  • 查询数据库
  • 获取朋友圈消息
  • 下载图片、视频、文件
  • 解密图片
  • 添加群成员
  • 删除群成员
  • 邀请群成员
碲矿 赞赏
后台回复 WCF 加群交流 如果你觉得有用

快速开始

ℹ️ 如果跑过机器人,先将机器人停止,然后退出微信,再开始,以避免奇奇怪怪的问题。

回调示例

如果不懂回调,玩这个其实不是很合适。尽管如此,这里还是提供一个示例。

#! /usr/bin/env python3
# -*- coding: utf-8 -*-

import uvicorn
from fastapi import Body, FastAPI
from pydantic import BaseModel


class Msg(BaseModel):
    is_self: bool
    is_group: bool
    id: int
    type: int
    ts: int
    roomid: str
    content: str
    sender: str
    sign: str
    thumb: str
    extra: str
    xml: str


def msg_cb(msg: Msg = Body(description="微信消息")):
    """示例回调方法,简单打印消息"""
    print(f"收到消息:{msg}")
    return {"status": 0, "message": "成功"}


if __name__ == "__main__":
    app = FastAPI()
    app.add_api_route("/callback", msg_cb, methods=["POST"])
    uvicorn.run(app, host="0.0.0.0", port=8000)

版本更新

v39.3.3-1(2024.11.18)

  • 新增消息转发正则白名单配置,只针对r#type为1的纯文本消息 未配置白名单,则默认转发所有消息 配置白名单,只有符合正则的消息才会转发 非文本消息,如好友消息,红包消息,卡片消息等默认转发

v39.3.3(2024.11.15)

  • 升级 WCF 至 v39.3.3

一起开发(🚫非开发者不用往下看)

搭建开发环境

安装 Rustup

访问 Rust 官方网站,下载并运行 Rustup 的安装程序。

在安装过程中,选择默认配置即可,这将安装最新稳定版本的 Rust,包括 rustccargorustup 自身。

安装 tauri-cli

cargo install tauri-cli

安装 Protoc

下载适用于 Windows 的 protoc 二进制文件。

解压到一个目录,并将该目录添加到你的系统环境变量 PATH 中,这样你就可以在命令行中直接运行 protoc 命令了。

验证安装

打开命令行或终端,运行以下命令以确认 Rust 和 Cargo 已正确安装:

rustc --version
cargo --version
protoc --version

当前项目开发环境如下:

rustc 1.75.0 (82e1608df 2023-12-21)
cargo 1.75.0 (1d8b05cdd 2023-11-20)
libprotoc 22.2

调试运行

# 启动运行
cargo tauri dev

# 如果遇到错误,可以启用更多调试信息
RUST_BACKTRACE=full RUST_LOG=debug cargo tauri dev

验证

点击 启动,然后访问 http://localhost:10010/swagger/

定制 Logo

  1. 找一张 logo 图片 your_path/logo.png(1024*1024 的 PNG 图片)
  2. 通过命令重新生成:cargo tauri icon your_path/logo.png

感谢各位大佬贡献代码