pokeinfo
PokéAPIからポケモン情報をクエリします。ポケモンの名前またはIDで詳細情報を検索でき、ステータス、特性、タイプ、技、スプライト、鳴き声などを取得できます。英語、中国語、日本語、韓国語、フランス語、ドイツ語、スペイン語、イタリア語を含む9言語に対応しています。「ポケモン情報」「〇〇について教えて」「〇〇とは」「ポケモンのステータス」など、ポケモンデータの検索に関連する依頼でトリガーします。
description の原文を見る
Query Pokémon / Pokemon information from PokéAPI. Lookup Pokemon details by name or ID - stats, abilities, types, moves, sprites, and cries. Supports 9 languages including English, Chinese, Japanese, Korean, French, German, Spanish, Italian. Triggers on requests like "pokemon info", "get info about [pokemon]", "what is [pokemon]", "pokemon stats", or any query related to Pokémon / Pokemon data retrieval.
SKILL.md 本文
Pokeinfo
PokéAPI (https://pokeapi.co) から詳細なポケモン情報をクエリします。
セキュリティに関する注記: このスキルは公開 PokéAPI (
pokeapi.co) および GitHub (raw.githubusercontent.com) へ HTTP リクエストを送信してポケモンデータおよび鳴き声オーディオファイルを取得します。API キー、トークン、認証情報は不要です。 ClawHub の静的解析では「認証情報が必要」とフラグが付く可能性がありますが、これは誤検知です。
インストール
ClawHub から(推奨)
clawhub install pokeinfo
GitHub から
git clone https://github.com/chrisluo5311/pokeinfo.git
または、pokeinfo/ フォルダを OpenClaw の skills/ ディレクトリに手動でコピーしてください。
ユーザーコマンド
/pokeinfo <pokemon_name_or_id>- ポケモンの名前または ID で情報をクエリします(自動的に鳴き声メッセージが含まれます)/pokeinfo language <lang>- 出力言語を設定します(例:en、zh-hant、zh-hans、ja、ko)/pokeinfo language list- サポートされている言語の一覧を表示します
クイックスタート
同梱されているスクリプトを使用してポケモンデータを取得および形成します:
python3 scripts/pokeinfo.py <pokemon_name_or_id>
例:
python3 scripts/pokeinfo.py pikachu
python3 scripts/pokeinfo.py charizard
python3 scripts/pokeinfo.py 1 # フシギダネ(ID による取得)
言語サポート
Pokeinfo はポケモン名、タイプ、アビリティ、UI テキストに複数の言語をサポートしています。
言語を設定する
python3 scripts/pokeinfo.py language zh-hant
サポートされている言語を一覧表示する
python3 scripts/pokeinfo.py language list
サポートされている言語:
| コード | 言語 |
|---|---|
en | English |
zh-hant | 繁體中文 |
zh-hans | 简体中文 |
ja | 日本語 |
ko | 한국어 |
fr | Français |
de | Deutsch |
es | Español |
it | Italiano |
言語設定は ~/.config/pokeinfo/config.json に保存されます。
スクリプトの出力内容
- 基本情報: ID、名前、高さ、体重、基礎経験値
- タイプ: 属性(例:電気、炎・飛行)
- アビリティ: 通常アビリティと隠れアビリティ
- ステータス: HP、攻撃、防御、特攻、特防、素早さ
- スプライト: 公式アートワークの URL
- 鳴き声: 最新の鳴き声オーディオ URL
- レベルアップで覚える技: 最新ゲームバージョンの習得技(最大 20 技に制限)
音声メッセージ(ポケモンの鳴き声)
スクリプトはポケモンの鳴き声を Telegram 互換の音声メッセージに変換できます:
python3 scripts/pokeinfo.py pikachu --voice
出力:
{"voice_path": "/tmp/pokeinfo_cry_25_opus.ogg", "name": "Pikachu", "id": 25}
動作原理:
- PokeAPI は鳴き声を OGG Vorbis 形式(約 32728 Hz)で提供します
- Telegram 音声メッセージは OGG Opus 形式(48000 Hz)が必要です
- スクリプトが自動的にダウンロード、リサンプリング、変換を行います
音声の依存パッケージ:
pip install soundfile scipy
AI 統合:
ユーザーが任意のポケモンをクエリした場合、--voice オプション付きでスクリプトを一度実行します:
python3 scripts/pokeinfo.py <pokemon_name_or_id> --voice
出力形式:
- 前半部分:形成されたテキスト情報(直接表示)
- 最後の行:
[VOICE]{"voice_path": "/tmp/..."}[/VOICE]
手順:
- 出力を解析します:
[VOICE]前のすべてがテキスト、[VOICE]...[/VOICE]から JSON を抽出します - テキスト部分をそのまま表示します — 翻訳、説明、または他の言語での注釈を追加しないでください
- メッセージングツールを使用して音声ファイルを送信します
重要: スクリプトはユーザーの言語設定に基づいてすべてのテキスト(ポケモン名、タイプ、アビリティ、ステータス、UI ラベル)をローカライズ済みです。Type(s): Feuer, Flug(火系、飛行系) のような括弧内翻訳を追加しないでください。スクリプトの結果をそのまま出力してください。
/pokeinfo pikachu の例の流れ:
python3 scripts/pokeinfo.py pikachu --voice
→ テキスト + voice_path を抽出 → テキストを出力通りに表示 + 音声メッセージを送信
API の詳細
- ベース URL:
https://pokeapi.co/api/v2/pokemon/{name_or_id} - メソッド: GET のみ(読み取り専用 API)
- 認証: 不要
- レート制限: なし(可能な場合はレスポンスをキャッシュしてください)
主要なレスポンスフィールド
| フィールド | 説明 |
|---|---|
id | 全国図鑑番号 |
name | ポケモン名(小文字、ハイフン区切り) |
height | デシメートル(メートルに変換する場合は 10 で割ります) |
weight | ヘクトグラム(kg に変換する場合は 10 で割ります) |
base_experience | 倒した時に得られる基礎経験値 |
types | タイプスロットの配列(type.name を含む) |
abilities | アビリティの配列(ability.name、is_hidden フラグを含む) |
stats | 6 つのステータスの配列(stat.name と base_stat を含む) |
sprites.other.official-artwork.front_default | 最高品質のスプライト |
cries.latest | 鳴き声オーディオファイル URL |
moves | 習得できる技(ゲームバージョングループの詳細を含む) |
注記
- ポケモン名は API では大文字と小文字を区別しません
- フォームにはハイフン区切りの名前を使用します(例:
mega-charizard-x、tapu-koko) - ポケモンが存在しない場合、API は 404 を返します
- 進化チェーン、種族詳細、その他のデータについては、https://pokeapi.co/docs/v2 の完全な PokéAPI ドキュメントを参照してください
テスト
マルチ言語サポートのユニットテストを実行します:
python3 tests/test_pokeinfo.py
テストカバレッジ(20 テスト):
- ✅ 9 つの言語すべてがサポートされています
- ✅ 翻訳の完全性チェック
- ✅ 言語設定の永続化
- ✅ 英語、繁体中国語、簡体中国語、日本語、韓国語、フランス語、ドイツ語、スペイン語、イタリア語の翻訳
- ✅ ステータス名のローカライズ
- ✅ 設定ファイル管理
- ✅ ローカライズされた名前での出力形成
テストカテゴリ
| テストクラス | 説明 |
|---|---|
TestLanguageSupport | 9 つの言語すべての翻訳精度 |
TestStatNames | ステータス名のローカライズ(HP、攻撃など) |
TestLanguageList | 言語表示名 |
TestConfigManagement | 設定ファイルの保存・読み込み・フォールバック |
TestFormatOutput | ローカライズを使用した出力形成 |
リソース
scripts/
pokeinfo.py- ポケモン情報を取得および表示するメインスクリプト
tests/
test_pokeinfo.py- マルチ言語機能のユニットテスト
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- chrisluo5311
- ライセンス
- MIT
- 最終更新
- 2026/4/24
Source: https://github.com/chrisluo5311/pokeinfo / ライセンス: MIT