Giter Site home page Giter Site logo

ceac's Introduction

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.

CEAC Tracking bot

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.

Requirements

  • Node.js >= 16 (Uses fetch API)
  • PostgreSQL (needed to store the user data: case id, history, etc)

Need to get before run

  • 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

Features

  • Track one case per user
  • Tracking Visa Bulletin updates (and notify users when updated)
  • Self checking for updates by entering captcha by user

SQL Schema

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

Installation (manually)

  1. Clone the repository
  2. Install dependencies with npm install
  3. 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
  1. Create the database and run the SQL schema (see above)
  2. Run the bot with npm start

Installation (Docker)

  1. Clone the repository
  2. Build the image with docker build -t ceac-tracking-bot .
  3. Add .env file with the same variables as above
  4. Create the database and run the SQL schema (see above)
  5. Run the container with docker run -d --name ceac-tracking-bot ceac-tracking-bot
  6. To stop the container, run docker stop ceac-tracking-bot

Demo

@CEACTrackingBot - this bot is free to use, but I can't guarantee that it will be online 24/7.

Alternative solutions

  1. Telegram channel with CEAC updates - @twonlupdate
  2. Telegram bot to check CEAC case - @checkcasebot

ceac's People

Contributors

hormold avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.