mirror of
https://github.com/SillyTavern/SillyTavern.git
synced 2025-06-05 21:59:27 +02:00
/rename-char slash command
- Rename char slash command (with optional parameters for silent and rename old chats) - JSDoc fix for STscript named args in callbacks
This commit is contained in:
@@ -23,6 +23,7 @@ import {
|
||||
name2,
|
||||
reloadCurrentChat,
|
||||
removeMacros,
|
||||
renameCharacter,
|
||||
saveChatConditional,
|
||||
sendMessageAsUser,
|
||||
sendSystemMessage,
|
||||
@@ -323,6 +324,29 @@ SlashCommandParser.addCommandObject(SlashCommand.fromProps({
|
||||
helpString: 'Opens up a chat with the character or group by its name',
|
||||
aliases: ['char'],
|
||||
}));
|
||||
SlashCommandParser.addCommandObject(SlashCommand.fromProps({
|
||||
name: 'rename-char',
|
||||
/** @param {{silent: string, renameChats: string}} options @param {string} name */
|
||||
callback: async ({ silent = 'true', renameChats = null }, name) => {
|
||||
const renamed = await renameCharacter(name, { silent: silent === 'true', renameChats: renameChats !== null ? renameChats === 'true' : null });
|
||||
return String(renamed);
|
||||
},
|
||||
returns: 'true/false - Whether the rename was successful',
|
||||
namedArgumentList: [
|
||||
new SlashCommandNamedArgument(
|
||||
'silent', 'Hide any blocking popups. (if false, the name is optional. If not supplied, a popup asking for it will appear)', [ARGUMENT_TYPE.BOOLEAN], false, false, 'true'
|
||||
),
|
||||
new SlashCommandNamedArgument(
|
||||
'renameChats', 'Rename char in all previous chats', [ARGUMENT_TYPE.BOOLEAN], false, false, '<null>'
|
||||
),
|
||||
],
|
||||
unnamedArgumentList: [
|
||||
new SlashCommandArgument(
|
||||
'new char name', [ARGUMENT_TYPE.STRING], true,
|
||||
),
|
||||
],
|
||||
helpString: 'Renames the current character.'
|
||||
}));
|
||||
SlashCommandParser.addCommandObject(SlashCommand.fromProps({
|
||||
name: 'sysgen',
|
||||
callback: generateSystemMessage,
|
||||
|
@@ -17,6 +17,11 @@ import { SlashCommandScope } from './SlashCommandScope.js';
|
||||
* }} NamedArguments
|
||||
*/
|
||||
|
||||
/**
|
||||
* Alternative object for local JSDocs, where you don't need existing pipe, scope, etc. arguments
|
||||
* @typedef {{[id:string]:string|SlashCommandClosure}} NamedArgumentsCapture
|
||||
*/
|
||||
|
||||
/**
|
||||
* @typedef {string|SlashCommandClosure|(string|SlashCommandClosure)[]} UnnamedArguments
|
||||
*/
|
||||
@@ -28,7 +33,7 @@ export class SlashCommand {
|
||||
* Creates a SlashCommand from a properties object.
|
||||
* @param {Object} props
|
||||
* @param {string} [props.name]
|
||||
* @param {(namedArguments:NamedArguments, unnamedArguments:string|SlashCommandClosure|(string|SlashCommandClosure)[])=>string|SlashCommandClosure|void|Promise<string|SlashCommandClosure|void>} [props.callback]
|
||||
* @param {(namedArguments:NamedArguments|NamedArgumentsCapture, unnamedArguments:string|SlashCommandClosure|(string|SlashCommandClosure)[])=>string|SlashCommandClosure|void|Promise<string|SlashCommandClosure|void>} [props.callback]
|
||||
* @param {string} [props.helpString]
|
||||
* @param {boolean} [props.splitUnnamedArgument]
|
||||
* @param {string[]} [props.aliases]
|
||||
|
Reference in New Issue
Block a user