Add ai functionality

This commit is contained in:
Aslan 2025-12-26 04:33:47 +01:00
parent da66cf9001
commit dd4da06753
19 changed files with 1118 additions and 52 deletions

View file

@ -1,6 +1,6 @@
import type { MatrixClient } from "matrix-js-sdk";
import type { TRole } from "../store/types.js";
import { getRank, getUserById } from "../helpers.js";
import { getLevel, getUserById } from "../helpers.js";
import { config } from "../config.js";
import { state } from "../store/store.js";
@ -23,19 +23,19 @@ const onAnyMessage = (
return onAnyMessage(client, _text, roomId, sender);
}
const rankBefore = getRank(user.experience);
const levelBefore = getLevel(user.experience);
if (date > user.lastMessageTimestamp + config.app.experience.timeout) {
user.experience += config.app.experience.gain;
}
user.lastMessageTimestamp = date;
const rankAfter = getRank(user.experience);
if (rankAfter.rank > rankBefore.rank) {
const levelAfter = getLevel(user.experience);
if (levelAfter.level > levelBefore.level) {
client.sendHtmlMessage(
roomId,
"",
`${sender} - You are now rank <b>${rankAfter.rank}</b>`,
`${sender} - You are now level <b>${levelAfter.level}</b>`,
);
}
};