/v1
ではJSONPに対応していましたが、セキュリティ上の都合により/v2
では非対応となりました。
BCDice-APIのバージョンと、提供するBCDiceのバージョンが返却されます。
/v2/version
なし
{
"api" : "2.0.0",
"bcdice" : "3.0.0"
}
BCDice-APIを提供する管理者の名前と連絡先が返却されます。
これらの設定はサーバー管理者の意図で設定されない場合があります。
設定されていない場合、各項はから空文字列 ""
となります。
/v2/admin
なし
{
"name": "user-name",
"url": "https://your-information-page/url",
"email": "your@email.address"
}
Key | Description |
---|---|
name |
管理者の名前 |
url |
利用規約等が書かれたページのURL |
email |
連絡先メールアドレス |
設定方法は2種類あります。優先度は 環境変数 > 設定ファイル です。
config/admin.yaml
を設置します。内容は config/admin.yaml.example
を参考にしてください。
ENV | JSON key |
---|---|
BCDICE_API_ADMIN_NAME |
name |
BCDICE_API_ADMIN_URL |
url |
BCDICE_API_ADMIN_EMAIL |
email |
BCDice-APIで利用できるゲームシステムの一覧が返却されます。
一覧はsort_key
でソートされた状態で返却されます。
/v2/game_system
なし
{
"game_system": [
{
"id": "DiceBot",
"name": "DiceBot",
"sort_key": "*たいすほつと"
},
{
"id": "EarthDawn",
"name": "アースドーン",
"sort_key": "ああすとおん"
},
{
"id": "EarthDawn3",
"name": "アースドーン3版",
"sort_key": "ああすとおん3"
},
{
"id": "EarthDawn4",
"name": "アースドーン4版",
"sort_key": "ああすとおん4"
}
]
}
Key | Description |
---|---|
id |
ゲームシステムのID |
name |
ゲームシステムの名前 |
sort_key |
ゲームシステムをソートするためのキー |
指定したゲームシステムの詳細情報を取得します。
/v2/game_system/{id}
パラメータ | 種別 | 例 | 説明 |
---|---|---|---|
{id} |
URLに埋め込む | Gorilla |
ゲームシステムのID |
{
"ok": true,
"id": "Gorilla",
"name": "ゴリラTRPG",
"sort_key": "こりらTRPG",
"command_pattern": "^S?([+\\-\\dD(\\[]+|\\d+B\\d+|C|choice|D66|(repeat|rep|x)\\d+|\\d+R\\d+|\\d+U\\d+|BCDiceVersion|G.*)",
"help_message": "2D6ロール時のゴリティカル自動判定を行います。\n\nG = 2D6のショートカット\n\n例) G>=7 : 2D6して7以上なら成功\n"
}
Key | Description |
---|---|
id |
ゲームシステムのID |
name |
ゲームシステムの名前 |
sort_key |
ゲームシステムをソートするためのキー |
command_pattern |
実行可能なコマンドか判定するための正規表現。これにマッチするテキストがコマンドとして実行できる可能性がある。利用する際には大文字か小文字かを無視すること |
help_message |
ヘルプメッセージ |
ダイスロールを行う。GET/POSTの両方で実行可能
/v2/game_system/{id}/roll
パラメータ | 種別 | 例 | 説明 |
---|---|---|---|
{id} |
URLに埋め込む | Gorilla |
ゲームシステムのID |
command |
GET/POSTパラメータ | 4d10>=15 |
コマンドの文字列 |
{
"ok": true,
"text": "(4D10>=15) > 25[8,3,5,9] > 25 > 成功",
"secret": false,
"success": true,
"failure": false,
"critical": false,
"fumble": false,
"rands": [
{
"kind": "normal",
"sides": 10,
"value": 8
},
{
"kind": "normal",
"sides": 10,
"value": 3
},
{
"kind": "normal",
"sides": 10,
"value": 5
},
{
"kind": "normal",
"sides": 10,
"value": 9
}
]
}
Key | Description |
---|---|
text |
コマンドの出力 |
secret |
シークレットダイスか |
success |
結果が成功か |
failure |
結果が失敗か |
critical |
結果がクリティカルか |
fumble |
結果がファンブルか |
rands |
ダイス目の詳細。次の節を参照 |
Key | Description |
---|---|
kind |
ダイスロールの種類。'nomal' , 'tens_d10' , 'd9' の3種類 |
sides |
ダイスロールしたダイスの面数 |
value |
出目の値 |
nomal
- 通常のダイスロール
{"kind" : "nomal", "sides" : 10, "value" : 8}
tens_d10
- 十の位のダイス
{"kind" : "tens_d10", "sides" : 10, "value" : 80}
{"kind" : "tens_d10", "sides" : 10, "value" : 0}
00
は0として扱われます
d9
- 十面体を0〜9のダイスとして扱う
{"kind" : "d9", "sides" : 10, "value" : 0}
オリジナル表を実行する。POSTでのみ実行可能
/v2/original_table
パラメータ | 種別 | 例 | 説明 |
---|---|---|---|
table |
POSTパラメータ | - | オリジナル表のテキスト |
オリジナル表の形式はオリジナル表・BCDiceコマンドガイドを参照すること
{
"ok": true,
"text": "飲み物表(6) > 選ばれし者の知的飲料",
"rands": [
{
"kind": "normal",
"sides": 6,
"value": 6
}
]
}
/v2/game_system/{id}
, /v2/game_system/{id}/roll
HTTP status code: 400 Bad Request
{
"ok": false,
"reason": "unsupported game system"
}
/v2/game_system/{id}/roll
HTTP status code: 400 Bad Request
{
"ok": false,
"reason": "unsupported command"
}