Struct ruma::push::ConditionalPushRule[][src]

pub struct ConditionalPushRule {
    pub actions: Vec<Action, Global>,
    pub default: bool,
    pub enabled: bool,
    pub rule_id: String,
    pub conditions: Vec<PushCondition, Global>,
}
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, Global>

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, Global>

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.

Matches emoji reactions to a message MSC2677: Annotations and Reactions

Default underrides push rules

Matches any incoming VOIP call.

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 chat messages.

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

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Deserialize this value from the given Serde deserializer. Read more

Performs the conversion.

Performs the conversion.

Feeds this value into the given Hasher. Read more

Feeds a slice of this type into the given Hasher. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Serialize this value into the given Serde serializer. Read more

The type returned in the event of a conversion error.

Performs the conversion.

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

Compare self to key and return true if they are equal.

Performs the conversion.

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

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

Performs the conversion.

Should always be Self

The resulting type after obtaining ownership.

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

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

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