GithubHelp home page GithubHelp logo

alechemy / dine-at-disney Goto Github PK

View Code? Open in Web Editor NEW
10.0 3.0 3.0 586 KB

A CLI tool for checking dining reservation availability at Disneyland / California Adventure.

License: MIT License

JavaScript 5.31% TypeScript 94.37% EJS 0.31%

dine-at-disney's Introduction

dine-at-disney 🍽 πŸŽ†

A CLI tool for checking dining reservation availability at Disneyland / California Adventure.

Features

  • See a list of all restaurants that offer reservations.
  • Search for availability across all restaurants, or narrow your query to specific places.
  • Continually monitor a restaurant for availability, and receive email/push notifications when an opening is found.

Installation

npm install -g dine-at-disney

Please note: as of writing, this package utilizes Node v18's global fetch API, and as such, Node v18 is required.

Usage

List restaurants and their IDs

dine-at-disney list

Sample output:

Listing places...
| Name                                                   | ID       |
| ------------------------------------------------------ | -------- |
| Blue Bayou Restaurant                                  | 354099   |
| Cafe Orleans                                           | 354117   |
| Carnation Cafe                                         | 354129   |
| Carthay Circle Lounge - Alfresco Dining                | 16588263 |
| Carthay Circle Restaurant                              | 16515009 |
| Catal Restaurant                                       | 354132   |
| Disney Princess Breakfast Adventures                   | 19140685 |
...

Search for openings at any restaurant

dine-at-disney search --date yyyy-mm-dd --party 2

Sample output:

Checking for tables for 2 people on 2023-09-20...
Found some offers on 2023-09-20:
| Name                               | ID       | Available Times           |
| ---------------------------------- | -------- | ------------------------- |
| Catal Restaurant                   | 354132   | 5:00 PM                   |
| GCH Craftsman Bar                  | 19343532 | 6:45 PM, 8:00 PM          |
| Goofy's Kitchen                    | 354261   | 7:35 PM                   |
| La Brea Bakery Cafe                | 354327   | 2:30 PM                   |
| River Belle Terrace                | 354450   | 5:30 PM, 7:05 PM, 2:30 PM |
| Splitsville Luxury Lanesβ„’ – Dining | 18735825 | 7:00 PM, 2:30 PM          |
| Storytellers Cafe                  | 354474   | 6:50 PM, 7:20 PM, 7:40 PM |
| Tortilla Jo's                      | 354528   | 6:30 PM, 7:00 PM, 2:00 PM |

Search for openings at a specific restaurant

This will also use notification settings below if configured

dine-at-disney search --date 2023-12-14 --party 2 --ids 19013078

Sample output:

Checking for tables for 2 people on 2023-12-14 for Lamplight Lounge...
No offers found for Lamplight Lounge. Checking again in 60s. 1 total attempts.

Search for multiple specific openings

This will also use notification settings below if configured

dine-at-disney search --date 2023-12-14 --party 2 --ids "354261,354450"

Sample output:

Checking for tables for 2 people on 2023-12-15 for Goofy's Kitchen, River Belle Terrace...
Found offers at 20:20 for Goofy's Kitchen. Checking again in 60s. 1 total attempts.
No offers found for River Belle Terrace. Checking again in 60s. 1 total attempts.

Notifications

Mail alerts

See .env.example for info on the required fields for email alerting.

Copy those values into your own .env file.

Pushover alerts

For more information see: https://pushover.net/

This service is a one time $5 fee forever. You can purchase a Pushover API token here: https://pushover.net/pricing. Once setup you will get instant push notifications to your device when a table opens.

Additionally you can click the reserve link in the push notification to reserve the table.

Push notification example

See .env.example for info on the required fields for email alerting.

Copy those values into your own .env file.

dine-at-disney's People

Contributors

alechemy avatar tm1000 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

dine-at-disney's Issues

Timeout on search

I'm trying to use inside of a node:18 docker image and cannot get a search to work.

dine-at-disney search --date 2024-03-28 --party 2
Checking for tables for 2 people on 2024-03-28...
/usr/local/lib/node_modules/dine-at-disney/node_modules/gluegun/build/index.js:15
    throw up;
    ^

TypeError: fetch failed
    at Object.fetch (node:internal/deps/undici/undici:11730:11)
    at async Promise.all (index 1) {
  cause: Error: read ETIMEDOUT
      at TLSWrap.onStreamRead (node:internal/stream_base_commons:217:20) {
    errno: -110,
    code: 'ETIMEDOUT',
    syscall: 'read'
  }
}

Node.js v18.19.0

The list command does work.

Disneyworld?

Thank you for this great script. I was wondering if there is a way to make it work with disneyworld?

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.