MENU

ChatGPTのリセットチケットを期限10分前に自動で使うようにした

ChatGPTのリセットチケットを期限10分前に自動で使う仕組み。AI / Codex。

ChatGPTアカウントに、Codexの利用制限をリセットできるチケットが残っていました。
使えば対象の利用枠を戻せるんですが、有効期限つきなんですよね🐧

いちばん避けたいのは、使い忘れたまま期限が切れること。
しかも今回の1枚は、期限が午前4時台。
そのために起きているのも避けたいので、未使用のチケットを確認して、期限の10分前から自動で使う仕組みを作りました。

2026年10月30日03:53:50、最初の1枚の使用に成功。
翌秒には利用状況を取り直し、残り1枚になったことも確認できています。

目次

リセットチケットって何?

ぼくが「リセットチケット」と呼んでいるのは、ChatGPTアカウントにあるCodexの利用制限リセット用の特典です。
今回扱った券の種類は、公式のデータ上では codexRateLimits でした。

手元のアカウントに付与済みの券を使います。
追加クレジットを購入する処理は入れていません。
券があるかどうかは、Codexの利用状況や /usage のメニューから確認できます。

期限の10分前から使うことにした

チケットの期限を取得して、「期限 − 600秒」を実行開始時刻にしています。
たとえば期限が04:03なら、03:53から使用を試す、という流れ。

期限ぎりぎりの1秒前だと、通信が一度失敗しただけで間に合わなくなりそう。
10分あれば、使用前の確認や一時的なエラーへの再試行に時間を残せます。
10分という数字は、ぼくが今回の運用で決めたものです。

使える券を期限近くまで残しておき、最後に失効を防ぐための自動化です。
期限より前に必要になったら、手動で使ってもOK。
監視側で使用済みだと確認できた券は、処理対象から外します。

監視は普通のプログラムで動かす

常時起動しているUbuntuにPythonの監視処理を置き、systemdで動かしています。
モデルに「そろそろ使って」と毎回判断させる構成にはしていません。

券の確認と使用には、Codexの公式App Serverが用意しているアカウント操作を使います。
監視処理では生成AIを呼び出さないので、そのためのモデル推論や従量課金のAPI呼び出しは不要です。

処理の流れはこんな感じです。

  1. 対象アカウントの未使用チケットと有効期限を取得する。
  2. 期限10分前までは待つ。
  3. アカウント・券の種類・未使用状態・時刻をもう一度確認する。
  4. 対象の1枚を指定して使用する。
  5. 結果を保存してから、利用状況を取り直す。

待っている券がある間は最大5分おきに確認し、期限10分前の時刻にも起きるようにしています。
直前の再確認は30秒間隔。
期限が取得できない券や、別の種類の特典を推測で使うことはありません。

実装で参照したのは、公式の Codex App Serverのアカウント操作 です。

通信が途切れても、同じ処理を重ねない

自動化で気になったのは、「使用できたけど、返事だけ受け取れなかった」場合です。
失敗だと思って別の券まで使うのは困る。

そこで、使う券のIDと、その処理専用のキーを先にファイルへ保存します。
同じ処理をやり直すときは、同じキーを使うようにしました。
公式の仕組みでいう idempotencyKey です。

成功の返事を受け取ったら、まず使用済みとして記録。
その後の利用状況の読み取りだけが失敗しても、券の使用からやり直さないようにしています。

同時に監視が2本動かないようにすることと、PCの時計が同期できていなければ使用しないことも入れました。
時刻で使う仕組みなので、時計がずれていると前提が崩れます。

APIで使えなかったときはブラウザも試す

通常の経路が失敗した場合に備えて、ログイン済みのOrcaブラウザから使用する予備の経路も用意しました。

こちらは画面にある券のIDと期限を照合してから操作します。
選択前と確定直前の状態を保存して、表示が確認できたときだけ確定。
最後は同じ券の使用履歴と照合する作りです。

ブラウザを動かすPC、Orca、ChatGPTへのログインが必要です。
今回の1枚は通常のAPI経路で使用できたので、ブラウザ経由での実使用はまだ確認していません。
確認済みなのは、確定前までの操作と、過去の使用履歴を読み取れるところまでです。

次に増えたチケットも確認する

今回の券を使い終えたら終了、だと次に付与されたときにまた忘れそう。
そこで、券がない間も1時間ごとの確認を続け、新しい券が見つかったら期限を登録するようにしています。

加えて、毎月1日の09:00に残数・期限・監視設定を点検します。
月次点検は設定を確認する処理で、券を使うのは期限10分前の監視側です。

実際に確認できた結果

  • 2026年10月30日03:53:50:最初の1枚を自動使用。
    サービスから成功の応答を取得。
  • 03:53:51:利用状況を再取得し、使用後の確認まで完了。
  • 記事作成時点:残り1枚は待機中。
    使用予定は11月7日08:23(日本時間)。

ここで確認したのは、券の消費成功と、その後の状態の読み取りです。
何回分の作業が増えたか、何時間使えるようになったかは測定していません。

PC停止や通信・認証エラーによって期限に間に合わない可能性は残ります。
失敗を使用済みとして扱わず、記録から追えるようにしておきました。

使い忘れによる期限切れを防ぎたいし、そのために深夜まで起きていたくない。
その両方に対応する仕組みをひとつ作れたのが、今回の収穫です🐧

参考

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次