Add support for replied messages
This commit is contained in:
parent
a4ba2acfcc
commit
ed1a5356f9
3 changed files with 11 additions and 3 deletions
|
|
@ -33,6 +33,7 @@ const onAI = async (
|
|||
roomId: string,
|
||||
sender: string,
|
||||
repliedMessage?: string,
|
||||
repliedSender?: string,
|
||||
) => {
|
||||
const user = getUserById(sender);
|
||||
|
||||
|
|
@ -67,12 +68,15 @@ const onAI = async (
|
|||
} as IAIInstructions;
|
||||
|
||||
const username = getUserName(user);
|
||||
textMod = `${username}: ${textMod}`;
|
||||
let repliedUsername = "";
|
||||
if (repliedSender) {
|
||||
getUserName(getUserById(repliedSender));
|
||||
}
|
||||
|
||||
const responseAI = await getTextGemini(
|
||||
instructions,
|
||||
textMod,
|
||||
repliedMessage,
|
||||
`${username}: ${textMod}`,
|
||||
`${repliedUsername}: ${repliedMessage}`,
|
||||
);
|
||||
|
||||
user.aiCost += responseAI.tokens * prices.text;
|
||||
|
|
|
|||
|
|
@ -86,10 +86,12 @@ const registerModules = (client: MatrixClient) => {
|
|||
const relatesTo = event.getContent()["m.relates_to"];
|
||||
const replyToId = relatesTo?.["m.in_reply_to"]?.event_id;
|
||||
let repliedMessage: string | undefined;
|
||||
let repliedSender: string | undefined;
|
||||
|
||||
if (replyToId) {
|
||||
const repliedEvent = await client.fetchRoomEvent(roomId, replyToId);
|
||||
const repliedContent = repliedEvent.content;
|
||||
repliedSender = repliedEvent.sender;
|
||||
|
||||
if (repliedContent) {
|
||||
if (repliedContent.body) {
|
||||
|
|
@ -119,6 +121,7 @@ const registerModules = (client: MatrixClient) => {
|
|||
roomId,
|
||||
sender,
|
||||
repliedMessage,
|
||||
repliedSender,
|
||||
);
|
||||
}
|
||||
});
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@ interface ICallback {
|
|||
roomId: string,
|
||||
sender: string,
|
||||
repliedMessage?: string,
|
||||
repliedSender?: string,
|
||||
) => void;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue