Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

US Visa OFC Slot Checker

Automatically monitors US Visa OFC (Visa Application Center) appointment availability across Indian cities and sends instant Telegram alerts when slots open up.


How It Works

  1. Opens a Chromium browser window
  2. You log in manually (handles CAPTCHA and security questions yourself)
  3. Script takes over and checks all configured cities every 5 minutes
  4. Sends a Telegram alert the moment any slot becomes available

Setup

1. Run the setup script

Double-click setup.bat or run in terminal:

.\setup.bat

This creates a virtual environment, installs all dependencies, and downloads the browser binary.

2. Create a Telegram Bot

  1. Open Telegram and search for @BotFather
  2. Send /newbot and follow the prompts to create a bot
  3. Copy the bot token you receive

3. Get your Chat ID

  1. Send any message to your new bot (e.g. /start)
  2. Open this URL in a browser (replace <TOKEN> with your bot token):
    https://api.telegram.org/bot<TOKEN>/getUpdates
    
  3. Find "chat": {"id": XXXXXXX} — that number is your chat ID

4. Configure config.py

Open config.py and fill in your details:

TELEGRAM_BOT_TOKEN = "your_bot_token_here"
TELEGRAM_CHAT_ID   = "your_chat_id_here"
APPLICANT_NAME     = "YOUR NAME"        # Must match exactly as shown on the website

Running

.\run.bat

Or from PowerShell:

.\run.bat

A browser window will open. You have 10 minutes to:

  1. Enter your username and password
  2. Solve the CAPTCHA
  3. Answer the two security questions

Once logged in, the script monitors automatically and alerts you via Telegram.


Configuration Reference

All settings are in config.py:

Setting Default Description
TELEGRAM_BOT_TOKEN (required) Bot token from @BotFather
TELEGRAM_CHAT_ID (required) Your Telegram user ID
APPLICANT_NAME "YOUR NAME HERE" Exact name as shown on the Group Members panel (uppercase)
OFC_CITIES All 5 Indian cities List of VAC cities to monitor
CHECK_INTERVAL_SECONDS 300 Time between full check cycles (5 minutes)
LOGIN_TIMEOUT_SECONDS 600 How long to wait for manual login (10 minutes)

Available Cities

OFC_CITIES = [
    "CHENNAI VAC",
    "HYDERABAD VAC",
    "KOLKATA VAC",
    "MUMBAI VAC",
    "NEW DELHI VAC",
]

Remove any cities you don't want to monitor.


Telegram Notifications

Event Message
Monitor started Bot confirms which cities are being watched
Slot found City name, timestamp, and direct booking link
Session expired Prompts you to log back in
Too many errors Alerts and stops the monitor after 5 consecutive failures

If Telegram is not configured, all notifications print to the console instead.


File Structure

visa_checker/
├── checker.py        — Core application logic
├── config.py         — Your configuration (edit this)
├── requirements.txt  — Python dependencies
├── setup.bat         — One-time setup script
├── run.bat           — Launch script
└── venv/             — Python virtual environment (auto-created)

Dependencies

  • patchright — Patched Chromium browser that bypasses Cloudflare bot detection
  • requests — HTTP client for Telegram API calls

Troubleshooting

Login timed out The script couldn't confirm you were logged in within 10 minutes. Increase LOGIN_TIMEOUT_SECONDS in config.py if you need more time.

Telegram not sending

  • Verify your bot token and chat ID are correct in config.py
  • Make sure you sent at least one message to your bot before checking
  • Check the console for error details

Session expired mid-monitoring Normal — the website logs you out after inactivity. The script will detect this and prompt you to log back in via the browser window.

Uncertain results for a city The page didn't show either a "No Slots Available" banner or a date picker. This usually means the page loaded slowly. The city is skipped for that cycle and retried next round.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages