Package client
This commit is contained in:
parent
99b119ef47
commit
ad98e19e5e
2
python/MANIFEST.in
Normal file
2
python/MANIFEST.in
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
include wcferry/*.dll
|
||||||
|
exclude demo.py
|
@ -1,7 +1,64 @@
|
|||||||
# WeChatFerry Python 客户端
|
# WeChatFerry Python 客户端
|
||||||
代码于 `Python3.7` 环境开发。
|
⚠️ **只支持 Windows** ⚠️
|
||||||
|
|
||||||
## 配置环境
|
## 快速开始
|
||||||
|
```sh
|
||||||
|
pip install wcferry
|
||||||
|
```
|
||||||
|
|
||||||
|
参考 Demo:
|
||||||
|
```py
|
||||||
|
#! /usr/bin/env python3
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
import signal
|
||||||
|
from time import sleep
|
||||||
|
|
||||||
|
from wcferry import Wcf
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
wcf = Wcf()
|
||||||
|
|
||||||
|
def handler(sig, frame):
|
||||||
|
wcf.cleanup() # 退出前清理环境
|
||||||
|
exit(0)
|
||||||
|
|
||||||
|
signal.signal(signal.SIGINT, handler)
|
||||||
|
sleep(1) # Slow down
|
||||||
|
print(f"Is Login: {True if wcf.is_login() else False}")
|
||||||
|
print(f"SelfWxid: {wcf.get_self_wxid()}")
|
||||||
|
|
||||||
|
sleep(1)
|
||||||
|
wcf.enable_recv_msg(print)
|
||||||
|
# wcf.disable_recv_msg() # 当需要停止接收消息的时候,随时调用
|
||||||
|
|
||||||
|
ret = wcf.send_text("Hello world.", "filehelper")
|
||||||
|
print(f"send_text: {ret}")
|
||||||
|
|
||||||
|
ret = wcf.send_image("TEQuant.jpeg", "filehelper")
|
||||||
|
print(f"send_image: {ret}")
|
||||||
|
|
||||||
|
print(f"Message types:\n{wcf.get_msg_types()}")
|
||||||
|
print(f"Contacts:\n{wcf.get_contacts()}")
|
||||||
|
|
||||||
|
print(f"DBs:\n{wcf.get_dbs()}")
|
||||||
|
print(f"Tables:\n{wcf.get_tables('db')}")
|
||||||
|
print(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()
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
## 一起开发
|
||||||
|
### 配置环境
|
||||||
```sh
|
```sh
|
||||||
# 创建虚拟环境
|
# 创建虚拟环境
|
||||||
python -m venv .env
|
python -m venv .env
|
||||||
@ -13,14 +70,10 @@ pip install --upgrade pip
|
|||||||
pip install grpcio grpcio-tools
|
pip install grpcio grpcio-tools
|
||||||
```
|
```
|
||||||
|
|
||||||
## 运行
|
### 重新生成 gRPC 文件
|
||||||
```sh
|
|
||||||
# 启动客户端
|
|
||||||
python demo.py
|
|
||||||
```
|
|
||||||
|
|
||||||
## 重新生成 gRPC 文件
|
|
||||||
```sh
|
```sh
|
||||||
cd wcf
|
cd wcf
|
||||||
python -m grpc_tools.protoc --python_out=. --grpc_python_out=. -I=../ wcf.proto
|
python -m grpc_tools.protoc --python_out=. --grpc_python_out=. -I=../ wcf.proto
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### 参考项目 [README](../README.MD)
|
||||||
|
40
python/setup.py
Normal file
40
python/setup.py
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
#! /usr/bin/env python3
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
|
||||||
|
from __future__ import print_function
|
||||||
|
from setuptools import setup, find_packages
|
||||||
|
|
||||||
|
import wcferry
|
||||||
|
|
||||||
|
with open("README.md", "r", encoding="utf-8") as fh:
|
||||||
|
long_description = fh.read()
|
||||||
|
|
||||||
|
|
||||||
|
setup(
|
||||||
|
name="wcferry",
|
||||||
|
version=wcferry.__version__,
|
||||||
|
author="Changhua",
|
||||||
|
author_email="lichanghua0821@gmail.com",
|
||||||
|
description="一个玩微信的工具",
|
||||||
|
long_description=long_description,
|
||||||
|
long_description_content_type="text/markdown",
|
||||||
|
license="MIT",
|
||||||
|
url="https://github.com/lich0821/WeChatFerry",
|
||||||
|
python_requires='>=3.7',
|
||||||
|
packages=find_packages(),
|
||||||
|
include_package_data=True,
|
||||||
|
install_requires=[
|
||||||
|
"setuptools>=47.1.0",
|
||||||
|
"grpcio>=1.49.1",
|
||||||
|
"grpcio-tools>=1.49.1",
|
||||||
|
],
|
||||||
|
classifiers=[
|
||||||
|
"Environment :: Win32 (MS Windows)",
|
||||||
|
"Intended Audience :: Developers",
|
||||||
|
"Intended Audience :: Customer Service",
|
||||||
|
"Topic :: Communications :: Chat",
|
||||||
|
"Operating System :: Microsoft :: Windows",
|
||||||
|
"Programming Language :: Python",
|
||||||
|
],
|
||||||
|
)
|
@ -13,12 +13,12 @@ from typing import List, Callable, Optional
|
|||||||
|
|
||||||
import grpc
|
import grpc
|
||||||
|
|
||||||
WCF_ROOT = os.path.dirname(os.path.abspath(__file__))
|
WCF_ROOT = os.path.abspath(os.path.dirname(__file__))
|
||||||
sys.path.insert(0, WCF_ROOT)
|
sys.path.insert(0, WCF_ROOT)
|
||||||
import wcf_pb2 # noqa
|
import wcf_pb2 # noqa
|
||||||
import wcf_pb2_grpc # noqa
|
import wcf_pb2_grpc # noqa
|
||||||
|
|
||||||
__version__ = "v3.7.0.30-11"
|
__version__ = "v3.7.0.30.11"
|
||||||
|
|
||||||
|
|
||||||
class Wcf():
|
class Wcf():
|
||||||
|
Loading…
Reference in New Issue
Block a user