核心用法
Mastodon Publisher 是一款面向命令行的 Mastodon 内容发布工具,基于 Bun 运行时执行。用户通过调用 tootbot.js 脚本并传入 JSON 参数,即可实现以下功能:
- 发布文本动态:支持纯文本或多条连续发布
- 媒体附件上传:可附带多张图片并添加无障碍描述(alt text)
- 定时发布:通过
scheduledAt字段指定 RFC3339 格式的未来时间 - 可见性与权限控制:支持
public/unlisted/private/direct四种可见级别,以及quoteApprovalPolicy管理引用权限 - 多语言支持:ISO 639-1 语言代码标记
使用示例
# 基础发布
bun {baseDir}/scripts/tootbot.js '{"status": "Hello, Mastodon!"}'
# 带媒体附件的定时发布
bun {baseDir}/scripts/tootbot.js <<EOF
{
"status": "Dorood",
"visibility": "public",
"language": "fa",
"scheduledAt": "2029-02-03T15:30:45.000Z",
"media": [{"file": "/path/to/image.png", "description": "Nowrooz"}]
}
EOF显著优点
1. 轻量高效:基于 Bun 运行时,启动速度快,资源占用低
2. 功能完整:覆盖 Mastodon API 核心功能(媒体上传、定时发布、权限控制)
3. 灵活调用:支持命令行传参、heredoc 多行输入,易于集成到自动化工作流
4. 无障碍友好:强制支持媒体描述字段,提升内容可访问性
潜在缺点与局限性
- 依赖单一运行时:必须安装 Bun,Node.js 用户需额外配置环境
- 无交互式界面:纯命令行工具,对非技术用户门槛较高
- 令牌管理风险:依赖环境变量
MASTODON_ACCESS_TOKEN,若配置不当存在泄露风险 - 错误处理不详:文档未明确说明 API 失败时的重试机制或错误码解析
- 版本较早期:v0.5.0 可能存在未覆盖的边界场景
适合人群
- 开发者与运维人员,需将 Mastodon 发布集成到 CI/CD 或自动化脚本
- 内容创作者,追求批量定时发布效率
- 隐私意识用户,偏好自托管工具而非第三方 SaaS
常规风险
| 风险类型 | 说明 |
|---------|------|
| 令牌泄露 | `MASTODON_ACCESS_TOKEN` 需妥善保管,避免提交至版本控制 |
| 实例锁定 | 高频发布可能触发 Mastodon 实例的速率限制 |
| 定时任务失败 | 依赖系统时间准确性,`scheduledAt` 过早或格式错误会导致发布失败 |
| 媒体路径错误 | 本地文件路径需确保脚本执行时可访问,否则上传中断 |
总体评价
适合技术用户的高效 Mastodon 发布工具,功能覆盖全面但需关注令牌安全与运行时依赖。