diff --git a/package.json b/package.json index a87de7b..76237a1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "aslobot-matrix", - "version": "0.1.0", + "version": "0.5.0", "description": "", "license": "ISC", "author": "", diff --git a/src/config.ts b/src/config.ts index faee836..d3f0109 100644 --- a/src/config.ts +++ b/src/config.ts @@ -1,3 +1,4 @@ import config from "./config.json" with { type: "json" }; +import packageConfig from "../package.json" with { type: "json" }; -export { config }; +export { config, packageConfig }; diff --git a/src/modules/base/base.ts b/src/modules/base/base.ts index 8ebca16..1e5e5aa 100644 --- a/src/modules/base/base.ts +++ b/src/modules/base/base.ts @@ -1,6 +1,7 @@ import { MatrixClient } from "matrix-js-sdk"; import type { ICallbackStore } from "../types.js"; -import { config } from "../../config.js"; +import { config, packageConfig } from "../../config.js"; +import { platform } from "os"; let client: MatrixClient; @@ -14,6 +15,10 @@ const registerModuleBase = ( startConditions: [`${config.app.triggerPrefix}ping`], callbackFunc: onPing, }); + callbackStore.messageCallbacks.push({ + startConditions: [`${config.app.triggerPrefix}info`], + callbackFunc: onInfo, + }); callbackStore.messageCallbacks.push({ startConditions: [`${config.app.triggerPrefix}say `], callbackFunc: onSay, @@ -32,6 +37,14 @@ const onPing = (_text: string, roomId: string) => { client.sendTextMessage(roomId, "Pong!"); }; +const onInfo = (_text: string, roomId: string) => { + client.sendHtmlMessage( + roomId, + "", + `

AsloBot version ${packageConfig.version} running on ${platform()}

`, + ); +}; + const onSay = (text: string, roomId: string) => { const trigger = `${config.app.triggerPrefix}say `; @@ -51,6 +64,7 @@ const onHelp = (_text: string, roomId: string) => { `

Role: User