use sm_chat::{ChatSession, Message, User};
fn main() {
println!("Example 1: Creating a chat session and adding users.");
let mut session = ChatSession::new("General Discussion");
let user1 = User::new("Alice", "alice@example.com");
let user2 = User::new("Bob", "bob@example.com");
session.add_user(user1.clone());
session.add_user(user2.clone());
println!("Session name: {}", session.name());
println!("Users in session: {:?}", session.users());
println!("\nExample 2: Sending messages in the chat session.");
let message1 = Message::new(&user1, "Hello Bob!");
let message2 = Message::new(&user2, "Hi Alice!");
session.add_message(message1.clone());
session.add_message(message2.clone());
println!("Messages in session: {:?}", session.messages());
println!("\nExample 3: Retrieving messages by user.");
let alice_messages = session.get_messages_by_user(&user1);
println!("Alice's messages: {:?}", alice_messages);
println!("\nExample 4: Changing the chat session's name");
session.set_name("Important Updates");
println!("New session name: {}", session.name());
println!("\nExample 5: Removing a user from the chat session");
session.remove_user(&user1);
println!("Users after removing Alice: {:?}", session.users());
println!("\nFor more advanced features and capabilities, visit https://supermaker.ai/chat/");
}