4つの役割
Macの実測通知
低残量、0%、通常・早期リセット、リセット券の付与と期限を観測値から検知します。
iPhoneの予定通知
最後に同期したresetAtに基づく一回限りの予定です。実測完了ではありません。
Discord
Webhookの受付・保存確認と、利用者の端末表示・閲覧は別です。
Widget
状態を表示しますが、iPhoneの予定通知を書き換える主体ではありません。
Discord通知を設定する
Discordの通知先チャンネルにWebhookを作り、Mac版へ保存します。Botの追加やiPhone側での設定は不要です。
- DiscordでWebhookを作成通知先サーバーの「サーバー設定」から「連携サービス」→「ウェブフック」を開き、新しいWebhookを作成します。投稿先チャンネルを選び、「Webhook URLをコピー」を実行します。作成にはサーバーの管理権限が必要です。
- Mac版へ安全に保存AI使用状況の「設定」→「Discord」で、コピーしたWebhook URLを貼り付けて「保存」を押します。URLはMacのKeychainへ保存され、iPhone、Widget、iCloud同期データには含まれません。
- 通知対象を選択「Discord通知」をONにし、CodexとClaudeごとに残量低下、実測リセット、取得状態など必要な項目を選びます。Codexではリセット券の付与と期限通知も設定できます。
- プレビュー後にテスト送信「テスト送信の確認」を押し、合成データの本文と送信先を確認してから実送信します。テスト送信では
@everyoneを含むすべてのメンションが無効です。本文末尾には起動中のVersion・Buildが表示されます。
通知される条件
| 対象 | 検知条件 | 通知の扱い |
|---|---|---|
| 残量20%未満 | 信頼できる取得値が20%未満へ低下 | macOSの早めの警告です。Discordはまだ送信しません。 |
| 残量10%以下 | 信頼できる取得値が10%以下へ低下 | 対象設定がONならmacOSとDiscordへ通知します。 |
| 0%到達 | 信頼できる取得値が実際に0% | 10%以下の警告とは別のイベントとして一度通知します。 |
| 通常・早期リセット | 残量が実測で回復。予定前なら早期回復として分類 | 予定時刻だけで「リセット済み」とは通知しません。 |
| リセット券 | Codexの券付与、残り回数、設定日数以内へ近づいた期限 | 残数と確認できた期限を通知します。未知の明細を使用済みとは断定しません。 |
| 取得状態 | 設定したサービスで取得・認証の問題を検知 | 短い復旧案内を表示し、秘密情報や生の応答は載せません。 |
同じ残量警告は毎回送らず、値が25%以上へ回復すると次回の警告に備えて再び有効になります。未知の利用枠、取得失敗、丸め表示は0%やリセットへ変換しません。
Discordの送信状態
| 通知OFF・対象外 | 検知対象ではないか、サービス・通知種別・Discord通知のいずれかがOFFです。 |
|---|---|
| 送信待ち | 検知済みで、通信回復または再試行時刻を待っています。待機中は同じ通知を毎分作り直しません。 |
| Discord保存を確認 | wait=trueで返されたメッセージ情報から、Discord側に保存されたことを最小確認しました。端末表示、プッシュ通知、閲覧までは保証しません。 |
| 結果不明 | 送信後タイムアウトや不完全な応答で、保存の有無を確定できません。再送すると重複する可能性があります。 |
| 取消 | 再送前の最新状態で回復済み、設定OFF、期限経過などを確認し、不要になった送信を取り消しました。 |
HTTP 429ではDiscordのRetry-Afterまたはretry_afterを尊重し、その時刻より前には再送しません。401・403・404では自動再送を止め、Webhookの確認と再保存を案内します。
送信待ちは最大128件、原則3日まで保持します。再送直前にも現在の残量、期間、設定、リセット券を確認し、古くなった通知は送らない設計です。通常の通知本文にも起動中のVersion・Buildを付記します。
@everyoneの安全設定
新しく設定した環境では「全員通知」は初期状態でOFFです。ONにすると、本文先頭の@everyoneとDiscordのallowed_mentionsを両方明示します。OFF時は全員、ユーザー、ロールへの意図しないメンションを無効化します。
以前の設定から全員通知ONを引き継いだ場合は、設定画面にその旨を表示します。不要なら「全員通知(@everyone)」をOFFにしてください。全員通知がONでも、Discord側の権限や各利用者の通知設定によりプッシュ通知されない場合があります。
iPhoneの予定通知
予定通知は、最後に同期した未来のリセット日時を知らせます。予定時刻に達しても「リセットされました」とは断定しません。アプリ本体が新しいSnapshotを採用したときに予定を見直し、Widgetだけの更新では予約を変更しません。
通知が届かない場合の4手順
検知、OSへの登録、Discordでの保存、端末表示、閲覧はそれぞれ別の状態です。
-
通知したい種類をONにする
Macの初回設定または設定で、macOS通知、Discord通知、リセット券の期限通知を選びます。
確認:対象サービスと通知種別の両方がON
必要な通知だけを選択 -
iPhoneの予定通知を選ぶ
CodexとClaudeの5時間枠・週間枠を個別に選び、通知する時刻を設定します。予定時刻が未取得の枠には通知を作りません。
注意:予定通知は「リセットされました」とは断定しない
サービス・期間ごとに予定通知を選択 -
Discordテストの本文を送信前に確認
テストは合成データを使い、全員・ユーザー・ロールへのメンションを無効にします。プレビューと実送信は別操作です。
確認:本文と宛先を見てから「この内容を送信」
メンションなしの合成本文を事前確認 -
MacとiPhoneの履歴を分けて確認
Discordの送信待ち、保存確認、結果不明、取消はMac版の通知履歴で確認します。iPhoneの「通知履歴」は予定通知の履歴で、Discordの送信証跡ではありません。
注意:「結果不明」の再送は重複する可能性がある
iPhoneでは予定通知の履歴を確認