This is just a script I put together to check and notify me via email (MailGun) when there's an earlier date before my initial appointment date. It doesn't handle rescheduling.

Overview

US-visa-appointment-notifier

This is just a script I put together to check and notify me via email (MailGun) when there's an earlier date before my initial appointment date. It doesn't handle rescheduling.

$ npm start
=====>>> Step: starting process with 250 tries left
=====>>> Step: logging in
=====>>> Step: checking for schedules
[{"date":"2023-02-08","business_day":true},{"date":"2023-04-26","business_day":true},{"date":"2023-10-11","business_day":true}]
=====>>> Step: starting process with 249 tries left
=====>>> Step: checking for schedules
[{"date":"2023-04-26","business_day":true},{"date":"2023-10-11","business_day":true}]
=====>>> Step: starting process with 248 tries left
=====>>> Step: checking for schedules
[{"date":"2023-10-11","business_day":true}]
=====>>> Step: sending an email to schedule for 2023-10-11
...

email notification sample

How it works

  • Logs you into the portal
  • checks for schedules by day
  • If there's a date before your initial appointment, it notifies you via email
  • If no dates found, the process waits for set amount of seconds to cool down before restarting and will stop when it reaches the set max retries.

see config.js or .env.example for values you can configure

Configuration

copy the example configuration file exampe in .env.example, rename the copied version to .env and replace the values.

MailGun config values

You can create a free account with https://www.mailgun.com/ which should be sufficient and use the provided sandbox domain on your dashboard. The MAILGUN_API_KEY can be found in your Mailgun dashboard, it starts with key-xxxxxx.

How to use it

  • clone the repo
  • run npm i within the cloned repo directory
  • start the process with npm start
You might also like...

Detect webpage updates and notify user to reload. support vite and umijs

English | 简体中文 plugin-web-update-notification Detect webpage updates and notify user to reload. support vite and umijs. Take the git commit hash as th

Dec 26, 2022

Based on Google Chrome recorder, implement UI interface capture and notify the result to the target mailbox

Based on Google Chrome recorder, implement UI interface capture and notify the result to the target mailbox

chrome-recoder-crawler README-CN Modify the .js file exported by Google Chrome recorder. By default, the innerText property of the node operated in th

Oct 18, 2022

A GitHub app to report failed workflow job actions and notify pull request creator with custom report message for the failed workflow job.

A GitHub app to report failed workflow job actions and notify pull request creator with custom report message for the failed workflow job.

Workflow Reporter A GitHub App built with Probot that reports failed workflow job actions and notify the pull request creator with custom report messa

Nov 12, 2022

A mobile web application to check the data on the total covid19 confirmed cases and deaths, check data for all countries with recorded cases.

This is a mobile web application to check the data on the total covid19 confirmed cases and deaths, check data for all countries with recorded cases. It also has a details page to check for the statistics for each region/state if available.

Jul 30, 2022

Notify users of your Next.js app when a new deploy is available.

Notify users of your Next.js app when a new deploy is available.

Next.js Deploy Notifications This library lets your users know when you've deployed a new version of your Next.js application. import { hasNewDeploy }

Jan 2, 2023

A jQuery plug-in to notify you of CSS, Attribute or Property changes in an element

selectWatch.js jQuery plug-in gives an opportunity to monitor changes of DOM element's CSS styles, attributes, properties, input element or select ele

Oct 28, 2022

Twitter like notify bar

jQuery Notify bar Please visit the project page for feedback and other details. Simple plugin (basically it's not a plugin, but widget) to show notify

May 8, 2022

Notify new channel created/renamed on Next-gen Slack platform

notify-new-channel Notify new channel created/renamed on Next-gen Slack platform Install Deploy and create triggers. slack deploy slack trigger create

Oct 10, 2022
Comments
  • Update form selector on sign in page

    Update form selector on sign in page

    The sign in page seems to have been updated and uses a different ID than it had at the time this script was written.

    Country I use with: United Arab Emirates

    opened by aliidrees 1
  • Error 404 for send mail

    Error 404 for send mail

    Hi,

    I'm getting the below error while the app sends out an email. I have used the same parameter and key values using postman and it worked.

    =====>>> Step: sending an email to schedule for 31-01-2024
    [Error: Not Found] { status: 404, details: '404 page not found\n' }

    opened by shubhambodhe 0
  • Authorized Recipients

    Authorized Recipients

    "status: 403, details: 'Domain sandboxe1164ceef2a340a89c348279b0dde46b.mailgun.org is not allowed to send: Sandbox subdomains are for test purposes only. Please add your own domain or add the address to authorized recipients in Account Settings.' "

    I added the authorized recipient e-mail address and got it approved, but it still gave the same error.

    opened by fameka1 1
  • TypeError: text is not iterable

    TypeError: text is not iterable

    PS D:\Idea Projects\github\US-visa-appointment-notifier> npm start npm WARN config global --global, --local are deprecated. Use --location=global instead.

    [email protected] start node index.js

    =====>>> Step: starting process with 250 tries left =====>>> Step: logging in TypeError: text is not iterable
    at Keyboard.type (D:\Idea Projects\github\US-visa-appointment-notifier\node_modules\puppeteer\lib\cjs\puppeteer\common\Input.js:199:28)
    at ElementHandle.type (D:\Idea Projects\github\US-visa-appointment-notifier\node_modules\puppeteer\lib\cjs\puppeteer\common\ElementHandle.js:629:79) at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async login (D:\Idea Projects\github\US-visa-appointment-notifier\index.js:22:3)
    at async process (D:\Idea Projects\github\US-visa-appointment-notifier\index.js:81:19) at async D:\Idea Projects\github\US-visa-appointment-notifier\index.js:99:5 PS D:\Idea Projects\github\US-visa-appointment-notifier>

    opened by patzu 1
Owner
Theophilus Omoregbee
Theophilus Omoregbee
Angular JWT refresh token with Interceptor, handle token expiration in Angular 14 - Refresh token before expiration example

Angular 14 JWT Refresh Token example with Http Interceptor Implementing Angular 14 Refresh Token before Expiration with Http Interceptor and JWT. You

null 8 Nov 30, 2022
It consists of a recreation of Twitter, to put into practice both Front-end and Back-end knowledge by implementing the MERN Stack together with other technologies to add more value to the project.

Twitter-Clone_Back-end ✨ Demo. ?? About the project. ?? Descriptions. It consists of a recreation of Twitter, to put into practice knowledge of both F

Mario Quirós Luna 5 Apr 12, 2022
Check in, check the weather, Check out.

☀️ Just-Weather ??️ Hi, Welcome! Just Weather is a Web App designed for Fast Real-Time Weather queries in combination with well Thought Out Visual Des

Miguel Ángel 6 Aug 7, 2022
Node.js script to notify stake data with Notifi Network

Created by Timur Ruziev (participant of stakewars-iii) You can see my challenge report here: https://github.com/ruziev-dev/near-stakewars-iii Getting

Timur Ruziev 6 Sep 6, 2022
OnePiece /r/place repo to store the template and script for outlining the place to put titles

onepiece-place OnePiece /r/place repo to store the template and script for outlining the place to put titles This script & repo are cloned from Antice

Lopeh 11 Apr 9, 2022
Email Genie Allows autocomplete on email field by providing a list of domain suggestions (gmail.com, outlook.com, etc.).

Allows users to easily and quickly complete an email field by providing a list of domain suggestions (gmail.com, outlook.com, etc.). This package stands out for its flexibility, its compatibility with libraries / frameworks, but especially its use of basic HTML and Javascript functionalities that maximize the native behavior of desktop AND mobile browsers.

Simon Arnold 3 Oct 4, 2022
🌈 Put a date and a crypto, optionally a quantity of that crypto, to see how much has augmented/increased in dollars & percentage

crypif Put a date and a crypto, optionally a quantity of that crypto, to see how much has augmented/increased in dollars & percentage Figma I still ha

Eliaz Bobadilla 8 Apr 4, 2022
This project focuses on increasing the efficiency of a hospital's patient waitlist by creating an algorithm to generate an ordered list of 10 patients with the highest chance of accepting an appointment offer.

Patients-Facility Technical Interview Requirements This application was built on Node.JS v12.14. It has not been tested on other versions. You will al

Rwubakwanayo Olivier 4 Mar 20, 2023
Nepali Multi Date Picker for jQuery. Supports both single date selections and multiple date selection.

Nepali Multi Date Picker A simple yet powerful date picker based in Nepali calendar. Supports both single date selections and multiple date selection.

Sanil Shakya 4 May 23, 2022
a cobbled together alternative UI to launchdarkly, allowing read/write access via LD API access token

discount-launchdarkly a cobbled together alternative UI to launchdarkly, allowing read/write access via LD API access token setup make sure you have a

null 9 Oct 19, 2022