WeChatFerry/python/README.MD

76 lines
1.7 KiB
Plaintext
Raw Normal View History

2022-10-16 16:50:22 +08:00
# WeChatFerry Python 客户端
2022-10-19 20:41:23 +08:00
⚠️ **只支持 Windows** ⚠️
2022-10-16 16:50:22 +08:00
2022-10-19 20:41:23 +08:00
## 快速开始
```sh
pip install wcferry
```
参考 Demo
```py
#! /usr/bin/env python3
# -*- coding: utf-8 -*-
2023-02-25 21:58:00 +08:00
import logging
2022-10-19 20:41:23 +08:00
from wcferry import Wcf
def main():
2023-02-25 21:58:00 +08:00
LOG = logging.getLogger("Demo")
LOG.info("Start demo...")
wcf = Wcf(debug=True) # 默认连接本地服务
# wcf = Wcf("tcp://127.0.0.1:10086") # 连接远端服务
2022-10-19 20:41:23 +08:00
2023-02-25 21:58:00 +08:00
LOG.info(f"Is Login: {True if wcf.is_login() else False}")
LOG.info(f"SelfWxid: {wcf.get_self_wxid()}")
2022-10-19 20:41:23 +08:00
2023-02-25 21:58:00 +08:00
wcf.enable_recv_msg(LOG.info)
# wcf.disable_recv_msg() # Call anytime when you don't want to receive messages
2022-10-19 20:41:23 +08:00
ret = wcf.send_text("Hello world.", "filehelper")
2023-02-25 21:58:00 +08:00
LOG.info(f"send_text: {ret}")
2022-10-19 20:41:23 +08:00
ret = wcf.send_image("TEQuant.jpeg", "filehelper")
2023-02-25 21:58:00 +08:00
LOG.info(f"send_image: {ret}")
2022-10-19 20:41:23 +08:00
2023-02-25 21:58:00 +08:00
LOG.info(f"Message types:\n{wcf.get_msg_types()}")
LOG.info(f"Contacts:\n{wcf.get_contacts()}")
2022-10-19 20:41:23 +08:00
2023-02-25 21:58:00 +08:00
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;')}")
2022-10-19 20:41:23 +08:00
2023-02-25 21:58:00 +08:00
# wcf.accept_new_friend("v3", "v4") # 需要真正的 V3、V4 信息
2022-10-19 20:41:23 +08:00
2023-02-25 21:58:00 +08:00
# Keep running to receive messages
2022-10-19 20:41:23 +08:00
wcf.keep_running()
if __name__ == "__main__":
2023-02-25 21:58:00 +08:00
logging.basicConfig(level='DEBUG', format="%(asctime)s %(message)s")
2022-10-19 20:41:23 +08:00
main()
```
## 一起开发
### 配置环境
2022-10-16 16:50:22 +08:00
```sh
# 创建虚拟环境
python -m venv .env
# 激活虚拟环境
source .env/Scripts/activate
# 升级 pip
pip install --upgrade pip
# 安装依赖包
2023-02-25 21:58:00 +08:00
pip install grpcio-tools pynng
2022-10-16 16:50:22 +08:00
```
2023-02-25 21:58:00 +08:00
### 重新生成 PB 文件
2022-10-16 16:50:22 +08:00
```sh
2023-02-25 21:58:00 +08:00
cd python
python -m grpc_tools.protoc --python_out=. --proto_path=..\rpc\proto\ wcf.proto
2022-10-16 16:50:22 +08:00
```
2022-10-19 20:41:23 +08:00
### 参考项目 [README](../README.MD)