From f89a5a5aa6b7c679be9d07c5f3a9e3be31a74bea Mon Sep 17 00:00:00 2001 From: Chris Plaatjes Date: Wed, 22 Feb 2023 17:30:56 -0500 Subject: [PATCH] Converted to typescript --- index.ts | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 index.ts diff --git a/index.ts b/index.ts new file mode 100644 index 0000000..f7e4943 --- /dev/null +++ b/index.ts @@ -0,0 +1,36 @@ +import { + MatrixClient, + SimpleFsStorageProvider, + AutojoinRoomsMixin, + RustSdkCryptoStorageProvider +} from "matrix-bot-sdk"; + +//import config data +const config = require("./config/config.json"); + +const homeserverUrl = config.TeleTokConf.matrixAddress; +const accessToken = config.TeleTokConf.accessToken; + +const storage = new SimpleFsStorageProvider("./config/bot.json"); +const cryptoProvider = new RustSdkCryptoStorageProvider("./config/crypto"); + +const client = new MatrixClient(homeserverUrl, accessToken, storage, cryptoProvider); +AutojoinRoomsMixin.setupOnClient(client); + + +client.on("room.message", handleCommand); + +client.start().then(() => console.log("Now listening for TikTok URLs...")); + +async function handleCommand(roomId: string, event: any) { + // Don't handle unhelpful events (ones that aren't text messages, are redacted, or sent by us) + if (event['content']?.['msgtype'] !== 'm.text') return; + if (event['sender'] === await client.getUserId()) return; + + // Check to ensure that the `!hello` command is being run + const body = event['content']['body']; + if (!body?.startsWith("!hello")) return; + + // Now that we've passed all the checks, we can actually act upon the command + await client.replyNotice(roomId, event, "Hello world!"); +} \ No newline at end of file