Allow setting altering group greetings with extensions. Add ability to add extensions when creating characters.

This commit is contained in:
Cohee
2024-03-14 23:10:35 +02:00
parent 51f959c06b
commit ce756bc4f7
5 changed files with 38 additions and 7 deletions

View File

@ -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;