[有料] カスタムプラグイン - API経由でユーザー入力から画像を挿入

どのような機能を実装したいですか?

ネタバレ

このアイデアは、コンポーザーに「デッキ挿入」というラベルのついたボタンを追加することです。ユーザーがこのボタンをクリックすると、テキストを貼り付けられる入力ウィンドウが表示されます。テキストを貼り付けた後、ユーザーは「OK」ボタンを押すだけで済みます。コンポーザーのツールバーに新しいボタンが追加された例を以下に示します:
image
image
ボタンをクリックした後の様子:

ユーザーの入力内容は問題ありません。これは単にカードデッキの内容を表す base64 コードです。このコードを URL エンコードして API に渡します。例えば、以下のコードを使用します:

M+e6LjWfEYbv/L/MAMIXps0AY4kjoiww/PbQdlYYFuz7zgDDKmaXWGB4zsmPjCC8uMSeGYRfys5kheHgpcuZQXj3GXs4XnDhIQscP7oGx/ll7xlguPCSLrM1cx1L/+bXjKuufmK4K/mD4eN1Edbrk1ewTHtayryn/zTT0mXzGafd5WDwf/iGZesHRtZjxsnM7MfjWS02JrNocksxB33vYg4G4o3um8D4YcRcMAa5EeQmkJsB

URL エンコードされた生コード:
M%2Be6LjWfEYbv%2FL%2FMAMIXps0AY4kjoiww%2FPbQdlYYFuz7zgDDKmaXWGB4zsmPjCC8uMSeGYRfys5kheHgpcuZQXj3GXs4XnDhIQscP7oGx%2Fll7xlguPCSLrM1cx1L%2F%2BbXjKuufmK4K%2FmD4eN1Edbrk1ewTHtayryn%2FzTT0mXzGafd5WDwf%2FiGZesHRtZjxsnM7MfjWS02JrNocksxB33vYg4G4o3um8D4YcRcMAa5EeQmkJsB

次に、Image が選択されている場合、このコードを imageify パラメータ付きで API に渡します。例:http://51.222.12.115:7000/imageify?list=code(ここで code は上記の URL エンコードされたコード):

http://51.222.12.115:7000/imageify?list=M%2Be6LjWfEYbv%2FL%2FMAMIXps0AY4kjoiww%2FPbQdlYYFuz7zgDDKmaXWGB4zsmPjCC8uMSeGYRfys5kheHgpcuZQXj3GXs4XnDhIQscP7oGx%2Fll7xlguPCSLrM1cx1L%2F%2BbXjKuufmK4K%2FmD4eN1Edbrk1ewTHtayryn%2FzTT0mXzGafd5WDwf%2FiGZesHRtZjxsnM7MfjWS02JrNocksxB33vYg4G4o3um8D4YcRcMAa5EeQmkJsB

上記のリンクをブラウザで開くと、画像が表示されます。この画像が、Image チェックボックスが選択されている場合に「OK」を押した後に投稿に挿入されるべきものです。

さらに List も選択されている場合、画像の下にリストを挿入できます。この場合、URL エンコードされたコードを convert パラメータ経由で渡します:http://51.222.12.115:7000/convert?pretty&to=names&list=code(ここで code は再度 URL エンコードされたコード):

http://51.222.12.115:7000/convert?pretty&to=names&list=M%2Be6LjWfEYbv%2FL%2FMAMIXps0AY4kjoiww%2FPbQdlYYFuz7zgDDKmaXWGB4zsmPjCC8uMSeGYRfys5kheHgpcuZQXj3GXs4XnDhIQscP7oGx%2Fll7xlguPCSLrM1cx1L%2F%2BbXjKuufmK4K%2FmD4eN1Edbrk1ewTHtayryn%2FzTT0mXzGafd5WDwf%2FiGZesHRtZjxsnM7MfjWS02JrNocksxB33vYg4G4o3um8D4YcRcMAa5EeQmkJsB

上記のリンクをブラウザで開くと、以下のような JSON 応答が返されます:

ネタバレ

"names": "3 Nibiru, the Primal Being\n2 Exodius the Ultimate Forbidden Lord\n2 The Winged Dragon of Ra - Sphere Mode\n3 Fire Hand\n3 Ice Hand\n3 Thunder Hand\n3 Ghostrick Jiangshi\n2 Nopenguin\n2 Ghostrick Yuki-onna\n3 Penguin Soldier\n2 Ghostrick Jackfrost\n3 Ghostrick Lantern\n3 Ghostrick Specter\n3 Recurring Nightmare\n3 Evenly Matched\n\n1 Ghostrick Angel of Mischief\n1 Ghostrick Alucard\n1 Ghostrick Socuteboss\n1 Mechquipped Angineer\n1 Number 49: Fortune Tune\n1 Super Quantal Mech Beast Grampulse\n1 Wind-Up Zenmaines\n1 Slacker Magician\n1 Ghostrick Dullahan\n1 Kikinagashi Fucho\n1 Daigusto Emeral\n1 Castel, the Skyblaster Musketeer\n1 Number 39: Utopia\n1 Number S39: Utopia the Lightning\n1 Number 35: Ravenous Tarantula\n\n\n1 Ghost Belle & Haunted Mansion\n1 Ghost Mourner & Moonlit Chill\n1 Ghost Ogre & Snow Rabbit\n1 Ghost Ogre & Snow Rabbit\n2 Ghost Reaper & Winter Cherries\n2 Ghost Sister & Spooky Dogwood\n1 Ghostrick Yuki-onna\n1 Ghostrick Jackfrost"

ここでの \n は改行を表します。したがって、コンポーザーでは以下のようにリストをそのまま貼り付ける必要があります:

3 Nibiru, the Primal Being
2 Exodius the Ultimate Forbidden Lord

「YDK の貼り付け」は、テキストファイルの内容をコピー&ペーストするためのボタンです。YDK は単なる TXT ファイルです。ユーザーがボタンをクリックすると、エクスプローラーからテキストファイルを選択でき、その内容がウィンドウに貼り付けられます。コピー&ペーストの代わりに入力を行うもう一つの手段です。

ユーザーの入力内容については心配する必要はありません。入力が無効でも API は無効を返すだけです。コンポーザーは API が返すものをそのまま貼り付ければ十分です。

この機能をテーマコンポーネントで実装するか、プラグインで実装するかは問いません。API 経由でのリクエスト送信や出力の読み取りに関して必要なサポートは、私たちが提供いたします。

いつまでに完了させる必要がありますか?

仕事を引き受けた時点から 2 週間以内。

このタスクに対して提示できる予算(米ドル)はいくらですか?

交渉可能です。ご希望の価格を PM でお知らせください。最も良いオファーを選択いたします。

「いいね!」 2

パビリオンよりこんにちは。ご連絡ありがとうございます。見積もりを作成し、PMにてご連絡いたします。

「いいね!」 2

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.