/send with return value too

- /send
- return message on `sendMessageAsUser` now
This commit is contained in:
Wolfsblvt
2024-09-30 18:32:21 +02:00
parent 0ab74f0819
commit 1128de91f4
2 changed files with 8 additions and 4 deletions

View File

@ -4784,7 +4784,7 @@ export function removeMacros(str) {
* @param {boolean} [compact] Send as a compact display message. * @param {boolean} [compact] Send as a compact display message.
* @param {string} [name] Name of the user sending the message. Defaults to name1. * @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. * @param {string} [avatar] Avatar of the user sending the message. Defaults to user_avatar.
* @returns {Promise<void>} A promise that resolves when the message is inserted. * @returns {Promise<any>} 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) { export async function sendMessageAsUser(messageText, messageBias, insertAt = null, compact = false, name = name1, avatar = user_avatar) {
messageText = getRegexedString(messageText, regex_placement.USER_INPUT); 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 eventSource.emit(event_types.USER_MESSAGE_RENDERED, chat_id);
await saveChatConditional(); await saveChatConditional();
} }
return message;
} }
/** /**

View File

@ -478,6 +478,7 @@ export function initDefaultSlashCommands() {
SlashCommandParser.addCommandObject(SlashCommand.fromProps({ SlashCommandParser.addCommandObject(SlashCommand.fromProps({
name: 'send', name: 'send',
callback: sendUserMessageCallback, callback: sendUserMessageCallback,
returns: 'The text of the sent message',
namedArgumentList: [ namedArgumentList: [
new SlashCommandNamedArgument( new SlashCommandNamedArgument(
'compact', 'compact',
@ -2862,16 +2863,17 @@ async function sendUserMessageCallback(args, text) {
insertAt = chat.length + insertAt; insertAt = chat.length + insertAt;
} }
let message;
if ('name' in args) { if ('name' in args) {
const name = args.name || ''; const name = args.name || '';
const avatar = findPersonaByName(name) || user_avatar; const avatar = findPersonaByName(name) || user_avatar;
await sendMessageAsUser(text, bias, insertAt, compact, name, avatar); message = await sendMessageAsUser(text, bias, insertAt, compact, name, avatar);
} }
else { else {
await sendMessageAsUser(text, bias, insertAt, compact); message = await sendMessageAsUser(text, bias, insertAt, compact);
} }
return ''; return message.mes;
} }
async function deleteMessagesByNameCallback(_, name) { async function deleteMessagesByNameCallback(_, name) {