Enum ruma_common::events::room::message::MessageType
source · pub enum MessageType {
Audio(AudioMessageEventContent),
Emote(EmoteMessageEventContent),
File(FileMessageEventContent),
Image(ImageMessageEventContent),
Location(LocationMessageEventContent),
Notice(NoticeMessageEventContent),
ServerNotice(ServerNoticeMessageEventContent),
Text(TextMessageEventContent),
Video(VideoMessageEventContent),
VerificationRequest(KeyVerificationRequestEventContent),
// some variants omitted
}events only.Expand description
The content that is specific to each message type variant.
Variants§
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
Available on crate feature markdown only.
pub fn text_markdown(body: impl AsRef<str> + Into<String>) -> Self
markdown only.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
Available on crate feature markdown only.
pub fn notice_markdown(body: impl AsRef<str> + Into<String>) -> Self
markdown only.A constructor to create a markdown notice.
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.
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