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

@ -4,10 +4,11 @@ import {
RoomEvent,
type IContent,
} from "matrix-js-sdk";
import { registerModuleTest } from "./base/base.js";
import type { ICallback, ICallbackStore } from "./types.js";
import { registerModuleBase } from "./base/base.js";
import { registerModuleAdmin } from "./admin/admin.js";
import { registerModuleUser } from "./user/user.js";
import { registerModuleAI } from "./ai/ai.js";
import { checkRoles, getUserById } from "../helpers.js";
import { onAnyMessage, onMissingRole } from "./global.js";
import { config } from "../config.js";
@ -27,13 +28,20 @@ const checkMessageCallback = (
return false;
}
if (callback.startCondition && !text.startsWith(callback.startCondition)) {
if (
callback.startConditions &&
!callback.startConditions.some((condition) =>
text.startsWith(condition),
)
) {
return false;
}
if (
callback.includesCondition &&
!text.includes(callback.includesCondition)
callback.includesConditions &&
!callback.includesConditions.some((condition) =>
text.includes(condition),
)
) {
return false;
}
@ -94,9 +102,10 @@ const registerModules = (client: MatrixClient) => {
});
});
registerModuleTest(client, callbacks);
registerModuleBase(client, callbacks);
registerModuleAdmin(client, callbacks);
registerModuleUser(client, callbacks);
registerModuleAI(client, callbacks);
};
export { registerModules };