Add support for replied messages

This commit is contained in:
Aslan 2025-12-29 00:45:14 +01:00
parent a4ba2acfcc
commit ed1a5356f9
3 changed files with 11 additions and 3 deletions

View file

@ -33,6 +33,7 @@ const onAI = async (
roomId: string, roomId: string,
sender: string, sender: string,
repliedMessage?: string, repliedMessage?: string,
repliedSender?: string,
) => { ) => {
const user = getUserById(sender); const user = getUserById(sender);
@ -67,12 +68,15 @@ const onAI = async (
} as IAIInstructions; } as IAIInstructions;
const username = getUserName(user); const username = getUserName(user);
textMod = `${username}: ${textMod}`; let repliedUsername = "";
if (repliedSender) {
getUserName(getUserById(repliedSender));
}
const responseAI = await getTextGemini( const responseAI = await getTextGemini(
instructions, instructions,
textMod, `${username}: ${textMod}`,
repliedMessage, `${repliedUsername}: ${repliedMessage}`,
); );
user.aiCost += responseAI.tokens * prices.text; user.aiCost += responseAI.tokens * prices.text;

View file

@ -86,10 +86,12 @@ const registerModules = (client: MatrixClient) => {
const relatesTo = event.getContent()["m.relates_to"]; const relatesTo = event.getContent()["m.relates_to"];
const replyToId = relatesTo?.["m.in_reply_to"]?.event_id; const replyToId = relatesTo?.["m.in_reply_to"]?.event_id;
let repliedMessage: string | undefined; let repliedMessage: string | undefined;
let repliedSender: string | undefined;
if (replyToId) { if (replyToId) {
const repliedEvent = await client.fetchRoomEvent(roomId, replyToId); const repliedEvent = await client.fetchRoomEvent(roomId, replyToId);
const repliedContent = repliedEvent.content; const repliedContent = repliedEvent.content;
repliedSender = repliedEvent.sender;
if (repliedContent) { if (repliedContent) {
if (repliedContent.body) { if (repliedContent.body) {
@ -119,6 +121,7 @@ const registerModules = (client: MatrixClient) => {
roomId, roomId,
sender, sender,
repliedMessage, repliedMessage,
repliedSender,
); );
} }
}); });

View file

@ -14,6 +14,7 @@ interface ICallback {
roomId: string, roomId: string,
sender: string, sender: string,
repliedMessage?: string, repliedMessage?: string,
repliedSender?: string,
) => void; ) => void;
} }