#[non_exhaustive]pub enum MessageType {
Audio(AudioMessageEventContent),
Emote(EmoteMessageEventContent),
File(FileMessageEventContent),
Image(ImageMessageEventContent),
Location(LocationMessageEventContent),
Notice(NoticeMessageEventContent),
ServerNotice(ServerNoticeMessageEventContent),
Text(TextMessageEventContent),
Video(VideoMessageEventContent),
VerificationRequest(KeyVerificationRequestEventContent),
}
Expand description
The content that is specific to each message type variant.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Audio(AudioMessageEventContent)
An audio message.
Emote(EmoteMessageEventContent)
An emote message.
File(FileMessageEventContent)
A file message.
Image(ImageMessageEventContent)
An image message.
Location(LocationMessageEventContent)
A location message.
Notice(NoticeMessageEventContent)
A notice message.
ServerNotice(ServerNoticeMessageEventContent)
A server notice message.
Text(TextMessageEventContent)
A text message.
Video(VideoMessageEventContent)
A video message.
VerificationRequest(KeyVerificationRequestEventContent)
A request to initiate a key verification.
Implementations§
Source§impl MessageType
impl MessageType
Sourcepub fn new(msgtype: &str, body: String, data: JsonObject) -> Result<Self>
pub fn new(msgtype: &str, body: String, data: JsonObject) -> Result<Self>
Creates a new MessageType
.
The msgtype
and body
are required fields as defined by the m.room.message
spec.
Additionally it’s possible to add arbitrary key/value pairs to the event content for custom
events through the data
map.
Prefer to use the public variants of MessageType
where possible; this constructor is meant
be used for unsupported message types only and does not allow setting arbitrary data for
supported ones.
§Errors
Returns an error if the msgtype
is known and serialization of data
to the corresponding
MessageType
variant fails.
Sourcepub fn text_plain(body: impl Into<String>) -> Self
pub fn text_plain(body: impl Into<String>) -> Self
A constructor to create a plain text message.
Sourcepub fn text_html(body: impl Into<String>, html_body: impl Into<String>) -> Self
pub fn text_html(body: impl Into<String>, html_body: impl Into<String>) -> Self
A constructor to create an html message.
Sourcepub fn text_markdown(body: impl AsRef<str> + Into<String>) -> Self
pub fn text_markdown(body: impl AsRef<str> + Into<String>) -> Self
A constructor to create a markdown message.
Sourcepub fn notice_plain(body: impl Into<String>) -> Self
pub fn notice_plain(body: impl Into<String>) -> Self
A constructor to create a plain text notice.
Sourcepub fn notice_html(
body: impl Into<String>,
html_body: impl Into<String>,
) -> Self
pub fn notice_html( body: impl Into<String>, html_body: impl Into<String>, ) -> Self
A constructor to create an html notice.
Sourcepub fn notice_markdown(body: impl AsRef<str> + Into<String>) -> Self
pub fn notice_markdown(body: impl AsRef<str> + Into<String>) -> Self
A constructor to create a markdown notice.
Sourcepub fn emote_plain(body: impl Into<String>) -> Self
pub fn emote_plain(body: impl Into<String>) -> Self
A constructor to create a plain text emote.
Sourcepub fn emote_html(body: impl Into<String>, html_body: impl Into<String>) -> Self
pub fn emote_html(body: impl Into<String>, html_body: impl Into<String>) -> Self
A constructor to create an html emote.
Sourcepub fn emote_markdown(body: impl AsRef<str> + Into<String>) -> Self
pub fn emote_markdown(body: impl AsRef<str> + Into<String>) -> Self
A constructor to create a markdown emote.
Sourcepub fn data(&self) -> Cow<'_, JsonObject>
pub fn data(&self) -> Cow<'_, JsonObject>
Returns the associated data.
The returned JSON object won’t contain the msgtype
and body
fields, use
.msgtype()
/ .body()
to access those.
Prefer to use the public variants of MessageType
where possible; this method is meant to
be used for custom message types only.
Sourcepub fn sanitize(
&mut self,
mode: HtmlSanitizerMode,
remove_reply_fallback: RemoveReplyFallback,
)
pub fn sanitize( &mut self, mode: HtmlSanitizerMode, remove_reply_fallback: RemoveReplyFallback, )
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. Note that you should be sure that the message is a reply, as there is no way to differentiate plain text reply fallbacks and markdown quotes.
This method is only effective on text, notice and emote messages.
Trait Implementations§
Source§impl Clone for MessageType
impl Clone for MessageType
Source§fn clone(&self) -> MessageType
fn clone(&self) -> MessageType
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more