[유료] 커스텀 플러그인 - API를 통해 사용자 입력으로 이미지 삽입

무엇을 원하시나요?

스포일러

여기서 아이디어는 편집기에 "덱 삽입"이라는 라벨이 붙은 버튼을 추가하는 것입니다. 사용자가 이 버튼을 클릭하면 텍스트를 복사하여 붙여넣을 수 있는 입력 창이 열립니다. 그런 다음 사용자가 텍스트를 삽입한 뒤 단순히 "확인"을 누르면 됩니다. 새 버튼이 있는 편집기 도구 모음의 예시는 다음과 같습니다:
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가 선택된 경우, http://51.222.12.115:7000/imageify?list=code에서 imageify 파라미터를 통해 API로 전달됩니다. 여기서 code는 위와 같은 URL 인코딩된 코드입니다:

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

위 링크를 브라우저에서 열면 이미지가 표시되어야 합니다. 이 이미지는 체크박스에서 Image가 선택된 경우, 확인을 누른 후 게시글에 삽입되어야 하는 내용입니다.

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

"Paste YDK"는 기본적으로 텍스트 파일의 내용을 복사하여 붙여넣는 버튼입니다. YDK는 단순히 TXT 파일입니다. 버튼을 클릭하면 → 탐색기에서 텍스트 파일을 선택하면 → 파일 내용이 창에 붙여넣어집니다. 복사하여 붙여넣는 대신 입력을 삽입하는 또 다른 방법입니다.

사용자 입력에 대해서는 걱정하지 않아도 됩니다. 유효하지 않더라도 API는 'invalid’를 반환할 것입니다. 편집기는 단순히 API가 반환하는 내용을 붙여넣기만 하면 됩니다.

이것이 테마 컴포넌트인지 플러그인인지에 대해 저에게는 중요하지 않습니다. API를 통해 요청을 보내고 출력을 읽는 것과 관련하여 도움이 필요하시면 도와드릴 수 있습니다.

언제까지 완료되길 원하시나요?

작업을 수락한 시점부터 2주 이내.

이 작업을 위해 제시하실 예산(USD)은 얼마인가요?

협의 가능합니다. 가격을 개인 메시지로 보내주세요. 가장 좋은 제안을 선택하겠습니다.

2개의 좋아요

패빌리온에서 인사드립니다. 연락 주셔서 감사합니다. 견적을 산출하여 PM으로 업데이트해 드리겠습니다.

2개의 좋아요

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