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);
});