UNPKG

@vector-im/matrix-bot-sdk

Version:

TypeScript/JavaScript SDK for Matrix bots and appservices

82 lines (70 loc) 1.69 kB
import { StateEvent } from "./RoomEvent"; /** * Information about the previous room. * @category Matrix event info * @see CreateEventContent */ export interface PreviousRoomInfo { /** * The old room ID. */ room_id: string; /** * The last known event ID in the old room. */ event_id: string; } /** * The content definition for m.room.create events * @category Matrix event contents * @see CreateEvent */ export interface CreateEventContent extends Record<string, unknown> { /** * The user ID who created the room. */ creator: string; /** * Whether or not this room is federated. Default true. */ "m.federate"?: boolean; /** * The version of the room. Default "1". */ room_version?: string; /** * Information about the old room. */ predecessor?: PreviousRoomInfo; /** * The type of the room, if applicable. For example, `m.space`. */ type?: string; } /** * Represents an m.room.create state event * @category Matrix events */ export class CreateEvent extends StateEvent<CreateEventContent> { constructor(event: any) { super(event); } /** * The user ID who created the room. */ public get creator(): string { return this.content.creator || this.sender; } /** * The version of the room. Defaults to "1". */ public get version(): string { return this.content.room_version || "1"; } /** * Whether or not the room is federated. Default true (federated). */ public get federated(): boolean { return this.content['m.federate'] !== false; } }