The project currently encompasses a Python-based Telegram bot using Selenium for browser automation. It’s designed to interact with the Telegram web interface
through an automated Chrome browser environment. The bot can set up a ChromeDriver instances, complete with custom configurations such as specific proxy settings
and a user-agent(fingerprint) to mimic a real browser, thus reducing the likelihood of detection as a bot. Key functionalities include randomizing behavior to
appear more human-like, managing local storage to save and load session data, and automating actions such as searching for specific Telegram contacts, clicking on these
contacts, and sending them messages. The bot’s interactions with the Telegram interface are intended to be as human-like as possible, with random delays and
mouse movements.Currently, the bot’s scope includes logging into Telegram, handling sessions, and performing specific tasks like sending predefined messages
to selected users.Here are the tasks that should be done:

1.Multiple Bot Instances
– From the profile table in the DB we should be able to add new bot instances as we add the storage_filepath and if it doesnt exists it creates a new one, if it exists it
loads the existing one. We have column "user_profile_path" but i think we dont need to have it in the table. We also have  there a column for the message that every account
sends to the user.Changes must be made here according to the tasks below as it works perfectly and without bugs.

1.Detailed Report Info About Account
– We need to know what exactly happened to every account, so in the "reports" table in the DB next to every account we need to have specif information what happened
to this account as we will know what we have to do(has the session expired, was the account blocked and all these specific things). Also, we need to have the expiration
day of the session in this table so we can see when it expires.

2. We have profile table in DB, one additional field must be added that shows if the account is blocked or active.Also, in every of our 4 tables we use the profile_id
of our accounts but it is very annoying every time to switch tables to see which account is with this id so we should change it everywhere to be not the id of the profile
but its localstorage name.

3.Proxies and Fingerprints
–  As for now, in the profiles table we have one row where we add manually to every account what proxy it should use. We need to change this. We want to have one major file
where we put all of our proxies and another major file where we put all of our fingerprints.Every bot should use proxies and fingerprints from this file.

4.Upgrading "messages" table in DB
– We have a table named "messages" in the DB where we have info which account to which user it has written, the message it has sent, the state of the message
(sent,not sent, seen, not seen and so on) and a counter of the messages it has sent to the specific user.The problem is that out table doesnt update the info
we have in this table but instead every time we start the program it creates new info about the the same accounts and in this way the counter of the sent messages
to the specific user will always be 1.Another thing is that the state of the messages is always sent(this should be repaired as it is not working).

5.One Major File For Usernames
– There should be 1 file for the usernames where we add all of the users we want to send a message to.The idea is that the bots should take users
from this one file(for example, we have 5 bots and 10 usernames, the first bot should take the first user and write to him,
the second bot is taking the second user and so on until all bots have a user to whom it should send a message.As we will have more users to write to
than bots,we want to continue the proccess as we start from the beginning(the first bot takes the sixth user, the second bot takes the seventh
and so on until we are finished with all the users in the file).Now, we are writing manually witch bot to witch user should write to,so it must be changed.

5.1.Username Validation
– Edge case here is if the user we type is missing so the bot should take the next user from the file and write to him.If we do it as we do it now
(write manually the username in the table next to the instances) and if we put one bot to write to 10 users and it get blocked on the third user,
what will happen to the other 7?We are losing data in this way.This is the main problem here and it should be fixed.

7.Additional Setting In The DB
– Additional setting should be added in the DB table where we type how many instances are loaded at the same time(for example, if we type in this row
in the DB 4 we want to be loaded 4 instances of the accounts we have in the DB, write to the users and close these accounts then another 4 instances are loaded
and so on until every instance in the DB is loaded and it sent the message to the user.

Hourly Range: $25.00-$50.00

Posted On: January 25, 2024 11:26 UTC
Category: Full Stack Development
Skills:Python, Python Script, Bot Development

Country: United States

click to apply

Powered by WPeMatico