Telegram bot for Ethiopian passport appointment booking and status checks using Playwright automation.
# ICS Bot
ICS Bot is a Telegram bot for automating Ethiopian passport appointment booking and passport status checks.
## Main Concept
The bot guides a user through passport appointment steps in Telegram while using Playwright to control the passport services website. It turns a long browser form into a chat-driven process with buttons, prompts, file uploads, and generated PDF outputs.
## What It Does
- Starts and manages a browser session per Telegram chat
- Selects passport appointment region, city, office, branch, date, and time
- Collects personal, address, and document details
- Uploads identity and birth certificate files
- Selects payment method
- Generates appointment PDFs
- Checks passport status by application number
- Cleans up inactive sessions
## Tech Stack
- Python
- `python-telegram-bot`
- Playwright
- BeautifulSoup
- Environment variables for bot secrets
## Run
```bash
pip install -r requirements.txt
python main.py
```
Store the Telegram token in `.env`:
```env
TELEGRAM_BOT_TOKEN=your_bot_token
```
## Maintenance Note
This automation depends on the structure of the passport services website, so selectors may need updates when the site changes.