Compare commits

...

2 Commits

Author SHA1 Message Date
Chris Plaatjes
f89a5a5aa6 Converted to typescript 2023-02-22 17:30:56 -05:00
Chris Plaatjes
0f54d11162 Added config json 2023-02-22 17:29:32 -05:00
2 changed files with 43 additions and 0 deletions

7
config/config.json Normal file
View File

@ -0,0 +1,7 @@
{
"TeleTokConf": {
"ptInstance": "PROXITOK INSTANCE URL",
"matrixAddress": "SYNAPSE SERVER URL",
"accessToken": "INSERT TOKEN HERE"
}
}

36
index.ts Normal file
View File

@ -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!");
}