libkazv
|
Create a new room with various configuration options. More...
#include <create_room.hpp>
Public Attributes | |
std::string | type |
The type of event to send. More... | |
JsonWrap | content |
The content of the event. More... | |
std::optional< std::string > | stateKey |
The state_key of the state event. Defaults to an empty string. More... | |
Create a new room with various configuration options.
The server MUST apply the normal state resolution rules when creating the new room, including checking power levels for each event. It MUST apply the events implied by the request in the following order:
m.room.create
event itself. Must be the first event in the room.m.room.member
event for the creator to join the room. This is needed so the remaining events can be sent.m.room.power_levels
event, giving the room creator (and not other members) permission to send state events. Overridden by the power_level_content_override
parameter.m.room.canonical_alias
event if room_alias_name
is given.preset
. Currently these are the m.room.join_rules
, m.room.history_visibility
, and m.room.guest_access
state events.initial_state
, in the order that they are listed.name
and topic
(m.room.name
and m.room.topic
state events).invite
and invite_3pid
(m.room.member
with membership: invite
and m.room.third_party_invite
).The available presets do the following with respect to room state:
Preset | join_rules | history_visibility | guest_access | Other |
---|---|---|---|---|
private_chat | invite | shared | can_join | |
trusted_private_chat | invite | shared | can_join | All invitees are given the same power level as the room creator. |
public_chat | public | shared | forbidden |
The server will create a m.room.create
event in the room with the requesting user as the creator, alongside other keys provided in the creation_content
.
JsonWrap Kazv::Api::CreateRoomJob::StateEvent::content |
The content of the event.
std::optional<std::string> Kazv::Api::CreateRoomJob::StateEvent::stateKey |
The state_key of the state event. Defaults to an empty string.
std::string Kazv::Api::CreateRoomJob::StateEvent::type |
The type of event to send.