mirror of
				https://github.com/SillyTavern/SillyTavern.git
				synced 2025-06-05 21:59:27 +02:00 
			
		
		
		
	Add preset setting to avoid sending empty messages
This commit is contained in:
		| @@ -1017,6 +1017,19 @@ | |||||||
|                                                 if you use quotes manually for speech.</span> |                                                 if you use quotes manually for speech.</span> | ||||||
|                                         </div> |                                         </div> | ||||||
|                                     </div> |                                     </div> | ||||||
|  |                                     <div class="range-block"> | ||||||
|  |                                         <div class="range-block-title justifyLeft"> | ||||||
|  |                                             Replace empty message | ||||||
|  |                                         </div> | ||||||
|  |                                         <div class="toggle-description justifyLeft"> | ||||||
|  |                                             <span data-i18n="Send this text instead of nothing when the text box is empty."> | ||||||
|  |                                                 Send this text instead of nothing when the text box is empty. | ||||||
|  |                                             </span> | ||||||
|  |                                         </div> | ||||||
|  |                                         <div class="wide100p"> | ||||||
|  |                                             <textarea id="send_if_empty_textarea" class="text_pole textarea_compact" name="send_if_empty" rows="1" placeholder=""></textarea> | ||||||
|  |                                         </div> | ||||||
|  |                                     </div> | ||||||
|                                 </div> |                                 </div> | ||||||
|                                 <br> |                                 <br> | ||||||
|                                 <div class="range-block"> |                                 <div class="range-block"> | ||||||
|   | |||||||
| @@ -1915,6 +1915,10 @@ async function Generate(type, { automatic_trigger, force_name2, resolve, reject, | |||||||
|                 await sendMessageAsUser(textareaText, messageBias); |                 await sendMessageAsUser(textareaText, messageBias); | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|  |         else if (textareaText == "" && !automatic_trigger && type !== 'quiet' && main_api == 'openai' && oai_settings.send_if_empty.trim().length > 0) { | ||||||
|  |             await sendMessageAsUser(oai_settings.send_if_empty.trim(), messageBias); | ||||||
|  |         } | ||||||
|  |  | ||||||
|         //////////////////////////////////// |         //////////////////////////////////// | ||||||
|         const scenarioText = chat_metadata['scenario'] || characters[this_chid].scenario; |         const scenarioText = chat_metadata['scenario'] || characters[this_chid].scenario; | ||||||
|         let charDescription = baseChatReplace(characters[this_chid].description.trim(), name1, name2); |         let charDescription = baseChatReplace(characters[this_chid].description.trim(), name1, name2); | ||||||
|   | |||||||
| @@ -111,6 +111,7 @@ const default_settings = { | |||||||
|     nsfw_toggle: true, |     nsfw_toggle: true, | ||||||
|     enhance_definitions: false, |     enhance_definitions: false, | ||||||
|     wrap_in_quotes: false, |     wrap_in_quotes: false, | ||||||
|  |     send_if_empty: '', | ||||||
|     nsfw_first: false, |     nsfw_first: false, | ||||||
|     main_prompt: default_main_prompt, |     main_prompt: default_main_prompt, | ||||||
|     nsfw_prompt: default_nsfw_prompt, |     nsfw_prompt: default_nsfw_prompt, | ||||||
| @@ -143,6 +144,7 @@ const oai_settings = { | |||||||
|     nsfw_toggle: true, |     nsfw_toggle: true, | ||||||
|     enhance_definitions: false, |     enhance_definitions: false, | ||||||
|     wrap_in_quotes: false, |     wrap_in_quotes: false, | ||||||
|  |     send_if_empty: '', | ||||||
|     nsfw_first: false, |     nsfw_first: false, | ||||||
|     main_prompt: default_main_prompt, |     main_prompt: default_main_prompt, | ||||||
|     nsfw_prompt: default_nsfw_prompt, |     nsfw_prompt: default_nsfw_prompt, | ||||||
| @@ -970,6 +972,7 @@ function loadOpenAISettings(data, settings) { | |||||||
|     oai_settings.legacy_streaming = settings.legacy_streaming ?? default_settings.legacy_streaming; |     oai_settings.legacy_streaming = settings.legacy_streaming ?? default_settings.legacy_streaming; | ||||||
|     oai_settings.max_context_unlocked = settings.max_context_unlocked ?? default_settings.max_context_unlocked; |     oai_settings.max_context_unlocked = settings.max_context_unlocked ?? default_settings.max_context_unlocked; | ||||||
|     oai_settings.nsfw_avoidance_prompt = settings.nsfw_avoidance_prompt ?? default_settings.nsfw_avoidance_prompt; |     oai_settings.nsfw_avoidance_prompt = settings.nsfw_avoidance_prompt ?? default_settings.nsfw_avoidance_prompt; | ||||||
|  |     oai_settings.send_if_empty = settings.send_if_empty ?? default_settings.send_if_empty; | ||||||
|     oai_settings.wi_format = settings.wi_format ?? default_settings.wi_format; |     oai_settings.wi_format = settings.wi_format ?? default_settings.wi_format; | ||||||
|     oai_settings.claude_model = settings.claude_model ?? default_settings.claude_model; |     oai_settings.claude_model = settings.claude_model ?? default_settings.claude_model; | ||||||
|     oai_settings.windowai_model = settings.windowai_model ?? default_settings.windowai_model; |     oai_settings.windowai_model = settings.windowai_model ?? default_settings.windowai_model; | ||||||
| @@ -1011,6 +1014,7 @@ function loadOpenAISettings(data, settings) { | |||||||
|     $('#impersonation_prompt_textarea').val(oai_settings.impersonation_prompt); |     $('#impersonation_prompt_textarea').val(oai_settings.impersonation_prompt); | ||||||
|     $('#nsfw_avoidance_prompt_textarea').val(oai_settings.nsfw_avoidance_prompt); |     $('#nsfw_avoidance_prompt_textarea').val(oai_settings.nsfw_avoidance_prompt); | ||||||
|     $('#wi_format_textarea').val(oai_settings.wi_format); |     $('#wi_format_textarea').val(oai_settings.wi_format); | ||||||
|  |     $('#send_if_empty_textarea').val(oai_settings.send_if_empty); | ||||||
|  |  | ||||||
|     $('#temp_openai').val(oai_settings.temp_openai); |     $('#temp_openai').val(oai_settings.temp_openai); | ||||||
|     $('#temp_counter_openai').text(Number(oai_settings.temp_openai).toFixed(2)); |     $('#temp_counter_openai').text(Number(oai_settings.temp_openai).toFixed(2)); | ||||||
| @@ -1150,6 +1154,7 @@ async function saveOpenAIPreset(name, settings) { | |||||||
|         nsfw_toggle: settings.nsfw_toggle, |         nsfw_toggle: settings.nsfw_toggle, | ||||||
|         enhance_definitions: settings.enhance_definitions, |         enhance_definitions: settings.enhance_definitions, | ||||||
|         wrap_in_quotes: settings.wrap_in_quotes, |         wrap_in_quotes: settings.wrap_in_quotes, | ||||||
|  |         send_if_empty: settings.send_if_empty, | ||||||
|         nsfw_first: settings.nsfw_first, |         nsfw_first: settings.nsfw_first, | ||||||
|         main_prompt: settings.main_prompt, |         main_prompt: settings.main_prompt, | ||||||
|         nsfw_prompt: settings.nsfw_prompt, |         nsfw_prompt: settings.nsfw_prompt, | ||||||
| @@ -1427,6 +1432,7 @@ function onSettingsPresetChange() { | |||||||
|         nsfw_toggle: ['#nsfw_toggle', 'nsfw_toggle', true], |         nsfw_toggle: ['#nsfw_toggle', 'nsfw_toggle', true], | ||||||
|         enhance_definitions: ['#enhance_definitions', 'enhance_definitions', true], |         enhance_definitions: ['#enhance_definitions', 'enhance_definitions', true], | ||||||
|         wrap_in_quotes: ['#wrap_in_quotes', 'wrap_in_quotes', true], |         wrap_in_quotes: ['#wrap_in_quotes', 'wrap_in_quotes', true], | ||||||
|  |         send_if_empty: ['#send_if_empty_textarea', 'send_if_empty', false], | ||||||
|         nsfw_first: ['#nsfw_first', 'nsfw_first', true], |         nsfw_first: ['#nsfw_first', 'nsfw_first', true], | ||||||
|         jailbreak_system: ['#jailbreak_system', 'jailbreak_system', true], |         jailbreak_system: ['#jailbreak_system', 'jailbreak_system', true], | ||||||
|         main_prompt: ['#main_prompt_textarea', 'main_prompt', false], |         main_prompt: ['#main_prompt_textarea', 'main_prompt', false], | ||||||
| @@ -1718,6 +1724,11 @@ $(document).ready(function () { | |||||||
|         saveSettingsDebounced(); |         saveSettingsDebounced(); | ||||||
|     }); |     }); | ||||||
|  |  | ||||||
|  |     $("#send_if_empty_textarea").on('input', function () { | ||||||
|  |         oai_settings.send_if_empty = $('#send_if_empty_textarea').val(); | ||||||
|  |         saveSettingsDebounced(); | ||||||
|  |     }); | ||||||
|  |  | ||||||
|     $('#nsfw_first').on('change', function () { |     $('#nsfw_first').on('change', function () { | ||||||
|         oai_settings.nsfw_first = !!$('#nsfw_first').prop('checked'); |         oai_settings.nsfw_first = !!$('#nsfw_first').prop('checked'); | ||||||
|         saveSettingsDebounced(); |         saveSettingsDebounced(); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user