Search... Ctrl + K

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

Created by jaller94 23 days ago Used 0 times 0 Points

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.35.0/mod.ts";

export async function main(
  matrix_res: wmill.Resource<"matrix">,
  room_id: string,
  type: string,
  state_key?: string,
  json_content: string,
) {
  let url = `${matrix_res.baseUrl}/_matrix/client/v3/rooms/${encodeURIComponent(room_id)}/state/${encodeURIComponent(type)}/`;
  if (state_key) {
    url += encodeURIComponent(state_key);
  }
  const resp = await fetch(url, {
    method: 'PUT',
    headers: {
      "Authorization": `Bearer ${matrix_res.token}`,
      "Content-Type": "application/json",
    },
    body: json_content,
  });
  if (!resp.ok) {
    throw Error(`Failed to read room state: Error HTTP${resp.status}`);
  }
  return await resp.json();
}

Submitted by jaller94 23 days ago

Edited 23 days ago

No comments yet