Tootbot

🐘 高效命令行 Mastodon 发布助手

social-media榜 #46

通过 Bun 脚本向 Mastodon 发布文本、媒体附件及定时动态,支持多实例与细粒度权限控制。

收藏
11.3k
安装
2.7k
版本
0.5.0
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

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 发布工具,功能覆盖全面但需关注令牌安全与运行时依赖。

Tootbot 内容

暂无文件树

手动下载zip · 126.5 kB
contentapplication/octet-stream
请选择文件