awesome-opensource icon indicating copy to clipboard operation
awesome-opensource copied to clipboard

Add Reddit Social Media Integration

Open thunder-velvet opened this issue 6 months ago • 1 comments

Description

Implement Reddit as a social media scheduling provider, allowing users to schedule and publish posts directly to Reddit subreddits.

Requirements

  • Create a Reddit provider class implementing the ProviderInterface in packages/backend/scheduler/providers/reddit.provider.ts
  • The implementation should support:
    • Authentication with Reddit API (OAuth2)
    • Posting text content to subreddits
    • Uploading and attaching media (images) to posts
    • Supporting different post types (text, link, image)
    • Selecting target subreddits for posting

Implementation Details

  • Create a new Reddit class that implements the ProviderInterface
  • Add OAuth2 authentication flow for Reddit
  • Implement token refresh mechanism (Reddit tokens expire)
  • Add to SchedulerList in packages/backend/scheduler/scheduler.list.ts
  • Add appropriate UI elements for Reddit connection
  • Update the social media selection UI to include Reddit option
  • Implement subreddit selection mechanism in the UI
  • Handle different post types (text vs. link vs. media posts)

API Documentation

Reddit API Documentation

Technical Considerations

  • Reddit's API rate limits need to be respected
  • Different post types require different API endpoints
  • Will need to handle subreddit selection as part of the posting process
  • Reddit requires a registered application for OAuth2
  • May need to implement special handling for link posts vs. text posts

Testing

  • Test authentication flow
  • Test posting with and without media attachments
  • Test token refresh mechanism
  • Test different post types (text, link, image)
  • Test subreddit selection functionality

Design

  • Add Reddit logo to the social media selection UI
  • Use the standard Reddit branding colors
  • Consider UI for selecting target subreddits

thunder-velvet avatar Apr 10 '25 05:04 thunder-velvet