diff --git a/public/script.js b/public/script.js index cda7adea3..b1e0cffbb 100644 --- a/public/script.js +++ b/public/script.js @@ -4784,7 +4784,7 @@ export function removeMacros(str) { * @param {boolean} [compact] Send as a compact display message. * @param {string} [name] Name of the user sending the message. Defaults to name1. * @param {string} [avatar] Avatar of the user sending the message. Defaults to user_avatar. - * @returns {Promise} A promise that resolves when the message is inserted. + * @returns {Promise} A promise that resolves to the message when it is inserted. */ export async function sendMessageAsUser(messageText, messageBias, insertAt = null, compact = false, name = name1, avatar = user_avatar) { messageText = getRegexedString(messageText, regex_placement.USER_INPUT); @@ -4831,6 +4831,8 @@ export async function sendMessageAsUser(messageText, messageBias, insertAt = nul await eventSource.emit(event_types.USER_MESSAGE_RENDERED, chat_id); await saveChatConditional(); } + + return message; } /** diff --git a/public/scripts/slash-commands.js b/public/scripts/slash-commands.js index e9d0763c5..9fe306279 100644 --- a/public/scripts/slash-commands.js +++ b/public/scripts/slash-commands.js @@ -478,6 +478,7 @@ export function initDefaultSlashCommands() { SlashCommandParser.addCommandObject(SlashCommand.fromProps({ name: 'send', callback: sendUserMessageCallback, + returns: 'The text of the sent message', namedArgumentList: [ new SlashCommandNamedArgument( 'compact', @@ -2862,16 +2863,17 @@ async function sendUserMessageCallback(args, text) { insertAt = chat.length + insertAt; } + let message; if ('name' in args) { const name = args.name || ''; const avatar = findPersonaByName(name) || user_avatar; - await sendMessageAsUser(text, bias, insertAt, compact, name, avatar); + message = await sendMessageAsUser(text, bias, insertAt, compact, name, avatar); } else { - await sendMessageAsUser(text, bias, insertAt, compact); + message = await sendMessageAsUser(text, bias, insertAt, compact); } - return ''; + return message.mes; } async function deleteMessagesByNameCallback(_, name) {