logo
pub struct RoomMessageEventContent {
    pub msgtype: MessageType,
    pub relates_to: Option<Relation>,
}
Available on crate feature events only.
Expand description

The content of an m.room.message event.

This event is used when sending messages in a room.

Messages are not limited to be text.

Fields

msgtype: MessageType

A key which identifies the type of message being sent.

This also holds the specific content of each message.

relates_to: Option<Relation>

Information about related messages for rich replies.

Implementations

Create a RoomMessageEventContent with the given MessageType.

A constructor to create a plain text message.

A constructor to create an html message.

Available on crate feature markdown only.

A constructor to create a markdown message.

A constructor to create a plain text notice.

A constructor to create an html notice.

Available on crate feature markdown only.

A constructor to create a markdown notice.

Turns self into a reply to the given message.

Takes the body / formatted_body (if any) in self for the main text and prepends a quoted version of original_message. Also sets the in_reply_to field inside relates_to.

This function requires an OriginalRoomMessageEvent since it creates a permalink to the previous message, for which the room ID is required. If you want to reply to an OriginalSyncRoomMessageEvent, you have to convert it first by calling .into_full_event().

If the message was edited, the previous message should be the original message that was edited, with the content of its replacement, to allow the fallback to be accurate at the time it is added.

It is recommended to enable the sanitize feature when using this method as this will clean up nested rich reply fallbacks in chains of replies. This uses sanitize_html() internally, with RemoveReplyFallback::Yes.

Panics

Panics if self has a formatted_body with a format other than HTML.

👎Deprecated:

use Self::text_plain(reply).make_reply_to(original_message) instead

Creates a plain text reply to a message.

This function requires an OriginalRoomMessageEvent since it creates a permalink to the previous message, for which the room ID is required. If you want to reply to an OriginalSyncRoomMessageEvent, you have to convert it first by calling .into_full_event().

If the message was edited, the previous message should be the original message that was edited, with the content of its replacement, to allow the fallback to be accurate at the time it is added.

It is recommended to enable the sanitize feature when using this method as this will clean up nested rich reply fallbacks in chains of replies. This uses sanitize_html() internally, with RemoveReplyFallback::Yes.

👎Deprecated:

use Self::text_html(reply, html_reply).make_reply_to(original_message) instead

Creates a html text reply to a message.

This function requires an OriginalRoomMessageEvent since it creates a permalink to the previous message, for which the room ID is required. If you want to reply to an OriginalSyncRoomMessageEvent, you have to convert it first by calling .into_full_event().

If the message was edited, the previous message should be the original message that was edited, with the content of its replacement, to allow the fallback to be accurate at the time it is added.

It is recommended to enable the sanitize feature when using this method as this will clean up nested rich reply fallbacks in chains of replies. This uses sanitize_html() internally, with RemoveReplyFallback::Yes.

👎Deprecated:

use Self::notice_plain(reply).make_reply_to(original_message) instead

Creates a plain text notice reply to a message.

This function requires an OriginalRoomMessageEvent since it creates a permalink to the previous message, for which the room ID is required. If you want to reply to an OriginalSyncRoomMessageEvent, you have to convert it first by calling .into_full_event().

If the message was edited, the previous message should be the original message that was edited, with the content of its replacement, to allow the fallback to be accurate at the time it is added.

It is recommended to enable the sanitize feature when using this method as this will clean up nested rich reply fallbacks in chains of replies. This uses sanitize_html() internally, with RemoveReplyFallback::Yes.

👎Deprecated:

use Self::notice_html(reply, html_reply).make_reply_to(original_message) instead

Creates a html text notice reply to a message.

This function requires an OriginalRoomMessageEvent since it creates a permalink to the previous message, for which the room ID is required. If you want to reply to an OriginalSyncRoomMessageEvent, you have to convert it first by calling .into_full_event().

If the message was edited, the previous message should be the original message that was edited, with the content of its replacement, to allow the fallback to be accurate at the time it is added.

It is recommended to enable the sanitize feature when using this method as this will clean up nested rich reply fallbacks in chains of replies. This uses sanitize_html() internally, with RemoveReplyFallback::Yes.

Available on crate feature unstable-msc3440 only.

Create a new reply with the given message and optionally forwards the Relation::Thread.

If message is a text, an emote or a notice message, it is modified to include the rich reply fallback.

This function requires an OriginalRoomMessageEvent since it creates a permalink to the previous message, for which the room ID is required. If you want to reply to an OriginalSyncRoomMessageEvent, you have to convert it first by calling .into_full_event().

If the message was edited, the previous message should be the original message that was edited, with the content of its replacement, to allow the fallback to be accurate at the time it is added.

It is recommended to enable the sanitize feature when using this method as this will clean up nested rich reply fallbacks in chains of replies. This uses sanitize_html() internally, with RemoveReplyFallback::Yes.

Available on crate feature unstable-msc3440 only.

Create a new message for a thread that is optionally a reply.

Looks for a Relation::Thread in previous_message. If it exists, a message for the same thread is created. If it doesn’t, a new thread with previous_message as the root is created.

If message is a text, an emote or a notice message, and this is a reply in the thread, it is modified to include the rich reply fallback.

This function requires an OriginalRoomMessageEvent since it creates a permalink to the previous message, for which the room ID is required. If you want to reply to an OriginalSyncRoomMessageEvent, you have to convert it first by calling .into_full_event().

If the message was edited, the previous message should be the original message that was edited, with the content of its replacement, to allow the fallback to be accurate at the time it is added.

It is recommended to enable the sanitize feature when using this method as this will clean up nested rich reply fallbacks in chains of replies. This uses sanitize_html() internally, with RemoveReplyFallback::Yes.

Returns a reference to the msgtype string.

If you want to access the message type-specific data rather than the message type itself, use the msgtype field, not this method.

Return a reference to the message body.

Available on crate feature unstable-sanitize only.

Sanitize this message.

If this message contains HTML, this removes the tags and attributes that are not listed in the Matrix specification.

It can also optionally remove the rich reply fallback from the plain text and HTML message.

This method is only effective on text, notice and emote messages.

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
The Rust enum for the event kind’s known types.
Get the event’s type, like m.room.message.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
The redacted form of the event’s content.
Transform self into a redacted form (removing most or all fields) according to the spec. Read more
Serialize this value into the given Serde serializer. Read more
The event’s “kind”. Read more
The event 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
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.

Should always be Self
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
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