# How to Use RedditVideoMakerBot for Specific Subreddits

> Learn how to use RedditVideoMakerBot for specific subreddits by configuring the config.toml file. Easily automate video creation from your favorite subreddits.

- Repository: [Lewis Menelaws/RedditVideoMakerBot](https://github.com/elebumm/RedditVideoMakerBot)
- Tags: how-to-guide
- Published: 2026-04-08

---

**To use RedditVideoMakerBot for specific subreddits, configure the `reddit.thread.subreddit` field in your [`config.toml`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/config.toml) file with your target subreddit name (or multiple joined by `+`), then run `python main.py` to automatically fetch, filter, and convert posts into videos.**

The RedditVideoMakerBot repository by elebumm automates the creation of short-form videos from Reddit threads. To target specific communities, you must configure the subreddit selection criteria in the configuration file and understand how the filtering pipeline processes posts from the Reddit API.

## Configuring Target Subreddits in config.toml

All subreddit targeting occurs in the `[reddit.thread]` section of [`config.toml`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/config.toml). The bot validates this configuration against [`utils/.config.template.toml`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/utils/.config.template.toml) at startup.

### Single vs. Multiple Subreddits

Set the `subreddit` key to the exact name of your target community. To process multiple subreddits simultaneously, separate names with a plus sign (`+`) without spaces.

```toml
[reddit.thread]
subreddit = "AskReddit"

```

For multiple subreddits:

```toml
[reddit.thread]
subreddit = "AskReddit+funny+gaming"

```

### Targeting Specific Post IDs

Instead of fetching from the hot list, you can process exact posts by setting the `post_id` field. In [`reddit/subreddit.py`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/reddit/subreddit.py), the `get_subreddit_threads()` function checks for this value at lines 75-94. When provided, the bot fetches that specific submission rather than scanning the subreddit feed.

```toml
[reddit.thread]
post_id = "k9v2z9+mx4p2a"

```

When `post_id` contains multiple IDs separated by `+`, the script calls `main()` for each ID sequentially (see [`main.py`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/main.py) lines 8-15).

## Understanding the Subreddit Selection Pipeline

The selection workflow involves two critical files: [`reddit/subreddit.py`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/reddit/subreddit.py) handles Reddit API authentication and thread fetching, while [`utils/subreddit.py`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/utils/subreddit.py) manages content filtering and "undone" post selection.

When you execute `python main.py`, the `main()` function calls `get_subreddit_threads()` from [`reddit/subreddit.py`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/reddit/subreddit.py) (lines 49-53). This function:

1. Creates a `praw.Reddit` instance using credentials loaded by [`utils/settings.py`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/utils/settings.py)
2. Checks if `post_id` is configured; if so, retrieves that specific submission
3. Otherwise, fetches the hot list using `subreddit.hot(limit=25)`
4. Passes candidates to `get_subreddit_undone()` in [`utils/subreddit.py`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/utils/subreddit.py) (lines 19-86)

### Filtering Rules and Content Moderation

The `get_subreddit_undone()` function filters the fetched submissions by checking against [`video_creation/data/videos.json`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/video_creation/data/videos.json) to skip previously processed posts. It applies the following rules:

- **NSFW content**: Skipped unless `settings.allow_nsfw` is set to `true`
- **Sticky posts**: Automatically excluded from selection
- **Blocked words**: Posts and comments containing terms from `reddit.thread.blocked_words` are rejected via the `_contains_blocked_words()` helper in [`utils/subreddit.py`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/utils/subreddit.py) (lines 9-16)

### Comment Count and Engagement Requirements

The bot enforces minimum engagement thresholds before selecting a post. The `min_comments` setting (default 20) filters out posts with insufficient discussion. Additionally, individual comments must satisfy the `min_comment_length` and `max_comment_length` constraints defined in your configuration.

## Advanced Configuration Examples

### Enabling Interactive Subreddit Selection

To bypass the config file and manually enter a subreddit name at runtime, set the `subreddit` value to an empty string. The bot will prompt you interactively at lines 55-60 of [`reddit/subreddit.py`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/reddit/subreddit.py).

```toml
[reddit.thread]
subreddit = ""

```

### AI-Based Similarity Sorting

When `ai.ai_similarity_enabled` is true, the bot reorders fetched submissions using cosine similarity against keywords defined in `ai.ai_similarity_keywords`. This logic is implemented in [`utils/subreddit.py`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/utils/subreddit.py) (lines 30-35) which calls `sort_by_similarity()` from [`utils/ai_methods.py`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/utils/ai_methods.py).

```toml
[ai]
ai_similarity_enabled = true
ai_similarity_keywords = "python, coding, programming"

```

### Complete Configuration Example

```toml
[reddit.creds]
client_id = "YOUR_CLIENT_ID"
client_secret = "YOUR_CLIENT_SECRET"
username = "YOUR_REDDIT_USERNAME"
password = "YOUR_REDDIT_PASSWORD"
2fa = false

[reddit.thread]
subreddit = "AskReddit+relationship_advice"
post_id = ""
min_comments = 25
max_comment_length = 500
min_comment_length = 10
blocked_words = "nsfw, spoiler, update"

[settings]
allow_nsfw = false
storymode = false

```

## Summary

- Configure target subreddits in the `[reddit.thread]` section of [`config.toml`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/config.toml) using the `subreddit` key
- Use the `+` character to process multiple subreddits simultaneously (e.g., `AskReddit+funny`)
- Specify exact posts with the `post_id` field instead of fetching from hot lists
- Filter unwanted content using `blocked_words`, `min_comments`, and the `allow_nsfw` setting
- The selection logic resides in [`reddit/subreddit.py`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/reddit/subreddit.py) and [`utils/subreddit.py`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/utils/subreddit.py), tracking processed posts in [`video_creation/data/videos.json`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/video_creation/data/videos.json)

## Frequently Asked Questions

### Can I process multiple subreddits in a single run?

Yes. Enter multiple subreddit names separated by a plus sign (`+`) in the `subreddit` field of your [`config.toml`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/config.toml) file, such as `AskReddit+funny`. The bot will fetch posts from all specified subreddits and treat them as a single pool for selection.

### How does the bot avoid processing the same post twice?

The bot maintains a record of processed video IDs in [`video_creation/data/videos.json`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/video_creation/data/videos.json). The `get_subreddit_undone()` function in [`utils/subreddit.py`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/utils/subreddit.py) (lines 19-86) automatically skips any submission whose ID appears in this file, ensuring you don't create duplicate content.

### Can I block posts containing specific words or phrases?

Yes. Add a comma-separated list to the `blocked_words` setting in `[reddit.thread]`. The `_contains_blocked_words()` function in [`utils/subreddit.py`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/utils/subreddit.py) (lines 9-16) checks both post titles and comment bodies against this list, skipping any content containing those terms.

### Why is the bot ignoring my specific post ID?

Ensure the `post_id` value in [`config.toml`](https://github.com/elebumm/RedditVideoMakerBot/blob/main/config.toml) is correctly formatted without the full Reddit URL (use just the ID string like `k9v2z9`). Also verify the post is not marked NSFW (when `allow_nsfw` is false), doesn't contain blocked words, and meets the minimum comment count requirements configured in your settings.