CEAC stands for Consular Electronic Application Center, it is an online platform for U.S. visa applicants to submit their application, pay the application fee, schedule an appointment and track the status of their application. It is used by U.S. Department of State's Bureau of Consular Affairs to manage visa applications.
This bot is used to track the CEAC status of a DV case (Immigrant Visa by Diversity Lottery). It will send a message to a private messages when the status changes.
Disclaimer:
I am not responsible for any misuse of this bot. Use it at your own risk. I am not affiliated with the US government. This is a personal project. Work in progress on this project, so expect bugs.
- Node.js >= 16 (Uses fetch API)
- PostgreSQL (needed to store the user data: case id, history, etc)
- Telegram bot token (get it from @BotFather)
- Rucaptcha key (get it from Rucaptcha), needed to solve the captcha (can topup with debit card, crypto, etc)
- Telegram ID of admin account (get it from @RawDataBot -> message>from>id)
- Check actual cut-off numbers for current month (See latest Visa Bulletin) and edit in
cut_off_numbers.js
- Track one case per user
- Tracking Visa Bulletin updates (and notify users when updated)
- Self checking for updates by entering captcha by user
The SQL schema is located in sql/schema.sql
You can create the database with the following command:
psql -U postgres -h localhost -f sql/schema.sql
- Clone the repository
- Install dependencies with
npm install
- Add a
.env
file with the following variables:
BOT_TOKEN=YOUR_BOT_TOKEN
POSTGRES_URL=postgress://USER:PASSWORD@HOST:PORT/DATABASE
RUCAPTCHA_KEY=A_RUCAPTCHA_KEY
ADMIN_ID=TG_ADMIN_ID
- Create the database and run the SQL schema (see above)
- Run the bot with
npm start
- Clone the repository
- Build the image with
docker build -t ceac-tracking-bot .
- Add
.env
file with the same variables as above - Create the database and run the SQL schema (see above)
- Run the container with
docker run -d --name ceac-tracking-bot ceac-tracking-bot
- To stop the container, run
docker stop ceac-tracking-bot
@CEACTrackingBot - this bot is free to use, but I can't guarantee that it will be online 24/7.
- Telegram channel with CEAC updates - @twonlupdate
- Telegram bot to check CEAC case - @checkcasebot