A Telegram bot designed to facilitate professional networking within the Information Systems community by enabling students to share and discover LinkedIn profiles. Perfect for IS students, alumni, and faculty members.
-
LinkedIn Profile Sharing:
Users can share their LinkedIn profiles, and the bot automatically extracts key data.
-
Community Browsing:
View community members' profiles in a paginated format for easy exploration and networking..jpg)
-
Bot Status Monitoring:
Check the current status of the bot to ensure smooth operation.
-
Profile Search:
Search through profiles using keywords to find the right connections. -
User-Friendly Button Interface:
Navigate the bot using an intuitive button-based interface.
- 📋 Export profiles to CSV (admin only)
- ⚡ Rate limiting to prevent spam
- 🔐 Profile management (update/delete)
- 🎯 Automatic profile data validation
- 📢 New member notifications
- Framework:
python-telegram-bot20.3 - Database: PostgreSQL with SQLAlchemy
- API Integration: LinkedIn API for profile data extraction
- Authentication: Environment-based configuration
- Logging: Rotating file logs with structured formatting
-
Clone the Repository
git clone https://github.com/Alph_Mintamir/IS-Connect.git cd is-connect-bot -
Set Up Virtual Environment
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate pip install -r requirements.txt
-
Configure Environment Create a
.envfile with:TELEGRAM_BOT_TOKEN=your_bot_token DB_HOST=localhost DB_PORT=5432 DB_NAME=your_db_name DB_USER=your_db_user DB_PASSWORD=your_db_password LINKEDIN_USERNAME=your_linkedin_email LINKEDIN_PASSWORD=your_linkedin_password
-
Initialize Database
python scripts/db_setup.py
-
Start the Bot
python bot.py
-
Start the Bot
- Search for the bot on Telegram
- Click "Start" or send
/start - Use the main menu buttons to navigate
-
Add Your Profile
- Click "➕ Add Profile"
- Send your LinkedIn profile URL
- Format:
https://www.linkedin.com/in/username
-
View Community Members
- Click "👥 View Users"
- Browse through paginated profiles
- Click profile links to view on LinkedIn
-
Manage Your Profile
- "🔄 Update Profile": Modify your information
- "❌ Delete Profile": Remove your profile
Logs are stored in logs/bot.log:
- Maximum size: 1MB
- Backup count: 5 files
- Log level: INFO
- Rate limiting for spam prevention
- SQL injection protection via SQLAlchemy
- Input validation for LinkedIn URLs
- Secure environment variable management
- Fork the repository
- Create your feature branch
- Commit your changes
- Push to the branch
- Open a Pull Request
MIT License - see the LICENSE file for details.
For support, email [email protected] or open an issue in the repository.
Built with Python and ❤️ for the Information Systems Community
