# Audience Parser

The Audience Parser collects user lists from Telegram groups and channels. It can parse group members, message senders, comment authors, users who reacted, poll voters, and recent joiners. Results are saved as an Excel (XLSX) file that you can use with the [Spammer](/mvs-docs/modules/spammer.md) and [Inviter](/mvs-docs/modules/inviter.md) modules.

![Parser settings](/files/vJB35bCUmRnOtKaF2qh1)

## Settings Reference

### Parsing

| Setting           | Description                                                                                                                      |
| ----------------- | -------------------------------------------------------------------------------------------------------------------------------- |
| **Mode**          | What to parse from the target groups/channels:                                                                                   |
|                   | **Members** -- group/channel member list                                                                                         |
|                   | **Messages** -- users who sent messages                                                                                          |
|                   | **Comments** -- users who left comments on posts                                                                                 |
|                   | **Reactions** -- users who reacted to posts                                                                                      |
|                   | **Polls** -- users who voted in polls                                                                                            |
|                   | **Joins** -- users who recently joined                                                                                           |
| **Threads**       | How many targets to parse at the same time. Default: 1. Max: 10.                                                                 |
| **Message Limit** | Maximum number of messages/posts to scan per target. Only visible when mode is not "Members". Default: 1000. Range: 100 - 50000. |

### Targets

Enter the groups or channels you want to parse, one per line. Accepted formats:

```
@channelname
t.me/channelname
t.me/+invite_hash
```

### Filters

These filters are applied after parsing to narrow down the results:

| Filter                    | Options        | Description                                                                                |
| ------------------------- | -------------- | ------------------------------------------------------------------------------------------ |
| **Premium**               | Any / Yes / No | Filter by Telegram Premium status                                                          |
| **Has Username**          | Any / Yes / No | Filter by whether the user has a @username                                                 |
| **Has Avatar**            | Any / Yes / No | Filter by whether the user has a profile photo                                             |
| **Online in last N days** | Number         | Only include users who were online within this many days. Leave empty to skip this filter. |

## How to Use

1. Go to **Parser** in the sidebar
2. Select the **Mode** (Members, Messages, etc.)
3. Paste your target group/channel links in the **Targets** field
4. Optionally set **Filters** to narrow down results
5. Select a **Proxy list**
6. In the **Accounts** section, select accounts to use for parsing (the parser uses these accounts to access Telegram)
7. Click **Start**

{% hint style="info" %}
The parser automatically handles account failures. If one account gets banned or restricted during parsing, it switches to another available account.
{% endhint %}

## Understanding the Results

The parser creates an Excel file in `data/results/parser/` with:

* **One sheet per source** -- each target gets its own sheet
* **Columns:** ID, Username, First Name, Last Name, Phone, Premium, Has Avatar, Last Online, Msg ID, Source Peer ID
* **Deduplication** -- users appearing in multiple targets are deduplicated by user ID
* **Filter summary** -- the log shows how many users were removed by each active filter

The XLSX file path is shown in the logs and can be used directly in the [Spammer](/mvs-docs/modules/spammer.md) or [Inviter](/mvs-docs/modules/inviter.md) modules.

{% hint style="info" %}
**Start with the Members mode** -- it is the fastest and gives you the most complete user list. Use Messages or Comments mode when the member list is hidden or restricted.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

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

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://mvs-3.gitbook.io/mvs-docs/modules/audience-parser.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
