rustybook-messenger 0.2.1

Messenger client for Rustybook
Documentation
use crate::gateway::events::MessageEvent;

#[derive(Debug, Clone)]
pub struct User {
    pub id: String,
    pub name: Option<String>,
}

#[derive(Debug, Clone)]
pub struct Message {
    pub message_id: Option<String>,
    pub thread_id: String,
    pub sender_id: String,
    pub text: Option<String>,
    pub timestamp_ms: Option<i64>,
}

#[derive(Debug, Clone)]
pub struct Typing {
    pub user_id: String,
    pub thread_id: Option<String>,
    pub is_typing: bool,
}

#[derive(Debug, Clone)]
pub struct Presence {
    pub user_id: String,
    pub is_active: bool,
    pub last_active_ms: Option<i64>,
}

impl From<&MessageEvent> for Message {
    fn from(message: &MessageEvent) -> Self {
        Message {
            message_id: message.message_id.clone(),
            thread_id: message.thread_id.clone(),
            sender_id: message.sender_id.clone(),
            text: message.text.clone(),
            timestamp_ms: message.timestamp_ms,
        }
    }
}