aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorFuwn <[email protected]>2025-09-15 23:40:34 -0700
committerFuwn <[email protected]>2025-09-15 23:40:34 -0700
commit699966bd2d26683dc20c6d0bd42598f54d786af0 (patch)
tree4b2aaa7d26e0505e52f78a2166e7bfe3de57db0c /README.md
parentfeat(roleplay_limiter): Add system notice to removal message (diff)
downloadumabot-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.md44
1 files changed, 22 insertions, 22 deletions
diff --git a/README.md b/README.md
index 12f8639..f6dd88a 100644
--- a/README.md
+++ b/README.md
@@ -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