#[non_exhaustive]pub struct RoomMessageEventContentWithoutRelation {
pub msgtype: MessageType,
pub mentions: Option<Mentions>,
}
Expand description
Form of RoomMessageEventContent
without relation.
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.msgtype: MessageType
A key which identifies the type of message being sent.
This also holds the specific content of each message.
mentions: Option<Mentions>
The mentions of this event.
Implementations§
Source§impl RoomMessageEventContentWithoutRelation
impl RoomMessageEventContentWithoutRelation
Sourcepub fn new(msgtype: MessageType) -> Self
pub fn new(msgtype: MessageType) -> Self
Creates a new RoomMessageEventContentWithoutRelation
with the given MessageType
.
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 with_relation(
self,
relates_to: Option<Relation<RoomMessageEventContentWithoutRelation>>,
) -> RoomMessageEventContent
pub fn with_relation( self, relates_to: Option<Relation<RoomMessageEventContentWithoutRelation>>, ) -> RoomMessageEventContent
Transform self
into a RoomMessageEventContent
with the given relation.
Sourcepub fn make_reply_to<'a>(
self,
metadata: impl Into<ReplyMetadata<'a>>,
forward_thread: ForwardThread,
add_mentions: AddMentions,
) -> RoomMessageEventContent
pub fn make_reply_to<'a>( self, metadata: impl Into<ReplyMetadata<'a>>, forward_thread: ForwardThread, add_mentions: AddMentions, ) -> RoomMessageEventContent
Turns self
into a rich reply to the message using the given metadata.
Sets the in_reply_to
field inside relates_to
, and optionally the rel_type
to
m.thread
if the metadata has a thread
and ForwardThread::Yes
is used.
If AddMentions::Yes
is used, the sender
in the metadata is added as a user mention.
Sourcepub fn make_for_thread<'a>(
self,
metadata: impl Into<ReplyMetadata<'a>>,
is_reply: ReplyWithinThread,
add_mentions: AddMentions,
) -> RoomMessageEventContent
pub fn make_for_thread<'a>( self, metadata: impl Into<ReplyMetadata<'a>>, is_reply: ReplyWithinThread, add_mentions: AddMentions, ) -> RoomMessageEventContent
Turns self
into a new message for a thread, that is optionally a reply.
Looks for the thread
in the given metadata. If it exists, this message will be in the same
thread. If it doesn’t, a new thread is created with the event_id
in the metadata as the
root.
It also sets the in_reply_to
field inside relates_to
to point the event_id
in the metadata. If ReplyWithinThread::Yes
is used, the metadata should be constructed
from the event to make a reply to, otherwise it should be constructed from the latest
event in the thread.
If AddMentions::Yes
is used, the sender
in the metadata is added as a user mention.
Sourcepub fn make_replacement(
self,
metadata: impl Into<ReplacementMetadata>,
) -> RoomMessageEventContent
pub fn make_replacement( self, metadata: impl Into<ReplacementMetadata>, ) -> RoomMessageEventContent
Turns self
into a replacement (or edit) for a given message.
The first argument after self
can be &OriginalRoomMessageEvent
or
&OriginalSyncRoomMessageEvent
if you don’t want to create ReplacementMetadata
separately
before calling this function.
This takes the content and sets it in m.new_content
, and modifies the content
to include
a fallback.
If this message contains Mentions
, they are copied into m.new_content
to keep the same
mentions, but the ones in content
are filtered with the ones in the
ReplacementMetadata
so only new mentions will trigger a notification.
§Panics
Panics if self
has a formatted_body
with a format other than HTML.
Sourcepub fn add_mentions(self, mentions: Mentions) -> Self
pub fn add_mentions(self, mentions: Mentions) -> Self
Trait Implementations§
Source§impl Clone for RoomMessageEventContentWithoutRelation
impl Clone for RoomMessageEventContentWithoutRelation
Source§fn clone(&self) -> RoomMessageEventContentWithoutRelation
fn clone(&self) -> RoomMessageEventContentWithoutRelation
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more