Skip to main content

Lightweight Python SDK for WeChat iLink Bot protocol

Project description

WeiLink

PyPI PyPI pre-release GitHub Release License: MIT Python

轻量级 Python SDK,用于微信 iLink Bot 协议。

English

特性

  • 零运行时依赖 — AES 媒体加密通过 ctypes 调用 OpenSSL,纯 Python 自动兜底
  • 消息队列语义login() / send() / recv() 三个核心接口
  • 状态自动管理context_token、sync cursor 内部缓存,调用方无需关心
  • 凭证持久化 — 扫码登录后 token 自动保存,重启免登录
  • 输入状态 — 支持"对方正在输入中"指示器
  • 统一 CLI — 单一 weilink 命令,包含 adminmcp 子命令
  • Web 管理面板 — 可选的浏览器 UI,支持会话管理、扫码登录,可 Docker 部署
  • MCP 服务器 — 可选的 MCP 集成,支持 stdio/SSE/streamable-http 传输(pip install weilink[mcp]

安装

pip install weilink

快速开始

from weilink import WeiLink

wl = WeiLink()
wl.login()

# 接收消息
messages = wl.recv()
for msg in messages:
    print(f"{msg.from_user}: {msg.text}")

# 回复
wl.send(msg.from_user, "收到!")

wl.close()

工作原理

WeiLink 封装了微信 iLink Bot 协议(ClawBot 插件的底层协议),提供消息队列式的收发接口:

login()  →  扫码获取凭证(持久化)
recv()   →  长轮询收消息(35 秒超时)
send()   →  回复消息(自动关联 context_token)

重要限制

  • 不能主动发起对话 — 用户必须先给 ClawBot 发消息,bot 才能回复
  • 24 小时窗口 — 用户超过 24 小时未发消息,bot 的消息会被丢弃
  • 腾讯可随时终止服务 — 不建议将核心业务完全依赖此协议

管理面板

内置 Web UI,支持会话管理、扫码登录和状态监控:

pip install weilink[server]
weilink admin -p 8080

管理面板

API

方法 说明
login(force=False) 扫码登录,已有凭证则自动复用
recv(timeout=35.0) 长轮询接收消息
send(to, text, *, image, voice, file, video, file_name) 发送文本和/或媒体(图片/语音/文件/视频),返回 bool
download(msg) 下载收到的媒体消息
send_typing(to) 显示"正在输入"
stop_typing(to) 取消"正在输入"
close() 保存状态并清理
is_connected 是否已登录(属性)
bot_id 当前 bot ID(属性)

协议参考

致谢

社区

欢迎通过 GitHub IssuesLINUX DO 社区参与项目讨论。

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

weilink-0.4.0b1.tar.gz (83.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

weilink-0.4.0b1-py3-none-any.whl (73.8 kB view details)

Uploaded Python 3

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page