#[non_exhaustive]pub struct RoomEventFilter {
pub not_types: Vec<String>,
pub not_rooms: Vec<OwnedRoomId>,
pub limit: Option<UInt>,
pub rooms: Option<Vec<OwnedRoomId>>,
pub not_senders: Vec<OwnedUserId>,
pub senders: Option<Vec<OwnedUserId>>,
pub types: Option<Vec<String>>,
pub url_filter: Option<UrlFilter>,
pub lazy_load_options: LazyLoadOptions,
pub unread_thread_notifications: bool,
}client or server only.Expand description
Filters to be applied to room events.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.not_types: Vec<String>A list of event types to exclude.
If this list is absent then no event types are excluded. A matching type will be excluded even if it is listed in the ‘types’ filter. A ‘*’ can be used as a wildcard to match any sequence of characters.
not_rooms: Vec<OwnedRoomId>A list of room IDs to exclude.
If this list is absent then no rooms are excluded. A matching room will be excluded even if it is listed in the ‘rooms’ filter.
limit: Option<UInt>The maximum number of events to return.
rooms: Option<Vec<OwnedRoomId>>A list of room IDs to include.
If this list is absent then all rooms are included.
not_senders: Vec<OwnedUserId>A list of sender IDs to exclude.
If this list is absent then no senders are excluded. A matching sender will be excluded even if it is listed in the ‘senders’ filter.
senders: Option<Vec<OwnedUserId>>A list of senders IDs to include.
If this list is absent then all senders are included.
types: Option<Vec<String>>A list of event types to include.
If this list is absent then all event types are included. A ‘*’ can be used as a wildcard to match any sequence of characters.
url_filter: Option<UrlFilter>Controls whether to include events with a URL key in their content.
None: No filteringSome(EventsWithUrl): Only events with a URLSome(EventsWithoutUrl): Only events without a URL
lazy_load_options: LazyLoadOptionsOptions to control lazy-loading of membership events.
Defaults to LazyLoadOptions::Disabled.
unread_thread_notifications: boolWhether to enable per-thread notification counts.
Only applies to the sync_events endpoint.
Implementations§
Source§impl RoomEventFilter
impl RoomEventFilter
Sourcepub fn empty() -> Self
pub fn empty() -> Self
Creates an empty RoomEventFilter.
You can also use the Default implementation.
Sourcepub fn ignore_all() -> Self
pub fn ignore_all() -> Self
Creates a new RoomEventFilter that can be used to ignore all room events.
Sourcepub fn with_lazy_loading() -> Self
pub fn with_lazy_loading() -> Self
Creates a new RoomEventFilter with room member lazy-loading enabled.
Redundant membership events are disabled.
Trait Implementations§
Source§impl CanBeEmpty for RoomEventFilter
impl CanBeEmpty for RoomEventFilter
Source§impl Clone for RoomEventFilter
impl Clone for RoomEventFilter
Source§fn clone(&self) -> RoomEventFilter
fn clone(&self) -> RoomEventFilter
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for RoomEventFilter
impl Debug for RoomEventFilter
Source§impl Default for RoomEventFilter
impl Default for RoomEventFilter
Source§fn default() -> RoomEventFilter
fn default() -> RoomEventFilter
Source§impl<'de> Deserialize<'de> for RoomEventFilter
impl<'de> Deserialize<'de> for RoomEventFilter
Source§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>,
Auto Trait Implementations§
impl Freeze for RoomEventFilter
impl RefUnwindSafe for RoomEventFilter
impl Send for RoomEventFilter
impl Sync for RoomEventFilter
impl Unpin for RoomEventFilter
impl UnsafeUnpin for RoomEventFilter
impl UnwindSafe for RoomEventFilter
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T, UT> HandleAlloc<UT> for T
impl<T, UT> HandleAlloc<UT> for T
§fn new_handle(value: Arc<T>) -> Handle
fn new_handle(value: Arc<T>) -> Handle
§unsafe fn clone_handle(handle: Handle) -> Handle
unsafe fn clone_handle(handle: Handle) -> Handle
§unsafe fn consume_handle(handle: Handle) -> Arc<T>
unsafe fn consume_handle(handle: Handle) -> Arc<T>
Arc<> Read more