use anyhow::Result;
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct MatrixMessage {
pub event_id: String,
pub room_id: String,
pub sender: String,
pub content: MessageContent,
pub origin_server_ts: u64,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct MessageContent {
pub msgtype: String,
pub body: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub formatted_body: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub format: Option<String>,
}
pub struct MessageHandler;
impl MessageHandler {
pub fn new() -> Self {
Self
}
pub async fn process_incoming_message(&self, message: MatrixMessage) -> Result<()> {
Ok(())
}
pub async fn format_for_teams(&self, message: &MatrixMessage) -> String {
message.content.body.clone()
}
}