UNPKG

@vector-im/matrix-bot-sdk

Version:

TypeScript/JavaScript SDK for Matrix bots and appservices

25 lines (21 loc) 910 B
import { MatrixClient } from "../MatrixClient"; import { Appservice } from "../appservice/Appservice"; /** * Automatically accepts invites for rooms * @category Mixins */ export class AutojoinRoomsMixin { public static setupOnClient(client: MatrixClient): void { client.on("room.invite", (roomId: string, inviteEvent: any) => { return client.joinRoom(roomId); }); } public static setupOnAppservice(appservice: Appservice, conditional: (inviteEvent: any) => boolean = null): void { appservice.on("room.invite", (roomId: string, inviteEvent: any) => { const isFromBot = appservice.botUserId === inviteEvent["sender"]; if (!isFromBot && conditional && !conditional(inviteEvent)) return; const intent = appservice.getIntentForUserId(inviteEvent["state_key"]); return intent.joinRoom(roomId); }); } }