We are seeking a skilled and experienced developer to build a sophisticated Telegram bot. The bot's primary function is to measure and rank the activity of messages in multiple Telegram groups. It involves intricate data collection, processing, and a dynamic ranking system. The ideal candidate will have a strong background in programming, experience with the Telegram Bot API, and a good understanding of databases and server management.
Key Responsibilities:
Bot Development: Develop a Telegram bot capable of being added to various Telegram groups to monitor and analyze messages. Data Collection and Analysis: Implement efficient data collection methods to track unique messages, unique user participation, and activity from premium users. Database Management: Set up and manage a database to store and process data from multiple groups. The database should be scalable and capable of handling high-velocity data. Ranking Algorithm: Design and implement a ranking algorithm based on the collected data, considering factors like message frequency, unique user count, and premium user activity. Real-time Updating System: Develop a system to update rankings in real-time (or at specified intervals) and publish these rankings to a dedicated Telegram channel. Scalability and Performance Optimization: Ensure the bot can scale to monitor multiple groups simultaneously without performance degradation. This includes handling Telegram's API rate limits and managing data efficiently. Testing and Deployment: Thoroughly test the bot for stability and reliability. Deploy the bot on a suitable cloud platform, ensuring uptime and performance. Maintenance and Updates: Provide ongoing maintenance and updates to the bot as needed, including handling any changes in the Telegram API. Documentation: Create clear documentation for the setup and use of the bot. User Support: Be available to provide support for any issues or questions from users. Required Skills and Qualifications:
Proven experience in developing Telegram bots. Strong programming skills, preferably in Python and experience with libraries like python-telegram-bot. Experience with database technologies (e.g., PostgreSQL, MongoDB, Redis). Knowledge of server management and cloud services (e.g., AWS, Google Cloud, Heroku). Familiarity with implementing real-time data processing and ranking algorithms. Excellent problem-solving skills and attention to detail. Ability to write clean, maintainable, and well-documented code. Good communication skills and proficiency in English.
Desirable Skills: Experience with machine learning or advanced data science techniques. Knowledge of microservices architecture and distributed systems. Prior experience in managing large-scale applications.