🎁 Get the FREE AI Skills Starter Guide β€” Subscribe β†’
BytesAgainBytesAgain
πŸ¦€ ClawHub

Tootbot

by @behrangsa

Publish content to Mastodon. Use when you need to post a Mastodon status.

Versionv0.5.0
Downloads3,136
Installs1
TERMINAL
clawhub install tootbot

πŸ“– About This Skill


name: mastodon-publisher description: Publish content to Mastodon. Use when you need to post a Mastodon status. author: Behrang Saeedzadeh version: 0.5.0 triggers: - "post to mastodon" - "publish status to mastodon" metadata: { "clawdbot": { "emoji": "🐘" }, "requires": { "bins": ["bun"] } }

Mastodon Publisher

Publish content to Mastodon. Use when you need to share updates, posts, or media.

Usage

Post one or more statuses to Mastodon

Post a new status to Mastodon with Bun:

bun {baseDir}/scripts/tootbot.js '{"status": "Hello, Mastodon!"}' '{"status": "Goodby, Mastodon!"}'

JSON fields

| Name | Description | Type | Example | Required | Default | | --------------------- | ---------------------------------------- | ----------------------------------------------- | ----------------------------------------------------- | -------- | -------- | | status | The text content of the status | string | "Hello, World" | yes^1 | N/A | | visibility | Sets the visibility of the posted status | public or private or unlisted or direct | "private" | no | "public" | | language | ISO 639-1 language code for this status | ISO-639-1 Language Code | "en" | no | | | scheduledAt | Datetime at which to schedule a status | RFC3339 date time | "2029-02-03T15:30:45.000Z" | no | | | quoteApprovalPolicy | Sets who is allowed to quote the status | public or followrs or nobody | "nobody" | no | "public | | media | Media to be attached to the status | array of {file, description} objects | {"file": "/path/to/foo.png", "description" : "Foo"} | no^2 | |

  • ^1 status can be ommitted when one or --media-path parameters are present
  • ^2 one or media objects must be present if status is ommitted
  • ^2 media.description is optional
  • Environment Variables

    | Name | Description | Example | | ----------------------- | -------------------------- | ------------------------- | | MASTODON_URL | Your Mastodon instance URL | https://mastodon.social | | MASTODON_ACCESS_TOKEN | Your Mastodon access token | xAyBzC |

    Examples

  • Post a new status
  •   bun {baseDir}/scripts/tootbot.js '{"status": "Hello, Mastodon"}'
      

    Read the output and summarize it for the user.

  • Post a scheduled status
  •   bun {baseDir}/scripts/tootbot.js '{"status": "Hello, future!", "scheduledAt" : "2030-02-05T13:21:34.000Z"}'
      

    Read the output and summarize it for the user.

  • Post a scheduled status with visibility, language, quote approval policy, and a single media attachment
  •   bun {baseDir}/scripts/tootbot.js <

    Read the output and summarize it for the user.

  • Post a new status with media multiple attachments
  •   bun {baseDir}/scripts/tootbot.js <

  • Post a new status with media attachments and no status text
  •   bun {baseDir}/scripts/tootbot.js <

    Notes

  • Requires bun to be installed and available in the PATH.
  • πŸ’‘ Examples

  • Post a new status
  •   bun {baseDir}/scripts/tootbot.js '{"status": "Hello, Mastodon"}'
      

    Read the output and summarize it for the user.

  • Post a scheduled status
  •   bun {baseDir}/scripts/tootbot.js '{"status": "Hello, future!", "scheduledAt" : "2030-02-05T13:21:34.000Z"}'
      

    Read the output and summarize it for the user.

  • Post a scheduled status with visibility, language, quote approval policy, and a single media attachment
  •   bun {baseDir}/scripts/tootbot.js <

    Read the output and summarize it for the user.

  • Post a new status with media multiple attachments
  •   bun {baseDir}/scripts/tootbot.js <

  • Post a new status with media attachments and no status text
  •   bun {baseDir}/scripts/tootbot.js <

    πŸ“‹ Tips & Best Practices

  • Requires bun to be installed and available in the PATH.