pub struct ConversationSummaryDetailed {Show 16 fields
pub channel_id: u64,
pub channel_name: String,
pub participant_count: usize,
pub message_count: usize,
pub participants: Vec<String>,
pub first_message_time: Option<u64>,
pub last_message_time: Option<u64>,
pub duration_secs: u64,
pub messages_per_minute: f64,
pub top_senders: Vec<(String, usize)>,
pub most_active_participant: Option<String>,
pub most_active_count: usize,
pub avg_message_length: f64,
pub thread_count: usize,
pub reply_count: usize,
pub has_affect_data: bool,
}Expand description
Detailed conversation statistics for a channel.
Fields§
§channel_id: u64Channel ID.
channel_name: StringChannel name.
participant_count: usizeNumber of unique participants.
message_count: usizeTotal number of messages.
participants: Vec<String>List of participant names.
first_message_time: Option<u64>Timestamp of the first message (epoch seconds), if any.
last_message_time: Option<u64>Timestamp of the last message (epoch seconds), if any.
duration_secs: u64Duration of conversation in seconds.
messages_per_minute: f64Messages per minute rate.
top_senders: Vec<(String, usize)>Top senders sorted by message count descending.
most_active_participant: Option<String>Participant with the most messages, if any.
most_active_count: usizeNumber of messages from the most active participant.
avg_message_length: f64Average message content length in bytes.
thread_count: usizeNumber of distinct thread IDs.
reply_count: usizeNumber of messages with reply_to set.
has_affect_data: boolWhether any messages have affect data.
Trait Implementations§
Source§impl Clone for ConversationSummaryDetailed
impl Clone for ConversationSummaryDetailed
Source§fn clone(&self) -> ConversationSummaryDetailed
fn clone(&self) -> ConversationSummaryDetailed
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ConversationSummaryDetailed
impl Debug for ConversationSummaryDetailed
Source§impl<'de> Deserialize<'de> for ConversationSummaryDetailed
impl<'de> Deserialize<'de> for ConversationSummaryDetailed
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for ConversationSummaryDetailed
impl RefUnwindSafe for ConversationSummaryDetailed
impl Send for ConversationSummaryDetailed
impl Sync for ConversationSummaryDetailed
impl Unpin for ConversationSummaryDetailed
impl UnsafeUnpin for ConversationSummaryDetailed
impl UnwindSafe for ConversationSummaryDetailed
Blanket Implementations§
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
Mutably borrows from an owned value. Read more