wx4py 0.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- wx4py-0.1.0/LICENSE +61 -0
- wx4py-0.1.0/MANIFEST.in +18 -0
- wx4py-0.1.0/PKG-INFO +348 -0
- wx4py-0.1.0/README.md +314 -0
- wx4py-0.1.0/docs/QUICKSTART.md +58 -0
- wx4py-0.1.0/examples/batch_send.py +22 -0
- wx4py-0.1.0/examples/get_chat_history.py +19 -0
- wx4py-0.1.0/examples/get_group_members.py +22 -0
- wx4py-0.1.0/examples/modify_announcement_simple.py +15 -0
- wx4py-0.1.0/examples/search.py +27 -0
- wx4py-0.1.0/examples/send_file.py +15 -0
- wx4py-0.1.0/examples/send_files.py +21 -0
- wx4py-0.1.0/examples/send_to_contact.py +17 -0
- wx4py-0.1.0/examples/send_to_group.py +15 -0
- wx4py-0.1.0/examples/set_announcement_from_markdown.py +52 -0
- wx4py-0.1.0/examples/set_do_not_disturb.py +15 -0
- wx4py-0.1.0/examples/set_group_nickname.py +15 -0
- wx4py-0.1.0/examples/set_pin_chat.py +15 -0
- wx4py-0.1.0/pyproject.toml +55 -0
- wx4py-0.1.0/requirements.txt +7 -0
- wx4py-0.1.0/setup.cfg +4 -0
- wx4py-0.1.0/src/__init__.py +27 -0
- wx4py-0.1.0/src/client.py +112 -0
- wx4py-0.1.0/src/config.py +26 -0
- wx4py-0.1.0/src/core/__init__.py +24 -0
- wx4py-0.1.0/src/core/exceptions.py +32 -0
- wx4py-0.1.0/src/core/uia_wrapper.py +140 -0
- wx4py-0.1.0/src/core/uiautomation.py +8153 -0
- wx4py-0.1.0/src/core/window.py +137 -0
- wx4py-0.1.0/src/pages/__init__.py +7 -0
- wx4py-0.1.0/src/pages/base.py +36 -0
- wx4py-0.1.0/src/pages/chat_window.py +690 -0
- wx4py-0.1.0/src/pages/group_manager.py +844 -0
- wx4py-0.1.0/src/utils/__init__.py +22 -0
- wx4py-0.1.0/src/utils/clipboard_utils.py +74 -0
- wx4py-0.1.0/src/utils/logger.py +27 -0
- wx4py-0.1.0/src/utils/markdown_utils.py +142 -0
- wx4py-0.1.0/src/utils/win32.py +110 -0
- wx4py-0.1.0/wx4py.egg-info/PKG-INFO +348 -0
- wx4py-0.1.0/wx4py.egg-info/SOURCES.txt +41 -0
- wx4py-0.1.0/wx4py.egg-info/dependency_links.txt +1 -0
- wx4py-0.1.0/wx4py.egg-info/requires.txt +10 -0
- wx4py-0.1.0/wx4py.egg-info/top_level.txt +1 -0
wx4py-0.1.0/LICENSE
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
NON-COMMERCIAL OPEN SOURCE LICENSE
|
|
2
|
+
Version 1.0
|
|
3
|
+
|
|
4
|
+
Copyright (C) 2024 wx4py
|
|
5
|
+
|
|
6
|
+
本软件及相关文档文件(以下简称"软件")受以下条款约束:
|
|
7
|
+
|
|
8
|
+
1. 许可授予
|
|
9
|
+
在遵守本许可证条款的前提下,版权持有人授予您以下权利:
|
|
10
|
+
- 使用、复制、修改和分发本软件
|
|
11
|
+
- 创建基于本软件的衍生作品
|
|
12
|
+
|
|
13
|
+
2. 限制条件
|
|
14
|
+
|
|
15
|
+
2.1 非商业使用
|
|
16
|
+
❌ 禁止将本软件用于任何商业目的,包括但不限于:
|
|
17
|
+
- 销售软件或其衍生作品
|
|
18
|
+
- 在商业产品或服务中使用本软件
|
|
19
|
+
- 通过本软件直接或间接获取商业利益
|
|
20
|
+
- 在营利性组织中使用(除非获得书面许可)
|
|
21
|
+
|
|
22
|
+
2.2 开源要求(Copyleft)
|
|
23
|
+
⚠️ 基于本软件的任何衍生作品必须:
|
|
24
|
+
- 使用相同的许可证(本许可证)
|
|
25
|
+
- 公开完整的源代码
|
|
26
|
+
- 保留原始版权声明和许可证
|
|
27
|
+
- 明确标注修改内容
|
|
28
|
+
|
|
29
|
+
2.3 署名要求
|
|
30
|
+
✅ 必须保留:
|
|
31
|
+
- 原始版权声明
|
|
32
|
+
- 本许可证全文
|
|
33
|
+
- 免责声明
|
|
34
|
+
|
|
35
|
+
3. 商业使用授权
|
|
36
|
+
如需商业使用,请联系版权持有人获取商业许可。
|
|
37
|
+
|
|
38
|
+
4. 免责声明
|
|
39
|
+
本软件按"原样"提供,不提供任何明示或暗示的保证,包括但不限于
|
|
40
|
+
适销性、特定用途适用性和非侵权性的保证。在任何情况下,作者或
|
|
41
|
+
版权持有人均不对因使用本软件而产生的任何索赔、损害或其他责任
|
|
42
|
+
负责,无论是在合同诉讼、侵权诉讼或其他诉讼中。
|
|
43
|
+
|
|
44
|
+
5. 终止
|
|
45
|
+
如果您违反本许可证的任何条款,您的许可将自动终止。
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
简要说明:
|
|
50
|
+
✅ 可以:个人使用、学习、研究、修改
|
|
51
|
+
✅ 可以:非营利组织使用
|
|
52
|
+
✅ 可以:教育用途
|
|
53
|
+
❌ 不可以:商业使用(需获得授权)
|
|
54
|
+
⚠️ 必须:衍生作品也要开源并使用相同许可
|
|
55
|
+
⚠️ 必须:保留版权声明和许可证
|
|
56
|
+
|
|
57
|
+
联系方式:
|
|
58
|
+
- Email: [您的邮箱]
|
|
59
|
+
- GitHub: https://github.com/yourusername/wx4py/issues
|
|
60
|
+
|
|
61
|
+
如有疑问或需要商业授权,请通过上述方式联系。
|
wx4py-0.1.0/MANIFEST.in
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Include essential documentation
|
|
2
|
+
include README.md
|
|
3
|
+
include LICENSE
|
|
4
|
+
|
|
5
|
+
# Include requirements
|
|
6
|
+
include requirements.txt
|
|
7
|
+
|
|
8
|
+
# Include examples
|
|
9
|
+
recursive-include examples *.py
|
|
10
|
+
|
|
11
|
+
# Include docs
|
|
12
|
+
recursive-include docs *.md
|
|
13
|
+
|
|
14
|
+
# Exclude development files
|
|
15
|
+
recursive-exclude tests *
|
|
16
|
+
recursive-exclude scripts *
|
|
17
|
+
recursive-exclude * __pycache__
|
|
18
|
+
recursive-exclude * *.py[co]
|
wx4py-0.1.0/PKG-INFO
ADDED
|
@@ -0,0 +1,348 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: wx4py
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: wx4py - Python 微信自动化工具
|
|
5
|
+
Author: sang6438
|
|
6
|
+
License: Non-Commercial Open Source License 1.0
|
|
7
|
+
Project-URL: Homepage, https://github.com/sang6438/wx4py
|
|
8
|
+
Project-URL: Repository, https://github.com/sang6438/wx4py
|
|
9
|
+
Project-URL: Documentation, https://github.com/sang6438/wx4py/blob/main/README.md
|
|
10
|
+
Project-URL: Issues, https://github.com/sang6438/wx4py/issues
|
|
11
|
+
Keywords: wx4py,wechat,automation,uiautomation,windows
|
|
12
|
+
Classifier: Development Status :: 3 - Alpha
|
|
13
|
+
Classifier: Intended Audience :: Developers
|
|
14
|
+
Classifier: License :: Other/Proprietary License
|
|
15
|
+
Classifier: Operating System :: Microsoft :: Windows
|
|
16
|
+
Classifier: Programming Language :: Python :: 3
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
21
|
+
Requires-Python: >=3.9
|
|
22
|
+
Description-Content-Type: text/markdown
|
|
23
|
+
License-File: LICENSE
|
|
24
|
+
Requires-Dist: pywin32>=305
|
|
25
|
+
Requires-Dist: comtypes>=1.2.0
|
|
26
|
+
Requires-Dist: uiautomation
|
|
27
|
+
Requires-Dist: pyperclip
|
|
28
|
+
Requires-Dist: markdown
|
|
29
|
+
Requires-Dist: beautifulsoup4
|
|
30
|
+
Provides-Extra: dev
|
|
31
|
+
Requires-Dist: pytest>=7.0; extra == "dev"
|
|
32
|
+
Requires-Dist: pytest-cov>=4.0; extra == "dev"
|
|
33
|
+
Dynamic: license-file
|
|
34
|
+
|
|
35
|
+
<div align="center">
|
|
36
|
+
|
|
37
|
+
<img src="docs/logo.png" alt="wx4py" width="200">
|
|
38
|
+
|
|
39
|
+
# wx4py
|
|
40
|
+
|
|
41
|
+
**Python 微信自动化工具**
|
|
42
|
+
|
|
43
|
+
**wx4py - Python 微信自动化工具**
|
|
44
|
+
|
|
45
|
+
[](https://www.python.org/downloads/)
|
|
46
|
+
[](./LICENSE)
|
|
47
|
+
[](https://www.microsoft.com/windows)
|
|
48
|
+
[](https://weixin.qq.com/)
|
|
49
|
+
|
|
50
|
+
[快速开始](#-快速开始) • [功能特性](#-功能特性) • [文档](#-文档) • [示例](#-使用示例) • [贡献](#-贡献指南)
|
|
51
|
+
|
|
52
|
+
</div>
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## 📖 项目简介
|
|
57
|
+
|
|
58
|
+
**wx4py** 是一个基于 UIAutomation 的微信自动化 Python 库,提供简洁的 API 实现消息群发、文件传输、聊天记录分析、群组管理等自动化操作。
|
|
59
|
+
|
|
60
|
+
通过简洁的 API 设计,轻松实现消息群发、文件传输、聊天记录分析、群组管理等复杂操作,大幅提升工作效率。
|
|
61
|
+
|
|
62
|
+
### 核心优势
|
|
63
|
+
|
|
64
|
+
- 🚀 **开箱即用** - 简洁的 API 设计,5 分钟上手
|
|
65
|
+
- 🎯 **功能完备** - 覆盖 90% 的日常微信自动化需求
|
|
66
|
+
- 🛡️ **稳定可靠** - 完善的错误处理和重试机制
|
|
67
|
+
- 📦 **零侵入** - 无需修改微信客户端,纯 UI 自动化
|
|
68
|
+
- 🔧 **易扩展** - 模块化设计,轻松自定义功能
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## ✨ 功能特性
|
|
73
|
+
|
|
74
|
+
### 📨 消息管理
|
|
75
|
+
|
|
76
|
+
| 功能 | 方法 | 说明 |
|
|
77
|
+
|------|------|------|
|
|
78
|
+
| 发送消息 | `send_to(target, message)` | 发送消息给联系人或群 |
|
|
79
|
+
| 批量群发 | `batch_send(targets, message)` | 批量发送消息到多个目标 |
|
|
80
|
+
| 发送文件 | `send_file_to(target, file_path)` | 发送单个或多个文件 |
|
|
81
|
+
| 搜索联系人/群 | `search(keyword)` | 搜索并返回结果 |
|
|
82
|
+
|
|
83
|
+
**支持的消息类型**:
|
|
84
|
+
- ✅ 文本消息
|
|
85
|
+
- ✅ 单个文件(PDF、图片、文档等)
|
|
86
|
+
- ✅ 多个文件批量发送
|
|
87
|
+
- ✅ 文件 + 消息组合
|
|
88
|
+
|
|
89
|
+
### 📜 聊天记录
|
|
90
|
+
|
|
91
|
+
| 功能 | 方法 | 说明 |
|
|
92
|
+
|------|------|------|
|
|
93
|
+
| 获取聊天记录 | `get_chat_history(target, since)` | 按时间获取聊天记录 |
|
|
94
|
+
| 时间范围支持 | `since` 参数 | `today` / `yesterday` / `week` / `all` |
|
|
95
|
+
|
|
96
|
+
**返回数据**:
|
|
97
|
+
```python
|
|
98
|
+
{
|
|
99
|
+
"type": "text", # text / link / system
|
|
100
|
+
"content": "消息内容",
|
|
101
|
+
"time": "今天 15:30"
|
|
102
|
+
}
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
### 👥 群组管理
|
|
106
|
+
|
|
107
|
+
| 功能 | 方法 | 说明 |
|
|
108
|
+
|------|------|------|
|
|
109
|
+
| 获取群成员 | `get_group_members(group_name)` | 获取完整群成员列表 |
|
|
110
|
+
| 修改群昵称 | `set_group_nickname(group, nickname)` | 修改我在本群的昵称 |
|
|
111
|
+
| 消息免打扰 | `set_do_not_disturb(group, enable)` | 开关消息免打扰 |
|
|
112
|
+
| 置顶聊天 | `set_pin_chat(group, enable)` | 置顶/取消置顶聊天 |
|
|
113
|
+
| 修改群公告 | `modify_announcement_simple(group, content)` | 文本格式群公告 |
|
|
114
|
+
| Markdown 群公告 | `set_announcement_from_markdown(group, file)` | 支持 Markdown 格式 |
|
|
115
|
+
|
|
116
|
+
### 🔍 搜索功能
|
|
117
|
+
|
|
118
|
+
| 功能 | 说明 |
|
|
119
|
+
|------|------|
|
|
120
|
+
| 搜索联系人 | 返回联系人搜索结果 |
|
|
121
|
+
| 搜索群聊 | 返回群聊搜索结果 |
|
|
122
|
+
| 搜索聊天记录 | 返回聊天记录搜索结果 |
|
|
123
|
+
| 搜索网络结果 | 返回网络搜索结果 |
|
|
124
|
+
|
|
125
|
+
### 🎯 核心优势
|
|
126
|
+
|
|
127
|
+
- 🚀 **开箱即用** - 简洁的 API 设计,5 分钟上手
|
|
128
|
+
- 🎯 **功能完备** - 覆盖 90% 的日常微信自动化需求
|
|
129
|
+
- 🛡️ **稳定可靠** - 完善的错误处理和重试机制
|
|
130
|
+
- 📦 **零侵入** - 无需修改微信客户端,纯 UI 自动化
|
|
131
|
+
- 🔧 **易扩展** - 模块化设计,轻松自定义功能
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
|
|
135
|
+
## 🚀 快速开始
|
|
136
|
+
|
|
137
|
+
### 环境要求
|
|
138
|
+
|
|
139
|
+
- **操作系统**: Windows 10/11
|
|
140
|
+
- **Python**: 3.9 **或更高版本**
|
|
141
|
+
- **微信客户端**: Qt 版本(已测试 4.1.7.59、4.1.8.29)
|
|
142
|
+
|
|
143
|
+
### 安装
|
|
144
|
+
|
|
145
|
+
```bash
|
|
146
|
+
# 使用 pip 安装(推荐)
|
|
147
|
+
pip install wx4py
|
|
148
|
+
|
|
149
|
+
# 从源码安装
|
|
150
|
+
git clone https://github.com/sang6438/wx4py.git
|
|
151
|
+
cd wx4py
|
|
152
|
+
pip install .
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
### 基础示例
|
|
156
|
+
|
|
157
|
+
```python
|
|
158
|
+
from wx4py import WeChatClient
|
|
159
|
+
|
|
160
|
+
# 使用上下文管理器(推荐)
|
|
161
|
+
with WeChatClient() as wx:
|
|
162
|
+
# 发送消息
|
|
163
|
+
wx.chat_window.send_to("文件传输助手", "Hello, WeChat!")
|
|
164
|
+
|
|
165
|
+
# 批量群发
|
|
166
|
+
wx.chat_window.batch_send(
|
|
167
|
+
["技术部", "产品部", "设计部"],
|
|
168
|
+
"明天下午 3 点开会",
|
|
169
|
+
target_type='group'
|
|
170
|
+
)
|
|
171
|
+
|
|
172
|
+
# 发送文件
|
|
173
|
+
wx.chat_window.send_file_to(
|
|
174
|
+
"工作群",
|
|
175
|
+
r"C:\reports\weekly.pdf",
|
|
176
|
+
target_type='group'
|
|
177
|
+
)
|
|
178
|
+
|
|
179
|
+
# 获取聊天记录
|
|
180
|
+
messages = wx.chat_window.get_chat_history(
|
|
181
|
+
target="工作群",
|
|
182
|
+
target_type='group',
|
|
183
|
+
since='today'
|
|
184
|
+
)
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
---
|
|
188
|
+
|
|
189
|
+
## 📚 文档
|
|
190
|
+
|
|
191
|
+
- 📖 [快速开始指南](./docs/QUICKSTART.md)
|
|
192
|
+
- 📋 [API 参考](./docs/QUICKSTART.md)
|
|
193
|
+
- 💡 [使用示例](./examples/)
|
|
194
|
+
- 🤖 [AI Skill 支持](#-ai-skill-支持)
|
|
195
|
+
|
|
196
|
+
---
|
|
197
|
+
|
|
198
|
+
## 💡 使用示例
|
|
199
|
+
|
|
200
|
+
### 场景1:定时群发通知
|
|
201
|
+
|
|
202
|
+
```python
|
|
203
|
+
import schedule
|
|
204
|
+
from wx4py import WeChatClient
|
|
205
|
+
|
|
206
|
+
def send_daily_notification():
|
|
207
|
+
with WeChatClient() as wx:
|
|
208
|
+
groups = ["技术部", "产品部", "运营部"]
|
|
209
|
+
wx.chat_window.batch_send(
|
|
210
|
+
groups,
|
|
211
|
+
"【提醒】请提交日报",
|
|
212
|
+
target_type='group'
|
|
213
|
+
)
|
|
214
|
+
|
|
215
|
+
schedule.every().day.at("17:00").do(send_daily_notification)
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
### 场景2:聊天记录分析
|
|
219
|
+
|
|
220
|
+
```python
|
|
221
|
+
import pandas as pd
|
|
222
|
+
from wx4py import WeChatClient
|
|
223
|
+
|
|
224
|
+
with WeChatClient() as wx:
|
|
225
|
+
messages = wx.chat_window.get_chat_history(
|
|
226
|
+
"项目讨论组",
|
|
227
|
+
target_type='group',
|
|
228
|
+
since='week'
|
|
229
|
+
)
|
|
230
|
+
|
|
231
|
+
# 数据分析
|
|
232
|
+
df = pd.DataFrame(messages)
|
|
233
|
+
stats = df['type'].value_counts()
|
|
234
|
+
print(f"本周消息统计:\n{stats}")
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
### 场景3:群组管理
|
|
238
|
+
|
|
239
|
+
```python
|
|
240
|
+
from wx4py import WeChatClient
|
|
241
|
+
|
|
242
|
+
with WeChatClient() as wx:
|
|
243
|
+
# 批量管理多个群
|
|
244
|
+
groups = ["工作群1", "工作群2", "工作群3"]
|
|
245
|
+
|
|
246
|
+
for group in groups:
|
|
247
|
+
wx.group_manager.set_pin_chat(group, enable=True)
|
|
248
|
+
wx.group_manager.modify_announcement_simple(
|
|
249
|
+
group,
|
|
250
|
+
"工作时间: 9:00-18:00"
|
|
251
|
+
)
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
更多示例请查看 [examples/](./examples/) 目录。
|
|
255
|
+
|
|
256
|
+
---
|
|
257
|
+
|
|
258
|
+
## 🤖 AI Skill 支持
|
|
259
|
+
|
|
260
|
+
本项目提供 **wx4-skill**,支持在 Claude Code / OpenClaw 中通过自然语言控制微信自动化。
|
|
261
|
+
|
|
262
|
+
### 使用方式
|
|
263
|
+
|
|
264
|
+
```
|
|
265
|
+
使用 wx4-skill 向这 3 个群发送通知:技术部、产品部、设计部
|
|
266
|
+
消息内容:明天下午 3 点开会
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
AI 会自动理解需求并生成可执行的 Python 代码。
|
|
270
|
+
|
|
271
|
+
详见项目仓库中的 `wx4-skill/SKILL.md`。
|
|
272
|
+
|
|
273
|
+
---
|
|
274
|
+
|
|
275
|
+
## 🏗️ 架构设计
|
|
276
|
+
|
|
277
|
+
```
|
|
278
|
+
wx4py/ # 源码包名
|
|
279
|
+
├── core/ # 核心模块
|
|
280
|
+
│ ├── window.py # 窗口管理
|
|
281
|
+
│ └── uia_wrapper.py # UIA 封装
|
|
282
|
+
├── pages/ # 页面对象
|
|
283
|
+
│ ├── chat_window.py # 聊天窗口
|
|
284
|
+
│ └── group_manager.py # 群组管理
|
|
285
|
+
├── utils/ # 工具模块
|
|
286
|
+
└── models/ # 数据模型
|
|
287
|
+
```
|
|
288
|
+
|
|
289
|
+
---
|
|
290
|
+
|
|
291
|
+
## ❓ 常见问题
|
|
292
|
+
|
|
293
|
+
<details>
|
|
294
|
+
<summary><b>Q: 支持哪些微信版本?</b></summary>
|
|
295
|
+
|
|
296
|
+
目前支持微信 Qt 版本,已测试版本:
|
|
297
|
+
- 4.1.7.59
|
|
298
|
+
- 4.1.8.29
|
|
299
|
+
|
|
300
|
+
</details>
|
|
301
|
+
|
|
302
|
+
<details>
|
|
303
|
+
<summary><b>Q: 可以在后台运行吗?</b></summary>
|
|
304
|
+
|
|
305
|
+
微信窗口需要在前台才能进行 UI 自动化操作,建议在专用机器上运行。
|
|
306
|
+
|
|
307
|
+
</details>
|
|
308
|
+
|
|
309
|
+
<details>
|
|
310
|
+
<summary><b>Q: 聊天记录能获取发送者吗?</b></summary>
|
|
311
|
+
|
|
312
|
+
受微信 UIA 限制,聊天记录暂无法获取发送者姓名,这是技术限制。
|
|
313
|
+
|
|
314
|
+
</details>
|
|
315
|
+
|
|
316
|
+
---
|
|
317
|
+
|
|
318
|
+
## 📝 更新日志
|
|
319
|
+
|
|
320
|
+
### v0.1.0 (2026-03-27)
|
|
321
|
+
|
|
322
|
+
- ✨ 首次发布
|
|
323
|
+
- ✅ 消息发送与群发
|
|
324
|
+
- ✅ 文件传输
|
|
325
|
+
- ✅ 聊天记录获取
|
|
326
|
+
- ✅ 群组管理功能
|
|
327
|
+
|
|
328
|
+
---
|
|
329
|
+
|
|
330
|
+
## 📄 许可证
|
|
331
|
+
|
|
332
|
+
本项目采用 **Non-Commercial Open Source License 1.0** 许可证。
|
|
333
|
+
|
|
334
|
+
- ✅ 允许个人、学习、研究、非营利用途
|
|
335
|
+
- ❌ 禁止商业使用(需获得授权)
|
|
336
|
+
- ⚠️ 衍生作品必须开源并使用相同许可
|
|
337
|
+
|
|
338
|
+
详见 [LICENSE](./LICENSE) 文件。
|
|
339
|
+
|
|
340
|
+
---
|
|
341
|
+
|
|
342
|
+
<div align="center">
|
|
343
|
+
|
|
344
|
+
**⭐ 如果这个项目对你有帮助,请给一个 Star ⭐**
|
|
345
|
+
|
|
346
|
+
Made with ❤️ by wx4py Team
|
|
347
|
+
|
|
348
|
+
</div>
|