685 USD
31 proposals
Development of an Automation System for Finding Potential Clients on Telegram RequiredProject Description I am looking for a developer to create a system that will automatically find active users in Telegram chats and form a convenient queue for the sales department.
Currently, managers manually review about 800 Telegram chats, searching for users who have recently shown activity, then open their profile and contact them via Telegram.
This process needs to be maximally automated.
I am interested not just in writing code, but in creating a reliable system that can be further expanded and refined.Main Task The system must automatically: monitor a large number of Telegram chats; collect users who have shown activity over a selected period; aggregate all activity of a single user; exclude duplicates; form a queue of operators; maintain a history of client processing.Data Source To obtain information, it is necessary to use the Telegram Client API.
Preferably use: Telethon; or Pyrogram (if the developer considers this option more suitable). Using the Telegram Bot API to read third-party chats is not suitable.
Work must be carried out through an authorized Telegram account (userbot).Chat Monitoring It is necessary to ensure operation with approximately 800 Telegram chats.
The administrator must be able to independently: add new chats; remove chats; temporarily disable monitoring; re-enable monitoring; upload a list of chats from a file; view the list of connected chats. The Telegram account must be a member of these chats.Activity Collection The system must collect the maximum amount of information that Telegram technically allows.
At a minimum, it is necessary to record: messages; comments; replies to messages; other publicly available user actions. If Telegram allows obtaining information about user reactions, it is desirable to implement this functionality as well.
If there are limitations from Telegram, please describe them immediately and suggest the optimal implementation option.Operating Modes Two modes need to be implemented.1. History Collection The administrator selects a period.
For example: from Saturday to Monday. After that, the system analyzes the message history for the selected period and forms a list of users.2. Automatic Monitoring After the initial launch, the system must automatically receive new Telegram events in real-time without re-analyzing the entire history.User Card Each user must be displayed only once.
Aggregation should preferably be done by Telegram ID, not by username.
The user card must display: first name; last name (if available); username; Telegram ID; link to profile; number of found activities. Below, the entire activity history should be displayed.
For example:
Chat #1
Message: “Hello, I am looking for a supplier of equipment” Date
Time Chat #2
Message: “Interested in the price” Date
Time Chat #3
Comment
Date
Time
If a user has shown activity in several chats, the operator should see all information in one card.Exclusion of Duplicates If a user is found in several chats, they should be displayed only once.
All found activity should be automatically aggregated.Operator Queue After forming the database, the system should create a queue of users.
The operator opens the next card and immediately receives all information about the user.
If several operators are working simultaneously: one user should not be assigned to two operators at the same time; the card should automatically be assigned to the operator during processing. After processing is completed, the next user is automatically opened.Processing Statuses After a call, the operator must select one of the statuses.
It is necessary to implement: Took the client; Unavailable; Could not reach; Refusal; In progress; Call back; Delete. After selecting a status, the system automatically opens the next user.Reissue It is necessary to provide the ability to configure the reissue of processed users.
For example: do not reissue; issue again after 30 days; after 60 days; after 90 days. The settings should be available to the administrator.Search A search is needed by: first name; username; Telegram ID.Filtering It is desirable to implement filtering: by statuses; by operator; by period; by chat.Statistics At a minimum, I would like to see:
For each operator: how many clients have been processed; how many successful; how many refusals; how many missed calls; how many are in progress. Overall statistics: number of found users; number of new ones; number processed.Database PostgreSQL is preferred.
It is necessary to store: users; activities; statuses; processing history; operator queue; list of monitored chats.Administration An administrative interface is desirable.
This can be: a web panel; or an administrative section of the Telegram bot. Through it, it should be possible to: manage chats; manage operators; start collection; view statistics; change main settings.Scalability I would like the architecture to initially provide for further development.
For example: connecting multiple Telegr