Metadata-Version: 2.4
Name: wechat-mp-cli
Version: 0.1.0
Summary: 微信公众号命令行工具
Author-email: Your Name <your@email.com>
License: MIT
Project-URL: Homepage, https://github.com/your-username/mp-cli
Project-URL: Repository, https://github.com/your-username/mp-cli
Project-URL: Issues, https://github.com/your-username/mp-cli/issues
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: typer>=0.9.0
Requires-Dist: httpx>=0.24.0
Requires-Dist: rich>=13.0.0
Requires-Dist: python-dotenv>=1.0.0
Dynamic: license-file

# mp-cli 微信公众号命令行工具

一个用于管理微信公众号的命令行工具，支持文章草稿、素材上传、发布管理、用户管理等功能。

> **AI Agent 接入文档**: 详见 [AGENT.md](AGENT.md)

## 安装

```bash
# 克隆源码
git clone https://github.com/your-username/mp-cli.git
cd mp-cli

# 安装
pip install .
```

安装后即可使用 `mp` 命令。

## 配置

设置环境变量:

```bash
export WECHAT_APPID=your_appid
export WECHAT_APPSECRET=your_appsecret
```

或复制 `.env.example` 为 `.env` 并填入你的配置:

```bash
cp .env.example .env
```

## 使用

### Token 管理

```bash
# 获取 access_token
mp token get

# 清除缓存的 token
mp token clear
```

### 草稿管理

```bash
# 查看草稿列表
mp draft list

# 查看草稿内容
mp draft get <media_id>

# 删除草稿
mp draft delete <media_id>
```

### 素材管理

```bash
# 上传素材
mp media upload <file_path> --type image

# 上传图片获取 URL
mp media upload-image <file_path>

# 查看素材列表
mp media list image

# 删除素材
mp media delete <media_id>
```

### 发布管理

```bash
# 提交草稿发布
mp publish submit <media_id>

# 查询发布状态
mp publish status <publish_id>

# 查看发布记录
mp publish list

# 删除发布内容
mp publish delete <publish_id>
```

### 用户管理

```bash
# 获取关注者列表
mp user list

# 获取用户信息
mp user info <openid>

# 批量获取用户信息
mp user batch-get <openid1> <openid2> ...

# 设置用户备注
mp user update-remark <openid> <remark>

# 获取标签列表
mp user tag-list

# 创建标签
mp user create-tag <tag_name>

# 删除标签
mp user delete-tag <tag_id>
```

### 菜单管理

```bash
# 获取当前菜单
mp menu get

# 创建菜单 (从 JSON 文件)
mp menu create menu.json

# 删除菜单
mp menu delete
```

### 模板消息

```bash
# 获取模板列表
mp template list

# 发送模板消息
mp template send <openid> <template_id> '{"first":{"value":"xxx"}}'

# 删除模板
mp template delete <template_id>
```

### 自动回复

```bash
# 获取所有自动回复规则
mp reply get-all

# 添加文本自动回复
mp reply add-text --keyword "关键词" "回复内容"

# 添加图文自动回复
mp reply add-news --keyword "关键词" "标题" "摘要" "链接" "图片URL"
```

## 命令帮助

查看所有命令:

```bash
mp --help
```

查看某个子命令的帮助:

```bash
mp <command> --help
```

## 示例

### 上传并发布文章

```bash
# 1. 上传图片素材
mp media upload article.jpg --type image --permanent

# 2. 创建草稿 (需要调用 API 或使用其他工具)

# 3. 提交发布
mp publish submit <media_id>

# 4. 查看发布状态
mp publish status <publish_id>
```

### 管理用户标签

```bash
# 1. 查看现有标签
mp user tag-list

# 2. 创建新标签
mp user create-tag "活跃用户"

# 3. 查看用户信息
mp user info <openid>
```

## 许可证

MIT License
