SCARP.CC 2.2.1m

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.

  1. Add accounts and proxies, then check the connection.
  2. Open the required module, specify the source and select accounts.
  3. Review the settings, start the task and monitor the log.
  4. Open the results, save the report and wait for completion before closing the application.
Access depends on Telegram. The application does not reveal hidden phone numbers, guarantee complete member lists or search results, or override Telegram restrictions. An empty field may mean unavailable information rather than a zero value.

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

Windows 10 / 11 x64Extract the package to a writable local folder. Run SCARPCC.exe with the supplied resources.
Microsoft Edge WebView2 RuntimeRequired for the embedded window. If WebView2 fails to start, install or repair this Windows component.
License and internet accessRequired for activation, license verification and network features. Working Telegram accounts are added separately.
ProxiesAccounts use SOCKS5 or HTTP proxies. Save a valid address and port, plus a username and password if required.
OpenRouter, if you need AIEnter the key in Settings. It is required for profile generation, advertising copy and the AI auto-responder, but not for the local randomizer.

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

  1. Extract the release and run SCARPCC.exe. If updating an existing installation, first follow the update instructions.
  2. Activate your key. Enter the issued key on the license screen. Choose Russian, Ukrainian or English for the interface.
  3. Add proxies. In Proxies, paste proxy lines or load a list and run a check.
  4. Add accounts. Use a .session + .json pair, phone login, QR or a suitable import method.
  5. Select accounts. Click Check to connect and contact @SpamBot. Check without SpamBot tests availability without sending the bot a message.
  6. Open the account details with the gear icon. Review the information, its update time and the assigned proxy.
  7. 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

  1. Check that the entire key is entered without extra characters.
  2. Make sure the Windows date, time and time zone are correct.
  3. For connection errors, check internet access and service availability, then try again.
  4. 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

  1. 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.
  2. The application checks for a current version at startup. When an update is available, a separate window shows download, verification and installation progress.
  3. 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.
  4. 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

StatusWhat is confirmed
Active / aliveConnection and account retrieval succeeded. This does not confirm the absence of spam restrictions.
UnrestrictedA recognized @SpamBot response confirmed there are no restrictions.
Spam blockA restriction is confirmed. The account details show its duration and reason when known; the duration may be unknown.
FrozenTelegram reported the account as frozen. The deletion deadline without a successful appeal is not an unfreeze date.
Error / no responseThe check produced no confirmed result. A proxy problem alone does not mean the account is blocked.
No session / unauthorized / deadThe 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

  1. Click the gear icon in the account row.
  2. View the profile, photo and update time. If cached data exists, the details open immediately using it.
  3. Click refresh for current information. If no cache exists, data is requested when the details open.
  4. 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.

A manually assigned proxy takes precedence over the pool. It cannot be changed while a task is using the session. Removing the manual assignment restores pool allocation and does not enable a direct connection.

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

  1. Enter your phone number in international format, then choose client settings and a proxy.
  2. Click Get code and enter the code using the method Telegram offers.
  3. If 2FA is requested, enter the current password.
  4. 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.

  1. Enter the phone number, first name and optional last name, then select a proxy and client settings.
  2. Request and enter the code; if 2FA is requested, provide the current password.
  3. For a new account, read Telegram's terms and explicitly confirm acceptance and the required age.
  4. 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

  1. An individual proxy from JSON or account details takes precedence over the shared pool.
  2. An automatic pool assignment remains valid while the entry is in the pool.
  3. 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

ActionResult
CheckConnects, refreshes details and queries @SpamBot. A separate message to the bot may be skipped if the account is confirmed frozen.
Check without SpamBotConnects and refreshes details without sending /start to the bot. This result cannot confirm the absence of spam restrictions.
Refresh dataProfile, 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.

ActionHow to use
PhotoA 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.
UsernameA list, AI generation, name-based generation with retries, or removal. Once removed, another user may claim the released username.
NamesFrom 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.
BioOne text up to 70 characters, AI text or an explicit clear mode. Empty regular text does not start clearing.
GenderAI estimation from the name or a manual label: male, female or unspecified. This is local SCARP.CC information, not a Telegram field.
2FAYour 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 codeFinds a recent code in the Telegram service chat. This command does not request a new code: first request login on the desired device.
PrivacyChoose which rules to change. Leave unchanged preserves the current rule.
Clear dialogsExplicitly select private chats, bots, groups or channels and confirm. To filter groups by conditions, use the separate Group cleanup module.
Delete / log out of sessionDistinguish local file deletion from terminating Telegram authorization. If logout is unconfirmed, files must not be considered safely deleted.
Disabling 2FA. The saved password is removed from JSON only after the absence of 2FA is confirmed. If the follow-up check fails, the result is marked unconfirmed and the password is retained. If Telegram applies the change but JSON cannot be written, a separate local save error is shown. Passwords are not printed in the interface log.

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

  1. Select one account and a destination channel you can manage.
  2. Specify the source channel and copy settings: title, description, avatar, messages, visibility and post range.
  3. 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.

  1. Select the actions you need. None are selected initially.
  2. Select accounts, simultaneous connections, pauses and the FloodWait budget. Deleting private history for the other participant is enabled separately.
  3. Click Start. Selected actions run immediately, including archived dialogs. Groups and channels remain in Telegram; the accounts leave them.
  4. 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

  1. Select accounts using the module button. Check availability errors before starting.
  2. Fill in the current form fields. A range minimum must not exceed its maximum; zero is meaningful only where explicitly allowed.
  3. Start the task, open the log and then the results. Stop cancels further work and preserves already collected results.
  4. 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.

FloodWait is Telegram's requirement to wait a specified number of seconds. The budget field sets how much waiting the task allows; it does not reduce Telegram's requirement. 0 disables automatic waiting for a positive FloodWait. Uncertain sends are not retried automatically; check the history or result before running again.

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

  1. Enter recipient usernames or select one source file.
  2. Select the type of message: text, media, forwarding or inline bot. Fill in the fields for the selected mode.
  3. Select accounts, quotas, pauses, if necessary, schedule and number of cycles.
  4. 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

FieldValue and limits
Links or usernames, one per lineEnter 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 listUse 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 typeSelect 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 captionMessage 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 eachSelect 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 forwardingAdd 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 botSpecify 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 lineEnter 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 FormatPlain 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, fromThe 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 toThe 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 accountIn 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 cyclesTotal 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, secMinimum 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, secMaximum 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, secMinimum 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, secMaximum 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 soundSends 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 actionBefore 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 PreviewAllows Telegram to show previews of links in text messages. This option is also used for auto-reply text.
Pin sent messageAfter 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 sendingAfter 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 groupFor 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 senderRemoves 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 taskAfter 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 autoresponderReplies 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 textAutomatic 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, secMinimum 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, secMaximum 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, secMinimum 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, secMaximum 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, secAdditional 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 accountsSelected 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, secThe 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, secThe 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, secTotal 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

  1. Specify one target group or a template with group variants.
  2. Paste a shared list of usernames and phone numbers. To import phone numbers, enable the corresponding contacts option.
  3. Select accounts, successful invitations per account and the pause before an attempt.
  4. If needed, enable an additional request limit, protection against repeated errors and leaving after the task.
  5. 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

FieldValue and limits
Target groupSpecify 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 lineA 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 accountSuccessful invitations per account. Rejections do not consume the quota. Default: 40; the total request limit is enabled separately. Allowed: 1-10000.
Request limit per accountMaximum 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, secLower bound of the random pause between invitation attempts, in seconds. Default: 2 seconds. Allowed: 0-3600.
Maximum pause, secUpper bound of the random pause between invitation attempts, in seconds. Default: 4 seconds. Allowed: 0-3600.
Limit request countEnables a separate invitation request limit per account. Off by default; the successful invitation quota applies independently.
Leave the target group after the taskLeave the target group when the task ends. By default, the account stays in the group.
Add the recipient to contacts before the actionAdd the recipient to contacts before inviting them. Off by default. This changes the account's contact list.
Stop accounts after repeated errorsStop 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

  1. Enter chat links or usernames. Public and private invitations and addlist folder links are supported.
  2. Select accounts and distribution: a shared queue or the entire list for each account.
  3. Set joins per account, pauses and additional checks, then start the task.
  4. 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.

Audience collection

  1. Paste source groups, one per line.
  2. Choose the result format and name search alphabet.
  3. Set activity recency, desired statuses, gender estimation and the member or administrator category.
  4. 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

FieldValue and limits
Links or usernames, one per lineGroups 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 formatUsername 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 alphabetThis 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 unitThe 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 nameEstimation 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 thanLower 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 thanUpper 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 conditionsExact 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 collectSelect one category: regular members or administrators. Owners count as administrators. List format, activity and name filters also apply to the selected category.

Collecting chat authors

  1. Add source chats or channels.
  2. Choose the username/ID format and author filters.
  3. Set history depth, select accounts and start.
  4. Open the TXT list or export full rows with the discovery source.

Collects unique authors from the history accessible to a particular session. Depth is defined by a message ID range, not by days or the exact number of messages read. IDs may have gaps, and ranges may overlap; duplicate authors are removed.

Last seen more/less than fields filter author activity, not the message publication time. Hidden history, anonymous senders and unavailable information limit completeness. A public source does not require automatic joining; a private invitation may require it.

Parameters

FieldValue and limits
Links or usernames, one per lineGroups or channels, one @username, session-known ID or Telegram invitation per line; up to 10000 entries. Reads the history accessible to this account. The module does not join automatically for public links; private invitations may require joining.
List formatUsername 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.
Activity recency unitThe 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 nameEstimation 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 thanLower 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 thanUpper 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 conditionsExact 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.
History depth by message IDID range size counting back from the latest message: 1-1000000. This is neither a period in days nor an exact message count: IDs may have gaps, and adjacent ranges overlap by up to 500 IDs. Duplicate authors are removed. Allowed: 1-1000000.

Group cleanup

  1. Select leaving conditions and accounts.
  2. Review protection for chats where the account is an administrator or owner, the dialog limit and pauses.
  3. Click Start: matching chats are left immediately.
  4. 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

FieldValue and limits
Groups where writing is prohibitedChecks 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 StarsChecks 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 hoursCounts 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 thanAt 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 membersAdds 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 thanThreshold 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 dataOff 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 administratorSkips 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 accountLimits 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 accountsSelected 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, secLower 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, secUpper 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, secTotal 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

  1. Select accounts and enter your own base name. A new form starts empty; you cannot start without a name.
  2. Set the size to 100 or choose the account maximum mode.
  3. Review the free-space switch, enabled by default. Disable it if existing personal folders must be fully preserved.
  4. Separately decide whether to allow converting basic groups to supergroups for the link.
  5. 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.

Creating a folder does not guarantee a link. Private groups require invitation permissions. By default, basic groups remain in the personal folder but are excluded from the link because Telegram may convert them to supergroups. A separate switch is required to allow conversion. An export error does not undo a folder already created.

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

FieldValue and limits
Folder nameA 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 sizeSpecified 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 folderNumber 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 chatsIf 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 linkTelegram 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 accountsSelected 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, secLower 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, secUpper 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, secTotal 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

  1. Select at least two of your own accessible accounts with public usernames.
  2. Enter message variants, one per line, or select a TXT file.
  3. Choose sending, replies or mixed mode; set attempts, cycles and delays.
  4. 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

FieldValue and limits
Message textsEnter 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 listSelect 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.
ModeSending 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 cycleNumber 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 cyclesTotal 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, secMinimum 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, secMaximum 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, secMinimum 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, secMaximum 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 contactsOn 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 accountsMaximum 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, secLower 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, secUpper 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, secFloodWait 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

  1. Enter phone numbers/usernames or load one TXT, CSV or SQLite file.
  2. Choose unique distribution or a shared list for every account.
  3. Set the contact count range, delays and accounts.
  4. 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

FieldValue and limits
ContactsOne 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 databaseTXT 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 accountsUnique: 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, minimumLower 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, maximumUpper 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 numberWhen 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 addingBefore 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 accountsSelected 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, secLower 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, secUpper 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, secTotal 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

  1. Select local images or MP4 files and, optionally, a caption with text variants.
  2. Specify stories per account, visibility and file distribution.
  3. If needed, add usernames for mentions and set their count.
  4. 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

FieldValue and limits
Story filesSelect 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.
CaptionOptional 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, minimumLower 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, maximumUpper 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 storyEveryone allows all users to view it; Contacts allows the publishing account's contacts. The setting applies to each new story.
Media selectionRandom 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, minimumLower 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, maximumUpper 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, secLower 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, secUpper 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, secLower 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, secUpper 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 accountsSelected 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, secLower 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, secUpper 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.

Multi-chat

  1. Select accounts and the number of messages to load from history. Media loads on click without a separate switch.
  2. Click Connect, then select an account, folder and conversation. The All chats tab shows the account's full list.
  3. Open the history, load earlier messages if needed, select a reply and send text.
  4. For translation, select incoming and outgoing message languages. Wait for the send result before disconnecting.
  5. 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.

Telegram Premium

  1. Select one account. If an active subscription is confirmed, another purchase does not start.
  2. Click Get price. The application retrieves a new invoice from PremiumBot.
  3. Check the account, purchase title, amount, currency, provider and terms. Select a saved card and enter CVV.
  4. Confirm the payment terms. If required, complete additional confirmation in the bank/provider payment window.
  5. Wait for confirmation of the original receipt. Separately check the result of the request to disable renewal.

The price comes from the current invoice; the application has no fixed price. Changing accounts resets the prepared invoice and CVV. Saved cards are displayed masked and protected by local Windows encryption; CVV is not saved. Access to local protected storage may differ after moving to another system.

If the response is lost after a payment request, another charge is not attempted automatically. The operation remains unconfirmed until the original receipt is checked. A new purchase for this account is blocked. Do not create a parallel payment to check whether the payment went through.

Payment confirmed and Renewal disabled are different results. A failure to disable renewal does not cancel an already completed payment. After restart, an unfinished operation is restored for verification; explicitly stopping it preserves a paused state.

Reauthorization

  1. Select source accounts and a separate folder for new sessions.
  2. Set delays and threads. This form allows 1-5 threads and delays of 0-3600 seconds.
  3. 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.
  4. 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

  1. Select source accounts and a separate destination folder.
  2. Choose code retrieval from the source session or QR confirmation by the source account.
  3. Select a preset device profile or fill in all custom profile fields; enter a custom API pair only as a complete pair.
  4. 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

FieldValue and limits
New sessions folderFolder 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.
ModeIn 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 profileSelects 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.
DeviceModel 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 versionSystem 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 versionApplication 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 languageApplication 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 languageSystem 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, secLower 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, secUpper 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 accountsHow 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, secLower 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, secUpper 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.

  1. Select accounts and a mode.
  2. If 2FA is enabled, make sure the current password is saved in JSON.
  3. Read the sign-out confirmation and start.
  4. To restore access, use the reverse mode and check each account's outcome.
The token is limited by Telegram's rules and expiry. Recovery is not guaranteed: a normal manual sign-in may be required. Do not delete the original data directory containing the protected token.

Parameters

FieldValue and limits
ModeActivate 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, secLower 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, secUpper 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 accountsSelected 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, secLower 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, secUpper 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

  1. Place the source tdata directories in the input folder using the supported structure.
  2. Select/check the detected sources and start conversion.
  3. 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

  1. Select current accounts using the selection button; no separate list scan is needed.
  2. Select the destination folder. An empty field uses the standard tdata folder.
  3. Choose whether to use the current authorization or create a new one.
  4. 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

  1. Select the required accounts in the export module.
  2. Set the batch size and available packaging options.
  3. Create archives, then check the number of exported accounts and errors.
  4. 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

  1. Add public channel or individual post links, or a TXT file.
  2. Check the shared proxy pool; Telegram accounts are not selected here.
  3. Set request cycles, the number of recent posts and pauses.
  4. 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

FieldValue and limits
Links or usernames, one per linePublic 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 listA 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 postHTTP 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 postsHow 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 accountsMaximum 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, secLower 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, secUpper 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

  1. Choose a protocol: SOCKS5 or HTTP from those available in the form.
  2. Select several countries if needed. Search accepts a name or code; selecting all matches and resetting are available.
  3. Set the target number of working proxies, maximum latency and concurrency.
  4. Decide whether to add results to the shared pool, then start.
  5. Check the log and open the output folder.
ParameterUnit and range
Quantity1-10000 checked proxies; an upper target, not a guaranteed count.
Maximum ping200-15000 milliseconds.
Simultaneous checks10-500 connections.
CountriesAn 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

  1. Create a mailbox in Temporary email.
  2. Copy the address and check for the successful-copy message.
  3. Refresh the inbox and open a message.
  4. 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

  1. Enter your OpenRouter key in Settings and save.
  2. Set reply instructions, select accounts and allowed dialog types.
  3. Set the delay, simulated reading/typing, per-user cooldown and maximum replies per minute.
  4. 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

FieldRange and meaning
LanguageRussian, Ukrainian or English. Changes the interface; some Telegram responses and library messages may retain their original language.
ThreadsInteger 1-32, default 2. Application and local limits are described in the tasks section.
Delay between actionsWhole 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 proxyInteger 1-100, default 2. This controls automatic pool allocation; it is not a Telegram restriction or a substitute for an individual proxy.
Connection timeoutWhole seconds 5-10, default 10. The combined connection and initial authorization deadline, including retries with an automatic proxy.
SpamBot waitWhole 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 keyOptional 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

PathPurpose
SCARPCC.exe and package resourcesApplication and interface. Updated together.
session.session/.json pairs and related account user data.
components/config.jsonSaved general settings.
components/proxy.txtShared proxy pool.
base.dbAccount states, proxies and check metadata. Does not replace authorization files.
data/photosSource photos for the corresponding profile mode.
input / tdataTypical converter input and output directories; individual forms may specify a different path.
data and DownloadsModule 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.