67 lines
3.3 KiB
Plaintext
67 lines
3.3 KiB
Plaintext
|
{
|
||
|
"type": "object",
|
||
|
"title": "Defines the power levels (privileges) of users in the room.",
|
||
|
"description": "This event specifies the minimum level a user must have in order to perform a certain action. It also specifies the levels of each user in the room. If a ``user_id`` is in the ``users`` list, then that ``user_id`` has the associated power level. Otherwise they have the default level ``users_default``. If ``users_default`` is not supplied, it is assumed to be 0. The level required to send a certain event is governed by ``events``, ``state_default`` and ``events_default``. If an event type is specified in ``events``, then the user must have at least the level specified in order to send that event. If the event type is not supplied, it defaults to ``events_default`` for Message Events and ``state_default`` for State Events.",
|
||
|
"allOf": [{
|
||
|
"$ref": "core-event-schema/state_event.yaml"
|
||
|
}],
|
||
|
"properties": {
|
||
|
"content": {
|
||
|
"type": "object",
|
||
|
"properties": {
|
||
|
"ban": {
|
||
|
"type": "number",
|
||
|
"description": "The level required to ban a user."
|
||
|
},
|
||
|
"events_default": {
|
||
|
"type": "number",
|
||
|
"description": "The default level required to send message events. Can be overridden by the ``events`` key."
|
||
|
},
|
||
|
"kick": {
|
||
|
"type": "number",
|
||
|
"description": "The level required to kick a user."
|
||
|
},
|
||
|
"redact": {
|
||
|
"type": "number",
|
||
|
"description": "The level required to redact an event."
|
||
|
},
|
||
|
"state_default": {
|
||
|
"type": "number",
|
||
|
"description": "The default level required to send state events. Can be overridden by the ``events`` key."
|
||
|
},
|
||
|
"users_default": {
|
||
|
"type": "number",
|
||
|
"description": "The default power level for every user in the room, unless their ``user_id`` is mentioned in the ``users`` key."
|
||
|
},
|
||
|
"events": {
|
||
|
"type": "object",
|
||
|
"title": "Event power levels",
|
||
|
"description": "The level required to send specific event types. This is a mapping from event type to power level required.",
|
||
|
"additionalProperties": {
|
||
|
"type": "number"
|
||
|
}
|
||
|
},
|
||
|
"users": {
|
||
|
"type": "object",
|
||
|
"title": "User power levels",
|
||
|
"description": "The power levels for specific users. This is a mapping from ``user_id`` to power level for that user.",
|
||
|
"additionalProperties": {
|
||
|
"type": "number"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"required": ["ban","events","events_default","kick","redact",
|
||
|
"state_default","users"]
|
||
|
},
|
||
|
"state_key": {
|
||
|
"type": "string",
|
||
|
"description": "A zero-length string.",
|
||
|
"pattern": "^$"
|
||
|
},
|
||
|
"type": {
|
||
|
"type": "string",
|
||
|
"enum": ["m.room.power_levels"]
|
||
|
}
|
||
|
}
|
||
|
}
|