FeaturesTemplatesShowcaseTownie
AI
BlogDocsPricing
Log inSign up
sunnyatlightswitch
sunnyatlightswitchreddit-checker
Public
Like
reddit-checker
Home
Code
2
README.md
C
unified-reddit-monitor.ts
Branches
1
Pull requests
Remixes
History
Environment variables
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in milliseconds.
Sign up now
Code
/
Code
/
Search
README.md

Unified Reddit Monitor

A simplified, comprehensive Reddit monitoring system that consolidates all monitoring functionality into a single script with automated cron scheduling!

šŸš€ Features

  • Unified Monitoring: Single script handles all Reddit monitoring
  • Multiple Methods: Uses Reddit API with JSON and RSS fallbacks for reliability
  • Multi-Subreddit Support: Monitors 11 subreddits simultaneously
  • Dual Notifications: Sends both Slack and email notifications
  • Database Storage: Automatically saves matching posts to Supabase database
  • Automated Scheduling: Runs on cron schedule for consistent monitoring
  • Manual Override: Can also be run manually when needed
  • Robust Error Handling: Continues monitoring even if some subreddits fail
  • Comprehensive Logging: Detailed console output for debugging

šŸ“ Clean Project Structure

ā”œā”€ā”€ unified-reddit-monitor.ts  # šŸŽÆ MAIN SCRIPT - Runs on cron schedule (CRON) āœ… READY
└── README.md                  # This file

All legacy files have been removed! The project now contains only the essential unified monitoring script.

šŸŽÆ How to Use

Automated Monitoring (Primary Usage) āœ… READY

The monitor runs automatically on a cron schedule. Set your preferred schedule in the Val Town web UI:

Recommended Schedules:

  • */30 * * * * - Every 30 minutes (active monitoring)
  • 0 * * * * - Every hour (balanced)
  • 0 */2 * * * - Every 2 hours (moderate)
  • 0 */4 * * * - Every 4 hours (conservative)
  • 0 9,21 * * * - Twice daily at 9 AM and 9 PM

Manual Override (Optional)

You can also run the monitor manually anytime by visiting the HTTP endpoint:

GET /unified-reddit-monitor.ts

Available Actions

GET /unified-reddit-monitor.ts?action=run      # Run the monitor (default)
GET /unified-reddit-monitor.ts?action=status   # Show current configuration
GET /unified-reddit-monitor.ts?action=reset    # Reset last checked timestamp
GET /unified-reddit-monitor.ts?action=help     # Show help information

āš™ļø Configuration

Current Settings āœ… CONFIGURED

  • Subreddits: 11 subreddits monitored
    • r/lovable, r/AppBusiness, r/appdev, r/AppDevelopers
    • r/ChatGPTCoding, r/indiehackers, r/microsaas, r/replit
    • r/ReplitBuilders, r/vibecoding, r/ViralApps
  • Keywords:
    • Authentication: auth, authentication, login, user sessions
    • Monetization: stripe, subscriptions, monetization, paywall, feature gating
    • Analytics: analytics
    • Business: how do I make money with my app
  • Post Limit: 25 posts per subreddit per check
  • Notifications: Both Slack and Email enabled
  • Database: Supabase integration enabled
  • Execution: Automated cron scheduling + manual override capability

Reddit API Credentials āœ… CONFIGURED

  • Client ID: 151sZ8h5TaHVZGZZn0rOhA
  • Client Secret: rX_YGngVjaxRA3Y0F3STl2cuEmgHkQ

šŸ”§ Usage

Primary Usage āœ… READY

Automated: The monitor runs automatically on your configured cron schedule.

Manual Override: Run the monitor manually anytime:

GET /unified-reddit-monitor.ts

Configuration Management

GET /unified-reddit-monitor.ts?action=status   # View current settings
GET /unified-reddit-monitor.ts?action=reset    # Reset last checked timestamp
GET /unified-reddit-monitor.ts?action=help     # Show help and usage

šŸ“± Notifications & Storage āœ… CONFIGURED

When matches are found, the system will:

1. Send Slack Notifications

  • Header: 🚨 Unified Reddit Monitor Alert: X new matching posts in Y subreddits
  • Rich Attachments for each matching post including:
    • Post title (clickable link to Reddit)
    • Matched keywords
    • Author information
    • Score and comment count
    • Publication date
    • Content preview
    • Subreddit footer
  • Webhook URL: https://hooks.slack.com/services/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

2. Send Email Notifications

  • Subject: 🚨 Unified Reddit Monitor Alert: X new matches in Y subreddits
  • Content: Formatted text with all post details
  • Format: Both plain text and HTML versions

3. Save to Supabase Database

  • Table: relevant_reddit_posts
  • Fields Stored:
    • title (text) - Post title
    • author (text) - Reddit username
    • keywords_found (text) - Comma-separated matched keywords
    • comments (text) - Number of comments
    • posted (text) - ISO timestamp when posted
    • url (text) - Full Reddit URL
  • Project: ffilnpatwtlzjrfbmvxk.supabase.co

šŸ” Monitoring Details

What Gets Monitored

  • Post Titles: Full text search for keywords across all 11 subreddits
  • Post Content: Self-text content of posts across all subreddits
  • Frequency: Automated cron execution + manual override capability
  • Scope: New posts since last check across all monitored subreddits
  • Methods: Reddit API (primary), JSON API (fallback), RSS feeds (last resort)

Keyword Matching āœ… TESTED

  • Case-insensitive matching
  • Partial word matching (e.g., "auth" matches "authentication")
  • Multiple keyword detection per post
  • Configurable keyword list

šŸ› ļø Customization

To modify the configuration, edit the CONFIG object in unified-reddit-monitor.ts:

Adding New Keywords

const CONFIG: MonitorConfig = { keywords: [ 'auth', 'authentication', 'login', 'user sessions', 'stripe', 'subscriptions', 'monetization', 'paywall', 'feature gating', 'analytics', 'how do I make money with my app', 'YOUR_NEW_KEYWORD' // Add here ], // ... other settings };

Adding New Subreddits

const CONFIG: MonitorConfig = { subreddits: [ "lovable", "AppBusiness", "appdev", "AppDevelopers", "ChatGPTCoding", "indiehackers", "microsaas", "replit", "ReplitBuilders", "vibecoding", "ViralApps", "YOUR_NEW_SUBREDDIT" // Add here ], // ... other settings };

Adjusting Settings

const CONFIG: MonitorConfig = { postLimit: 50, // Check 50 posts per subreddit instead of 25 useSlack: true, // Enable/disable Slack notifications useEmail: false, // Enable/disable email notifications // ... other settings };

šŸ” Security

  • Reddit API credentials are configured and working
  • Access tokens are cached and automatically refreshed
  • All API calls use proper authentication headers
  • Fallback methods ensure reliability even if primary API fails

āœ… System Status

Current Status: FULLY OPERATIONAL - CLEAN ARCHITECTURE

  • āœ… Single Script: One comprehensive monitoring script only
  • āœ… No Legacy Files: All unnecessary files removed
  • āœ… Automated Scheduling: Runs consistently on cron schedule
  • āœ… Manual Override: Can still be run manually when needed
  • āœ… Multi-Method Fetching: Reddit API → JSON API → RSS fallbacks
  • āœ… Multi-Subreddit Support: 11 subreddits monitored simultaneously
  • āœ… Triple Output: Slack notifications + Email alerts + Database storage
  • āœ… Robust Error Handling: Continues even if some subreddits fail
  • āœ… Comprehensive Logging: Detailed execution information

How to Use

  1. Set Cron Schedule: Configure your preferred schedule in Val Town web UI
  2. Monitor Automatically: The script runs on schedule and sends notifications
  3. Manual Override: Visit /unified-reddit-monitor.ts to run immediately
  4. Check Status: Use ?action=status to see current configuration
  5. Reset if Needed: Use ?action=reset to clear last checked timestamp
  6. Get Help: Use ?action=help for usage information

Clean Architecture

The project now contains only the essential unified monitoring script. All legacy files, test files, and redundant components have been removed for maximum simplicity and maintainability.

šŸ› Troubleshooting

Common Issues

  1. No Recent Matches

    • Check if there are actually new posts with your keywords
    • Use ?action=status to see when last checked
    • Use ?action=reset to check all posts again
  2. API Errors

    • The script automatically falls back to JSON API then RSS
    • Check the response for detailed error information
  3. Notification Issues

    • Slack and email can be individually enabled/disabled in config
    • Check spam folder for emails
    • Verify Slack webhook URL is working

Debug Information

The unified script provides comprehensive logging:

  • Shows which method was used for each subreddit (API/JSON/RSS)
  • Reports errors per subreddit but continues with others
  • Provides detailed match information
  • Shows notification sending status

šŸ“Š Benefits of Automated Monitoring

āœ… Consistent Coverage: Never miss new posts with automated scheduling āœ… Hands-Free Operation: Set it once and let it run automatically
āœ… Flexible Control: Manual override available when needed āœ… Maximum Simplicity: Single script handles everything āœ… Easy Maintenance: One file to manage and update āœ… Reliable Operation: Multiple fallback methods with robust error handling

Cron
  • unified-reddit-monitor.ts
Code
README.md
C
unified-reddit-monitor.ts
Go to top
X (Twitter)
Discord community
GitHub discussions
YouTube channel
Bluesky
Product
FeaturesPricing
Developers
DocsStatusAPI ExamplesNPM Package Examples
Explore
ShowcaseTemplatesNewest ValsTrending ValsNewsletter
Company
AboutBlogCareersBrandhi@val.town
Terms of usePrivacy policyAbuse contact
Ā© 2025 Val Town, Inc.