93 lines
3.7 KiB
Markdown
93 lines
3.7 KiB
Markdown
# bark-notify
|
||
|
||
向手机发送 **Bark 通知** 的 Python 模块,覆盖全部通知类型与参数。uv 管理环境,**零第三方依赖**(仅标准库)。
|
||
|
||
- 服务器:标准 Bark 服务(`Server: Bark`),默认 `http://47.108.226.213:10086`,可用 `BARK_BASE_URL` 覆盖。
|
||
- 设备密钥:默认 `pvd3kWwHNFjKXNjiC2sMe7`,可用 `BARK_DEVICE_KEY` 覆盖。
|
||
|
||
## 安装
|
||
|
||
```bash
|
||
cd bark-notify
|
||
uv sync # 创建 .venv 并以可编辑方式安装本项目
|
||
uv run bark-notify --help # 验证 CLI 可用
|
||
```
|
||
|
||
## 命令行用法
|
||
|
||
```bash
|
||
# 基础通知
|
||
uv run bark-notify "标题" "正文"
|
||
|
||
# 各级别(default / active / timeSensitive / critical / passive)
|
||
uv run bark-notify "紧急" "服务器告警" --level critical --sound alarm.caf --volume 10
|
||
uv run bark-notify "勿扰也提醒" "会议还有 5 分钟" --level timeSensitive
|
||
uv run bark-notify "只进通知中心" "静默内容" --level passive
|
||
|
||
# 特殊功能
|
||
uv run bark-notify "Markdown" "### 标题\n- 项1\n- 项2" # 正文原生支持 Markdown
|
||
uv run bark-notify "分组" "第1条" --group 演示
|
||
uv run bark-notify "跳转" "点击打开百度" --url https://www.baidu.com
|
||
uv run bark-notify "复制" "长按复制此文本" --copy "OPC 云超服"
|
||
uv run bark-notify "带图" "附带图片" --image https://picsum.photos/seed/x/400/300
|
||
uv run bark-notify "角标" "数字角标" --badge 5 --ttl 60
|
||
```
|
||
|
||
## Python API
|
||
|
||
```python
|
||
from bark_notify import BarkClient, Level, Notification, Sound
|
||
|
||
client = BarkClient() # 也可 BarkClient(base_url=..., device_key=...)
|
||
|
||
client.push(Notification(
|
||
title="部署完成",
|
||
body="**v2.4.0** 已上线 ✅",
|
||
level=Level.ACTIVE,
|
||
group="部署",
|
||
url="https://example.com/status",
|
||
))
|
||
|
||
# GET 快捷方式(适合快速测试,参数走查询串)
|
||
client.notify("测试", "正文", level="critical", group="x")
|
||
```
|
||
|
||
## 参数一览
|
||
|
||
| 参数 | CLI | 说明 |
|
||
|------|-----|------|
|
||
| `title` / `body` | 位置参数 | 标题 / 正文(正文支持 Markdown) |
|
||
| `level` | `--level` | `default` `active` `timeSensitive` `critical` `passive` |
|
||
| `sound` | `--sound` | 内置铃声名或远程铃声 URL |
|
||
| `badge` | `--badge` | 应用角标数字 |
|
||
| `group` | `--group` | 同组通知折叠 |
|
||
| `icon` | `--icon` | 通知图标 URL |
|
||
| `image` | `--image` | 附带图片 URL |
|
||
| `copy` | `--copy` | 长按复制的文本 |
|
||
| `url` | `--url` | 点击跳转 URL |
|
||
| `is_archive` | `--archive` | 存入历史记录 |
|
||
| `call` | `--call` | 连续响铃(呼叫声) |
|
||
| `ttl` | `--ttl` | 过期秒数,超时自动删除 |
|
||
| `volume` | `--volume` | critical 通知音量 0-10 |
|
||
|
||
## 级别差异速查
|
||
|
||
| 级别 | 横幅 | 声音 | 勿扰可送达 | 说明 |
|
||
|------|:----:|:----:|:---------:|------|
|
||
| `default` | ✅ | ✅ | ❌ | 跟随系统 |
|
||
| `active` | ✅ | ✅ | ❌ | 标准活跃通知 |
|
||
| `timeSensitive` | ✅ | ✅ | ✅ | 时效性 |
|
||
| `critical` | ✅ | ✅ | ✅ | 绕过静音强制响铃,需授权 |
|
||
| `passive` | ❌ | ❌ | — | 仅通知中心 |
|
||
|
||
## 内置铃声
|
||
|
||
`alarm.caf` `alarms.caf` `anticipate.caf` `bell.caf` `bloom.caf` `calypso.caf` `chime.caf` `choir.caf` `complete.caf` `completion.caf` `electronic.caf` `emergency.caf` `fanfare.caf` `glass.caf` `goblin.caf` `healthnotification.caf` `horn.caf` `ladders.caf` `mario.caf` `minuet.caf` `multiwayinvitation.caf` `newmail.caf` `newsflash.caf` `noir.caf` `payment.caf` `shake.caf` `sherwoodfanfare.caf` `silence.caf` `spell.caf` `suspense.caf` `telegraph.caf` `tiptoes.caf` `typewriters.caf` `update.caf`
|
||
|
||
## 环境变量
|
||
|
||
| 变量 | 默认值 | 说明 |
|
||
|------|--------|------|
|
||
| `BARK_BASE_URL` | `http://47.108.226.213:10086` | 服务器地址 |
|
||
| `BARK_DEVICE_KEY` | `pvd3kWwHNFjKXNjiC2sMe7` | 设备密钥 |
|