^ مستخدم resy-cli
سعيد يحصل بالضبط على الحجز الذي أراده
إخلاء المسئولية: تستهدف هذه الوثيقة جمهورًا غير تقني. للحصول على نسخة تقنية أكثر من هذا ReadMe ، استشر peruseme.md.
عن
المتطلبات الأساسية
تثبيت
إعداد المصادقة
جدولة الحجز
الحجز على الفور
استكشاف الأخطاء وإصلاحها
التعليمات
resy-cli
هو برنامج لجدولة حجز Resy Reservation للتنفيذ في الوقت المناسب تمامًا في المستقبل.
قد تسأل ، لماذا تفعل هذا؟ هذا في الواقع سؤال رائع ، حيث أن هذا المشروع عديم الفائدة تمامًا في الأسواق المنخفضة الطلب حيث من الأفضل لك حجز الحجز من خلال موقع Resy. ولكن في الأسواق عالية الطلب مثل مدينة نيويورك ، يتم انتزاع فتحات الحجز في كبار المطاعم في غضون ثوان.
بعد الكثير من حالات الخسارة للأشخاص الذين يمكنهم النقر بشكل أسرع مني (أو البرامج الأخرى؟) ، قررت أن يكفي. على الرغم من أن هذا المشروع كان موجودًا في البداية كنص برمجي عقدة بسيط ، إلا أنني أردت أن أصنع شيئًا يمكن توزيعه بسهولة وقابلة للاستخدام من قبل الأصدقاء والعائلة. بعد بضعة عطلات نهاية الأسبوع ، ولد resy-cli
.
resy-cli
هي واجهة سطر الأوامر ، وتتطلب بعض الألفة مع محاكي طرفي.
إذا كنت تستخدم جهاز كمبيوتر Mac ، فهناك الكثير من الموارد عبر الإنترنت لمساعدتك في البدء في محاكي Terminal MacOS الافتراضي (Terminal). يجب أن يمنحك هذا أساسًا جيدًا لإعداد resy-cli
على جهاز الكمبيوتر الخاص بك.
يستخدم resy-cli
مدير حزمة Homebrew للتوزيع على MacOS وأنظمة تشغيل Linux. اتبع تعليمات التثبيت من صفحتهم الرئيسية للتثبيت.
at
الأذونات تحت الغطاء ، يستخدم resy-cli
واجهة سطر أوامر آخر يسمى at
جدولة الحجز للحجز في المستقبل.
على الرغم من أنه من غير الضروري أن يكون لديك فهم at
العمل من أجل استخدام resy-cli
، فمن الضروري اتباع بعض الإعدادات لتفعيل هذا البرنامج على جهازك. الإرشادات التالية مخصصة لـ MacOS ( at
تأتي مثبتة مسبقًا). إذا كنت تستخدم نظام تشغيل مختلف ، فستختلف هذه الخطوات (وقد تضطر إلى التثبيت at
منفصل).
قم بتنفيذ الأمر التالي من المحاكي الطرفي الخاص بك (سيؤدي ذلك إلى حثك على بيانات اعتماد مستخدم جهاز الكمبيوتر الخاص بك):
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.atrun.plist
انتقل إلى System Preferences > Security & Privacy > Privacy
فتح لتحرير الإعدادات
أضف إدخالًا جديدًا إلى "الوصول الكامل للقرص"
اضغط على Cmd+Shift+G
في مربع حوار تحديد الملف لتحديد مسار مخصص
إضافة /usr/libexec/atrun
إلى قائمة الأوامر/التطبيقات مع "الوصول الكامل للقرص"
لتثبيت resy-cli
، قم بتشغيل الأمر التالي من المحاكي الطرفي:
brew install lgrees/lgrees/resy
إذا نجح التثبيت ، فيجب أن ترى رسالة نجاح في المحطة الخاصة بك.
يمكنك التحقق من أن التثبيت كان ناجحًا من خلال تشغيل الأمر التالي:
resy -v
إذا نجح الأمر ، فيجب أن ترى الإخراج مثل ما يلي يشير إلى الإصدار الحالي من resy-cli
:
resy version 0.1.0
لعرض جميع الأوامر المتاحة لك ، قم بتشغيل:
resy
من أجل حجز الحجوزات نيابة عنك ، يحتاج resy-cli
إلى معرفة بيانات اعتماد حسابك. لإضافة هذه ، قم بتشغيل:
resy setup
ستتم مطالبتك بإضافة مفتاح API ورمز مصادقة. اتبع هذه الخطوات للعثور على هذه المعلومات:
افتح متصفح الويب
أدوات المطورين المفتوحة (على Chrome: Chrome > View > Developer > Developer Tools
)
انتقل إلى Resy وتسجيل الدخول
افتح علامة التبويب "الشبكة" مع أدوات المطورين
ابحث عن طلبات إلى المجال: api.resy.com
عرض رؤوس الطلب
في هذه المرحلة ، يجب أن ترى شيئًا يشبه ما يلي:
القيم المفرطة المرتبطة بالمفاتيح المميزة باللون الأحمر هي ما تبحث عنه.
للتحقق من أن هذا الإعداد كان ناجحًا ، قم بتشغيل:
resy ping
إذا فشل هذا الأمر ، فهذا يعني على الأرجح أن بيانات الاعتماد التي قدمتها غير صحيحة. كرر إعداد المصادقة مرة أخرى لإعادة إدخال بيانات الاعتماد الخاصة بك.
بمجرد أن ينجح هذا الأمر ، فأنت مستعد لبدء الحجز!
ملاحظة: سوف تنتهي صلاحية Resy بشكل دوري لبيانات الاعتماد الخاصة بك. إنها ممارسة جيدة لتشغيل resy ping
قبل الحجز للتأكد من أن resy-cli
يمكنه الاتصال بحسابك.
يجري:
resy schedule
الآن اتبع المطالبات لجدولة الحجز الخاص بك.
على الرغم من أن جدولة الحجز هي القصد الرئيسي من resy-cli
، فقد ترغب أحيانًا في الحجز على الفور باستخدام CLI (على سبيل المثال. عند الاختبار). resy book
هو أمر داخلي يستخدمه resy schedule
تحت الغطاء الذي يحجز على الفور حجزًا (مماثلًا للنقر في واجهة المستخدم Resy). يمكن استخدام هذا الأمر بالطريقة التالية:
resy book --partySize=2 --reservationDate=2023-02-11 --reservationTimes=18:15:00 --venueId=123 --reservationTypes=""
يقوم resy-cli
بإخراج ملف سجل لكل محاولة للحجز (بما في ذلك الجفاف). لعرض السجلات ، قم بتشغيل:
resy log view
سيساعد عرض ملفات السجل على استنتاج الخطأ الذي حدث إذا فشل resy-cli
في حجز الحجز المطلوب. في أغلب الأحيان ، يرجع ذلك إلى عدم استيقاظ جهاز الكمبيوتر الخاص بك في وقت الحجز ، أو لا يطلق المطعم أي فتحات تتطابق مع معاييرك.
لإزالة جميع ملفات السجل ، قم بتشغيل:
resy log clear
س: كيف يتم تخزين بيانات اعتماد Resy الخاصة بي؟
ج: تتم كتابة بيانات الاعتماد على القرص على جهازك المحلي ولا يتم مشاركتها أبدًا (خارج تقديم طلبات إلى Resy).
س: ماذا عن مناطق الوقت؟
ج: يعامل resy-cli
وقت الحجز الذي تدخله كأوقات النظام.
على سبيل المثال ، إذا كنت ترغب في الحجز في الساعة 5:00 مساءً وتم تعيين جهاز الكمبيوتر الخاص بك لاستخدام المنطقة الزمنية الشرقية ، فسوف ينتهي بك الأمر إلى الحجز في الساعة 5:00 مساءً بالشرق.
يتم ترجمة أوقات الحجز إلى موقع المطعم.
س: ماذا لو تم إيقاف تشغيل جهاز الكمبيوتر الخاص بي / نائم في الوقت الذي أرغب فيه في حجز حجز؟
ج: حجوزات resy-cli
Books باستخدام جهازك المحلي. إذا تم إيقاف تشغيل الجهاز / نائم ، فلن يكتمل الحجز.
للتحايل على هذا ، يمكنك جدولة جهاز الكمبيوتر الخاص بك للاستيقاظ من النوم في وقت الحجز. على Mac ، لقد استخدمت pmset
CLI لإنجاز هذا بنجاح.
س: هل خدمات الحجز على ما يرام مع هذا؟
ج: الأمر متروك للمستخدمين لمتابعة (شروط الخدمة) المنصوص عليها في Resy. resy-cli
هي مجرد أداة لأتمتة تفاعلاتك مع Resy (بدون تجريف ويب أو أي شيء من هذا القبيل).
س: ماذا يحدث عندما يستخدم الجميع برامج مثل هذا؟ ألا يتوقف هذا عن فعال؟
ج: نعم.
س: أعتقد أنني وجدت خطأ ، كيف يمكنني الإبلاغ عنها؟
ج: إذا كان لديك حساب github ، فلا تتردد في تقديم مشكلة. إذا لم يكن الأمر كذلك ، فلا تتردد في إرسال رسالة نصية إلي.
س: هذا البرنامج غير حياتي حرفيًا ، كيف يمكنني أن أشكر المؤلف؟
ج: فكر في إخراجه لتناول العشاء؟