You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
71 lines
3.7 KiB
Plaintext
71 lines
3.7 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.\n\nIf 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.\n\nThe 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. If there is no ``state_default`` in the ``power_levels`` event, the ``state_default`` is 50. If the room contains no ``power_levels`` event, the ``state_default`` is 0. The ``events_default`` is 0 in either of these cases.",
|
|
"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."
|
|
},
|
|
"invite": {
|
|
"type": "number",
|
|
"description": "The level required to invite a user."
|
|
},
|
|
"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"]
|
|
}
|
|
}
|
|
}
|