catchtable-sniper は何をしますか?
Catchtableの予約空き枠を監視し、ログイン済みのChromeセッションを使用して予約を試みます。
概要
このツールは、Catchtable(キャッチテーブル)上で特定のレストランの予約空き枠を自動監視します。 空き枠が見つかると、ログイン済みのChromeブラウザセッションを利用して予約を自動実行します。
必要条件
- Node.js (v16以上)
- ログイン済みのChromeブラウザ(リモートデバッグポートで起動)
セットアップ
- リポジトリをクローンします:
git clone https://github.com/nomadamas/catchtable-sniper.git
cd catchtable-sniper
- 依存関係をインストールします:
npm install
- 環境変数または設定ファイルで設定を行います(
.env.exampleを参照)。
Chromeをデバッグモードで起動
Chromeをリモートデバッグポートで起動し、事前にCatchtableにログインしておく必要があります。
macOS:
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222
Windows:
"C:\Program Files\Google\Chrome\Application\chrome.exe" --remote-debugging-port=9222
使用方法
以下のコマンドでスナイパーを起動します:
npm start
または:
node index.js
スナイパーは指定された間隔でCatchtableの予約ページをポーリングし、空き枠をチェックします。 空き枠が見つかると、ログイン済みのChromeセッションを使用して予約を試みます。
設定
主要な設定項目:
TARGET_URL: 監視するCatchtableの予約ページURLCHECK_INTERVAL: チェック間隔(ミリ秒)CHROME_DEBUG_PORT: Chromeのリモートデバッグポート(デフォルト: 9222)DESIRED_DATE: 希望日DESIRED_TIME: 希望時間PARTY_SIZE: 人数
注意事項
- このツールは教育目的および個人利用を想定しています。
- 過剰なリクエストは対象サーバーに負荷をかける可能性があるため、適切な間隔で設定してください。
- Catchtableの利用規約に違反しない範囲で使用してください。
- 予約の確約はできません。予約が完了したかどうかは手動で確認することを推奨します。
ライセンス
MIT