^ Un usuario de feliz resy-cli
que obtiene exactamente la reserva que quería
Descargo de responsabilidad: este documento se dirige a una audiencia no técnica. Para una versión más técnica de este ReadMe, consulte Peruseme.md.
Acerca de
Requisitos previos
Instalación
Configuración de autenticación
Programando una reserva
Reserva inmediatamente
Solución de problemas
Preguntas frecuentes
resy-cli
es un programa para programar una reserva de reserva de resy para ejecutar exactamente en el momento adecuado en el futuro.
Tal vez se pregunte, ¿por qué harías esto? De hecho, esta es una gran pregunta, ya que este proyecto es completamente inútil en los mercados de baja demanda, donde es mejor reservar su reserva a través del sitio web de Resy. Sin embargo, en mercados de alta demanda como Nueva York, las máquinas tragamonedas de reserva en los mejores restaurantes se arrebatan en cuestión de segundos.
Después de demasiados casos de perder ante personas que podían hacer clic más rápido que yo (¿u otros programas?), Decidí que suficiente era suficiente. Si bien este proyecto inicialmente existía como un simple script de nodo, quería hacer algo que fuera fácilmente distribuible y utilizable por amigos y familiares. Unos fines de semana después, nació resy-cli
.
resy-cli
es una interfaz de línea de comandos, y como resultado, requiere cierta familiaridad con un emulador terminal.
Si está utilizando una computadora Mac, hay muchos recursos en línea para ayudarlo a comenzar con el emulador de terminal predeterminado de MacOS (terminal). Esto debería darle una buena base para configurar resy-cli
en su computadora.
resy-cli
utiliza el Administrador de paquetes HomeBrew para su distribución en sistemas operativos MacOS y Linux. Siga las instrucciones de instalación desde su página de inicio para instalar.
at
permisos Bajo el capó, resy-cli
utiliza otra interfaz de línea de comandos llamado at
programar reservas para reservar en el futuro.
Si bien es innecesario tener una comprensión de cómo funciona at
para usar resy-cli
, es necesario seguir alguna configuración para activar este programa en su máquina. Las siguientes instrucciones son para macOS ( at
viene preinstalado). Si está utilizando un sistema operativo diferente, estos pasos variarán (y es posible que tenga que instalarse at
separado).
Ejecute el siguiente comando desde su emulador de terminal (esto le solicitará las credenciales de usuario de su computadora):
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.atrun.plist
Navegue a System Preferences > Security & Privacy > Privacy
Desbloquear para editar configuraciones
Agregue una nueva entrada a "Acceso completo al disco"
Presione Cmd+Shift+G
en el cuadro de diálogo Selección de archivos para seleccionar una ruta personalizada
Agregar /usr/libexec/atrun
a la lista de comandos/aplicaciones con "acceso completo a disco"
Para instalar resy-cli
, ejecute el siguiente comando desde su emulador de terminal:
brew install lgrees/lgrees/resy
Si la instalación tuvo éxito, debería ver un mensaje de éxito en su terminal.
Puede verificar que la instalación tuvo éxito ejecutando el siguiente comando:
resy -v
Si el comando tiene éxito, debe ver la salida como la siguiente que indica la versión actual de resy-cli
:
resy version 0.1.0
Para ver todos los comandos que están disponibles para usted, ejecute:
resy
Para reservar reservas en su nombre, resy-cli
necesita saber sobre las credenciales de su cuenta Resy. Para agregarlos, ejecute:
resy setup
Se le pedirá que agregue una clave API y un token de autenticación. Siga estos pasos para encontrar esta información:
Abra un navegador web
Herramientas de desarrollador abiertos (en Chrome: Chrome > View > Developer > Developer Tools
)
Navegue para resyes e inicie sesión
Abra la pestaña "Red" con herramientas de desarrollador
Busque solicitudes al dominio: api.resy.com
Ver los encabezados de solicitud
En este punto, deberías ver algo que se vea como lo siguiente:
Los valores ofuscados asociados con las claves resaltadas en rojo son lo que está buscando.
Para verificar que esta configuración fue exitosa, ejecute:
resy ping
Si este comando falla, probablemente significa que las credenciales que proporcionó son incorrectas. Repita la configuración de autenticación nuevamente para volver a ingresar sus credenciales.
Una vez que este comando tiene éxito, ¡está listo para comenzar a reservar!
Nota: Resy expirará periódicamente sus credenciales. Es una buena práctica ejecutar resy ping
antes de reservar para garantizar que resy-cli
pueda conectarse a su cuenta.
Correr:
resy schedule
Ahora siga las indicaciones para programar su reserva.
Si bien programar una reserva es la intención principal de resy-cli
, a veces es posible que desee reservar inmediatamente usando la CLI (por ejemplo, cuando se prueba). resy book
es un comando interno que resy schedule
utiliza debajo del capó que reserva inmediatamente una reserva (análoga a hacer clic en la interfaz de usuario resy). Este comando se puede usar de la siguiente manera:
resy book --partySize=2 --reservationDate=2023-02-11 --reservationTimes=18:15:00 --venueId=123 --reservationTypes=""
resy-cli
emite un archivo de registro para cada intento de reserva (incluidas las ejecuciones secas). Para ver registros, ejecute:
resy log view
Ver archivos de registro ayudará a deducir qué salió mal si resy-cli
no puede reservar su reserva deseada. La mayoría de las veces, esto se debe a que su computadora no está despierta en el momento de la reserva, o el restaurante no libera ningún espacio que coincida con sus criterios.
Para eliminar todos los archivos de registro, ejecute:
resy log clear
P: ¿Cómo se almacenan mis credenciales de resy?
R: Las credenciales se escriben en el disco en su máquina local y nunca se comparten (fuera de las solicitudes de reyes).
P: ¿Qué pasa con las zonas horarias?
R: resy-cli
trata el tiempo de reserva que ingresa como tiempos del sistema.
Como ejemplo, si desea reservar a las 5:00 p.m. y su computadora está configurada para usar la zona horaria del este, terminará intentando reservar a las 5:00 p.m.
Los tiempos de reserva se localizan en la ubicación del restaurante.
P: ¿Qué pasa si mi computadora está apagada / dormida en el momento en que quiero reservar una reserva?
R: resy-cli
Books Reservations usando su máquina local. Si la máquina está apagada / dormida, la reserva no se completará.
Para eludir esto, puede programar su computadora para despertarse del sueño al momento de la reserva. En Mac, he usado la CLI pmset
para lograr esto con éxito.
P: ¿Están bien los servicios de reserva con esto?
R: Depende de los usuarios seguir los (términos de servicio) establecidos por Resy. resy-cli
es solo una herramienta para automatizar sus interacciones con Resy (sin raspado web ni nada por el estilo).
P: ¿Qué sucede cuando todos usan programas como este? ¿Esto no dejará de ser efectivo?
A: Sí.
P: Creo que encontré un error, ¿cómo puedo informarlo?
R: Si tiene una cuenta de GitHub, no dude en enviar un problema. Si no, siéntete libre de enviarme un mensaje de texto.
P: Este programa literalmente cambió mi vida, ¿cómo puedo agradecer al autor?
A: ¿Considera llevarlo a cenar?