use std::env; use anyhow::{bail, Result}; use dotenv::dotenv; use crate::Chatbot; /// Runs the chatbot pub async fn run() -> Result<()> { dotenv().ok(); let (user, password, homeserver, room) = match ( env::var("CRIEUR_MATRIX_USER"), env::var("CRIEUR_MATRIX_PASSWORD"), env::var("CRIEUR_MATRIX_HOMESERVER"), env::var("CRIEUR_MATRIX_ROOM"), ) { (Ok(user), Ok(password), Ok(homeserver), Ok(room)) => (user, password, homeserver, room), _ => bail!("Configuration incomplete, please set all required environment variables"), }; let chatbot = Chatbot::builder() .login(&user, &password) .homeserver(&homeserver) .room(&room) .connect() .await?; chatbot.run().await?; Ok(()) }