mirror of
https://github.com/SillyTavern/SillyTavern.git
synced 2025-06-05 21:59:27 +02:00
Allow setting altering group greetings with extensions. Add ability to add extensions when creating characters.
This commit is contained in:
@ -197,7 +197,7 @@ export async function getGroupChat(groupId) {
|
||||
continue;
|
||||
}
|
||||
|
||||
const mes = getFirstCharacterMessage(character);
|
||||
const mes = await getFirstCharacterMessage(character);
|
||||
chat.push(mes);
|
||||
addOneMessage(mes);
|
||||
}
|
||||
@ -374,7 +374,7 @@ export function getGroupCharacterCards(groupId, characterId) {
|
||||
return { description, personality, scenario, mesExamples };
|
||||
}
|
||||
|
||||
function getFirstCharacterMessage(character) {
|
||||
async function getFirstCharacterMessage(character) {
|
||||
let messageText = character.first_mes;
|
||||
|
||||
// if there are alternate greetings, pick one at random
|
||||
@ -383,6 +383,13 @@ function getFirstCharacterMessage(character) {
|
||||
messageText = messageTexts[Math.floor(Math.random() * messageTexts.length)];
|
||||
}
|
||||
|
||||
// Allow extensions to change the first message
|
||||
const eventArgs = { input: messageText, output: '', character: character };
|
||||
await eventSource.emit(event_types.CHARACTER_FIRST_MESSAGE_SELECTED, eventArgs);
|
||||
if (eventArgs.output) {
|
||||
messageText = eventArgs.output;
|
||||
}
|
||||
|
||||
const mes = {};
|
||||
mes['is_user'] = false;
|
||||
mes['is_system'] = false;
|
||||
|
Reference in New Issue
Block a user