Skip to content

Other Platforms Setup

Configuration guides for Reddit, Mastodon, and Bluesky.

Reddit

Prerequisites

  • Reddit account
  • Created Reddit app (script or web app type)

Create Reddit App

  1. Go to Reddit App Preferences
  2. Click Create App or Create Another App
  3. Select web app type
  4. Set redirect URI to your callback URL
  5. Note the client ID (under app name) and client secret

Required Scopes

ScopePurpose
identityRead username
readRead posts/comments
submitSubmit posts
editEdit own posts

Callback URL

https://api.tendsocial.com/api/social/accounts/callback/reddit

Environment Variables

bash
REDDIT_CLIENT_ID=your_client_id
REDDIT_CLIENT_SECRET=your_client_secret

Platform Limitations

FeatureStatus
Text posts✅ Supported
Link posts✅ Supported
Image posts✅ Supported
Video posts✅ Supported
Cross-posting❌ Not available via API
Polls❌ Not available via API
Comments✅ Read/write supported
Karma requirements⚠️ Some subreddits require minimum karma

Mastodon

Authentication Method

Mastodon is federated, meaning each instance has separate OAuth:

  1. User provides their instance URL (e.g., mastodon.social)
  2. TendSocial registers as an app on that instance (dynamically)
  3. User authorizes through their instance

Dynamic App Registration

For each new instance, TendSocial:

  1. POSTs to https://{instance}/api/v1/apps
  2. Receives client_id and client_secret
  3. Stores credentials for that instance
  4. Redirects user to instance OAuth

Required Scopes

ScopePurpose
readRead account info
writePost toots
pushReceive notifications (optional)

Callback URL

https://api.tendsocial.com/api/social/accounts/callback/mastodon

Environment Variables

Mastodon credentials are per-instance, stored in database per connection.

Optional default instance:

bash
MASTODON_CLIENT_ID=your_client_id
MASTODON_CLIENT_SECRET=your_client_secret
MASTODON_INSTANCE_URL=mastodon.social

Platform Limitations

FeatureStatus
Text posts (toots)✅ 500 chars (instance-dependent)
Images✅ Up to 4
Videos✅ Supported
Polls✅ Supported
Content warnings✅ Supported
Visibility✅ Public/unlisted/private/direct
Boosting (retoots)✅ Supported
Threads✅ Supported

Bluesky

Authentication Method

Bluesky uses App Passwords (not OAuth):

  1. Go to Bluesky Settings
  2. Click Add App Password
  3. Name it (e.g., "TendSocial")
  4. Copy the generated password

IMPORTANT

Bluesky does not support OAuth. Users provide their handle and app password directly.

API Endpoint

https://bsky.social/xrpc/

Or the user's PDS if self-hosted:

https://{user-pds}/xrpc/

Required Credentials

CredentialFormat
Handleusername.bsky.social or custom domain
App PasswordGenerated app-specific password

Environment Variables

Bluesky credentials are per-user, stored in database.

No global environment variables needed.

Platform Limitations

FeatureStatus
Text posts✅ 300 chars (graphemes)
Images✅ Up to 4
Videos✅ Supported
Link cards✅ Auto-generated
Quote posts✅ Supported
Replies✅ Supported
Likes✅ Supported
Reposts✅ Supported
Lists✅ Supported
Feeds⚠️ Requires custom feed generator

Character Counting

Bluesky counts graphemes, not bytes or characters:

  • Emoji = 1 grapheme (regardless of modifiers)
  • Links are counted at full length
  • Mentions/hashtags counted at full length

TendSocial handles grapheme counting automatically.

TendSocial Documentation