Notify Claude Pro Usage Bot
Discord Bot
Discord Bot
Screenshots
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設定
- Discord Developer PortalでBotを作成
- Bot Tokenを取得し、
.envに設定 - 必要な権限を付与:
Send MessagesUse Slash CommandsEmbed 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ライセンスの下で公開されています。
🤝 コントリビューション
- このリポジトリをフォーク
- 機能ブランチを作成 (
git checkout -b feature/AmazingFeature) - 変更をコミット (
git commit -m 'Add some AmazingFeature') - ブランチにプッシュ (
git push origin feature/AmazingFeature) - プルリクエストを作成
📞 サポート
問題や質問がある場合は、GitHubのIssuesページでお気軽にお問い合わせください。
最終更新: 2025年7月26日 バージョン: 3.0.0 - 3つの環境対応(Windows/WSL/VPS)完全実装