A Telegram bot for searching and monitoring tenders from tender-indonesia.com. The bot automatically logs in, handles captcha using Tesseract OCR, and allows users to search for tenders by keywords across different dates.
- 🔍 Search Tenders - Search for tenders by keywords
- 📅 Date Navigation - Browse tenders across different dates with interactive buttons
- 🔗 Clickable Links - Direct links to tender details
- 🤖 Auto Login - Automatic login with captcha handling
- 🧠 Smart Search - Multiple keyword search (AND logic)
- 📱 User-Friendly - Inline keyboard for easy navigation
- 🔒 Session Management - Auto re-login when session expires
| Command | Description | Example |
|---|---|---|
/cari [keywords] |
Search today's tenders | /cari konstruksi jalan |
/cari YYYY-MM-DD [keywords] |
Search tenders on specific date | /cari 2026-02-24 bahan kimia |
/status |
Check login status | /status |
/login |
Force re-login | /login |
- Login Automation: Bot logs in using credentials from
.envfile - Captcha Solving: Uses Tesseract OCR to read captcha images
- Session Persistence: Maintains login session for multiple requests
- Tender Search: Scrapes tender data and filters by keywords
- Result Presentation: Shows results with clickable links and date navigation
- Python 3.7+
- Tesseract OCR (Installation Guide)
- Telegram Bot Token (from @BotFather)
- Clone the repository
git clone https://github.com/rmulyana/info-tender-bot.git
cd info-tender-bot - Install dependencies
pip install -r requirements.txt-
Install Tesseract OCR
- Ubuntu/Debian:
sudo apt-get install tesseract-ocr - macOS:
brew install tesseract - Windows: Download from GitHub
- Ubuntu/Debian:
-
Configure environment variables
cp .env.example .env
# Edit .env with your credentials- Run the bot
python bot_tender.pyCreate a .env file with the following variables:
TELEGRAM_TOKEN=your_telegram_bot_token_here
TENDER_USER=your_tender_username_here
TENDER_PASS=your_tender_password_herepython-telegram-bot>=20.0
requests>=2.31.0
beautifulsoup4>=4.12.0
pytesseract>=0.3.10
Pillow>=10.0.0
python-dotenv>=1.0.0
bot-tender-indonesia/
├── bot_tender.py # Main bot application
├── requirements.txt # Python dependencies
├── .env.example # Template for environment variables
├── .gitignore # Git ignore rules
└── README.md # This file
/cari konstruksi
/cari 2026-02-24 bahan kimia
If no tenders are found, the bot provides interactive buttons to:
- ⬅️ Search previous day
- ➡️ Search next day
- 📅 Choose another date manually
- Multiple keywords:
/cari engineering constructionfinds tenders containing BOTH words - Exact phrase: Use quotes:
/cari "pipe seamless"for exact phrase matching - Date-specific: Add date prefix for historical search
- Shows total number of results
- Displays tender date and title
- Provides clickable link to tender details
- Includes link to the search results page
- Automatic login on bot startup
- Session refresh every 30 minutes
- Automatic re-login on session expiry
-
Login Failed
- Check credentials in
.env - Ensure Tesseract OCR is properly installed
- Try
/logincommand to force re-login
- Check credentials in
-
No Results Found
- Try different keywords
- Check if there are tenders on that date
- Use the date navigation buttons
-
Captcha Reading Errors
- Ensure Tesseract is installed correctly
- Check Tesseract path in system
- Try reinstalling Tesseract
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
This bot is for educational purposes. Please respect the website's terms of service and use responsibly. The developers are not responsible for any misuse or violations of the website's terms.
Ruzia Mulyana - @Papagenics
Project Link: https://github.com/rmulyana/info-tender-bot
⭐ Star this repo if you find it useful!