[−][src]Struct ruma_events::room::member::MemberEvent
The current membership state of a user in the room.
Adjusts the membership state for a user in a room. It is preferable to use the membership
APIs (/rooms/<room id>/invite
etc) when performing membership actions rather than
adjusting the state directly as there are a restricted set of valid transformations. For
example, user A cannot force user B to join a room, and trying to force this state change
directly will fail.
The third_party_invite
property will be set if this invite is an invite event and is the
successor of an m.room.third_party_invite event, and absent otherwise.
This event may also include an invite_room_state
key inside the event's unsigned data. If
present, this contains an array of StrippedState
events. These events provide information
on a subset of state events such as the room name. Note that ruma-events treats unsigned
data on events as arbitrary JSON values, and the ruma-events types for this event don't
provide direct access to invite_room_state
. If you need this data, you must extract and
convert it from a serde_json::Value
yourself.
The user for which a membership applies is represented by the state_key
. Under some
conditions, the sender
and state_key
may not match - this may be interpreted as the
sender
affecting the membership state of the state_key
user.
The membership for a given user can change over time. Previous membership can be retrieved
from the prev_content
object on an event. If not present, the user's previous membership
must be assumed as leave.
Fields
content: MemberEventContent
The event's content.
event_id: EventId
The unique identifier for the event.
origin_server_ts: UInt
Timestamp (milliseconds since the UNIX epoch) on originating homeserver when this event was sent.
prev_content: Option<MemberEventContent>
The previous content for this state key, if any.
room_id: Option<RoomId>
The unique identifier for the room associated with this event.
sender: UserId
The unique identifier for the user who sent this event.
state_key: String
A key that determines which piece of room state the event represents.
unsigned: Map<String, Value>
Additional key-value pairs not signed by the homeserver.
Methods
impl MemberEvent
[src]
pub fn membership_change(&self) -> MembershipChange
[src]
Helper function for memebership change. Check the specification for details.
Trait Implementations
impl Clone for MemberEvent
[src]
fn clone(&self) -> MemberEvent
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Debug for MemberEvent
[src]
impl Event for MemberEvent
[src]
type Content = MemberEventContent
The type of this event's content
field.
fn content(&self) -> &Self::Content
[src]
The event's content.
fn event_type(&self) -> EventType
[src]
The type of the event.
impl From<MemberEvent> for Event
[src]
fn from(event: MemberEvent) -> Self
[src]
impl From<MemberEvent> for RoomEvent
[src]
fn from(event: MemberEvent) -> Self
[src]
impl From<MemberEvent> for StateEvent
[src]
fn from(event: MemberEvent) -> Self
[src]
impl FromRaw for MemberEvent
[src]
impl PartialEq<MemberEvent> for MemberEvent
[src]
fn eq(&self, other: &MemberEvent) -> bool
[src]
fn ne(&self, other: &MemberEvent) -> bool
[src]
impl RoomEvent for MemberEvent
[src]
fn event_id(&self) -> &EventId
[src]
The unique identifier for the event.
fn origin_server_ts(&self) -> UInt
[src]
Timestamp (milliseconds since the UNIX epoch) on originating homeserver when this event was sent.
fn room_id(&self) -> Option<&RoomId>
[src]
The unique identifier for the room associated with this event.
This can be None
if the event came from a context where there is
no ambiguity which room it belongs to, like a /sync
response for example.
fn sender(&self) -> &UserId
[src]
The unique identifier for the user who sent this event.
fn unsigned(&self) -> &Map<String, Value>
[src]
Additional key-value pairs not signed by the homeserver.
impl Serialize for MemberEvent
[src]
fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error> where
__S: Serializer,
[src]
__S: Serializer,
impl StateEvent for MemberEvent
[src]
fn prev_content(&self) -> Option<&Self::Content>
[src]
The previous content for this state key, if any.
fn state_key(&self) -> &str
[src]
A key that determines which piece of room state the event represents.
impl StructuralPartialEq for MemberEvent
[src]
Auto Trait Implementations
impl RefUnwindSafe for MemberEvent
impl Send for MemberEvent
impl Sync for MemberEvent
impl Unpin for MemberEvent
impl UnwindSafe for MemberEvent
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,