Document branch protection + dedicated bot account #4
+14
-2
@@ -1,4 +1,4 @@
|
||||
import { MatrixClient, SimpleFsStorageProvider, AutojoinRoomsMixin } from "matrix-bot-sdk";
|
||||
import { MatrixClient, SimpleFsStorageProvider } from "matrix-bot-sdk";
|
||||
import { runChatTask } from "./runner.js";
|
||||
import { askOpenRouter, DEFAULT_MODEL } from "./openrouter.js";
|
||||
|
||||
@@ -45,7 +45,19 @@ export async function startMatrixBot() {
|
||||
|
||||
const storage = new SimpleFsStorageProvider("/workspace/matrix-bot-storage.json");
|
||||
const client = new MatrixClient(HOMESERVER_URL, ACCESS_TOKEN, storage);
|
||||
AutojoinRoomsMixin.setupOnClient(client);
|
||||
|
||||
// Not using AutojoinRoomsMixin: it calls /joined_rooms at startup to build its initial
|
||||
// state, which — like the /whoami call removed earlier — 404s against Continuwuity for
|
||||
// reasons unrelated to the endpoint itself (curling it directly works fine). This
|
||||
// simpler handler does the one thing we actually need — auto-join on invite — without
|
||||
// that startup scan.
|
||||
client.on("room.invite", async (roomId) => {
|
||||
try {
|
||||
await client.joinRoom(roomId);
|
||||
} catch (err) {
|
||||
console.error("failed to join invited room", roomId, err.message);
|
||||
}
|
||||
});
|
||||
|
||||
client.on("room.message", async (roomId, event) => {
|
||||
// Invite-only control room enforces who can reach the bot at all; this just scopes
|
||||
|
||||
Reference in New Issue
Block a user