logo
#[non_exhaustive]
pub struct RoomPowerLevels { pub ban: Int, pub events: BTreeMap<RoomEventType, Int>, pub events_default: Int, pub invite: Int, pub kick: Int, pub redact: Int, pub state_default: Int, pub users: BTreeMap<OwnedUserId, Int>, pub users_default: Int, pub notifications: NotificationPowerLevels, }
Expand description

The effective power levels of a room.

This struct contains the same fields as RoomPowerLevelsEventContent and be created from that using a From trait implementation, but it is also implements From<RedactedRoomPowerLevelsEventContent>, so can be used when wanting to inspect the power levels of a room, regardless of whether the most recent power-levels event is redacted or not.

Fields (Non-exhaustive)

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
ban: Int

The level required to ban a user.

events: BTreeMap<RoomEventType, Int>

The level required to send specific event types.

This is a mapping from event type to power level required.

events_default: Int

The default level required to send message events.

invite: Int

The level required to invite a user.

kick: Int

The level required to kick a user.

redact: Int

The level required to redact an event.

state_default: Int

The default level required to send state events.

users: BTreeMap<OwnedUserId, Int>

The power levels for specific users.

This is a mapping from user_id to power level for that user.

users_default: Int

The default power level for every user in the room.

notifications: NotificationPowerLevels

The power level requirements for specific notification types.

This is a mapping from key to power level for that notifications key.

Implementations

Get the power level of a specific user.

Whether the given user can do the given action based on the power levels.

Get the maximum power level of any user.

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Converts to this type from the input type.

Converts to this type from the input type.

Converts to this type from the input type.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more