SCARP.CC 2.2.1m: how it works
Documentation for the current version, 2.2.1m
SCARP.CC
A Windows application for Telegram accounts, restriction checks, profiles and proxies, audience search and collection, messages, invitations, folders, session conversion and other tools. All work takes place in the application's own window.
Accounts and settings are stored locally. Telegram modules use the selected sessions and their proxies. An account cannot run several tasks at once: an active multi-chat or auto-responder also holds its session.
- Add accounts and proxies, then check the connection.
- Open the required module, specify the source and select accounts.
- Review the settings, start the task and monitor the log.
- Open the results, save the report and wait for completion before closing the application.
Navigation is grouped in the sidebar; Miscellaneous shows the version and application information. Window size and position, sidebar width and workspace layout are saved. The Documentation button is in Settings next to Save.
Before you start
Do not move only the EXE: interface resources and supporting files are part of the package. Only one application instance can use a data directory.
Quick start
- Extract the release and run SCARPCC.exe. If updating an existing installation, first follow the update instructions.
- Activate your key. Enter the issued key on the license screen. Choose Russian, Ukrainian or English for the interface.
- Add proxies. In Proxies, paste proxy lines or load a list and run a check.
- Add accounts. Use a .session + .json pair, phone login, QR or a suitable import method.
- Select accounts. Click Check to connect and contact @SpamBot. Check without SpamBot tests availability without sending the bot a message.
- Open the account details with the gear icon. Review the information, its update time and the assigned proxy.
- Start the required module. First test the source and limits on a small selection; group cleanup leaves groups immediately after starting.
License and HWID
The key is activated in the application and bound to the device. Copy the HWID from the activation screen. To transfer a license to another computer, contact official support instead of editing license files.
If activation fails
- Check that the entire key is entered without extra characters.
- Make sure the Windows date, time and time zone are correct.
- For connection errors, check internet access and service availability, then try again.
- Key revoked, Key expired and Different device messages require resolving the license issue.
The license is checked at startup and periodically during use. Background checks run every 30 seconds with a response timeout of up to 20 seconds. Brief interruptions trigger retries while the existing confirmation remains valid; permanent offline access is not supported. License revocation stops protected tasks and connections. Do not publish your key, session files or passwords.
Installation and automatic updates
- For your first installation, download the official ready-to-use release ZIP. Extract the full package to a writable folder and run SCARPCC.exe. The source code archive is not suitable for this.
- The application checks for a current version at startup. When an update is available, a separate window shows download, verification and installation progress.
- After verifying the signature and integrity, the installer replaces the application files and starts the new version. Accounts, sessions, the database and settings are preserved.
- What's New opens after the update. Reopen the changelog in Settings; the installed version is shown in Miscellaneous.
Updates are downloaded from the SCARP.CC update server. A ready-to-use GitHub Release archive is available for the first installation. Do not close the installer while it is replacing files.
Temporary files are removed after a successful launch. If installation fails, the application attempts to restore the previous version; the backup and log help diagnose the error. If rollback keeps happening, preserve the application folder and contact support with the error text. Older installers may require manually installing the complete package while the application is closed.
Internet access is required to start the application and check for updates. Signature verification remains mandatory. Changelog: all published versions.
Account manager
The table shows locally stored account details, connection and restriction status, assigned proxy and Premium. Search and filters help select rows; bulk actions apply to checked accounts.
Understanding statuses
| Status | What is confirmed |
|---|---|
| Active / alive | Connection and account retrieval succeeded. This does not confirm the absence of spam restrictions. |
| Unrestricted | A recognized @SpamBot response confirmed there are no restrictions. |
| Spam block | A restriction is confirmed. The account details show its duration and reason when known; the duration may be unknown. |
| Frozen | Telegram reported the account as frozen. The deletion deadline without a successful appeal is not an unfreeze date. |
| Error / no response | The check produced no confirmed result. A proxy problem alone does not mean the account is blocked. |
| No session / unauthorized / dead | The authorization file is missing or Telegram rejected the session. The exact cause matters more than the general label. |
The Premium star distinguishes a known subscription, no subscription and unchecked information. The expiry date appears only when confirmed information is available; an active subscription may be shown without a date.
Refresh data retrieves current profile and account details. Filenames may be changed to the actual phone number; an existing pair with that name is not overwritten. The Telegram Web button starts a separate login through the account's assigned proxy and may require manual authorization.
Account details and individual proxy
- Click the gear icon in the account row.
- View the profile, photo and update time. If cached data exists, the details open immediately using it.
- Click refresh for current information. If no cache exists, data is requested when the details open.
- For an individual proxy, select a pool entry or enter your own proxy line and save. Returning to automatic allocation is a separate action.
The details show basic groups, supergroups, channels and private chats separately. Unavailable information is marked as unknown rather than zero. Failure of an individual request does not invalidate a successful main account check.
Current session date comes from the current Telegram authorization, not the file modification time. Its age is not the age of the Telegram account. The separate bulk Creation date command estimates the earliest available activity and does not guarantee the registration date either.
The details show 2FA status and whether a password is saved locally. The password stays hidden until you explicitly reveal it. No saved password does not mean 2FA is disabled. Checks and data refreshes update the details through the already connected session.
The checks section shows the last attempt time, result and reason. Information about a previously confirmed restriction may remain after a network failure during a new attempt. Replacing the authorization prevents reuse of another session's cache and metadata.
Adding an account
Existing files
Telethon uses a pair with matching names: account.session and account.json in the session folder. JSON stores profile and client details; it does not replace authorization in .session. Do not copy a SQLite session that another process has open with a pending write.
Phone login
- Enter your phone number in international format, then choose client settings and a proxy.
- Click Get code and enter the code using the method Telegram offers.
- If 2FA is requested, enter the current password.
- Wait for confirmation that the file pair was saved, then refresh the table.
QR login
Select a proxy, obtain a QR code and confirm it in Telegram on an already authorized device. Request a new QR code if it expires. If an explicitly selected proxy is deleted or invalid, login stops without silently switching to another connection method.
Other methods
For tdata, HEX and file discovery, use the import and conversion tools. To register a new account with your own number, use manual registration. Existing accounts are not overwritten automatically.
Manual SIM registration
You use your own phone number: the module does not buy numbers automatically. Registration is based on phone login but can also create a new account.
- Enter the phone number, first name and optional last name, then select a proxy and client settings.
- Request and enter the code; if 2FA is requested, provide the current password.
- For a new account, read Telegram's terms and explicitly confirm acceptance and the required age.
- Set a bio, photo and new 2FA password if needed. Wait for the save result.
Email, payment or an unusual device verification requirement may require completing login in the official client. A profile setup error after confirmed registration produces a partial result: the working session is saved. Do not register again before checking the saved account.
Proxies: pool and assignments
Account details, phone login, QR login and manual registration share one searchable proxy list. The address is shown with a flag from the check results in Proxies. An unknown country uses a neutral icon and Country unknown label. Search accepts an address, country code or country name in Russian, Ukrainian or English; opening the list does not run country detection again.
Open Proxies, add proxy lines, check selected entries and remove confirmed failed proxies if needed. Removing a pool entry does not delete an account.
Line format
socks5://proxy.example:1080:login:password
http://proxy.example:8080:login:password
login:password@proxy.example:1080
proxy.example:1080
The addresses above are illustrative. SOCKS5 is used when no scheme is specified; a port is required and must be 1-65535. The shared pool does not support IPv6. Specify the provider's actual supported type; changing the label does not convert one protocol into another.
Priority
- An individual proxy from JSON or account details takes precedence over the shared pool.
- An automatic pool assignment remains valid while the entry is in the pool.
- When needed, the pool is allocated according to Accounts per proxy.
Resetting automatic assignments and managing the pool must not silently replace a manually assigned proxy. If an individual proxy stops working, fix it in the account details or explicitly return the account to automatic allocation.
The country is detected through a geolocation database or available services and may be unknown. A country detection error does not necessarily mean a connection error. A proxy check does not guarantee Telegram will accept a particular authorization.
Account checks and @SpamBot
| Action | Result |
|---|---|
| Check | Connects, refreshes details and queries @SpamBot. A separate message to the bot may be skipped if the account is confirmed frozen. |
| Check without SpamBot | Connects and refreshes details without sending /start to the bot. This result cannot confirm the absence of spam restrictions. |
| Refresh data | Profile, Premium and account details through the currently connected session. |
Connection and initial authorization checks share a deadline of up to 10 seconds. The checker's allowed timeout in Settings is 5-10 seconds. Selecting another automatic proxy uses the remaining time within the same deadline. Subsequent account details and bot responses have their own timeouts.
SpamBot response wait is set from 0 to 120 seconds; reading the response uses a minimum of 3 seconds, so 0 does not disable querying the bot. No response, unfamiliar text, network failures and FloodWait are reported separately. They do not become an Unrestricted result.
Run summary
After completion, categories reflect this run only. Click a category to select its accounts. Checks that never started are counted separately; collapsing the log does not stop the task or release busy sessions.
Restriction dates
A SpamBot restriction expiry date is extracted only from recognized text with an unambiguous date and UTC/GMT time zone. The original text remains available. For a frozen account, available information includes the start date, appeal link and deletion deadline without a successful appeal. The latter does not mean the account will be restored automatically.
Bulk operations and profiles
Select accounts and click an action on the manager toolbar. Wait for the current task to finish: a busy session cannot be opened for another operation.
| Action | How to use |
|---|---|
| Photo | A random photo from data/photos, one selected file for all accounts, or removal of every profile photo including history. JPG/JPEG, PNG and WEBP up to 10 MB; corrupted and excessively large images are rejected. Deletion requires confirmation and reports only confirmed counts. |
| Username | A list, AI generation, name-based generation with retries, or removal. Once removed, another user may claim the released username. |
| Names | From First name|Last name lines, AI generation or identical values for all accounts. In identical-values mode, an empty last name removes it; in the earlier list mode, an empty field leaves the last name unchanged. |
| Bio | One text up to 70 characters, AI text or an explicit clear mode. Empty regular text does not start clearing. |
| Gender | AI estimation from the name or a manual label: male, female or unspecified. This is local SCARP.CC information, not a Telegram field. |
| 2FA | Your own password, a random 6-32 character password, or disabling 2FA with the current saved/entered password. An empty current-password field uses each account's saved value. An entered value applies to every selected account. |
| Get code | Finds a recent code in the Telegram service chat. This command does not request a new code: first request login on the desired device. |
| Privacy | Choose which rules to change. Leave unchanged preserves the current rule. |
| Clear dialogs | Explicitly select private chats, bots, groups or channels and confirm. To filter groups by conditions, use the separate Group cleanup module. |
| Delete / log out of session | Distinguish local file deletion from terminating Telegram authorization. If logout is unconfirmed, files must not be considered safely deleted. |
Account labels
Click the label button in an account row or beside an account in Multi-chat. Set its name, color and one of 20 icons. You can edit or remove a label.
The manager offers Add label in bulk and Remove label in bulk for selected rows. Labels appear next to the status, in search and in the account selector.
Labels are stored in the account's JSON. Move the session together with its JSON to preserve them. Changing a label in Multi-chat preserves the open dialog and draft; no reconnection is needed.
Task manager
Open Task manager in the left menu to see active and recently completed tasks, their progress and links to module logs.
Stop applies to the selected task. New operations stop starting, current connections close and accumulated results are saved. Actions already completed in Telegram are not undone. Unfinished work is not marked 100% complete.
Bulk checks and account manager actions can also be stopped. Scheduled and other tasks work while the application is open.
Creating chats
Choose accounts, a title, description, chats per account and visibility. Public chats are created as supergroups with a random username; private chats offer the relevant group-type settings.
In What to return after creation, choose ID, link or ID + link. ID is selected by default. A private chat link is an invite link; its availability depends on Telegram.
Set pauses and the FloodWait budget. Confirmed creations, errors and unavailable links are included in the CSV/TXT report. An uncertain result is not counted as a successful creation.
Creating channels
Create public or private channels with selected accounts. Set the title, description, quantity and random username settings for public channels.
Choose the output: ID, link or both. A private channel is created without a public username. The report includes retrieved values and reasons for incomplete results. Telegram sets creation and invitation limits.
Channel cloner
- Select one account and a destination channel you can manage.
- Specify the source channel and copy settings: title, description, avatar, messages, visibility and post range.
- Start the transfer and monitor confirmed progress. Stop is available in the module and task manager.
Supported messages are transferred in their original order with formatting and albums. On an account without Premium, custom emoji and Premium stickers use a standard representation. Simplifications and skipped items are recorded in the report.
Protected content is not copied. Views, reactions, original publication dates and poll results are not transferred. Confirmed progress is saved for resuming; if a send result is unknown, the post is not duplicated automatically.
Account cleanup
A separate module replaces the dialog and contact cleanup buttons in the manager. Seven actions are available: leave channels; leave groups and supergroups; delete private dialogs; block bots and delete their dialogs; clear Saved Messages; delete contacts; remove all profile photos.
- Select the actions you need. None are selected initially.
- Select accounts, simultaneous connections, pauses and the FloodWait budget. Deleting private history for the other participant is enabled separately.
- Click Start. Selected actions run immediately, including archived dialogs. Groups and channels remain in Telegram; the accounts leave them.
- Review the log and CSV/TXT report. Stop the task in the module or task manager.
Completed means a confirmed action; Nothing to clean means there were no objects. Result unconfirmed requires checking Telegram: the action may have partially completed. For example, after reaching the deletion limit for a long history, further cleanup of the affected account stops.
For partial results, the full report helps identify the cause: only the first 500 rows appear on screen. Problematic actions and account processing errors have separate counters.
Tasks, threads and reports
- Select accounts using the module button. Check availability errors before starting.
- Fill in the current form fields. A range minimum must not exceed its maximum; zero is meaningful only where explicitly allowed.
- Start the task, open the log and then the results. Stop cancels further work and preserves already collected results.
- Choose a format and save the report. Open beside a result opens the generated TXT/CSV in its Windows default application.
The global thread setting is 1-32. Global search, audience collection, author collection, the inviter and converter use it in their current forms. Modules with a separate Simultaneous accounts field have their own limit, usually 10; the duplicator and reauthorization allow up to 5. More threads do not increase Telegram's allowed quotas.
Module tables preview up to 500 rows. Export saves the full accumulated result. The general technical report limit is 100000 rows; reaching it is reported explicitly. Stopping or encountering an error does not undo completed actions.
Global search, audience collection, author collection and folder creation reports are saved in the system Downloads folder. Other tasks may also return a path in data/module_reports: use the path and open button in the result. Saving again must not destroy the previous file.
With one source chat, audience/author collection does not create a second identical combined TXT. With several chats, separate lists and a combined deduplicated list are available. CSV stores all columns; List, Premium and link outputs are available where the module supports them.
Saved tasks have been removed from the interface. Text templates remain available where supported by the module. Scheduling works only while the application is open and does not replace the system scheduler.
Direct-message campaigns
- Enter recipient usernames or select one source file.
- Select the type of message: text, media, forwarding or inline bot. Fill in the fields for the selected mode.
- Select accounts, quotas, pauses, if necessary, schedule and number of cycles.
- Check the preview and start the campaign. Save the report of confirmed sends, skipped recipients and errors.
Each recipient may receive a set of several files or forwarded messages. The set counts as successful only after delivery is confirmed. Repeated cycles reuse the original list and may send messages to the same people again.
The campaign's built-in autoresponder replies to the first incoming message from a recipient successfully processed during the current task. It is separate from the standalone AI autoresponder. An unconfirmed send blocks another attempt for that user.
Parameters
| Field | Value and limits |
|---|---|
| Links or usernames, one per line | Enter 1 to 100000 recipients, one username or t.me/username link per line. IDs and phone numbers are not accepted here. Duplicates are removed and recipients are assigned to the selected accounts within their quotas. |
| TXT, CSV or SQLite file instead of a list | Use a local TXT, CSV or SQLite file instead of a manual list, with up to 100000 entries. TXT requires one username per line; CSV and SQLite require a username or target column. Text files must use UTF-8 and be no larger than 8 MB; a database may be up to 128 MB. SQLite must have an unambiguous users or contacts table, or exactly one table. |
| Message type | Select the content that each recipient will receive: text, selected files, forwarded messages, or inline bot results. For multiple files, links or requests, the entire set is sent to the recipient. |
| Message text or caption | Message text is limited to 4096 UTF-16 units and a media caption to 1024; some emoji use two units. In HTML mode, only text outside tags counts. The caption is optional and applies only to the first batch of attachments. |
| Attachments, up to 100 files of 50 MB each | Select 1 to 100 local files, up to 50 MB each and 500 MB in total. Attachments are sent to each recipient in batches of up to 10 files. Round video messages and the self-destruct timer require a single file. |
| Links to messages for forwarding | Add up to 100 message links, one per line: https://t.me/channel/123 or https://t.me/c/123456/789. All selected messages are forwarded to each recipient; The sending account must have access to the sources. |
| Username of the inline bot | Specify the username of the inline bot, for example @botname, or the t.me link to it. The bot must support inline requests; For each recipient, queries from the list below are executed. |
| Requests or IDs of inline bot posts, one per line | Enter 1 to 100 queries, one per line, ranging from 1 to 256 characters in length. For each request, the first result returned by the inline bot is sent; an empty bot response is considered an error. |
| Text Format | Plain text is sent without parsing the markup; HTML uses formatting tags supported by Telegram. The selected format affects the body text, media caption, and auto-reply text. |
| Recipients per account, from | The lower limit of the random recipient quota for each account in each run: 1-10000, not higher than the maximum quota. The quota is calculated by sent attempts or successful recipients, depending on the accounting mode, and not by the number of individual attachments. Allowed: 1-10000. |
| Recipients per account, up to | The upper limit of the random recipient quota for each account in each run: 1-10000, not lower than the minimum quota. When the quota is reached or the list runs out, the account ends the current run. Allowed: 1-10000. |
| Account limit takes into account | In attempts mode, quota is consumed when sending to a recipient begins, even if sending fails. In successes mode, only recipients with confirmed delivery of the entire set count. Duplicates and recipient lookup errors do not consume quota. |
| Stop an account after consecutive errors (0: disabled) | Stops a specific account after 1-1000 consecutive Telegram or network errors; confirmed sending of the main set of messages resets the counter. A value of 0 disables this limit, but undefined send results and Telegram restrictions can still stop the campaign. Allowed: 0-1000. |
| Start time (optional, local time) | Enter a local start date and time no more than 7 days ahead. Leaving the field empty or choosing a past time starts the task immediately. The app must remain open until the scheduled start. |
| Number of cycles | Total number of launches, including the first: 1-50; the value 1 means one pass without repetitions. Each run processes the original list again, so recipients can receive messages again; the number of unique list entries multiplied by the number of runs must not exceed 100000. Acceptable: 1-50. |
| Delay between cycles, minimum, sec | Minimum random pause between the end of one run and the start of the next, in seconds: 0-86400, not more than the maximum pause. Valid only for multiple runs; both borders of 0 disable this pause. Allowed: 0-86400. |
| Delay between cycles, maximum, sec | Maximum random pause between starts, in seconds: 0-86400, not less than the minimum pause. With the same boundaries, the pause is fixed; after the last launch it is not added. Allowed: 0-86400. |
| Startup delay, minimum, sec | Minimum random delay before sending each account in each launch, in seconds: 0-3600, not higher than the maximum delay. Both 0 boundaries remove this delay; connecting and preparing accounts is completed earlier. Allowed: 0-3600. |
| Startup delay, maximum, sec | Maximum random delay before each account starts sending in each run, in seconds: 0-3600, at least the minimum delay. Equal bounds produce a fixed delay. Allowed: 0-3600. |
| No notification sound | Sends messages with the recipient's notification sound muted. The parameter also applies to media, forwards, inline results and auto-replies. |
| Add the recipient to contacts before the action | Before sending, adds the recipient to the contacts of the sending account, if he is not already there, and checks the result. If the addition is not confirmed, the message is not sent to that recipient. |
| Link Preview | Allows Telegram to show previews of links in text messages. This option is also used for auto-reply text. |
| Pin sent message | After confirmed delivery, pins the last message in the set for both participants in the private chat. Pinning is silent and may be rejected by Telegram. |
| Delete the dialogue only for yourself after sending | After sending, deletes the history of the dialogue on the side of the sending account, including previous messages of this dialogue. The recipient's history is not deleted. |
| Forward from temporary private group | For each account, it creates a temporary group, publishes text or media there once, and forwards the prepared messages to recipients. When terminated, the application attempts to delete the group; This option is incompatible with the media self-destruct timer. |
| Hide original sender | Removes the indication of the original author when forwarding messages. Applies to forwarding links and messages from a temporary group when auto-forwarding is enabled. |
| Leave the donor group after the task | After completing the work, the account leaves the channels and groups used as forwarding sources, even if it was a member of them before. When a job is stopped or canceled, no exit is executed. |
| Round video message (one MP4 without a caption) | Sends the attachment as a round Telegram video message. Requires exactly one MP4 file and an empty caption. |
| Delete media after 1-60 sec (optional) | Media self-destruct timer: integer from 1 to 60 seconds; an empty field disables the timer. Available for single JPG, JPEG, PNG, WEBP or MP4 without auto-forward. Acceptable: 1-60. The field can be left empty. |
| Enable autoresponder | Replies to the first incoming private message from a user this campaign has already successfully messaged. For the entire task, including repetitions and different accounts, only one auto-reply attempt is allowed for each user; processing works during messaging and additional waiting. |
| Auto reply text | Automatic reply message, up to 4096 UTF-16 units; Some emoji count as two. The field is required when auto-reply is enabled and uses the selected plain text or HTML format. |
| First response delay, from, sec | Minimum wait from successful sending to the user until the moment when he can auto-reply: 0-3600 seconds, not higher than the maximum. An early incoming message waits the remainder of this time, then a response delay is added; both bounds 0 remove the initial wait. Allowed: 0-3600. |
| First response delay, up to, sec | Maximum wait from successful sending to the possibility of an auto-response: 0-3600 seconds, not lower than the minimum. The time is chosen randomly within given boundaries; a separate response delay is then applied. Allowed: 0-3600. |
| Pause before answer, from, sec | Minimum random pause before auto-replying to a received incoming message: 0-3600 seconds, not higher than the maximum. It starts after the initial auto-reply wait has ended; both borders of 0 remove this additional pause. Allowed: 0-3600. |
| Pause before answering, to, sec | Maximum random pause before auto-answer: 0-3600 seconds, not lower than the minimum. If the task completes before the end of the wait, the pending auto-reply will be canceled. Allowed: 0-3600. |
| Wait for responses after messaging, sec | Additional time to wait for incoming messages and send auto replies after all launches are completed: 0-300 seconds. A value of 0 does not add a wait after broadcast; When the task is completed, the pending auto-responses are cancelled. Acceptable: 0-300. |
| Simultaneous accounts | Selected accounts processed simultaneously: 1-10. Until changed manually, the field follows the global Threads setting, capped at 10. Other accounts wait for a free thread. This is not an action limit per account; Telegram restrictions remain. Allowed: 1-10. |
| Minimum pause, sec | The lower limit of the random pause after processing a recipient, if the account has remaining recipients, in seconds: 0-3600. Should not exceed the upper limit. The same values set a constant pause; 0 in both fields disables this pause. Allowed: 0-3600. |
| Maximum pause, sec | The upper limit of the random pause after processing a recipient, if the account has remaining recipients, in seconds: 0-3600. Should not be less than the lower limit. For the same values, the pause is constant; 0 is only allowed together with a lower bound of 0. Allowed: 0-3600. |
| FloodWait budget, sec | Total FloodWait waiting budget for the entire run and all accounts, in seconds: 0-3600. Every Telegram-required pause consumes this budget. If the next pause exceeds the remaining budget, there is no automatic waiting. 0 disables waiting for a positive FloodWait. Allowed: 0-3600. |
Inviter
- Specify one target group or a template with group variants.
- Paste a shared list of usernames and phone numbers. To import phone numbers, enable the corresponding contacts option.
- Select accounts, successful invitations per account and the pause before an attempt.
- If needed, enable an additional request limit, protection against repeated errors and leaving after the task.
- Start and save the report; a request does not count as a successful invitation without Telegram's confirmation.
The current form uses a shared queue and success quota, defaulting to 40 per account and a 2-4 second pause. Unavailable users, privacy restrictions, insufficient permissions and existing membership are counted separately. A broadcast channel is not a valid target group for this mode. Uncertain invitations are not resent automatically.
Parameters
| Field | Value and limits |
|---|---|
| Target group | Specify one group: @username, link or ID. Nested variants, such as @{group_a|{group_b|group_c}}, are selected separately for each account. |
| Usernames and phone numbers, one per line | A shared recipient list, one per line. You can mix @username and international phone numbers, with + or digits only. Accounts process one shared queue. |
| Successful invitations per account | Successful invitations per account. Rejections do not consume the quota. Default: 40; the total request limit is enabled separately. Allowed: 1-10000. |
| Request limit per account | Maximum invitation requests per account when the limit switch is enabled. Default: 20. Failed attempts and repeated requests after FloodWait also count. Allowed: 1-100000. |
| Minimum pause, sec | Lower bound of the random pause between invitation attempts, in seconds. Default: 2 seconds. Allowed: 0-3600. |
| Maximum pause, sec | Upper bound of the random pause between invitation attempts, in seconds. Default: 4 seconds. Allowed: 0-3600. |
| Limit request count | Enables a separate invitation request limit per account. Off by default; the successful invitation quota applies independently. |
| Leave the target group after the task | Leave the target group when the task ends. By default, the account stays in the group. |
| Add the recipient to contacts before the action | Add the recipient to contacts before inviting them. Off by default. This changes the account's contact list. |
| Stop accounts after repeated errors | Stop the current account after two technical errors. After two such accounts, their worker thread stops; other threads continue. Normal recipient rejections are not technical errors. |
Mass subscriptions
- Enter chat links or usernames. Public and private invitations and addlist folder links are supported.
- Select accounts and distribution: a shared queue or the entire list for each account.
- Set joins per account, pauses and additional checks, then start the task.
- Review the report: joining, requesting approval, existing membership and unconfirmed results are counted separately.
You can check permission to write, leave newly joined groups without that permission and mark recent messages as read. FloodWait stops the affected account. After an uncertain result, the join command is not repeated automatically.
There is no captcha-solving system or 2Captcha integration. Chats with manual verification may require action in Telegram. Stop is available in the module and task manager; the accumulated report is saved in Downloads.
For your own folders, use Creating folders.
Global search
- Enter keywords, one per line.
- Choose normal or deep mode, words per account and the minimum member threshold.
- In Chats to find, set an upper limit or 0 for no user-defined limit.
- Select accounts and start. After completion, choose the export contents: All data, Links, Links + Member count, Usernames or Usernames + Member count.
Search finds public supergroups with an available member count strictly above the threshold. With 100, a group with 100 members fails and one with 101 passes. Channels and personal profiles are not added to this result.
Normal mode runs up to 27 search variants per word; deep mode up to 729. Deeper search expands queries, but Telegram may return incomplete results. Words beyond the selected accounts' combined quota remain unprocessed.
Link and username lists are saved as TXT; member counts are separated by tabs. All data can be exported as CSV or TXT. Files are saved in Downloads with a new name on each export.
Parameters
| Field | Value and limits |
|---|---|
| Keywords | One keyword or phrase per line, up to 1000 lines of 128 characters. Case-insensitive duplicates are removed. Words are allocated to selected accounts in turn; original letter case is preserved. |
| Search mode | Normal mode adds a space and one of 27 characters to a word: 26 Latin letters or a space. Deep mode tries pairs of those characters, making 729 queries per word. It takes longer and does not guarantee complete Telegram results. |
| Keywords per account | Source keywords processed by one account: 1-1000, default 5. One word creates 27 queries in normal mode or 729 in deep mode. This counts words, not queries; words exceeding the combined quota of selected accounts remain unprocessed. Allowed: 1-1000. |
| More members than | Saves public supergroups with a known member count strictly greater than the value. At 100, a group with 100 members fails and one with 101 passes. Unknown member counts are skipped. 0 allows any known positive count. Allowed: 0-1000000. |
| Chats to find | Upper limit of unique chats after filtering: 0-100000. 0 removes only the user-defined limit; the technical report limit of 100000 rows remains. If results or queued queries run out sooner, the result will be smaller than the specified count. Allowed: 0-100000. |
Audience collection
- Paste source groups, one per line.
- Choose the result format and name search alphabet.
- Set activity recency, desired statuses, gender estimation and the member or administrator category.
- Select accounts, start and open the automatically saved TXT or export full data.
The new module works with members accessible to the selected accounts. Public groups are read without unnecessary joining; private invitations may require joining. The alphabet defines name search queries, not the profile language. Phone numbers are saved only if Telegram already shows them to this account.
Gender is estimated with a name dictionary and is not a confirmed personal attribute. Premium creates an additional list of users who passed the filters. The time filter applies to exact last-seen time, not message dates. All statuses bypasses time filtering but not the output format or name filtering.
ID lines may include source chat context; keep it if the next operation uses that format. Separate TXT files and the combined deduplicated list follow the report rules.
Parameters
| Field | Value and limits |
|---|---|
| Links or usernames, one per line | Groups or channels, one @username, ID or Telegram invitation per line; up to 10000 entries. The ID must be known to the session in use. The module may join groups to access members; approval requests and paid invitations are not processed. |
| List format | Username saves only users with a username. ID without username saves only users without one; All IDs saves all matching users. An ID line also includes source chat context needed for further list operations. Phone mode saves only numbers Telegram already shows to this account; hidden numbers are not revealed. |
| Name search alphabet | This is a character set for searching members by name, not a profile language. Latin uses single English letters, Cyrillic uses Russian letters, and mixed mode uses both. Latin letter pairs expand the search to 676 combinations per group. List completeness depends on Telegram. |
| Activity recency unit | The unit for the last-activity interval: days or hours. The interval applies to exact last-seen time, not message dates. Approximate statuses are selected separately. All statuses disables time filtering. |
| Gender estimation by name | Estimation from the first name and a name dictionary. Keep all names or select male, female or unrecognized names. This is a name-based assumption, not confirmed profile data; unfamiliar names may remain unrecognized. |
| Last seen more than | Lower bound of time since last activity, an integer in the selected days or hours. Must be less than the upper bound. Exact boundary times are excluded: for 0-3 days, the user must have been offline for more than 0 and less than 3 days. Allowed: 0-36500. |
| Last seen less than | Upper bound of time since last activity, an integer in the selected days or hours. Must exceed the lower bound; the exact boundary is excluded. All statuses disables this interval. This is not message history depth. Allowed: 1-36500. |
| Statuses and additional conditions | Exact last-seen statuses pass according to the time interval; approximate ones according to the selected options. Name and username checks filter some suspicious combinations but do not guarantee bot detection. All statuses bypasses the interval and this check; list format and gender estimation remain. Deleted accounts, bots and service profiles are excluded. Premium adds a separate list of already selected Premium users without excluding others. |
| Who to collect | Select one category: regular members or administrators. Owners count as administrators. List format, activity and name filters also apply to the selected category. |
Group cleanup
- Select leaving conditions and accounts.
- Review protection for chats where the account is an administrator or owner, the dialog limit and pauses.
- Click Start: matching chats are left immediately.
- Monitor the log and save the report after completion or stopping.
The task leaves chats matching at least one selected condition. It does not delete private conversations. Checking for write restrictions, paid messages and administrator protection are enabled by default; leaving all channels is not enabled separately.
Activity is counted over the 24 hours preceding each group check. Service events are not regular messages. Unknown permissions, size and incomplete history are not treated as zero. The separate unavailable-data switch is off by default; even when enabled, it does not turn a network error or FloodWait into a reason to leave.
The dialog limit includes inspected private dialogs even though they are not processed. Reaching the limit means the account was only partially checked. An unconfirmed leave response is recorded as an uncertain result.
Parameters
| Field | Value and limits |
|---|---|
| Groups where writing is prohibited | Checks current restrictions on sending regular messages for this account specifically. Channels are unaffected by this rule. Unknown permissions are not treated as a prohibition. |
| All channels (excluding group chats) | Leaves channels with subscribers. Supergroups and basic group chats are checked against the other conditions. Administrator protection also applies to channels. |
| Groups with paid messages in Stars | Checks whether this account must pay Telegram Stars to send a group message. No test messages are sent and no Stars are spent. |
| Groups with low activity over 24 hours | Counts available regular messages over the last 24 hours. Service events are excluded. Hidden or incomplete history prevents leaving under this condition. |
| Leave if messages in 24 hours are fewer than | At 100, a group with 99 messages matches, while one with 100 is kept. The period is the 24 hours before the group check begins, not a calendar day. Allowed: 1-10000. |
| Groups with few members | Adds a condition to leave groups with a known member count below the threshold. Channels with subscribers are unaffected. An unknown size is not treated as zero. |
| Leave if members are fewer than | Threshold for the low-member-count condition: 1-1000000. At 100, a group with 99 members qualifies for leaving; one with 100 is kept. Applies only when the low-member-count condition is enabled. Allowed: 1-1000000. |
| Chats with unavailable check data | Off by default. Adds a leaving condition when data required for selected checks is unavailable or Telegram confirms permanent chat unavailability. Network errors, timeouts and FloodWait are not reasons to leave. Condition checks and owner/administrator protection remain active. |
| Keep chats where the account is an owner or administrator | Skips chats where the account is an owner or administrator even when another condition matches. Chats are also skipped if permissions are unknown. |
| Dialog check limit per account | Limits inspection of each account's dialog list. Private dialogs count toward inspection but are not processed. Reaching the limit means the result is not a complete account check. Allowed: 1-10000. |
| Simultaneous accounts | Selected accounts processed simultaneously: 1-10. Until changed manually, the field follows the global Threads setting, capped at 10. Other accounts wait for a free thread. This is not an action limit per account; Telegram restrictions remain. Allowed: 1-10. |
| Minimum pause, sec | Lower bound of the random pause between module operations, in seconds: 0-3600. Must not exceed the upper bound. Set equal values for a fixed pause; 0 in both fields disables this pause. Allowed: 0-3600. |
| Maximum pause, sec | Upper bound of the random pause between module operations, in seconds: 0-3600. Must not be below the lower bound. 0 is allowed only when the lower bound is 0. Allowed: 0-3600. |
| FloodWait budget, sec | Total FloodWait waiting budget for the entire run and all accounts, in seconds: 0-3600. Every Telegram-required pause consumes this budget. If the next pause exceeds the remaining budget, there is no automatic waiting. 0 disables waiting for a positive FloodWait. Allowed: 0-3600. |
Creating folders and addlist links
- Select accounts and enter your own base name. A new form starts empty; you cannot start without a name.
- Set the size to 100 or choose the account maximum mode.
- Review the free-space switch, enabled by default. Disable it if existing personal folders must be fully preserved.
- Separately decide whether to allow converting basic groups to supergroups for the link.
- Start, compare Groups in folder with Groups in link, then save the table or a TXT of links.
Only existing groups and supergroups of the selected account are used. Channels and private conversations are excluded. With 300 groups and size 100, the name Work produces Work-1, Work-2 and Work-3, provided Telegram's limits allow it.
Before changes, actual account limits are requested, including Premium. A missing individual key in an otherwise successful response is replaced with a documented value, with its source noted in the report; failure to retrieve configuration stops account changes.
When space is insufficient, only the necessary number of old personal user folders is deleted. Shared and imported folders are not deleted automatically. Only folder structure is removed; the account does not leave chats or clear history. Links to deleted folders may become unavailable.
A matching existing folder is reused. A name match with different contents stops work for that account. The full name including its number must fit Telegram's limit; a short base leaves room for the suffix.
The report distinguishes created or reused links, folders without links, deletion, skips, errors and uncertain outcomes. The links TXT contains only confirmed retrieved links; errors and folders without links remain in the full report.
Parameters
| Field | Value and limits |
|---|---|
| Folder name | A name is required; the field starts empty. Enter 1-10 UTF-16 units; an emoji may take two units. For example, your chosen name Work produces Work-1, Work-2 and so on. The full name with its number is limited to 12 UTF-16 units; final validation takes place before creation. |
| Folder size | Specified count divides groups by the selected size. Account maximum uses the current Telegram limit, accounting for Premium separately for each account. Folder count and link export limits are checked separately. |
| Groups per folder | Number of groups per folder, 100 by default. The last folder may be incomplete. The value must fit the current account limit; if it exceeds the limit, the account is skipped without deleting folders. Allowed: 1-1000. |
| Free up slots: delete only the required number of old folders without leaving chats | If there are not enough free slots, delete only the required number of old user folders. The account remains in all chats. Deleted folders are not restored automatically, and their links may become unavailable. When this switch is off, accounts without enough slots are skipped. |
| Allow converting basic groups to supergroups for the link | Telegram may convert a basic group to a supergroup when including it in a link. Allow this only if the change is acceptable. By default, basic groups remain in personal folders but are not included in the link. Private groups also require invitation permissions. |
| Simultaneous accounts | Selected accounts processed simultaneously: 1-10. Until changed manually, the field follows the global Threads setting, capped at 10. Other accounts wait for a free thread. This is not an action limit per account; Telegram restrictions remain. Allowed: 1-10. |
| Minimum pause, sec | Lower bound of the random pause between module operations, in seconds: 0-3600. Must not exceed the upper bound. Set equal values for a fixed pause; 0 in both fields disables this pause. Allowed: 0-3600. |
| Maximum pause, sec | Upper bound of the random pause between module operations, in seconds: 0-3600. Must not be below the lower bound. 0 is allowed only when the lower bound is 0. Allowed: 0-3600. |
| FloodWait budget, sec | Total FloodWait waiting budget for the entire run and all accounts, in seconds: 0-3600. Every Telegram-required pause consumes this budget. If the next pause exceeds the remaining budget, there is no automatic waiting. 0 disables waiting for a positive FloodWait. Allowed: 0-3600. |
Account booster
- Select at least two of your own accessible accounts with public usernames.
- Enter message variants, one per line, or select a TXT file.
- Choose sending, replies or mixed mode; set attempts, cycles and delays.
- Start and monitor the per-account report.
Messages and conversation partners are selected from the specified set. In reply mode, no suitable incoming message results in a skip, which also consumes an attempt. The booster creates real conversations but does not guarantee changes to Telegram's trust or removal of restrictions. PeerFlood stops the task.
Parameters
| Field | Value and limits |
|---|---|
| Message texts | Enter 1 to 10000 message variants, one per line, up to 4096 characters each. Each send randomly selects a text and another accessible account from those selected; the text is sent without formatting. |
| TXT file instead of a list | Select a local UTF-8 TXT file up to 8 MB instead of entering messages manually. Each nonempty line is a separate variant, up to 10000 lines in total and 4096 characters per line. |
| Mode | Sending creates regular messages; replies use the last incoming message from the conversation partner among the last 20 messages in the conversation, skipping the attempt if none exists. Mixed mode replies when an incoming message is available, otherwise it sends a regular message; one incoming message may be used for several replies. At least two different accessible accounts with public usernames are required. |
| Messages per account per cycle | Number of attempts per account in one cycle: 1-1000; skips in reply mode also consume an attempt. The number of selected accounts multiplied by this value and the number of cycles must not exceed 100000. Allowed: 1-1000. |
| Number of cycles | Total cycles per account, including the first: 1-100. A value of 1 runs one cycle; each cycle repeats the specified number of attempts, with random messages and conversation partners. Allowed: 1-100. |
| Delay between cycles, minimum, sec | Minimum random delay between cycles for one account: 0-86400 seconds, no higher than the maximum. Added after the regular delay of the cycle's last attempt; setting both bounds to 0 removes only this extra delay. Allowed: 0-86400. |
| Delay between cycles, maximum, sec | Maximum random delay between cycles for one account: 0-86400 seconds, no lower than the minimum. Equal bounds set a fixed delay; it is not added after the final cycle. Allowed: 0-86400. |
| Startup delay, minimum, sec | Minimum random delay before connecting each selected account: 0-3600 seconds, no higher than the maximum. Accounts connect sequentially before conversations begin; setting both bounds to 0 removes this delay. Allowed: 0-3600. |
| Startup delay, maximum, sec | Maximum random delay before connecting each selected account: 0-3600 seconds, no lower than the minimum. Runs during initial preparation and is not repeated before every cycle. Allowed: 0-3600. |
| Stop an account after consecutive errors (0: disabled) | Stops an account after 1-1000 consecutive failed attempts; a successful send or a skip due to no incoming message resets the counter. A value of 0 disables this limit, but an unconfirmed send still stops the account. Allowed: 0-1000. |
| Stop the task after accounts with errors (0: disabled) | Stops the entire task when the specified number of accounts with errors is reached: 1-100; 0 disables this limit. Preparation failures, uncertain sends and stops due to errors are counted; exceeding the FloodWait budget is tracked separately and does not increase this counter. Allowed: 0-100. |
| Add conversation partners to contacts | On first contact with a selected conversation partner, adds them to the sending account's contacts before sending. This applies only to the other selected accounts; contacts are added as conversation partners are selected. |
| Simultaneous accounts | Maximum concurrent messaging operations: 1-10. Accounts connect in advance, and this number limits parallel message attempts. Individual account delays do not occupy a slot; all accounts may remain connected. Allowed: 1-10. |
| Minimum pause, sec | Lower bound of the random delay after each message attempt or skip, including the last attempt of a cycle, in seconds: 0-3600. Must not exceed the upper bound. Equal values set a constant delay; 0 in both fields disables this delay. Allowed: 0-3600. |
| Maximum pause, sec | Upper bound of the random delay after each message attempt or skip, including the last attempt of a cycle, in seconds: 0-3600. Must not be below the lower bound. Equal values set a constant delay; 0 is allowed only with a lower bound of 0. Allowed: 0-3600. |
| FloodWait budget, sec | FloodWait waiting budget for each account across all its cycles, in seconds: 0-3600. Delays required by Telegram are added together. If the next delay exceeds the remaining budget, the account stops. 0 disables waiting for a positive FloodWait. Allowed: 0-3600. |
Adding contacts
- Enter phone numbers/usernames or load one TXT, CSV or SQLite file.
- Choose unique distribution or a shared list for every account.
- Set the contact count range, delays and accounts.
- Check the contact cleanup and phone privacy exception switches separately, then start.
Cleanup deletes existing contacts before import and is a separate change. The privacy exception allows the added contact to see the phone number as supported by Telegram. An entry in the source list does not guarantee that Telegram will find or allow adding the user.
Parameters
| Field | Value and limits |
|---|---|
| Contacts | One phone number with country code (7-15 digits), @username or t.me/username link per line. Up to 100000 entries; duplicates are removed. Phone numbers do not replace Telegram IDs. Use first_name and last_name columns in the file for contact names. |
| List file or database | TXT with one contact per line, or CSV/SQLite with a phone, number, username or target column; optional first_name and last_name specify names. Up to 100000 entries. A file and manual list cannot be used together. |
| Distribution across accounts | Unique: contacts are distributed from a shared queue across accounts. Shared list: each account receives the first entries in the list within its quota. Existing contacts are skipped but consume quota. |
| Contacts per account, minimum | Lower bound of the number of entries each account receives: 1-10000. The quota is selected randomly between the two bounds; equal values set a fixed count. Processed entries count, including skips, not just successfully added contacts. Allowed: 1-10000. |
| Contacts per account, maximum | Upper bound of the random entry quota per account: 1-10000, no lower than the lower bound. Fewer contacts may actually be added because of duplicates, users not found in Telegram or errors. A value of 0 is not allowed. Allowed: 1-10000. |
| Allow the added contact to see my number | When adding a contact, allows that user to see the account's phone number through an exception in Telegram's privacy settings. This switch does not hide the number. |
| Delete existing contacts before adding | Before import, deletes all existing Telegram contacts for every selected account, not only those matching the new list. If Telegram does not confirm cleanup, import does not continue for that account. |
| Simultaneous accounts | Selected accounts processed simultaneously: 1-10. Until changed manually, the field follows the global Threads setting, capped at 10. Other accounts wait for a free thread. This is not an action limit per account; Telegram restrictions remain. Allowed: 1-10. |
| Minimum pause, sec | Lower bound of the random delay between processing list entries, including skips of existing contacts, in seconds: 0-3600. Must not exceed the upper bound. Equal values set a constant delay; 0 in both fields disables this delay. Allowed: 0-3600. |
| Maximum pause, sec | Upper bound of the random delay between processing list entries, including skips of existing contacts, in seconds: 0-3600. Must not be below the lower bound. Equal values set a constant delay; 0 is allowed only with a lower bound of 0. Allowed: 0-3600. |
| FloodWait budget, sec | Total FloodWait waiting budget for the entire run and all accounts, in seconds: 0-3600. Every Telegram-required pause consumes this budget. If the next pause exceeds the remaining budget, there is no automatic waiting. 0 disables waiting for a positive FloodWait. Allowed: 0-3600. |
Publishing stories
- Select local images or MP4 files and, optionally, a caption with text variants.
- Specify stories per account, visibility and file distribution.
- If needed, add usernames for mentions and set their count.
- Select accounts, check delays and start.
JPG/JPEG, PNG, WEBP and MP4 are supported; up to 100 files. For videos, actual parameters and a duration of up to 60 seconds are checked. Telegram determines publishing availability and limits for each account. Success is recorded from a confirmed story ID; an uncertain publication is not retried automatically.
Parameters
| Field | Value and limits |
|---|---|
| Story files | Select 1-100 local JPG, JPEG, PNG, WEBP or MP4 files, no larger than 30 MiB each. MP4 duration must not exceed 60 seconds. One story uses one file. Publishing sets a 24-hour expiry and saves the story to the profile. |
| Caption | Optional caption. Writing {variant 1|variant 2} selects a random variant separately for each story. Template: up to 8192 characters; the final caption including @mentions: up to 2048 UTF-16 units (emoji may take two). |
| Stories per account, minimum | Lower bound of the number of stories per account: 1-100. The count is selected randomly between the two bounds. Equal values schedule a fixed count; a shortage of unique files or mentions may end publication earlier. Allowed: 1-100. |
| Stories per account, maximum | Upper bound of the random story count per account: 1-100, no lower than the lower bound. This is the number of planned publications, not a guarantee of successful sending. 0 is not allowed. Allowed: 1-100. |
| Who can see the story | Everyone allows all users to view it; Contacts allows the publishing account's contacts. The setting applies to each new story. |
| Media selection | Random selects a file for each story, allowing repeats. Unique consumes a shared file queue: each file is used once across the entire run. When unique files run out, further publications stop. |
| @username mentions (optional) | Up to 1000 usernames, one per line, with or without @; an empty list disables mentions. Names are consumed from a shared queue without repeats across accounts. An account stops publishing when the queue runs out or none of the names selected for the next story can be found, even if other names remain in the queue. |
| Mentions, minimum | Lower bound of the number of names selected for one story: 1-10. Applies only when the mentions list is filled in. The count is selected randomly; unavailable names may reduce the actual number of mentions. Allowed: 1-10. |
| Mentions, maximum | Upper bound of the number of names per story: 1-10, no lower than the lower bound. Equal bounds select a fixed number of names if enough remain in the queue. This setting is not used without a mentions list. Allowed: 1-10. |
| Mention lookup delay, minimum, sec | Lower bound of the random delay after each successfully found user to mention, before sending the story, in seconds: 0-3600. Must not exceed the upper bound. Equal values set a constant delay; 0 in both fields disables this delay. Allowed: 0-3600. |
| Mention lookup delay, maximum, sec | Upper bound of the random delay after each successfully found user to mention, before sending the story, in seconds: 0-3600. Must not be below the lower bound. Equal values set a constant delay; 0 is allowed only with a lower bound of 0. Allowed: 0-3600. |
| Thread startup delay, minimum, sec | Lower bound of the random delay before each account starts publishing, in seconds: 0-3600. Must not exceed the upper bound. Equal values set a constant delay; 0 in both fields disables this delay. Allowed: 0-3600. |
| Thread startup delay, maximum, sec | Upper bound of the random delay before each account starts publishing, in seconds: 0-3600. Must not be below the lower bound. Equal values set a constant delay; 0 is allowed only with a lower bound of 0. Allowed: 0-3600. |
| Simultaneous accounts | Selected accounts processed simultaneously: 1-10. Until changed manually, the field follows the global Threads setting, capped at 10. Other accounts wait for a free thread. This is not an action limit per account; Telegram restrictions remain. Allowed: 1-10. |
| Minimum pause, sec | Lower bound of the random delay between story publication attempts by one account, in seconds: 0-3600. Must not exceed the upper bound. Equal values set a constant delay; 0 in both fields disables this delay. Allowed: 0-3600. |
| Maximum pause, sec | Upper bound of the random delay between story publication attempts by one account, in seconds: 0-3600. Must not be below the lower bound. Equal values set a constant delay; 0 is allowed only with a lower bound of 0. Allowed: 0-3600. |
Link checker
- Enter links/usernames or select one source file.
- Enable only the extra checks you need: members, private invitation, profile bio, link normalization.
- Set the link quota and total request/result budget, then select accounts.
- Save the report, comparing the source link, normalized value and status.
The module does not join groups. Checking a private invitation only provides the available preview. One source address may require several Telegram requests; errors and skips also count toward result quotas.
Parameters
| Field | Value and limits |
|---|---|
| Links or usernames, one per line | One Telegram link, @username or ID known to the session per line; up to 10000 entries. Users, groups, channels and invitation links are supported. The module does not join groups. Invalid and inaccessible links receive a separate result status. |
| TXT, CSV or SQLite file instead of a list | TXT with one link per line, or CSV/SQLite with a target, link, url, username or group_link column. Up to 10000 entries. Use a file or a manual list: both sources cannot be used together. |
| Links per account | Maximum source links for one account: 1-10000. Links are taken from a shared queue without being reassigned to other accounts. Failed and skipped checks also consume quota; one check may involve several requests. Allowed: 1-10000. |
| Maximum requests | Total limit of counted Telegram requests across all accounts: 1-100000. Includes entity retrieval, additional information and retries after FloodWait; one source row may require several requests. 0 does not disable the limit and is not allowed. Allowed: 1-100000. |
| Maximum results | Total limit of check rows: 1-100000. All saved statuses count, including errors, inaccessible links and skipped private invitations. Once the limit is reached, further links are not checked. 0 is not allowed. Allowed: 1-100000. |
| Account startup delay, minimum, sec | Lower bound of the one-time random delay before each connected account starts work, in seconds: 0-3600. Must not exceed the upper bound. Equal values set a constant delay; 0 in both fields disables this delay. Allowed: 0-3600. |
| Account startup delay, maximum, sec | Upper bound of the one-time random delay before each connected account starts work, in seconds: 0-3600. Must not be below the lower bound. Equal values set a constant delay; 0 is allowed only with a lower bound of 0. Allowed: 0-3600. |
| Request member count | For an accessible group or channel, makes an extra full-entity request to obtain a more precise member count. This consumes the request limit; if Telegram does not provide a count, the field may remain empty. |
| Check private invitations | Checks private invitation links through the available preview, without joining. It may retrieve the title, member count and other public information, but not private group content. If disabled, these links receive private_skipped status. |
| Normalize links | Saves the normalized form in the link column: https://t.me/username or https://t.me/+invitation. The original line remains in source; a numeric ID remains an ID. A link to an individual message is normalized to a link to its chat or channel. |
| Request profile bio | For personal profiles, separately requests the About description and saves it in bio. The extra request consumes the total limit. An empty field may mean no description exists or the data is unavailable. |
| Simultaneous accounts | Selected accounts processed simultaneously: 1-10. Until changed manually, the field follows the global Threads setting, capped at 10. Other accounts wait for a free thread. This is not an action limit per account; Telegram restrictions remain. Allowed: 1-10. |
| Minimum pause, sec | Lower bound of the random delay after checking each link by one account, in seconds: 0-3600. Must not exceed the upper bound. Equal values set a constant delay; 0 in both fields disables this delay. Allowed: 0-3600. |
| Maximum pause, sec | Upper bound of the random delay after checking each link by one account, in seconds: 0-3600. Must not be below the lower bound. Equal values set a constant delay; 0 is allowed only with a lower bound of 0. Allowed: 0-3600. |
| FloodWait budget, sec | Total FloodWait waiting budget for the entire run and all accounts, in seconds: 0-3600. Every Telegram-required pause consumes this budget. If the next pause exceeds the remaining budget, there is no automatic waiting. 0 disables waiting for a positive FloodWait. Allowed: 0-3600. |
Multi-chat
- Select accounts and the number of messages to load from history. Media loads on click without a separate switch.
- Click Connect, then select an account, folder and conversation. The All chats tab shows the account's full list.
- Open the history, load earlier messages if needed, select a reply and send text.
- For translation, select incoming and outgoing message languages. Wait for the send result before disconnecting.
- Stop connections to release sessions for other tasks.
Private conversations, groups and channels are separated by account. Saved Messages, SpamBot and Telegram service notifications are pinned at the top for each account, even without history. They remain available when searching or selecting a folder. Starred chats is a separate local filter for conversations you marked with a star.
Folders load from Telegram on connection. Click Refresh folders to retrieve the current list. Contents account for explicitly included and excluded chats, conversation type and folder rules. If refresh fails, the last retrieved list is shown with an error message.
To delete a folder, select it and click Delete folder. Confirmation applies to the selected account's folder. The folder is deleted, but all chats, history and group memberships remain, including for folders added by link. The current folder version is checked before the request, and the result is checked again afterward. If the folder changed in another client, fresh confirmation is required. If the result is unknown, refresh the list first.
History loading is set to 1-200 messages per request. Search, starred chats and drafts are available. Viewing history alone does not mark messages as read; a separate button marks them as read.
Outgoing text is limited to 4096 UTF-16 units. You can reply to messages, copy usernames and delete a private conversation for your own account. Conversation deletion is unavailable for groups, channels and Saved Messages. Sending to groups and channels depends on account permissions.
Preview of supported images and audio is limited to 8 MB. Media loads on click. A hidden forward requires a link to a public post such as https://t.me/channel/123. Translating a draft does not send it automatically.
If the send result is unknown, resending is blocked until history is checked and the connection is restarted. Stopping clears accounts, folders, conversations and loaded media from the workspace. Account selection, starred chats and drafts are saved locally; Telegram history is not deleted.
Text randomizer
A local tool that does not need accounts, Telegram or an AI key. Enter a template, check the combination count, generate a random variant and copy or save the result to TXT.
{Hello|Good afternoon}, {colleagues|friends}!
{New {text|variant}|Another wording}
Variant groups use braces and the | separator. For literal special characters, use \{, \}, \| and \\. Nested groups are supported, but every opening brace must be closed.
Template limit: 100000 characters; depth: 32; alternatives per group: 128. Replacement masks: up to 10000 characters and 64 rules. Built-in Russian/English masks replace similar-looking characters; a custom mask lets you define your own groups. Replacement applies to the template and does not reprocess characters already inserted.
The combination count is not a guarantee of that many distinct texts: identical branches may produce duplicates. Repeated generation may also return the same result.
Reauthorization
- Select source accounts and a separate folder for new sessions.
- Set delays and threads. This form allows 1-5 threads and delays of 0-3600 seconds.
- Separately choose whether to terminate other sessions, sign out of the source session and set a new 2FA password. Do not assume these actions are mandatory by default.
- Start and review the outcome of each stage, the new files folder and errors.
New authorization is created through the active source session. If 2FA is enabled, the correct current password is required. Telegram may prevent a recently created session from terminating other sessions; this does not justify treating all stages as completed.
The source session is preserved unless the corresponding sign-out is selected and confirmed. For a partial result, check that a new working file pair exists before deleting the originals. Cancellation waits for clients to disconnect and sessions to be released.
Session duplicator
- Select source accounts and a separate destination folder.
- Choose code retrieval from the source session or QR confirmation by the source account.
- Select a preset device profile or fill in all custom profile fields; enter a custom API pair only as a complete pair.
- Start and check the new authorization result.
The duplicator creates an additional authorization while preserving the source. SMS in the form means retrieving a code from the source account's Telegram service chat 777000: receiving carrier SMS is not implemented. QR does not require manual scanning if the source account can confirm sign-in.
Parameters
| Field | Value and limits |
|---|---|
| New sessions folder | Folder for new .session and JSON files. It must be outside the source sessions folder; existing files are not overwritten. The source authorization is preserved: an additional account session is created. |
| Mode | In the current implementation, SMS retrieves the code from Telegram service chat 777000 in the source session; SMS delivery is not supported. QR confirms the new session through an already authorized one, without manual scanning. If 2FA is enabled, the current password is required in JSON. |
| Device profile | Selects the device details with which the new session identifies itself to Telegram. Desktop, Android and Android X provide preset values; Custom device requires all five profile fields. This choice does not change the computer's operating system. |
| Custom API ID (optional) | Numeric application API ID for the new session: 1-2147483647. Specify it only together with the matching API Hash. If both fields are empty, built-in application credentials are used. 0 does not replace an empty value. Allowed: 1-2147483647. This field may be left empty. |
| Custom API hash (optional) | API Hash for the same application as the API ID: exactly 32 hexadecimal characters. This is not an account password or bot token. Fill in both API fields together or leave both empty. |
| Device | Model name the new session reports to Telegram, such as Desktop PC. Required for a custom profile: 1-128 printable characters. This describes the client and does not determine the actual hardware. |
| System version | System version reported by the new Telegram session, such as Windows 10 x64 or Android 14. Required for a custom profile: 1-128 printable characters. |
| Application version | Application version reported by the new Telegram session. Required for a custom profile: 1-128 printable characters. Preset profiles use the SCARP.CC version; this field does not update the installed application. |
| Application language | Application language code the new session sends to Telegram, such as en, ru or uk. Required for a custom profile and limited to 128 characters. It does not switch the SCARP.CC interface language. |
| System language | System language code the new session sends to Telegram, such as en-US. Required for a custom profile and limited to 128 characters. This is session metadata; Windows language settings do not change. |
| Thread startup delay, minimum, sec | Lower bound of the random delay before processing each selected session, in seconds: 0-3600. Must not exceed the upper bound. Equal values set a constant delay; 0 in both fields disables this delay. Allowed: 0-3600. |
| Thread startup delay, maximum, sec | Upper bound of the random delay before processing each selected session, in seconds: 0-3600. Must not be below the lower bound. Equal values set a constant delay; 0 is allowed only with a lower bound of 0. Allowed: 0-3600. |
| Simultaneous accounts | How many source sessions are duplicated simultaneously: 1-5. Until manually changed, the field follows the general Threads setting, capped at 5. Each operation uses the source connection and a new connection for authorization. Other accounts wait for a free thread. Allowed: 1-5. |
| Minimum pause, sec | Lower bound of the random delay after processing each source session, including on error, in seconds: 0-3600. Must not exceed the upper bound. Equal values set a constant delay; 0 in both fields disables this delay. Allowed: 0-3600. |
| Maximum pause, sec | Upper bound of the random delay after processing each source session, including on error, in seconds: 0-3600. Must not be below the lower bound. Equal values set a constant delay; 0 is allowed only with a lower bound of 0. Allowed: 0-3600. |
Shadow sessions
This feature does not make an active authorization invisible to Telegram. Activation signs out of the current session and saves a recovery token in encrypted Windows storage. Deactivation attempts to restore sign-in using that token.
- Select accounts and a mode.
- If 2FA is enabled, make sure the current password is saved in JSON.
- Read the sign-out confirmation and start.
- To restore access, use the reverse mode and check each account's outcome.
Parameters
| Field | Value and limits |
|---|---|
| Mode | Activate terminates the selected session's current authorization and saves an encrypted recovery token. Deactivate attempts to restore sign-in using that token. This signs out of the session rather than hiding an active session; Telegram may require manual sign-in. For 2FA, the current password is required in the account JSON. |
| Thread startup delay, minimum, sec | Lower bound of the random delay before processing each selected session, in seconds: 0-3600. Must not exceed the upper bound. Equal values set a constant delay; 0 in both fields disables this delay. Allowed: 0-3600. |
| Thread startup delay, maximum, sec | Upper bound of the random delay before processing each selected session, in seconds: 0-3600. Must not be below the lower bound. Equal values set a constant delay; 0 is allowed only with a lower bound of 0. Allowed: 0-3600. |
| Simultaneous accounts | Selected accounts processed simultaneously: 1-10. Until changed manually, the field follows the global Threads setting, capped at 10. Other accounts wait for a free thread. This is not an action limit per account; Telegram restrictions remain. Allowed: 1-10. |
| Minimum pause, sec | Lower bound of the random delay between sessions processed by one thread; added to the pre-session delay, in seconds: 0-3600. Must not exceed the upper bound. Equal values set a constant delay; 0 in both fields disables this delay. Allowed: 0-3600. |
| Maximum pause, sec | Upper bound of the random delay between sessions processed by one thread; added to the pre-session delay, in seconds: 0-3600. Must not be below the lower bound. Equal values set a constant delay; 0 is allowed only with a lower bound of 0. Allowed: 0-3600. |
Converters, HEX and account discovery
tdata to session + JSON
- Place the source tdata directories in the input folder using the supported structure.
- Select/check the detected sources and start conversion.
- Check the report and the file pairs created in session. Duplicate keys and existing files must not be counted as a new import.
The local tdata encryption password and the Telegram cloud 2FA password are different values. Damaged tdata or tdata protected in an unsupported way requires a valid source, not manual key changes.
session + JSON to tdata
- Select current accounts using the selection button; no separate list scan is needed.
- Select the destination folder. An empty field uses the standard tdata folder.
- Choose whether to use the current authorization or create a new one.
- Enter the required device/API settings and start; check the actual files created.
Exporting the current authorization with a valid Telegram ID can run without a network or proxy. If the ID is missing, account data must be retrieved. Creating a new authorization requires a connection, access and, if needed, the current 2FA password. The general thread setting is used up to 32; the destination directory must not overlap with source sessions or application resources.
HEX import
Use the record format offered by the form, with auth_key_hex, dc_id and phone number. The key must contain 512 hexadecimal characters, and dc_id must be 1-5. This is an authorization secret: do not send it to a group chat or support. Invalid rows and duplicate keys are counted separately.
tdata/session discovery
Select a source folder for recursive scanning. Do not use the application's own data directory as a source for reimporting. Preview the results, then copy/convert. Inaccessible folders and duplicates appear in the results; finding nothing in an inaccessible folder does not mean it contains no files.
Exporting accounts
- Select the required accounts in the export module.
- Set the batch size and available packaging options.
- Create archives, then check the number of exported accounts and errors.
- Open the specified output folder and check the contents before sharing.
Export copies account data into prepared archives and does not confirm their current Telegram status. The session and JSON pair provides access to the account, and JSON may contain the 2FA password and proxy. Share an archive only with its intended recipient; deleting a local archive does not revoke the session.
Views through proxies
- Add public channel or individual post links, or a TXT file.
- Check the shared proxy pool; Telegram accounts are not selected here.
- Set request cycles, the number of recent posts and pauses.
- Start and review request statuses in the report.
The module accesses Telegram's public widget pages. A confirmed HTTP request does not guarantee a view counter increase. Private invitations are not supported. A rate-limit response ends the task without switching proxies to bypass the restriction.
Parameters
| Field | Value and limits |
|---|---|
| Links or usernames, one per line | Public channels or individual posts, one @username, t.me/username or t.me/username/post_number per line; up to 100 targets. Private links are not supported. A post link processes only that post; Telegram accounts are not used. |
| TXT file instead of a list | A TXT with a public channel or post link on each nonempty line; up to 100 targets. Use either a file or a manual list. Unlike collection modules, CSV and SQLite are not accepted here. |
| Requests per channel or post | HTTP request cycles per target: 1-1000. A proxy is chosen randomly from the configured list for each cycle. A successful request does not guarantee a view counter increase. The product of targets, cycles and posts must not exceed 10000. Allowed: 1-1000. |
| Recent channel posts | How many recent available posts to take from each public channel page: 1-100. A specific post link processes only that post. The total targets x cycles x this value is limited to 10000 even for individual post links. Allowed: 1-100. |
| Simultaneous accounts | Maximum simultaneous HTTP cycles: 1-10. Until changed manually, the field follows the global Threads setting, capped at 10. Each cycle uses a random proxy from the list. This is not a count of accounts, proxies or guaranteed views. Allowed: 1-10. |
| Minimum pause, sec | Lower bound of the random pause after each HTTP request cycle through a proxy, in seconds: 0-3600. Must not exceed the upper bound. Equal values set a fixed pause; 0 in both fields disables this pause. Allowed: 0-3600. |
| Maximum pause, sec | Upper bound of the random pause after each HTTP request cycle through a proxy, in seconds: 0-3600. Must not be below the lower bound. Equal values set a fixed pause; 0 is allowed only with a lower bound of 0. Allowed: 0-3600. |
Proxy scraper and country filter
- Choose a protocol: SOCKS5 or HTTP from those available in the form.
- Select several countries if needed. Search accepts a name or code; selecting all matches and resetting are available.
- Set the target number of working proxies, maximum latency and concurrency.
- Decide whether to add results to the shared pool, then start.
- Check the log and open the output folder.
| Parameter | Unit and range |
|---|---|
| Quantity | 1-10000 checked proxies; an upper target, not a guaranteed count. |
| Maximum ping | 200-15000 milliseconds. |
| Simultaneous checks | 10-500 connections. |
| Countries | An empty selection means all countries. Selected countries are applied before checking connections and counting results. |
When filtering, unknown countries are excluded. If the geolocation database is unavailable, the filter is not silently disabled: fix the error or explicitly change your selection. Locally cached DB-IP Country Lite is used; the source is shown in the interface.
Public source availability and the quality of found proxies vary. Results may fall short of the target; a check at collection time does not guarantee long-term operation or suitability for a particular account.
Temporary email
- Create a mailbox in Temporary email.
- Copy the address and check for the successful-copy message.
- Refresh the inbox and open a message.
- Delete the mailbox only after confirming that its messages are no longer needed.
The external mail.tm service is used. Its domains, limits and availability are outside the application's control. Creating a mailbox and saving locally are separate steps: if the service created a mailbox but the save failed, read the message before creating another.
Email content opens in an isolated view; an unknown error does not mean the mailbox is empty. Refreshing and deletion require a valid service state. A temporary mailbox does not replace reliable email for recovering important accounts.
AI: auto-replies, advertising and profiles
AI auto-responder
- Enter your OpenRouter key in Settings and save.
- Set reply instructions, select accounts and allowed dialog types.
- Set the delay, simulated reading/typing, per-user cooldown and maximum replies per minute.
- Start; to release a session, stop the corresponding account and wait for completion.
The per-user cooldown is 5-600 seconds; the reply limit is 1-60 per minute per account. Group replies are enabled separately. The session lock remains while the auto-responder runs; closing the application window stops it.
Incoming message text needed to generate a reply is sent to an external AI service. API errors, an exhausted balance or request limits may prevent a reply from being generated. PeerFlood stops the affected work and is not resolved by a brief pause.
Ad copy generator
Enter a description, select a style and language, and optionally a contact. Generate the text, check its facts and copy the result. The generator creates text but does not start a messaging campaign.
AI for profiles
Bulk operations offer name, username and bio generation, and gender estimation by name. A generated username may already be taken; selection mode retries within the configured limit. Manual modes do not require an AI key.
General settings
| Field | Range and meaning |
|---|---|
| Language | Russian, Ukrainian or English. Changes the interface; some Telegram responses and library messages may retain their original language. |
| Threads | Integer 1-32, default 2. Application and local limits are described in the tasks section. |
| Delay between actions | Whole seconds 0-3600, default range 1-3. The minimum must not exceed the maximum; 0-0 removes only this extra pause. Individual modules may specify their own intervals. |
| Accounts per proxy | Integer 1-100, default 2. This controls automatic pool allocation; it is not a Telegram restriction or a substitute for an individual proxy. |
| Connection timeout | Whole seconds 5-10, default 10. The combined connection and initial authorization deadline, including retries with an automatic proxy. |
| SpamBot wait | Whole seconds 0-120. Reading a response takes a minimum of 3 seconds; 0 does not disable bot checks. The installation's saved value takes precedence over the form's default. |
| OpenRouter key | Optional for the application as a whole, required for AI features. Keep it secret. |
Click Save after making changes. If writing fails, do not consider the new settings saved. The button to open this documentation is beside it.
Files, data and backups
| Path | Purpose |
|---|---|
| SCARPCC.exe and package resources | Application and interface. Updated together. |
| session | .session/.json pairs and related account user data. |
| components/config.json | Saved general settings. |
| components/proxy.txt | Shared proxy pool. |
| base.db | Account states, proxies and check metadata. Does not replace authorization files. |
| data/photos | Source photos for the corresponding profile mode. |
| input / tdata | Typical converter input and output directories; individual forms may specify a different path. |
| data and Downloads | Module user data and reports. Each result shows its own path. |
SCARP_DATA_DIR, if used, changes the user data directory. To back up, fully close the application and save this entire directory along with source files and results located in other folders.
Account JSON
The current API pair format is app_id/app_hash. A valid api_id/api_hash pair is also accepted and normalized; pairs are not mixed. A complete canonical pair takes precedence when present. Invalid JSON is not overwritten by an individual change, preserving the other fields.
Do not publish .session, auth_key, twoFA, proxy credentials or API keys. Locally encrypted payment details and Windows tokens may be bound to the current user/system and may not open after simply copying them to another computer.
Message and error reference
Enter text from a notification, log or report. The reference explains the cause and next step; an error missing from the list does not change the task's actual result.
Frequently asked questions
Why did a check without the bot succeed without marking the account unrestricted?
Connecting confirms session access. The absence of spam restrictions is checked by a separate recognized @SpamBot response. A previously confirmed restriction does not disappear after one successful authorization.
Why did search find fewer results than I requested?
This is an upper limit of matching unique results. Telegram may exhaust its results earlier; the member filter and per-account keyword quota also apply. Zero removes the user-defined limit but does not make search infinite.
Why are phone numbers, dates or members missing?
Telegram is not required to provide these details to this session. Hidden phone numbers are not revealed, unknown member counts are not treated as zero, and the current session's age cannot give the account's exact registration date.
The account is busy. Should I wait 15 minutes?
A running task holds the lock as long as it uses the session. Stop the module, multi-chat or auto-responder with its normal button and wait for disconnection. The age of a lock alone does not permit interfering with an active session.
Why was a folder created without a link?
Export has separate restrictions. Some groups are unavailable for invitations, basic groups are excluded unless conversion is allowed, and Telegram may refuse to issue a link. Check the full report, not only the links TXT.
Does deleting a folder make the account leave its groups?
In Creating folders, freeing space deletes only the structure of an old personal folder. Group cleanup and Clear dialogs are separate actions with different results.
What should I do about an unconfirmed send or payment?
Check the history, operation result or original receipt. No response does not prove that no change occurred. Automatic retries are disabled where they could create a duplicate.
Can I close the application and wait for a scheduled task?
No. Background tasks, translation, auto-responders and waiting for a scheduled start require the application to remain open. Stop tasks and save results first.
Where can I find logs and reports?
The log is in the module workspace. Export results and use the path and Open button. Some collection modules automatically save TXT files to Downloads.
Why does the built-in updater not offer 2.2.1m?
This release was published for manual installation through GitHub. The server delivery channel was not switched; follow the release instructions and preserve your data.
Support
Support and license questions: @scarrytraff. Community: @scarrysoft. Version changes: release history.
Provide the version from Miscellaneous, module name, sequence of actions and exact error text. License issues may require the HWID from the activation window. For a task, attach its result or a screenshot with personal information hidden.
Do not send your license key, 2FA password, full card details, proxy password, auth_key or authorization files. Use anonymized data to describe a reproducible problem.