LINE Bot のエラーを自動分析・診断する Python ライブラリです。
エラーの原因を特定して、具体的な解決策を提案する「エラー分析器」があなたの LINE Bot 開発をサポートします。
🚀 このライブラリは共同開発者・コントリビューターを募集中です!ご興味のある方は Discord までご連絡ください。
- Python: 3.9 以上(3.9, 3.10, 3.11, 3.12 でテスト済み)
- LINE Bot SDK: v2/v3 系に対応(オプション)
- 依存関係: 標準ライブラリのみ(
typing_extensions
のみ追加)
- 自動分析: LINE API のエラーを自動で分類・診断
- 詳細対処法: 各エラーに対する具体的な解決策を提案
- 同期・非同期対応: 同期/非同期処理の両方をサポート
- SDK 両対応: LINE Bot SDK v2/v3 系の両方に対応
- フレームワーク対応: Flask、FastAPI 等で使用可能
pip install linebot-error-analyzer
pip install linebot-error-analyzer[dev]
# LINE Bot SDK v3 と一緒に
pip install linebot-error-analyzer linebot-sdk
# または全依存関係込み
pip install linebot-error-analyzer[all]
- Python 3.9+
- Windows, macOS, Linux
- LINE Bot SDK v2/v3(オプション)
from linebot_error_analyzer import LineErrorAnalyzer
analyzer = LineErrorAnalyzer()
# エラーデータを分析
error_data = {
"status_code": 401,
"message": "Authentication failed",
"error_code": "40001"
}
result = analyzer.analyze(error_data)
print(f"カテゴリ: {result.category.value}") # AUTH_ERROR
print(f"対処法: {result.recommended_action}")
print(f"リトライ可能: {result.is_retryable}") # False
from linebot.v3.messaging import ApiClient, MessagingApi
from linebot.v3.messaging.exceptions import ApiException
from linebot_error_analyzer import LineErrorAnalyzer
analyzer = LineErrorAnalyzer()
try:
# LINE API呼び出し
line_bot_api.reply_message(...)
except ApiException as e:
error_info = analyzer.analyze(e)
if error_info.category.value == "RATE_LIMIT":
print(f"レート制限: {error_info.retry_after}秒待機")
elif error_info.is_retryable:
print("リトライ可能なエラー")
else:
print(f"対処法: {error_info.recommended_action}")
import asyncio
from linebot_error_analyzer import AsyncLineErrorAnalyzer
async def analyze_errors():
analyzer = AsyncLineErrorAnalyzer()
# 単一エラーの分析
result = await analyzer.analyze(error_data)
# 複数エラーの一括分析
errors = [error1, error2, error3]
results = await analyzer.analyze_batch(errors, batch_size=10)
asyncio.run(analyze_errors())
- 📖 インストールガイド - 詳細なセットアップ手順
- 🚀 クイックスタート - すぐに始められるガイド
- 🎯 使用例集 - 実際のプロジェクトでの活用例
- 🔧 統合ガイド - FastAPI、Flask との統合
- 🐛 エラーリファレンス - 全エラーコード詳細とトラブルシューティング
本ライブラリには、実際の LINE Bot 開発で使用できる実装例を含んでいます:
- 📁 Simple Examples - 実用的なシンプル実装例
- 署名検証、メッセージ送信、ユーザー管理、グループ操作
- 本番環境での使用を想定した実装
- 📁 Complex Examples - 学習・研究用の詳細実装例
- エラーハンドリングパターンの包括的なデモンストレーション
- エラー分析器との統合例
- 注意: 複雑版の
error_data
辞書は、実際の LINE API で発生する可能性のあるエラーパターンを示すサンプルです
詳細は 📖 Examples Guide をご覧ください。
カテゴリ | 説明 | 例 |
---|---|---|
AUTH_ERROR |
認証エラー | 無効なトークン |
RATE_LIMIT |
API 呼び出し制限 | 429 エラー |
INVALID_REPLY_TOKEN |
無効な返信トークン | 期限切れトークン |
USER_NOT_FOUND |
ユーザー未発見 | 削除されたアカウント |
SERVER_ERROR |
サーバーエラー | 5xx 系エラー |
詳細なエラーコード対応表は 📖 エラーリファレンス をご覧ください。
from fastapi import FastAPI
from fastapi.responses import JSONResponse
from linebot_error_analyzer import LineErrorAnalyzer
app = FastAPI()
analyzer = LineErrorAnalyzer()
@app.exception_handler(ApiException)
async def line_api_exception_handler(request, exc):
error_info = analyzer.analyze(exc)
return JSONResponse(
status_code=error_info.status_code,
content={
"error": error_info.category.value,
"message": error_info.message,
"action": error_info.recommended_action
}
)
# 基本テスト実行
python -m pytest tests/ -v
# テスト用依存関係のインストール
pip install pytest pytest-asyncio
MIT License
このライブラリはサードパーティ製です。LINE 株式会社とは関係ありません。