Struct ruma_common::push::ConditionalPushRule [−][src]
pub struct ConditionalPushRule { pub actions: Vec<Action>, pub default: bool, pub enabled: bool, pub rule_id: String, pub conditions: Vec<PushCondition>, }
Expand description
Like SimplePushRule
, but with an additional conditions
field.
Only applicable to underride and override rules.
To create an instance of this type, first create a ConditionalPushRuleInit
and convert it via
ConditionalPushRule::from
/ .into()
.
Fields
actions: Vec<Action>
Actions to determine if and how a notification is delivered for events matching this rule.
default: bool
Whether this is a default rule, or has been set explicitly.
enabled: bool
Whether the push rule is enabled or not.
rule_id: String
The ID of this rule.
conditions: Vec<PushCondition>
The conditions that must hold true for an event in order for a rule to be applied to an event.
A rule with no conditions always matches.
Implementations
Default override push rules
Matches all events, this can be enabled to turn off all push notifications other than those generated by override rules set by the user.
Matches messages with a msgtype
of notice
.
Matches any invites to a new room for this user.
Matches any m.room.member_event
.
Matches any message whose content is unencrypted and contains the user’s current display name in the room in which it was sent.
Matches any state event whose type is m.room.tombstone
. This
is intended to notify users of a room when it is upgraded,
similar to what an @room
notification would accomplish.
Matches any message whose content is unencrypted and contains the text @room
, signifying
the whole room should be notified of the event.
Default underrides push rules
Matches any encrypted event sent in a room with exactly two members. Unlike other push rules, this rule cannot be matched against the content of the event by nature of it being encrypted. This causes the rule to be an “all or nothing” match where it either matches all events that are encrypted (in 1:1 rooms) or none.
Matches any message sent in a room with exactly two members.
Matches all encrypted events. Unlike other push rules, this rule cannot be matched against the content of the event by nature of it being encrypted. This causes the rule to be an “all or nothing” match where it either matches all events that are encrypted (in group rooms) or none.
Check if the push rule applies to the event.
Arguments
event
- The flattened JSON representation of a room message event.context
- The context of the room at the time of the event.
Trait Implementations
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Compare self to key
and return true
if they are equal.
Performs the conversion.
Auto Trait Implementations
impl RefUnwindSafe for ConditionalPushRule
impl Send for ConditionalPushRule
impl Sync for ConditionalPushRule
impl Unpin for ConditionalPushRule
impl UnwindSafe for ConditionalPushRule
Blanket Implementations
Mutably borrows from an owned value. Read more
Compare self to key
and return true
if they are equal.
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more