commit aa9282e06910c6d7d1bc0f6b71780ef23bd5a24d
parent df29ac59f4c7cf4da467b1755ca5d63e4b710cf1
Author: MTRNord <mtrnord1@gmail.com>
Date: Sat, 10 Dec 2022 20:18:46 +0100
Remove dist folder
Diffstat:
4 files changed, 3 insertions(+), 37 deletions(-)
diff --git a/.gitignore b/.gitignore
@@ -11,3 +11,4 @@ node_modules
ml-bot.json
config.yaml
ml-bot-store
+dist
diff --git a/bot/dist/index.js b/bot/dist/index.js
@@ -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
-\ No newline at end of file
diff --git a/bot/dist/index.js.map b/bot/dist/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"}
-\ No newline at end of file
diff --git a/bot/src/index.ts b/bot/src/index.ts
@@ -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}`);