Problem
The client exposes send/resolve/sync helpers (mx_send_text, mx_send_media, mx_resolve_room, ...) but no way to create a room. Bots can only talk in rooms they're already invited to. Surfaced when tiny was asked to create a cooking room and couldn't; the room had to be created with a raw curl against POST /_matrix/client/v3/createRoom.
Proposal
mx_room_create(client, name, invite = character(), topic = NULL,
preset = c("private_chat", "trusted_private_chat", "public_chat"),
encrypted = FALSE, room_alias = NULL)
- Wraps
POST /_matrix/client/v3/createRoom
encrypted = TRUE adds the m.room.encryption initial_state event (megolm)
- Returns the room_id; optionally update the client's room cache
- Expose as a corteza tool so bots can create rooms natively
Workaround
One-off login + curl createRoom (used 2026-07-12 to create the cooking room).
Problem
The client exposes send/resolve/sync helpers (
mx_send_text,mx_send_media,mx_resolve_room, ...) but no way to create a room. Bots can only talk in rooms they're already invited to. Surfaced when tiny was asked to create a cooking room and couldn't; the room had to be created with a raw curl againstPOST /_matrix/client/v3/createRoom.Proposal
POST /_matrix/client/v3/createRoomencrypted = TRUEadds them.room.encryptioninitial_state event (megolm)Workaround
One-off login + curl
createRoom(used 2026-07-12 to create the cooking room).