Remove dist folder
This commit is contained in:
parent
df29ac59f4
commit
aa9282e069
|
@ -11,3 +11,4 @@ node_modules
|
|||
ml-bot.json
|
||||
config.yaml
|
||||
ml-bot-store
|
||||
dist
|
||||
|
|
|
@ -1,33 +0,0 @@
|
|||
import { MatrixClient, SimpleFsStorageProvider, AutojoinRoomsMixin, MessageEvent, } from "matrix-bot-sdk";
|
||||
import { readFile } from "fs/promises";
|
||||
import { load } from "js-yaml";
|
||||
import * as tf from "@tensorflow/tfjs-node";
|
||||
const config = load(await readFile("./config.yaml", "utf8"));
|
||||
const homeserverUrl = config.homeserver;
|
||||
const accessToken = config.accessToken;
|
||||
const storage = new SimpleFsStorageProvider("ml-bot.json");
|
||||
const model = await tf.node.loadSavedModel(config.modelPath);
|
||||
const client = new MatrixClient(homeserverUrl, accessToken, storage);
|
||||
AutojoinRoomsMixin.setupOnClient(client);
|
||||
client.on("room.message", handleMessage);
|
||||
client.start().then(() => console.log("Bot started!"));
|
||||
async function handleMessage(roomId, event) {
|
||||
if (event['content']?.['msgtype'] !== 'm.text')
|
||||
return;
|
||||
if (event['sender'] === await client.getUserId())
|
||||
return;
|
||||
const body = event['content']['body'];
|
||||
console.log(`Checking: "${body}"`);
|
||||
const data = tf.tensor([body]);
|
||||
const prediction = model.predict(data);
|
||||
const prediction_data = await prediction.array();
|
||||
console.log(`Prediction: ${prediction_data}`);
|
||||
const message = new MessageEvent(event);
|
||||
const textEvent = new MessageEvent(message.raw);
|
||||
if (((prediction_data[0] ?? [])[0] ?? 0) > 0.8) {
|
||||
await client.unstableApis.addReactionToEvent(roomId, textEvent.eventId, "Classified Spam");
|
||||
}
|
||||
else {
|
||||
}
|
||||
}
|
||||
//# sourceMappingURL=index.js.map
|
|
@ -1 +0,0 @@
|
|||
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,YAAY,EACZ,uBAAuB,EACvB,kBAAkB,EAClB,YAAY,GAGf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAS5C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC,CAAW,CAAC;AAKvE,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU,CAAC;AAGxC,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;AAKvC,MAAM,OAAO,GAAG,IAAI,uBAAuB,CAAC,aAAa,CAAC,CAAC;AAI3D,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAK7D,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,aAAa,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;AACrE,kBAAkB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;AAGzC,MAAM,CAAC,EAAE,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;AAGzC,MAAM,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;AAGvD,KAAK,UAAU,aAAa,CAAC,MAAc,EAAE,KAAU;IAEnD,IAAI,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,QAAQ;QAAE,OAAO;IACvD,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,MAAM,MAAM,CAAC,SAAS,EAAE;QAAE,OAAO;IAEzD,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;IACtC,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,GAAG,CAAC,CAAA;IAGlC,MAAM,IAAI,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;IAC9B,MAAM,UAAU,GAAiB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAiB,CAAC;IACrE,MAAM,eAAe,GAAe,MAAM,UAAU,CAAC,KAAK,EAAgB,CAAC;IAC3E,OAAO,CAAC,GAAG,CAAC,eAAe,eAAe,EAAE,CAAC,CAAC;IAG9C,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,SAAS,GAAG,IAAI,YAAY,CAA6B,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5E,IAAI,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE;QAC5C,MAAM,MAAM,CAAC,YAAY,CAAC,kBAAkB,CAAC,MAAM,EAAE,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAA;KAC7F;SAAM;KAEN;AAGL,CAAC"}
|
|
@ -34,6 +34,7 @@ const storage = new SimpleFsStorageProvider("ml-bot.json");
|
|||
// Broken
|
||||
//const cryptoProvider = new RustSdkCryptoStorageProvider("./ml-bot-store");
|
||||
|
||||
tf.enableProdMode()
|
||||
const model = await tf.node.loadSavedModel(config.modelPath);
|
||||
|
||||
// Finally, let's create the client and set it to autojoin rooms. Autojoining is typical of bots to ensure
|
||||
|
@ -59,7 +60,7 @@ async function handleMessage(roomId: string, event: any) {
|
|||
|
||||
// Check if spam
|
||||
const data = tf.tensor([body])
|
||||
const prediction: Tensor<Rank> = model.predict(data) as Tensor<Rank>;
|
||||
const prediction: Tensor<Rank.R2> = model.predict(data) as Tensor<Rank.R2>;
|
||||
const prediction_data: number[][] = await prediction.array() as number[][];
|
||||
console.log(`Prediction: ${prediction_data}`);
|
||||
|
||||
|
|
Loading…
Reference in New Issue