sm_chat 67.0.86

High-quality integration for https://supermaker.ai/chat/
Documentation
// examples/basic.rs

use sm_chat::{ChatSession, Message, User};

fn main() {
    // Example 1: Creating a new chat session and adding users.
    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());

    // Example 2: Sending messages in the chat session.
    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());

    // Example 3: Retrieving messages by user.
    println!("\nExample 3: Retrieving messages by user.");
    let alice_messages = session.get_messages_by_user(&user1);
    println!("Alice's messages: {:?}", alice_messages);

    // Example 4: Changing the chat session's name
    println!("\nExample 4: Changing the chat session's name");
    session.set_name("Important Updates");
    println!("New session name: {}", session.name());

    // Example 5: Removing a user from the chat session
    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/");
}