pub struct SlackHistoryMessage {
pub ts: String,
pub user: Option<String>,
pub text: String,
pub thread_ts: Option<String>,
pub reply_count: u32,
pub bot_name: Option<String>,
pub parent_user_id: Option<String>,
pub latest_reply: Option<String>,
pub edited: Option<String>,
pub files: Vec<SlackFile>,
}Expand description
One message off conversations.history or conversations.replies.
Fields§
§ts: String§user: Option<String>§text: String§thread_ts: Option<String>None on a message with no thread at all. Equal to ts on a
thread’s parent, and the parent’s ts on a reply.
reply_count: u32Non-zero on a parent whose thread has replies.
bot_name: Option<String>A bot’s own display name, which rides the message: free where a human’s id has to be looked up.
parent_user_id: Option<String>Set on a reply, carrying the parent’s author, and absent on a
parent. This, not thread_ts, is what marks a reply: a parent
carries thread_ts too.
latest_reply: Option<String>A parent’s newest reply ts. Absent on a message with no replies.
edited: Option<String>The ts of the message’s newest edit, absent on one never edited.
This is the whole of what an edit looks like on this read path:
conversations.history sends the message it always was, with the
new text and this object. message_changed and message_deleted
are Events API shapes the sweep never sees, and a deleted message
is simply absent from history - so deletion has no frame here to
decide on. An edit to a message the cursor has passed is reached by
the thread’s periodic whole read, which judges it against the edit
watermark rather than the cursor.
files: Vec<SlackFile>Files shared on the message, ids and all.
Trait Implementations§
Source§impl Clone for SlackHistoryMessage
impl Clone for SlackHistoryMessage
Source§impl Debug for SlackHistoryMessage
impl Debug for SlackHistoryMessage
impl Eq for SlackHistoryMessage
Source§impl PartialEq for SlackHistoryMessage
impl PartialEq for SlackHistoryMessage
impl StructuralPartialEq for SlackHistoryMessage
Auto Trait Implementations§
impl Freeze for SlackHistoryMessage
impl RefUnwindSafe for SlackHistoryMessage
impl Send for SlackHistoryMessage
impl Sync for SlackHistoryMessage
impl Unpin for SlackHistoryMessage
impl UnsafeUnpin for SlackHistoryMessage
impl UnwindSafe for SlackHistoryMessage
Blanket Implementations§
§impl<T> AnySync for T
impl<T> AnySync for T
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more