Search... Ctrl + K

Create room (matrix)
One script reply has been approved by the moderators Verified

Created by jaller94 113 days ago Used 45 times 1 Point

Creates a Matrix room.

No comments yet

Points: 0
deno
One script reply has been approved by the moderators
Ap­pro­ved
import * as wmill from "https://deno.land/x/windmill@v1.29.0/mod.ts";

export async function main(
	matrix_res: wmill.Resource<"matrix">,
	is_direct = false,
    name = "",
    room_alias_name = "",
    room_version = "",
    topic = "",
    visibility: "public"|"private" = "private",
) {
	if (!matrix_res.token) {
		throw Error("Creating a room requires an access token.");
	}
	const resp = await fetch(
		`${matrix_res.baseUrl}/_matrix/client/v3/rooms/${encodeURIComponent(room_id)}/invite`,
		{
			method: "POST",
			headers: {
				"Authorization": `Bearer ${matrix_res.token}`,
                "Content-Type": "application/json",
            },
            body: JSON.stringify({
                is_direct,
                ...(name && {name}),
                ...(room_alias_name && {room_alias_name}),
                ...(room_version && {room_version}),
                ...(topic && {topic}),
                visibility,
            }),
		},
	);
	if (!resp.ok) {
		throw Error(`Failed to create room: Error HTTP${resp.status}`);
	}
}

Submitted by jaller94 111 days ago

Edited 61 days ago

No comments yet