一个玩微信的工具
Project description
WeChatFerry Python 客户端
⚠️ 只支持 Windows ⚠️
快速开始
pip install wcferry
参考 Demo:
#! /usr/bin/env python3
# -*- coding: utf-8 -*-
import logging
from threading import Thread
from wcferry import Wcf
logging.basicConfig(level='DEBUG', format="%(asctime)s %(message)s")
LOG = logging.getLogger("Demo")
def process_msg(wcf: Wcf):
"""处理接收到的消息"""
while wcf.is_receiving_msg():
try:
msg = wcf.get_msg()
except Exception as e:
continue
LOG.info(msg) # 简单打印
def main():
LOG.info("Start demo...")
wcf = Wcf(debug=True) # 默认连接本地服务
# wcf = Wcf("tcp://127.0.0.1:10086") # 连接远端服务
LOG.info(f"已经登录: {True if wcf.is_login() else False}")
LOG.info(f"wxid: {wcf.get_self_wxid()}")
# 允许接收消息
# wcf.enable_recv_msg(LOG.info) # deprecated
# 允许接收消息
wcf.enable_receiving_msg()
Thread(target=process_msg, name="GetMessage", args=(wcf,), daemon=True).start()
# wcf.disable_recv_msg() # 当需要停止接收消息时调用
ret = wcf.send_text("Hello world.", "filehelper")
LOG.info(f"send_text: {ret}")
ret = wcf.send_image("TEQuant.jpeg", "filehelper")
LOG.info(f"send_image: {ret}")
LOG.info(f"Message types:\n{wcf.get_msg_types()}")
LOG.info(f"Contacts:\n{wcf.get_contacts()}")
LOG.info(f"DBs:\n{wcf.get_dbs()}")
LOG.info(f"Tables:\n{wcf.get_tables('db')}")
LOG.info(f"Results:\n{wcf.query_sql('MicroMsg.db', 'SELECT * FROM Contact LIMIT 1;')}")
# wcf.accept_new_friend("v3", "v4") # 需要真正的 V3、V4 信息
# 一直运行
wcf.keep_running()
if __name__ == "__main__":
main()
一起开发
配置环境
# 创建虚拟环境
python -m venv .env
# 激活虚拟环境
source .env/Scripts/activate
# 升级 pip
pip install --upgrade pip
# 安装依赖包
pip install grpcio-tools pynng
重新生成 PB 文件
cd python\wcferry
# CMD
python -m grpc_tools.protoc --python_out=. --proto_path=..\..\rpc\proto\ wcf.proto
# GitBash
python -m grpc_tools.protoc --python_out=. --proto_path=../../rpc/proto/ wcf.proto
参考项目 README
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
wcferry-3.7.0.30.14.tar.gz
(920.1 kB
view hashes)
Built Distributions
wcferry-3.7.0.30.14.-py3-none-any.whl
(920.4 kB
view hashes)
wcferry-3.7.0.30.14-py3-none-any.whl
(920.4 kB
view hashes)
Close
Hashes for wcferry-3.7.0.30.14.-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c7190d423921f8961f91bfac5b205eac983ba6b4ed3bbb5844eb651657dab77b |
|
MD5 | 4a88d5ea4b3e24ca3f284f5efe07ce02 |
|
BLAKE2b-256 | 1b874467b5e24cd05e6b3bf89e21a08d24be4f7c1c130aadc0d7676297fd32fb |
Close
Hashes for wcferry-3.7.0.30.14-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 875ab86c69d54ccc14cd8deab11d601dd00e63d2c0bbe01fba69f96c3e53574f |
|
MD5 | e3d2b84a0da8d6a6080bcc2417e638dc |
|
BLAKE2b-256 | ed33041c75e3b6870c5bea1291039cb9bf7aa419dd13966c73155222b3224194 |