mirror of
https://github.com/SillyTavern/SillyTavern.git
synced 2025-02-03 12:47:35 +01:00
Support importing multiple URLs on external import
This commit is contained in:
parent
9128c2128e
commit
e93bc49b36
@ -10537,6 +10537,8 @@ jQuery(async function () {
|
|||||||
|
|
||||||
$(document).on('click', '.external_import_button, #external_import_button', async () => {
|
$(document).on('click', '.external_import_button, #external_import_button', async () => {
|
||||||
const html = await renderTemplateAsync('importCharacters');
|
const html = await renderTemplateAsync('importCharacters');
|
||||||
|
|
||||||
|
/** @type {string?} */
|
||||||
const input = await callGenericPopup(html, POPUP_TYPE.INPUT, '', { okButton: $('#shadow_popup_template').attr('popup_text_import'), rows: 4 });
|
const input = await callGenericPopup(html, POPUP_TYPE.INPUT, '', { okButton: $('#shadow_popup_template').attr('popup_text_import'), rows: 4 });
|
||||||
|
|
||||||
if (!input) {
|
if (!input) {
|
||||||
@ -10544,7 +10546,10 @@ jQuery(async function () {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const url = input.trim();
|
// break input into one input per line
|
||||||
|
const inputs = input.split('\n').map(x => x.trim()).filter(x => x.length > 0);
|
||||||
|
|
||||||
|
for (const url of inputs) {
|
||||||
var request;
|
var request;
|
||||||
|
|
||||||
if (isValidUrl(url)) {
|
if (isValidUrl(url)) {
|
||||||
@ -10586,6 +10591,7 @@ jQuery(async function () {
|
|||||||
console.error('Unknown content type', customContentType);
|
console.error('Unknown content type', customContentType);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
const $dropzone = $(document.body);
|
const $dropzone = $(document.body);
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
<h3 data-i18n="Enter the URL of the content to import">Enter the URL of the content to import</h3>
|
<h3 data-i18n="Import Characters">Import Characters</h3>
|
||||||
|
<h4 data-i18n="Enter the URL of the content to import">Enter the URL of the content to import</h3>
|
||||||
|
<div class="sources_list justifyLeft">
|
||||||
<span data-i18n="Supported sources:">Supported sources:</span><br>
|
<span data-i18n="Supported sources:">Supported sources:</span><br>
|
||||||
<ul class="justifyLeft">
|
<ul class="marginTop5">
|
||||||
<li><span data-i18n="char_import_1">Chub Character (Direct Link or ID)</span><br><span data-i18n="char_import_example">Example:</span> <tt>Anonymous/example-character</tt></li>
|
<li><span data-i18n="char_import_1">Chub Character (Direct Link or ID)</span><br><span data-i18n="char_import_example">Example:</span> <tt>Anonymous/example-character</tt></li>
|
||||||
<li><span data-i18n="char_import_2">Chub Lorebook (Direct Link or ID)</span><br><span data-i18n="char_import_example">Example:</span> <tt>lorebooks/bartleby/example-lorebook</tt></li>
|
<li><span data-i18n="char_import_2">Chub Lorebook (Direct Link or ID)</span><br><span data-i18n="char_import_example">Example:</span> <tt>lorebooks/bartleby/example-lorebook</tt></li>
|
||||||
<li><span data-i18n="char_import_3">JanitorAI Character (Direct Link or UUID)</span><br><span data-i18n="char_import_example">Example:</span> <tt>ddd1498a-a370-4136-b138-a8cd9461fdfe_character-aqua-the-useless-goddess</tt></li>
|
<li><span data-i18n="char_import_3">JanitorAI Character (Direct Link or UUID)</span><br><span data-i18n="char_import_example">Example:</span> <tt>ddd1498a-a370-4136-b138-a8cd9461fdfe_character-aqua-the-useless-goddess</tt></li>
|
||||||
@ -8,4 +10,6 @@
|
|||||||
<li><span data-i18n="char_import_5">AICharacterCard.com Character (Direct Link or ID)</span><br><span data-i18n="char_import_example">Example:</span> <tt>AICC/aicharcards/the-game-master</tt></li>
|
<li><span data-i18n="char_import_5">AICharacterCard.com Character (Direct Link or ID)</span><br><span data-i18n="char_import_example">Example:</span> <tt>AICC/aicharcards/the-game-master</tt></li>
|
||||||
<li><span data-i18n="char_import_6">Direct PNG Link (refer to</span> <code>config.yaml</code><span data-i18n="char_import_7"> for allowed hosts)</span><br><span data-i18n="char_import_example">Example:</span> <tt>https://files.catbox.moe/notarealfile.png</tt></li>
|
<li><span data-i18n="char_import_6">Direct PNG Link (refer to</span> <code>config.yaml</code><span data-i18n="char_import_7"> for allowed hosts)</span><br><span data-i18n="char_import_example">Example:</span> <tt>https://files.catbox.moe/notarealfile.png</tt></li>
|
||||||
<li><span data-i18n="char_import_8">RisuRealm Character (Direct Link)</span><br><span data-i18n="char_import_example">Example:</span> <tt>https://realm.risuai.net/character/3ca54c71-6efe-46a2-b9d0-4f62df23d712</tt></li>
|
<li><span data-i18n="char_import_8">RisuRealm Character (Direct Link)</span><br><span data-i18n="char_import_example">Example:</span> <tt>https://realm.risuai.net/character/3ca54c71-6efe-46a2-b9d0-4f62df23d712</tt></li>
|
||||||
<ul>
|
</ul>
|
||||||
|
</div>
|
||||||
|
<small data-i18n="Supports importing multiple characters. Write each URL or ID into a new line. (<code>Shift</code> + <code>Enter</code> to start a new line)">Supports importing multiple characters. Write each URL or ID into a new line. (<code>Shift</code> + <code>Enter</code> to start a new line)</small>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user