Manual
Working with databases in Telegram Expert
Views: 143
Databases in Telegram Expert are an organized system for storing information, allowing you to structure and quickly find necessary data. A database consists of a collection of structured data organized according to specific rules. It stores information in the form of tables with columns (attributes) and rows (records), simplifying access to and processing of information.
To begin working with databases, you need to install SQLite Studio. This is free software that allows you to work with SQLite databases. You can find it in the software folder under the name «sqlite».
In the program, users can easily manage or edit any databases. Key setup points include:
You can change how the database is displayed on the program page. To do this, open the settings () and select the desired value. Any number of rows can be displayed on the page — for example, 1,000 or 10,000 — depending on your preference.
If you are just starting to work with databases, it is recommended to configure the display settings when viewing to avoid mistakes. For instance, you may receive a database with 20,000 rows, but due to default settings, only see 1,000 and assume the software did not process correctly. Check the row display settings before drawing conclusions.
All data necessary for work is displayed within the database. For example, a list of usernames and their processing statuses for specific actions, such as messaging campaigns.
You can manually change statuses if needed — for instance, changing the status from «Done» to «Ready». Then, when using this database for a campaign, the software will process all users listed in it again, even if the campaign was previously conducted. The key during edits is to click the checkmark icon to save the changes. If this is not done, the data will not be updated.
You can collect participants from any chat, open the resulting database, and examine its structure. This will help you become familiar with the data format and better understand how to work with it.
It can be helpful to understand the column designations and their purposes while working.
Such databases contain columns corresponding to parameters specified in the generator:
The final databases vary depending on which section the user worked with. If the collection is from groups or channels, resulting in a database of users, it will include the following fields:
If a link check is performed, the resulting database will contain data about the groups:
By default, all databases created during operation are stored in the «additives» folder. The specific location of a database depends on the module used:
When operations are completed, the databases will also be displayed in the software interface, allowing users to quickly open and verify the results.
For databases stored on your PC, their structure will differ. For instance, if you send a campaign and check the relevant folder, you may see two types of databases: Base\Parsing and Result\Stat.
Common statuses in Result\Stat for various modules:
The «Reports» module is used for working with statistical databases. For modifying and working with databases generated by the «Collect audience» module, use sections within the same module: Database Cleanup, Database Union and Database Exclusion.
Databases are utilized in various modules to manage and process information about accounts, users, and audiences, as well as to automate registration and invitation processes in Telegram. Here’s how they function in each module:
The «Add Account» feature in this module requires a database with parameters necessary for creating Telegram accounts. This database includes pre-generated data, such as device information, app version, and other parameters, which allow the creation of new accounts with the desired characteristics. This helps automate the account creation and management process using pre-prepared data.
If various account actions are performed, the module generates a database based on the results.
This module uses a parameter database created in the «Parameter Generator» to automatically register accounts. For the «Manual Registration» feature, the same database is required to apply the parameters to specific accounts by loading the necessary data.
For registration using virtual numbers from SMS services or the «Universal Registrar», a parameter database is also necessary as it contains all the data required to register accounts in various scenarios, automating the process and increasing flexibility.
This module allows users to create audience databases based on different parsing criteria, such as activity in chats, comments in channels, audience language, etc. The result is a database containing an audience selected according to the specified criteria.
Additionally, the Collect audience folders display a Base database containing lists of groups or channels for parsing (your input data). These databases can later be reused to select a new audience that has appeared over time. You can also exclude one database from another after parsing.
For example, if you have a database of users collected a month ago and a new one collected today, you can exclude the old database from the new one. This way, the final result will only show users who have joined or commented recently, removing duplicates.
For example, in the image below, a database has been cleaned of users without profile photos. The final database contains only accounts with photos:
You can either input data for parsing (usernames, group links, etc.) or upload a Base database automatically created from the list. This is helpful when resuming parsing if it was interrupted before processing all users, chats, or channels. Check the statuses — «Ready» indicates that the task has not started.
In this module, users generate databases based on the outcomes of invitations, where all task processing statuses or errors are recorded. This database is used to monitor the invitation process and maintain organization.
Users can also upload databases created in the «Collect audience» module to invite specific users from the collected lists. If the invitation process is interrupted, you can upload the final database to the software, which will resume where it left off.
This module requires different data depending on the type of operation:
For the «Invite by phone numbers» and «Send by phone numbers» features, either a list of numbers or a database is required. This database can be created in the «Number checker» — the result will be a Result/Stat database with the numbers. Similar to other modules, previously created databases can be used for continuing operations or repeated invitations.
Databases are required only for the «Mass Subscriptions» section. You upload a ready-made Base database containing group data. This database can be created in this section by entering group usernames or links. Alternatively, databases from the «SMS sending» module can be used (Base databases created from auto-posting to chats).
A database can also be used in the «Referrals to Bot» section to continue or restart an operation (only with status changes).
For other sections, a database is not required — you only need to provide lists of post links (reactions) or individual links to posts or channels. Upon completion, result databases will be generated for reactions or bot subscribers.
This module works with statistical databases (results).
Final databases from each section are stored in folders corresponding to the tool name on your device.
In special modules, databases are needed for the session duplicator. A database containing account parameters is uploaded. However, this is only possible if the «Use parameters from the account» option is not selected.
For other modules, databases are not required. However, the «Reporter» module generates a database stored in the corresponding folder on your device.
For all other cases, monitor the module's operations through the log. For instance, here is an example log for the «Session duplicator» module:
What do you need to start working with databases?
To begin working with databases, you need to install SQLite Studio. This is free software that allows you to work with SQLite databases. You can find it in the software folder under the name «sqlite».
In the program, users can easily manage or edit any databases. Key setup points include:
Displaying the database
You can change how the database is displayed on the program page. To do this, open the settings () and select the desired value. Any number of rows can be displayed on the page — for example, 1,000 or 10,000 — depending on your preference.
If you are just starting to work with databases, it is recommended to configure the display settings when viewing to avoid mistakes. For instance, you may receive a database with 20,000 rows, but due to default settings, only see 1,000 and assume the software did not process correctly. Check the row display settings before drawing conclusions.
Editing data
All data necessary for work is displayed within the database. For example, a list of usernames and their processing statuses for specific actions, such as messaging campaigns.
You can manually change statuses if needed — for instance, changing the status from «Done» to «Ready». Then, when using this database for a campaign, the software will process all users listed in it again, even if the campaign was previously conducted. The key during edits is to click the checkmark icon to save the changes. If this is not done, the data will not be updated.
Detailed button functions in the software
- Add a row.
- Delete a row.
- Confirm changes.
- Cancel changes.
- Navigate to the next page or the last page of the database.
- Input field for filtering.
- Filter application button.
You can collect participants from any chat, open the resulting database, and examine its structure. This will help you become familiar with the data format and better understand how to work with it.
Managing data
It can be helpful to understand the column designations and their purposes while working.
Parameter generator databases
Such databases contain columns corresponding to parameters specified in the generator:
- APP ID: this is a numerical identifier assigned to each application registered to work with the Telegram API. This unique value helps Telegram's server identify the specific application making the request. Each application type (e.g., Android, Telegram X, Desktop) may have its own App ID. For example, Android may have 4, and Desktop may have 2040. This number is used for initial application identification and is displayed as it corresponds to the application version.
- APP Hash: a unique code (or hash) that authenticates the App ID and links it to a specific application. Essentially, it is a combination of letters and numbers serving as a password. Telegram uses this hash code to verify that the request genuinely comes from an authorized application. For instance, Android may have a string like 014b35b6184100b085b0d0572f9b5103.
- SDK: the system version in SDK format.
- Device: displays the model of the device from which the registration is simulated.
- APP version: specifies the Telegram application version.
- Lang_Code: the application's language code.
- System_Lang: the system's language.
- Lang_Pack: the device's code.
- TZ_Offset: time zone offset.
- Perf_Cat: device performance class.
Collect audience databases
The final databases vary depending on which section the user worked with. If the collection is from groups or channels, resulting in a database of users, it will include the following fields:
- User_ID: displays the user's ID.
- Group_ID: includes the ID of the group where the user was parsed.
- MESSAGE_ID: displays the message ID if the collection was message-based.
- COMMENT_ID: includes the comment ID if the collection was based on comments in a channel.
- Phone: displays the user's phone number if it is open.
- Username: displays the user's username.
- First_Name: the user's first name.
- Last_Name: the user's last name.
- BIO: profile bio data, if available or accessible.
- Gender: displays gender (M for male, F for female).
- Photo: indicates the presence or absence of a photo (0 — no, 1 — yes).
- Premium: indicates whether the user has a Premium Telegram status (1 — yes, 0 — no).
- Status: displays the user's online status.
- Time: displays the user's last seen time if the status is offline.
- Invite_Status: displays the user's invitation status: Ready means ready, and Done indicates the invitation has been sent.
- Send_Status: displays the message campaign status: Ready means ready, and Done means the message has been sent.
Databases for checking links
If a link check is performed, the resulting database will contain data about the groups:
- ID: displays the group ID.
- Username: the group's username, which may include a link to the group if specified.
- Count: displays the number of participants in the group.
- Title: the chat or channel's name.
- Photo: indicates whether the group has a photo (0 — no, 1 — yes).
- Invite: indicates if invitations are available.
- Send_Message: indicates if sending messages is possible.
- Send_Media: indicates if sending media files is possible.
- Send_Stickers: indicates if sending stickers is possible.
- Send_Polls: indicates if sending polls is possible.
- Slow_Mode: indicates if slow mode for sending messages is enabled.
- Scam: indicates if the group has a Scam label.
- Type: the type of group (e.g., supergroup).
- Status: displays the group's processing status: Ready for ready to act, Done if the action has already been completed.
What databases does the software generate?
By default, all databases created during operation are stored in the «additives» folder. The specific location of a database depends on the module used:
- Account actions: \additives\accounts (Each time accounts are checked for bans or restrictions in the account panel, the software creates a database with the results. This makes it easy to view and sort the data if necessary.)
- Parameter generation: \additives\registrator_generator
- Auto-registration: \additives\registrator
- Session duplicator: \additives\registrator_dublicator
- Inviting: folder names include «invite» with the specific tool used appended, such as «id», «admin», «admin auto», etc.
- SMS sending: folder names include «send» with the specific tool used appended, such as «channels», «group», «id», etc.
- Parsing: folder names include «parsing» with the specific tool used appended, such as «account», «comment», etc.
- Database operations: db_clean/db_exclude/db_gender/db_union.
- Phone number checking, link checking: \additives\check_phones, \additives\check_links.
- Create chat: \additives\create_channels.
- Engagement (reactions): \additives\reactions.
- Mass unsubscribing: \additives\unsubscribe.
- Statistics: databases related to statistics are named «stat», with specific designations appended, such as «calc» or «generator».
- Mass subscriptions: \additives\subscribe.
- Bot subscriptions: \additives\subscribe_bot.
- Reporter: \additives\reporter.
- Auto-responder: \additives\answering_machine.
When operations are completed, the databases will also be displayed in the software interface, allowing users to quickly open and verify the results.
For databases stored on your PC, their structure will differ. For instance, if you send a campaign and check the relevant folder, you may see two types of databases: Base\Parsing and Result\Stat.
- Base\Parsing contains input data — for example, a list of usernames or groups, depending on what you added.
- If the Base\Parsing database is missing while Result\Stat exists, it means the user did not use a list but added the database directly.
- Result\Stat contains statistical data — it shows where invitations or campaigns were sent. The statuses in this database reflect the results, such as «Done» or an error message.
- The database name in Result\Stat may vary depending on the module. For example, an invitation database might be named «Invite», while a messaging database might be named «Send».
Common statuses in Result\Stat for various modules:
Registration:
- CodeSendInApp — the «Reject the number if the code is sent in-app» option was activated, indicating that the code was sent directly to the app, and the program rejected the number.
- Done — an account was successfully registered with the phone number.
- PhoneNumberBannedError — the phone number is banned on Telegram, making registration impossible. The program automatically rejects such numbers.
- PhoneCodeInvalidError — the SMS service sent an invalid code, resulting in the number being rejected. Payment may still be deducted. Some SMS services compensate for such cases, so contact their support team.
- CodeNotSend — the code was not sent to the specified number for an unknown reason, and the program rejects the number.
- CodeNotReceived — the code was not received within the set timeout, possibly due to proxy or settings issues.
- UnboundLocalError — a proxy issue occurred; try replacing them.
- FloodWaitError — this error is related to flooding, often caused by unsuitable numbers or repeated use of the same proxies or parameters.
- PhoneNumberWithTwoFa — the code was received, but the number already has two-factor authentication (2FA) enabled. Some SMS services like Sms Activate, Gryzzly Sms, and SmsBower automatically refund these numbers. Check with your service for others.
- OperationalError — a proxy issue; check or replace them.
Inviting:
- Done — the user was successfully added to the chat.
- UserPrivacyRestrictedError — the user's privacy settings prevent them from being invited.
- UserChannelsTooMuchError — the user is a member of too many chats or channels, so the invitation failed.
- NotInGroup — the user was invited, but the program did not find them in the chat afterward.
- BadRequestError — a request error occurred while attempting the invitation. Check the settings and data.
- NotInvited — the user could not be invited, often due to privacy settings.
- UserIdInvalidError — the user's ID is invalid, preventing their addition.
- UserBannedInChannelError — the user was previously in the group but left or was banned, making re-adding impossible.
- UserNotMutualContactError — the user allows invitations only from mutual contacts, or the account is under temporary or permanent spam restrictions.
- NotFoundInGroup — the user was not found in the source chat when inviting by ID.
Messaging campaigns:
- Done — the message was successfully sent.
- ForbiddenError — the user has restricted messages from everyone except premium accounts and contacts.
Other statuses:
- ValueError — invalid values. Check the module settings and data.
- TypeError — data type error. Verify module settings and inputs.
- InviteHashExpiredError — often occurs with invalid or expired chat links. Check or create a new one.
- ScheduleTooMuchError — exceeded the limit for scheduled messages per chat or channel (limit: 100).
- ChatAdminRequiredError — administrator rights are required. Check account permissions.
- ChatWriteForbiddenError (Messaging) — messaging is disabled in the chat.
- ChatWriteForbiddenError (Inviting) — check chat settings if the error occurs for every user added.
- UserRestrictedError — the addition request succeeded, but Telegram did not find the user in the chat, likely due to high limits.
- ConnectionError — connection error. Check proxy settings.
- Ready — rows with this status are ready for processing.
- Taken — rows are in progress.
Spam and user-related errors:
- UsernameInvalidError — the specified username does not exist.
- PeerFloodError — flood error. Review anti-spam guidelines for Telegram.
The «Reports» module is used for working with statistical databases. For modifying and working with databases generated by the «Collect audience» module, use sections within the same module: Database Cleanup, Database Union and Database Exclusion.
How are databases used in Telegram Expert modules?
Databases are utilized in various modules to manage and process information about accounts, users, and audiences, as well as to automate registration and invitation processes in Telegram. Here’s how they function in each module:
Account actions module
The «Add Account» feature in this module requires a database with parameters necessary for creating Telegram accounts. This database includes pre-generated data, such as device information, app version, and other parameters, which allow the creation of new accounts with the desired characteristics. This helps automate the account creation and management process using pre-prepared data.
If various account actions are performed, the module generates a database based on the results.
Auto-registration module
This module uses a parameter database created in the «Parameter Generator» to automatically register accounts. For the «Manual Registration» feature, the same database is required to apply the parameters to specific accounts by loading the necessary data.
For registration using virtual numbers from SMS services or the «Universal Registrar», a parameter database is also necessary as it contains all the data required to register accounts in various scenarios, automating the process and increasing flexibility.
Collect audience module
This module allows users to create audience databases based on different parsing criteria, such as activity in chats, comments in channels, audience language, etc. The result is a database containing an audience selected according to the specified criteria.
Additionally, the Collect audience folders display a Base database containing lists of groups or channels for parsing (your input data). These databases can later be reused to select a new audience that has appeared over time. You can also exclude one database from another after parsing.
For example, if you have a database of users collected a month ago and a new one collected today, you can exclude the old database from the new one. This way, the final result will only show users who have joined or commented recently, removing duplicates.
For example, in the image below, a database has been cleaned of users without profile photos. The final database contains only accounts with photos:
You can either input data for parsing (usernames, group links, etc.) or upload a Base database automatically created from the list. This is helpful when resuming parsing if it was interrupted before processing all users, chats, or channels. Check the statuses — «Ready» indicates that the task has not started.
Invitation module
In this module, users generate databases based on the outcomes of invitations, where all task processing statuses or errors are recorded. This database is used to monitor the invitation process and maintain organization.
Users can also upload databases created in the «Collect audience» module to invite specific users from the collected lists. If the invitation process is interrupted, you can upload the final database to the software, which will resume where it left off.
SMS sending module
This module requires different data depending on the type of operation:
- Comments in channels: Either a list of channels (usernames, invitation links) is provided, or a database created from previous comments is used. This is useful if the operation was interrupted or for repeated campaigns, though the statuses must be changed from «Done» to «Ready».
- SMS sending: A list of usernames is provided. If a database from the «Collect audience» or a previous Base database exists, it can be used.
- ID-based sending: A database is required because it contains information about the group where users were parsed. Without these details, sending cannot proceed, as the account needs to join the group and find the users by their IDs. A list cannot be used in this case.
- Auto-posting to chats V1: Either a list of groups or a database (Base) created in this section is used for repeated campaigns or to resume an interrupted one.
Phone number module
For the «Invite by phone numbers» and «Send by phone numbers» features, either a list of numbers or a database is required. This database can be created in the «Number checker» — the result will be a Result/Stat database with the numbers. Similar to other modules, previously created databases can be used for continuing operations or repeated invitations.
Engagement module
Databases are required only for the «Mass Subscriptions» section. You upload a ready-made Base database containing group data. This database can be created in this section by entering group usernames or links. Alternatively, databases from the «SMS sending» module can be used (Base databases created from auto-posting to chats).
A database can also be used in the «Referrals to Bot» section to continue or restart an operation (only with status changes).
For other sections, a database is not required — you only need to provide lists of post links (reactions) or individual links to posts or channels. Upon completion, result databases will be generated for reactions or bot subscribers.
Reports module
This module works with statistical databases (results).
- Report generator: Add any result database (invitations, campaigns) to generate a report. To focus on unprocessed users, channels, or chats, exclude rows with the «Done» status.
- Database union: Combine up to 5 statistical databases into one larger database. For example, a database focused purely on ID-based invitations.
- Calculator: Add a result database from invitations or campaigns. The final database will calculate how many actions (invitations, messages) were sent per account and the success or failure rate.
Final databases from each section are stored in folders corresponding to the tool name on your device.
Special modules
In special modules, databases are needed for the session duplicator. A database containing account parameters is uploaded. However, this is only possible if the «Use parameters from the account» option is not selected.
For other modules, databases are not required. However, the «Reporter» module generates a database stored in the corresponding folder on your device.
For all other cases, monitor the module's operations through the log. For instance, here is an example log for the «Session duplicator» module: