diff --git a/public/scripts/extensions/quick-reply/index.js b/public/scripts/extensions/quick-reply/index.js index ef61f75e6..737eccb52 100644 --- a/public/scripts/extensions/quick-reply/index.js +++ b/public/scripts/extensions/quick-reply/index.js @@ -861,6 +861,26 @@ async function qrPresetAddCallback(args, name) { await updateQuickReplyPresetList(); } +async function qrPresetUpdateCallback(args, name) { + const preset = presets.find(it=>it.name==name); + const quickReplyPreset = { + name: preset.name, + quickReplyEnabled: JSON.parse(args.enabled ?? null) ?? preset.quickReplyEnabled, + quickActionEnabled: JSON.parse(args.nosend ?? null) ?? preset.quickActionEnabled, + placeBeforeInputEnabled: JSON.parse(args.before ?? null) ?? preset.placeBeforeInputEnabled, + quickReplySlots: preset.quickReplySlots, + numberOfSlots: Number(args.slots ?? preset.numberOfSlots), + AutoInputInject: JSON.parse(args.inject ?? 'null') ?? preset.AutoInputInject, + }; + Object.assign(preset, quickReplyPreset); + + const response = await fetch('/savequickreply', { + method: 'POST', + headers: getRequestHeaders(), + body: JSON.stringify(quickReplyPreset), + }); +} + let onMessageSentExecuting = false; let onMessageReceivedExecuting = false; let onChatChangedExecuting = false; @@ -1073,4 +1093,5 @@ jQuery(() => { inject - bool - inject user input automatically (if disabled use {{input}}) `.trim(); registerSlashCommand('qr-presetadd', qrPresetAddCallback, [], `(arguments [label])\n arguments:\n ${presetArgs} – create a new preset (overrides existing ones), example: /qr-presetadd slots=3 MyNewPreset`, true, true); + registerSlashCommand('qr-presetupdate', qrPresetUpdateCallback, [], `(arguments [label])\n arguments:\n ${presetArgs} – update an existing preset, example: /qr-presetupdate enabled=false MyPreset`, true, true); });