esperecyan / dictionary-api
従来の辞書形式を「主に単語で答えるゲームにおける汎用的な辞書形式」に変換する Web API を提供します。
Fund package maintenance!
esperecyan
Installs: 2
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 3
Forks: 0
Open Issues: 2
Type:project
Requires
- php: >=7.1
- ext-gettext: *
- ext-mbstring: *
- bantu/ini-get-wrapper: ^1.0.1
- esperecyan/dictionary-php: ^0.9.2
- scriptfusion/byte-formatter: ^3.2.0
Requires (Dev)
- ext-spl: *
- ext-xdebug: *
- ext-zip: *
- h4cc/multipart: 1.0.x-dev || ^1.0.0
- phpunit/phpunit: ^8.5.2
- riverline/multipart-parser: ^2.0.8
This package is auto-updated.
Last update: 2025-03-01 00:20:27 UTC
README
次のゲームの辞書を相互に変換できるようにする Web API を提供します。
- 主に単語で答えるゲームにおける汎用的な辞書形式 (以下、汎用辞書形式)
- キャッチフィーリング、Drawing Catch (*.cfq)
- きゃっちま (*.dat) ※暗号化後のファイルは扱えません
- Inteligenceω (*.txt, *.zip) ※暗号化後のファイルは扱えません
- ピクトセンス
動作デモ
https://esperecyan.github.io/dictionary-api/demo/
使い方
https://game.pokemori.jp/dictionary-api/v0/converter
上記URLに対し、以下のパラメータをmultipart/form-data形式でPOSTします。
キー | 値 |
---|---|
input | 辞書ファイル。 |
title | 辞書のタイトル。指定されていなければ、inputキーのファイル名から判断します。汎用辞書で @title フィールドが存在する場合、この指定は無視されます。 |
from | 変換元の辞書形式。キャッチフィーリング きゃっちま Inteligenceω クイズ Inteligenceω しりとり ピクトセンス 汎用辞書 のいずれか。指定されていないか間違った値が指定されていれば、inputキーのファイル名から判断します。Inteligenceωについては、コメント行、空行を除く最初の行が Q, で始まるか否かで、クイズとしりとりを判別します。 |
to | 変換先の辞書形式。キャッチフィーリング きゃっちま Inteligenceω クイズ Inteligenceω しりとり ピクトセンス 汎用辞書 のいずれか。指定されていないか間違った値が指定されていれば、汎用辞書 になります。 |
レスポンス
以下のパラメータがmultipart/form-data形式で返ります。
キー | 値 |
---|---|
output | 辞書ファイル。content-disposition ヘッダの filename* パラメータにファイル名を含みます。 |
parser-logs | 構文解析時のログ。ログが存在しない場合はこのキーも存在しない。 |
serializer-logs | 直列化時のログ。ログが存在しない場合はこのキーも存在しない。 |
ログはいずれもapplication/problem+json形式で問題点の一覧を返します。 拡張メンバの構造については https://github.com/esperecyan/dictionary-api/blob/master/logs.md をご覧ください。
エラー
4xxクラス、または5xxクラスのHTTPステータスコード、およびapplication/problem+json形式でエラーの説明を返します。
type | title | status | 原因 |
---|---|---|---|
https://github.com/esperecyan/dictionary-api/blob/master/malformed-syntax.md | Malformed Syntax | 400 | 指定された形式を想定した構文解析に失敗したことを表します。 |
https://github.com/esperecyan/dictionary-api/blob/master/serialize-error.md | Serialize Error | 400 | 指定された形式へ直列化できる辞書ではなかったことを表します。 |
about:blank | Bad Request | 400 | inputキーで辞書ファイルが与えられなかった場合。 |
about:blank | Method Not Allowed | 405 | POST以外のメソッドでリクエストした場合。 |
about:blank | Not Implemented | 501 | 〃 |
about:blank | Payload Too Large | 413 | POSTしたファイル、またはPOSTデータ全体のファイルが大き過ぎることを表します。 |
about:blank | Internal Server Error | 500 | サーバー側の設定ミスなどに起因するエラー。 |
Contribution
Pull Request、または Issue よりお願いいたします。
ライセンス
当スクリプトのライセンスは Mozilla Public License Version 2.0 (MPL-2.0) です。
ただし、tests/resources/inteligenceo/quiz-input.txt および tests/resources/inteligenceo/shiritori-input.txt は MPL-2.0 ではないフリーのファイルであり、著作権はろくしー様にあります。