Modify Reddit Keyword Monitoring Script with Subreddit Activity Filtering and Automated Notifications
Budget: $250 – $750 USD
Project Description:
Overview:
I am seeking an experienced Python developer to customize an existing Reddit keyword monitoring script to meet specific requirements. The goal is to:
Monitor posts and comments containing certain keywords across all subreddits.
Filter results based on subreddit activity levels (number of online users).
Send automated notifications when conditions are met.
Ensure full compliance with Reddit's API terms of service and policies.
Project Objectives:
Keyword Monitoring:
Scope: Monitor Reddit for new posts and comments that contain specific keywords (e.g., "Netflix") across all subreddits.
Keywords: I will provide a list of keywords to track, with the ability to modify this list as needed.
Subreddit Activity Filtering:
Activity Threshold: Fetch the number of active online users (accounts_active or accounts_active_estimate) for each subreddit associated with the posts/comments found.
Filtering Criteria: Only consider posts/comments from subreddits with at least 50 online users at the time of retrieval.
Automated Notifications:
Notification Method: Send real-time email notifications (or via another preferred method like SMS or a messaging app) whenever a qualifying post or comment is found.
Notification Content: Each notification should include:
Title of the post or a snippet of the comment.
Subreddit name and current number of online users.
Direct link to the post or comment.
Timestamp of the post or comment.
Any additional relevant metadata.
Scheduling and Automation:
Frequency: The script should run automatically at configurable intervals (e.g., every 10 minutes), ensuring timely monitoring and notifications.
Reliability: Implement mechanisms to ensure the script runs reliably over time, including handling unexpected interruptions.
User Configuration and Flexibility:
Configurable Parameters: Allow easy modification of:
Keyword list.
Subreddit activity threshold (number of online users).
Notification preferences (email address, frequency).
Scheduling intervals.
Ease of Use: Implement a configuration file (e.g., config.ini or settings.json) or command-line arguments for adjustments without modifying the code.
Compliance with Reddit's API Policies:
API Usage: Utilize Reddit's official API (preferably using PRAW) and/or the Pushshift API for data retrieval.
Rate Limiting: Implement proper rate limiting and respect Reddit's API request limits to prevent any violations.
Authentication: Use appropriate authentication methods, including OAuth, as required by Reddit's API policies.
Bot Policies: Ensure the script complies with Reddit's rules regarding bots and automated scripts.
Technical Requirements:
Programming Language:
The script should be written in Python for compatibility and ease of use.
APIs and Libraries:
Reddit API (PRAW): Use the Python Reddit API Wrapper (PRAW) for interacting with Reddit.
Pushshift API: Optionally use Pushshift for historical data retrieval if necessary.
Email Sending: Utilize a reliable method for sending emails (e.g., SMTP library, integration with an email service like SendGrid or Mailgun).
Error Handling and Logging:
Robust Error Handling: Manage exceptions related to network issues, API errors, rate limits, and authentication failures.
Logging: Implement logging to record the script's activities, errors, and important events for troubleshooting purposes.
Deployment and Execution:
Compatibility: Ensure the script can run on major operating systems (Windows, macOS, Linux).
Scheduling: Provide instructions for setting up the script to run automatically (e.g., using cron jobs on Linux or Task Scheduler on Windows).
Dependencies: List all dependencies and libraries required, preferably in a requirements.txt file for easy installation.
Deliverables:
Complete Source Code:
Well-documented Python code with comments explaining key functions, modules, and workflows.
Include a README.md file with an overview of the script.
Configuration File:
A user-friendly configuration file where I can adjust settings without modifying the main code.
Setup and Deployment Guide:
Detailed instructions on how to install dependencies, configure, and run the script.
Guidance on setting up automatic execution (scheduling) on different platforms if applicable.
Testing and Demonstration:
Demonstrate the script's functionality through test runs.
Provide sample notifications to verify correct operation.
Compliance Documentation:
Confirmation that the script complies with Reddit's API policies.
Documentation of how rate limiting and API usage compliance are handled in the script.
Qualifications:
Experience with Reddit API and PRAW:
Proven experience working with Reddit's API and the PRAW library.
Familiarity with Reddit's API rate limits, authentication methods, and policies.
Python Proficiency:
Strong skills in Python programming, including experience with HTTP requests, JSON handling, and data processing.
Automation and Scripting:
Experience in developing scripts that run autonomously and handle scheduling.
Email Integration:
Knowledge of sending emails programmatically, including handling authentication and security considerations.
Communication Skills:
Ability to communicate clearly and provide regular updates.
Willingness to explain technical aspects in understandable terms.
Budget and Timeline:
Budget:
Please provide a detailed quote for the complete project, including any anticipated expenses (e.g., for email service APIs if needed).
Indicative Budget: $300 (negotiable based on experience and proposal quality).
Timeline:
Target completion within 2 weeks from the start date.
Please confirm your availability and ability to meet this timeline.
How to Apply:
Proposal Submission:
Describe your approach to this project, including the technologies and libraries you plan to use.
Explain how you will ensure compliance with Reddit's API policies.
Provide examples of similar projects you have completed, particularly those involving API integration and automation.
Questions:
Feel free to ask any questions you may have to clarify the project requirements.
Additional Information:
Communication:
I value clear and regular communication. Please indicate your preferred method of communication (e.g., Freelancer.com messages, email, video calls).
Confidentiality:
The script and its functionality are intended for personal use. Please respect confidentiality and do not share the code or project details without permission.
Future Collaboration:
Successful completion of this project may lead to additional work in the future for maintenance or feature enhancements.
Note:
Please ensure that all development adheres strictly to Reddit's API terms of service and respects the platform's community guidelines. The script should be designed to operate responsibly and ethically within Reddit's ecosystem.
Overview:
I am seeking an experienced Python developer to customize an existing Reddit keyword monitoring script to meet specific requirements. The goal is to:
Monitor posts and comments containing certain keywords across all subreddits.
Filter results based on subreddit activity levels (number of online users).
Send automated notifications when conditions are met.
Ensure full compliance with Reddit's API terms of service and policies.
Project Objectives:
Keyword Monitoring:
Scope: Monitor Reddit for new posts and comments that contain specific keywords (e.g., "Netflix") across all subreddits.
Keywords: I will provide a list of keywords to track, with the ability to modify this list as needed.
Subreddit Activity Filtering:
Activity Threshold: Fetch the number of active online users (accounts_active or accounts_active_estimate) for each subreddit associated with the posts/comments found.
Filtering Criteria: Only consider posts/comments from subreddits with at least 50 online users at the time of retrieval.
Automated Notifications:
Notification Method: Send real-time email notifications (or via another preferred method like SMS or a messaging app) whenever a qualifying post or comment is found.
Notification Content: Each notification should include:
Title of the post or a snippet of the comment.
Subreddit name and current number of online users.
Direct link to the post or comment.
Timestamp of the post or comment.
Any additional relevant metadata.
Scheduling and Automation:
Frequency: The script should run automatically at configurable intervals (e.g., every 10 minutes), ensuring timely monitoring and notifications.
Reliability: Implement mechanisms to ensure the script runs reliably over time, including handling unexpected interruptions.
User Configuration and Flexibility:
Configurable Parameters: Allow easy modification of:
Keyword list.
Subreddit activity threshold (number of online users).
Notification preferences (email address, frequency).
Scheduling intervals.
Ease of Use: Implement a configuration file (e.g., config.ini or settings.json) or command-line arguments for adjustments without modifying the code.
Compliance with Reddit's API Policies:
API Usage: Utilize Reddit's official API (preferably using PRAW) and/or the Pushshift API for data retrieval.
Rate Limiting: Implement proper rate limiting and respect Reddit's API request limits to prevent any violations.
Authentication: Use appropriate authentication methods, including OAuth, as required by Reddit's API policies.
Bot Policies: Ensure the script complies with Reddit's rules regarding bots and automated scripts.
Technical Requirements:
Programming Language:
The script should be written in Python for compatibility and ease of use.
APIs and Libraries:
Reddit API (PRAW): Use the Python Reddit API Wrapper (PRAW) for interacting with Reddit.
Pushshift API: Optionally use Pushshift for historical data retrieval if necessary.
Email Sending: Utilize a reliable method for sending emails (e.g., SMTP library, integration with an email service like SendGrid or Mailgun).
Error Handling and Logging:
Robust Error Handling: Manage exceptions related to network issues, API errors, rate limits, and authentication failures.
Logging: Implement logging to record the script's activities, errors, and important events for troubleshooting purposes.
Deployment and Execution:
Compatibility: Ensure the script can run on major operating systems (Windows, macOS, Linux).
Scheduling: Provide instructions for setting up the script to run automatically (e.g., using cron jobs on Linux or Task Scheduler on Windows).
Dependencies: List all dependencies and libraries required, preferably in a requirements.txt file for easy installation.
Deliverables:
Complete Source Code:
Well-documented Python code with comments explaining key functions, modules, and workflows.
Include a README.md file with an overview of the script.
Configuration File:
A user-friendly configuration file where I can adjust settings without modifying the main code.
Setup and Deployment Guide:
Detailed instructions on how to install dependencies, configure, and run the script.
Guidance on setting up automatic execution (scheduling) on different platforms if applicable.
Testing and Demonstration:
Demonstrate the script's functionality through test runs.
Provide sample notifications to verify correct operation.
Compliance Documentation:
Confirmation that the script complies with Reddit's API policies.
Documentation of how rate limiting and API usage compliance are handled in the script.
Qualifications:
Experience with Reddit API and PRAW:
Proven experience working with Reddit's API and the PRAW library.
Familiarity with Reddit's API rate limits, authentication methods, and policies.
Python Proficiency:
Strong skills in Python programming, including experience with HTTP requests, JSON handling, and data processing.
Automation and Scripting:
Experience in developing scripts that run autonomously and handle scheduling.
Email Integration:
Knowledge of sending emails programmatically, including handling authentication and security considerations.
Communication Skills:
Ability to communicate clearly and provide regular updates.
Willingness to explain technical aspects in understandable terms.
Budget and Timeline:
Budget:
Please provide a detailed quote for the complete project, including any anticipated expenses (e.g., for email service APIs if needed).
Indicative Budget: $300 (negotiable based on experience and proposal quality).
Timeline:
Target completion within 2 weeks from the start date.
Please confirm your availability and ability to meet this timeline.
How to Apply:
Proposal Submission:
Describe your approach to this project, including the technologies and libraries you plan to use.
Explain how you will ensure compliance with Reddit's API policies.
Provide examples of similar projects you have completed, particularly those involving API integration and automation.
Questions:
Feel free to ask any questions you may have to clarify the project requirements.
Additional Information:
Communication:
I value clear and regular communication. Please indicate your preferred method of communication (e.g., Freelancer.com messages, email, video calls).
Confidentiality:
The script and its functionality are intended for personal use. Please respect confidentiality and do not share the code or project details without permission.
Future Collaboration:
Successful completion of this project may lead to additional work in the future for maintenance or feature enhancements.
Note:
Please ensure that all development adheres strictly to Reddit's API terms of service and respects the platform's community guidelines. The script should be designed to operate responsibly and ethically within Reddit's ecosystem.