> For the complete documentation index, see [llms.txt](https://cloakedkeys.gitbook.io/ofsc/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cloakedkeys.gitbook.io/ofsc/command-reference/shared-options/scrape-metadata-options/post-filter-args.md).

# Content Options

This section outlines various options for specifying content targets, actions, and filters within the program.

## Targeting Content

### **-o, --posts** \[argument]

* Specify the type of content to target for actions (like, unlike, download).
* **Possible choices:** `highlights`, `all`, `archived`, `messages`, `timeline`, `pinned`, `streams`, `stories`, `purchased`, `profile`, `labels`, `labels+`, `labels*`.
* `all` does not include labels. To include them, use `all,labels` or specific tags like `labels+` or `labels*`.
* **Defaults:** to `None`.

### **-t, --text** (also `--download-text`)

* Download text files alongside media
* **Note:** This only has an effect on action download
* **Defaults:** to `False`

### **-tx, --text-only** (also `--download-text-only`)

* Download only text files, skipping all media. Also turns on `--text`.
* **Defaults:** to `False`

### **-la, --like-area** \[argument]

* Define the area for like/unlike actions (overrides `--posts`).
* **Possible choices:** `all`, `archived`, `timeline`, `pinned`, `labels`, `streams`.
* **Defaults**: to `None`.

### **-da, --download-area** \[argument]

* Specify the area for download actions (overrides `--posts`).
* **Possible choices:** `highlights`, `all`, `archived`, `messages`, `timeline`, `pinned`, `stories`, `purchased`, `profile`, `streams`, `labels`, `labels+`, `labels*`.
* **Defaults** to `None`.

***

## Filtering Content

### **-sk, --skip-timed**

* Skips temporary posts (commonly used for promotions).

### **-ms, --mass-skip**

* Excludes downloads marked as mass messages.

### **-mm, --mass-only**

* Filters downloads to include only those labeled as mass messages.

### **-ok, --only-timed**

* Downloads only temporary posts (mostly used for promotions).

> ℹ️ Select only one of each pair: `--only-timed` or `--skip-timed`, `--mass-only` or `--mass-skip`.

### **-ft, --filter** \[argument]

* Filter posts using a provided regular expression pattern.
* Case-sensitive if uppercase characters are included.
* Posts matching the pattern are included.
* **Defaults:** to `".*"` (matches all posts).

### **-nf, --neg-filter** \[argument]

* Filter posts to exclude based on a regular expression pattern.
* Case-sensitive if uppercase characters are included.
* Posts matching the pattern are excluded.
* **Defaults:** to `None` (no exclusion)

### **-to, --protected-only**

* Restricts downloads to content requiring decryption.

### **-no, --normal-only**

* Restricts downloads to content that does not require decryption.

### **-lb, --label**

* Scrape content with specific labels.
* **Defaults:** to `None` (no specific label).

### **-pd, --post-id \[argument]**

* Filters content based on post ID
* **Arguments:** One or more comma-separated (",") post IDs. You can also provide URLs containing a valid post ID
* **Defaults:** None
* **Note:** In certain situation this will allow direct search of content, namely for timeline and message related posts and if the number is less then 10
* **Note:** you can also use manual if you want to process post for multiple users

***

## AD Filter

### **-ba, --block-ads**

* Filter posts with regex to block posts with common words for advertisements
* Works in the main program. It also applies when `block_ads` is turned on in `config.json`.
* **Regex :**

**Note:** This is passed as a raw string when being used by python

```python
"(#(?:ad|ads|AD|advertising|sponsored|promotion)|trial|giveaway|\Buser\s+promo|shoutout|endorsement)"

```

* **Defaults:** None

### **-nf, --neg-filter** \[argument]

* Filter posts to exclude based on a regular expression pattern.
* Case-sensitive if uppercase characters are included.
* Posts matching the pattern are excluded.
* **Defaults:** to `None` (no exclusion)

***

### Date Range

`--before` and `--after` are Media Filters options. See [Media Filters Options](/ofsc/command-reference/shared-options/common-option-groups/media-filters-options.md).

***

## Other Options

### **-sp, --scrape-paid**

* Scrapes the entire paid page for content (can be time-consuming).
* In `metadata` it takes a mode (`check`, `update` or `complete`), like `--metadata`.
* **Defaults:** to `False`.
* **Fork:** `--excluded-username` skips the named models during this scan. See [`--excluded-username`](/ofsc/command-reference/shared-options/scrape-metadata-options/user-selection-options.md).

### **-pst, --post-sort** \[argument]

* Changes the post processing order before actions, e.g. for like or unlike.
* **Possible choices:** `date`
* **Defaults:** to `date`

### **-pdc, --post-desc**

* Sorts the post list in descending order, e.g. for like or unlike.
* **Defaults:** to `False`

### **-xc, --max-post-count** \[argument]

* Sets the maximum number of posts to process.
* **Defaults:** to `0` (no limit), or `max_post_count` from the config file.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://cloakedkeys.gitbook.io/ofsc/command-reference/shared-options/scrape-metadata-options/post-filter-args.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
