-
Notifications
You must be signed in to change notification settings - Fork 2
「info.json」ファイルについて
「info.json
」ファイルを設置すると Qithub コマンド(以下コマンド)に関する情報の提供や、コマンド側からユーザへ情報のリクエストができるようになります。
(info.json
ファイルの設置は必須ではありません)
各コマンドのディレクトリ直下(「Main.xxx」と同階層)に「info.json
」の JSON ファイルがあった場合、BOT などのコマンドを実行する側はコマンドが提供および要求(リクエスト)している情報をあらかじめ確認することができます。
具体的には、コマンドの「バージョン情報の提供」や「ユーザーのアクセストークンのリクエスト」などです。
コマンドの呼び出し元は、この JSON ファイルに記載されている情報をあらかじめ確認し、引数(Qithub エンコードされたデータ)に必要事項を含めてコマンドを呼び出すことになります。
この仕様により、コマンドは「info.json
」に記載した情報をクライアントから取得/提供できるようになります。
- BOT がトゥート内容より BOT のメンションとコマンドを検知
(「@qithub:????
」、????
はコマンド名) - コマンドのディレクトリ直下に
info.json
があった場合、JSON 配列の読み込み
(????/info.json
) - コマンドにオプション(
???? --version
などのオプション)が付いている場合、info.json
の配列の第1階層のキー名を検索します。- 検索でヒットした場合: その値を返信トゥートし処理を終了(コマンドは呼び出されない)
-
検索でヒットしなかった場合: トゥートのコマンド全体をコマンド・プログラム本体(
????/Main.xxx
)に引数で渡し、処理結果を返信トゥートし処理を終了
▼ コマンドのディレクトリ階層(コマンド「????
」の場合)
━━ ????/
┣━ Main.py
┗━ info.json
▼ info.json の内容
{
"version": "v0.1.0-beta"
}
▼ BOT が受けとったトゥートの内容(例1)
@qithub:???? --version
上記トゥート・コマンドの場合、BOT は info.json
から version
キーの要素を検索し、その値を返信するので、コマンドは実行されず「v0.1.0-beta
」をユーザーに返信トゥートします。
▼ BOT が受けとったトゥートの内容(例2)
@qithub:???? --hoge fuga
上記トゥート・コマンドの場合は、info.json
には hoge
キーは存在しないため、以下の JSON データをコマンドに渡します。
この際、渡されるのは Qithub エンコードされた文字列であることに注意ください。
{
"name_cmd": "????",
"args_cmd": "--hoge fuga"
}
▼ 引数が受け取るQithub エンコードデータ
%7B%22name_cmd%22%3A%22%3F%3F%3F%3F%22%2C%22args_cmd%22%3A%22--hoge+fuga%22%7D
詳しくは次項の「「info.json」ファイルの仕様1「コマンドの情報提供」(オプション機能)」をご覧ください。
[トップ] [目次の並び順を変更する]