名称: mastodon-publisher
描述: 发布内容到 Mastodon。当需要发布 Mastodon 状态时使用。
作者: Behrang Saeedzadeh
版本: 0.5.0
触发器:
- "post to mastodon"
- "publish status to mastodon"
元数据: { "clawdbot": { "emoji": "🐘" }, "requires": { "bins": ["bun"] } }
将内容发布到 Mastodon。适用于分享更新、帖子或媒体。
使用 Bun 向 Mastodon 发布新状态:
bun {baseDir}/scripts/tootbot.js '{"status": "你好,Mastodon!"}' '{"status": "再见,Mastodon!"}'
JSON 字段说明
| 名称 | 描述 | 类型 | 示例 | 是否必需 | 默认值 |
|---|---|---|---|---|---|
status |
状态的文本内容 | string | "Hello, World" | 是^1 | N/A |
visibility |
设置发布状态的可见性 | public 或 private 或 unlisted 或 direct |
"private" | 否 | "public" |
language |
此状态的 ISO 639-1 语言代码 | ISO-639-1 语言代码 | "en" | 否 | |
scheduledAt |
安排状态发布的日期时间 | RFC3339 日期时间 | "2029-02-03T15:30:45.000Z" | 否 | |
quoteApprovalPolicy |
设置允许引用此状态的人员范围 | public 或 followers 或 nobody |
"nobody" | 否 | "public" |
media |
附加到状态的媒体文件 | {file, description} 对象数组 |
{"file": "/path/to/foo.png", "description" : "Foo"} |
否^2 |
--media-path 参数时,status 可以省略。status 被省略,则必须存在一个或多个 media 对象。media.description 是可选的。环境变量
| 名称 | 描述 | 示例 |
|---|---|---|
MASTODON_URL |
你的 Mastodon 实例 URL | https://mastodon.social |
MASTODON_ACCESS_TOKEN |
你的 Mastodon 访问令牌 | xAyBzC |
bash
bun {baseDir}/scripts/tootbot.js '{"status": "你好,Mastodon"}'
读取输出并总结给用户。
bash
bun {baseDir}/scripts/tootbot.js '{"status": "你好,未来!", "scheduledAt" : "2030-02-05T13:21:34.000Z"}'
读取输出并总结给用户。
bash
bun {baseDir}/scripts/tootbot.js <<EOF
{
"status" : "Dorood",
"visibility" : "public",
"language" : "fa",
"scheduledAt" : "2029-02-03T15:30:45.123456789+03:30",
"quoteApprovalPolicy" : "followers",
"media" : [
{
"file" : "/path/to/media.png",
"description" : "Nowrooz Pirooz"
}
]
}
EOF
读取输出并总结给用户。
bash
bun {baseDir}/scripts/tootbot.js <<EOF
{
"status" : "Edsger W Dijkstra",
"visibility" : "public",
"language" : "fa",
"scheduledAt" : "2029-02-03T15:30:45.123456789+03:30",
"quoteApprovalPolicy" : "followers",
"media" : [
{
"file" : "/path/to/dijkstra.png",
"description" : "Portrait"
},
{
"file" : "/path/to/signature.png",
"description" : "Signature"
}
]
}
EOF
bash
bun {baseDir}/scripts/tootbot.js <<EOF
{
"media" : [
{
"file" : "/path/to/flower-1.png",
"description" : "White Rose"
},
{
"file" : "/path/to/flower-2.png",
"description" : "Red Rose"
}
]
}
EOF
bun 并确保其在 PATH 环境变量中可用。