Edits history of script submission #22457 for ' Invite user to a room (matrix)'

  • bunnative
    One script reply has been approved by the moderators
    Ap­pro­ved
    //native
    
    type Matrix = {
      baseUrl: string;
      token: string;
    };
    export async function main(
      matrix_res: Matrix,
      room_id: string,
      user_id: string,
      reason = "",
    ) {
      if (!matrix_res.token) {
        throw Error("Inviting a user 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({
            user_id,
            ...(reason && { reason }),
          }),
        },
      );
      if (!resp.ok) {
        throw Error(`Failed to invite: Error HTTP${resp.status}`);
      }
    }
    

    Submitted by hugo989 4 days ago