use csml_engine::fold_bot; use csml_interpreter::{ data::{csml_bot::CsmlBot, csml_flow::CsmlFlow}, load_components, }; use std::fs::File; use std::io::prelude::*; fn get_flow(name: &str) -> Result { let file_path = format!("CSML/{}.csml", name); let mut file = File::open(file_path)?; let mut contents = String::new(); file.read_to_string(&mut contents)?; Ok(contents) } fn init_bot() -> CsmlBot { CsmlBot { id: "botid".to_owned(), name: "plop".to_owned(), apps_endpoint: Some("endpoint".to_owned()), flows: vec![ CsmlFlow { id: "flowid".to_owned(), name: "flow".to_owned(), content: get_flow("flow").expect("error in reading flow"), commands: vec!["/plop".to_owned()], }, CsmlFlow { id: "2".to_owned(), name: "flow2".to_owned(), content: get_flow("flow2").expect("error in reading flow"), commands: vec!["/random".to_owned()], }, ], native_components: Some(load_components().unwrap()), custom_components: None, default_flow: "flow".to_owned(), bot_ast: None, no_interruption_delay: None, env: None, modules: None, multibot: None, } } fn main() { let bot = init_bot(); let folded = fold_bot(bot).unwrap(); let path = "bot_folded2.txt"; let mut output = File::create(path).unwrap(); write!(output, "{}", &folded).unwrap(); }