Notify Claude Pro Usage Bot

Discord Bot

Discord Bot

Screenshots

Notify Claude Pro Usage Bot - 1

About

Claude Usage Discord Bot

Claude AIの使用量を追跡し、Discord上で統計情報を表示するDiscord Botです。ローカル環境だけでなく、VPS環境(/root/.claude/projects)での使用量も完全対応し、複数環境(Windows/Linux/VPS)でのリアルタイム使用量監視とAPIリミット管理機能を提供します。

🚀 機能

📊 使用量統計

  • 日別・月別統計: 詳細な使用量レポート
  • 環境別統計: Windows/Linux/VPS環境を個別に管理
  • 5時間ブロック表示: APIリミット単位での使用量可視化
  • リアルタイム監視: 継続的な使用量追跡
  • 統合ダッシュボード: 複数環境の使用量を一元管理

🔔 通知機能

  • 使用量アラート: 閾値を超えた際の自動通知
  • APIリミット警告: 5時間ブロックの使用率監視
  • リミットリセット通知: APIリミット解除時の自動通知
  • 日次レポート: 毎日の使用量サマリー

🛠️ 完全多環境対応

  • Windows環境 🪟: ローカルファイル直接アクセス(C:\Users\..\.claude\projects
  • WSL/Linux環境 🐧: WSL経由のファイルアクセス(/mnt/c/..., wsl.localhostパス)
  • VPS環境 🖥️: /root/.claude/projects 完全対応、Ubuntu Server最適化
  • 自動環境検出: ファイルパスから環境を自動判別
  • 統合表示: 全環境の使用量を統合表示、環境別内訳付き
  • 並列処理: 3つの環境を同時に分析

⚡ パフォーマンス最適化

  • 非同期処理: スラッシュコマンドの高速応答
  • 並列ファイル処理: 大量データの効率的処理
  • キャッシュ機能: 処理結果の最適化
  • メモリ効率: 大容量JSON対応

📋 必要条件

  • Go 1.19以上
  • Discord Bot Token
  • Claude AIの使用履歴データ

🔧 セットアップ

1. リポジトリのクローン

git clone <repository-url>
cd claude-usage-bot

2. 依存関係のインストール

go mod download

3. 環境変数の設定

.envファイルを作成し、以下の内容を設定:

# Discord Bot設定
DISCORD_TOKEN=your_discord_bot_token
CHANNEL_ID=your_discord_channel_id
GUILD_ID=your_discord_guild_id

# データパス設定(複数パスをコロン区切りで指定可能)
# VPS環境の例: /root/.claude/projects を含む
LOCAL_CACHE_PATH=/mnt/c/Users/User/.claude/projects:/home/user/.claude/projects:/root/.claude/projects

# 通知設定
NOTIFICATION_THRESHOLD=1000000

# 実行モード
RUN_MODE=local  # または production

# Windows環境(production mode用)
WINDOWS_HOST=your_windows_host
WINDOWS_USER=your_windows_user
WINDOWS_CLAUDE_PATH=C:\Users\YourUser\.claude\projects

VPS環境での設定例

# VPS専用設定
LOCAL_CACHE_PATH=/root/.claude/projects
RUN_MODE=local

# 複数VPSまたはハイブリッド環境
LOCAL_CACHE_PATH=/root/.claude/projects:/home/ubuntu/.claude/projects:/mnt/data/claude/projects

4. Discord Bot設定

  1. Discord Developer PortalでBotを作成
  2. Bot Tokenを取得し、.envに設定
  3. 必要な権限を付与:
    • Send Messages
    • Use Slash Commands
    • Embed Links

5. ビルドと実行

Windows

.\setup-windows.ps1

Linux/VPS

chmod +x setup-vps.sh
./setup-vps.sh

手動ビルド

go build -o claude-usage-bot
./claude-usage-bot

VPS環境での自動起動設定(systemd)

# サービスファイルを配置
sudo cp claude-usage-bot.service /etc/systemd/system/

# サービスを有効化して自動起動
sudo systemctl enable claude-usage-bot
sudo systemctl start claude-usage-bot

# ステータス確認
sudo systemctl status claude-usage-bot

# ログ確認
sudo journalctl -u claude-usage-bot -f

📱 使用方法

スラッシュコマンド

/usage daily [environment]

日別使用量を表示

  • environment:
    • 🪟 windows - Windows環境のみ
    • 🐧 wsl - WSL/Linux環境のみ
    • 🖥️ vps - VPS環境のみ
    • 🌐 combined - 全環境の合算(デフォルト)

/usage monthly [environment]

月別使用量を表示(環境オプション同上)

/usage session [environment]

セッション別使用量を表示(環境オプション同上)

/usage blocks [environment]

5時間ブロック別使用量を表示(APIリミット追跡、環境オプション同上)

/quota [analysis]

リアルタイム利用可能量と詳細分析を表示

  • analysis:
    • current - 現在の5時間ブロック
    • prediction - 予測分析
    • detailed - 詳細分析

/sync

データ同期を実行(手動)

/help

使用可能なコマンド一覧を表示

表示例

📊 Daily Usage Report (Combined)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

💬 Messages: 1,234
🔢 Total Tokens: 567,890
💰 Total Cost: $12.34

📈 Token Breakdown:
├─ Input: 345,678 (61%)
├─ Output: 123,456 (22%)
└─ Cache: 98,756 (17%)

🤖 Model Usage:
├─ claude-3-5-sonnet-20241022: 890 msgs
└─ claude-3-opus-20240229: 344 msgs

🌍 Environment Distribution:
├─ 🪟 Windows: 678 msgs ($7.89)
├─ 🐧 WSL/Linux: 345 msgs ($3.21)
└─ 🖥️ VPS: 211 msgs ($1.24)

⏰ Generated: 2024-07-24 12:00:00 JST

🎯 5時間APIリミット監視

機能概要

  • Claude AIの5時間あたり$100のAPIリミットを追跡
  • 使用率に応じた色分け表示(🟢🟡🔴)
  • 残り時間とリセット予定時刻の表示
  • 自動警告とリセット通知

表示例

🔴 Block #3 [ACTIVE] (90.5% used)
├─ Duration: 14:00-19:00 JST
├─ Usage: $90.50 / $100.00
├─ Remaining: $9.50
├─ Messages: 456
└─ Reset in: 45 minutes

📁 ファイル構造

claude-usage-bot/
├── main.go              # メインアプリケーション
├── quota_handler.go     # クォータ管理機能
├── go.mod               # Go依存関係
├── go.sum               # 依存関係ハッシュ
├── .env                 # 環境変数(要作成)
├── .gitignore           # Git除外設定
├── README.md            # このファイル
├── setup-windows.ps1    # Windows セットアップ
├── setup-vps.sh         # Linux/VPS セットアップ
├── claude-usage-bot.service # systemdサービス設定
└── cache/               # キャッシュディレクトリ
    └── jsonl            # 処理済みデータ

🔍 トラブルシューティング

よくある問題

1. データが見つからない

LOCAL_CACHE_PATH not set, attempting to auto-detect...
Warning: Path does not exist or is not accessible

解決方法: .envファイルでLOCAL_CACHE_PATHを正しく設定

2. Discord接続エラー

HTTP 401 Unauthorized

解決方法: DISCORD_TOKENが正しく設定されているか確認

3. WSLファイルアクセスエラー

Error reading Linux file: exit status 1

解決方法: WSLが正しくインストールされ、ファイルパスが正確か確認

4. メモリ不足エラー

bufio.Scanner: token too long

解決方法: 大容量JSON対応済み(自動解決)

ログレベル設定

デバッグ情報を有効にする場合:

export LOG_LEVEL=debug
./claude-usage-bot

📊 パフォーマンス情報

処理能力

  • ファイル処理: 1,000+ファイル/分
  • メモリ使用量: ~50MB(標準)
  • 応答時間: <3秒(スラッシュコマンド)
  • 同時処理: 並列ワーカー対応

対応環境

  • Windows: Windows 10/11
  • Linux: Ubuntu 20.04+, WSL2
  • VPS: Ubuntu Server, CentOS
  • アーキテクチャ: amd64, arm64

🔄 自動化機能

Cronジョブ(自動実行)

# 15分ごと: データ同期
*/15 * * * * syncWindowsData

# 6時間ごと: 使用量チェック
0 */6 * * * checkUsageThreshold

# 毎日9時: 日次レポート
0 9 * * * generateDailyReport

# 30分ごと: APIリミットリセット監視
*/30 * * * * checkAPILimitReset

# 10分ごと: APIリミット警告
*/10 * * * * checkAPILimitWarning

🛡️ セキュリティ

推奨設定

  • Botトークンの安全な管理
  • .envファイルの.gitignore追加
  • ファイルパーミッションの適切な設定
  • VPS環境でのファイアウォール設定

📈 今後の機能拡張

  • [ ] Web ダッシュボード
  • [ ] より詳細な統計分析
  • [ ] カスタムアラート設定
  • [ ] 複数Botアカウント対応
  • [ ] データエクスポート機能

📝 ライセンス

このプロジェクトはMITライセンスの下で公開されています。

🤝 コントリビューション

  1. このリポジトリをフォーク
  2. 機能ブランチを作成 (git checkout -b feature/AmazingFeature)
  3. 変更をコミット (git commit -m 'Add some AmazingFeature')
  4. ブランチにプッシュ (git push origin feature/AmazingFeature)
  5. プルリクエストを作成

📞 サポート

問題や質問がある場合は、GitHubのIssuesページでお気軽にお問い合わせください。


最終更新: 2025年7月26日 バージョン: 3.0.0 - 3つの環境対応(Windows/WSL/VPS)完全実装