diff options
| author | Fuwn <[email protected]> | 2025-09-15 23:40:34 -0700 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2025-09-15 23:40:34 -0700 |
| commit | 699966bd2d26683dc20c6d0bd42598f54d786af0 (patch) | |
| tree | 4b2aaa7d26e0505e52f78a2166e7bfe3de57db0c /README.md | |
| parent | feat(roleplay_limiter): Add system notice to removal message (diff) | |
| download | umabot-699966bd2d26683dc20c6d0bd42598f54d786af0.tar.xz umabot-699966bd2d26683dc20c6d0bd42598f54d786af0.zip | |
feat(spam_detector): Use UTC time as limit reset time
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 44 |
1 files changed, 22 insertions, 22 deletions
@@ -16,14 +16,16 @@ A modular Reddit bot for automated post moderation built with Python and PRAW. The bot supports two roleplay limiting modes: #### Surge-Based Limiting (Default) + Intelligent surge detection that adjusts limits based on subreddit activity: - **Normal Activity** (< 20 roleplay posts): Users can post up to 5 roleplay posts per time window - **Moderate Surge** (20+ roleplay posts): Users limited to 3 roleplay posts per time window -- **High Surge** (40+ roleplay posts): Users limited to 1 roleplay post per time window +- **High Surge** (40+ roleplay posts): Users limited to 1 roleplay post per time window - **Extreme Surge** (60+ roleplay posts): All roleplay posts temporarily blocked #### Static Limiting (Optional) + Fixed limit that doesn't change based on activity: - **Fixed Limit**: Users can post a configurable number of roleplay posts per time window (default: 1) @@ -72,7 +74,6 @@ REDDIT_USER_AGENT=UmaBot/0.1.0 SUBREDDIT_NAME=your_subreddit_name # Bot Messages -SPAM_MESSAGE=Your post has been removed for posting too frequently. Please wait before posting again. ROLEPLAY_MESSAGE=Your post has been removed. Only one roleplay post is allowed per user. # Bot Settings @@ -127,7 +128,7 @@ class MyCustomRule(Rule): def should_remove(self, submission): # Your logic here return False - + def get_removal_message(self, submission): return "Your post was removed for violating our custom rule." ``` @@ -170,25 +171,24 @@ The bot can be deployed on any platform that supports Python: ### Environment Variables -| Variable | Description | Default | -|----------|-------------|---------| -| `REDDIT_CLIENT_ID` | Reddit API client ID | Required | -| `REDDIT_CLIENT_SECRET` | Reddit API client secret | Required | -| `REDDIT_USERNAME` | Reddit bot username | Required | -| `REDDIT_PASSWORD` | Reddit bot password | Required | -| `REDDIT_USER_AGENT` | User agent string | `UmaBot/0.1.0` | -| `SUBREDDIT_NAME` | Target subreddit name | Required | -| `SPAM_MESSAGE` | Message for spam removals | Customizable | -| `ROLEPLAY_MESSAGE` | Message for roleplay removals | Customizable | -| `CHECK_INTERVAL` | Seconds between checks | `60` | -| `MAX_POSTS_PER_DAY` | Max posts per user in time window | `3` | -| `MAX_ROLEPLAY_POSTS_PER_DAY` | Max roleplay posts per user in time window | `1` | -| `POST_LIMIT_WINDOW_HOURS` | Time window for post limits (hours) | `24` | -| `ROLEPLAY_LIMIT_WINDOW_HOURS` | Time window for roleplay limits (hours) | `24` | -| `ROLEPLAY_SURGE_THRESHOLD_1` | First surge threshold for roleplay posts | `20` | -| `ROLEPLAY_SURGE_THRESHOLD_2` | Second surge threshold for roleplay posts | `40` | -| `ROLEPLAY_SURGE_THRESHOLD_3` | Third surge threshold for roleplay posts | `60` | -| `DRY_RUN` | Enable dry-run mode | `false` | +| Variable | Description | Default | +| ----------------------------- | ------------------------------------------ | -------------- | +| `REDDIT_CLIENT_ID` | Reddit API client ID | Required | +| `REDDIT_CLIENT_SECRET` | Reddit API client secret | Required | +| `REDDIT_USERNAME` | Reddit bot username | Required | +| `REDDIT_PASSWORD` | Reddit bot password | Required | +| `REDDIT_USER_AGENT` | User agent string | `UmaBot/0.1.0` | +| `SUBREDDIT_NAME` | Target subreddit name | Required | +| `ROLEPLAY_MESSAGE` | Message for roleplay removals | Customizable | +| `CHECK_INTERVAL` | Seconds between checks | `60` | +| `MAX_POSTS_PER_DAY` | Max posts per user in time window | `3` | +| `MAX_ROLEPLAY_POSTS_PER_DAY` | Max roleplay posts per user in time window | `1` | +| `POST_LIMIT_WINDOW_HOURS` | Time window for post limits (hours) | `24` | +| `ROLEPLAY_LIMIT_WINDOW_HOURS` | Time window for roleplay limits (hours) | `24` | +| `ROLEPLAY_SURGE_THRESHOLD_1` | First surge threshold for roleplay posts | `20` | +| `ROLEPLAY_SURGE_THRESHOLD_2` | Second surge threshold for roleplay posts | `40` | +| `ROLEPLAY_SURGE_THRESHOLD_3` | Third surge threshold for roleplay posts | `60` | +| `DRY_RUN` | Enable dry-run mode | `false` | ## Development |