pub mod core; pub mod modules; use std::process::Output; use crate::core::botinstance::ArcBox; use crate::core::botinstance::BotInstance; use casual_logger::Extension; use tokio::sync::RwLock; use std::sync::Arc; pub type BotAR = Arc>; use casual_logger::{Level,Log}; #[tokio::main] pub async fn main() { Log::set_file_ext(Extension::Log); Log::set_level(Level::Trace); // Log::set_level(Level::Notice); let bot = BotInstance::init().await; Log::debug("Checking bot actions"); let a = Arc::clone(&bot.botmodules.botactions); let a = a.read().await; // let a = *a; for (_,acts) in &*a { for act in acts { match act { crate::core::botmodules::BotAction::C(b) => { // println!("bot actiions: {}",b.command) Log::info(&format!("bot actions: {}",b.command)); }, crate::core::botmodules::BotAction::L(l) => { // println!("bot actiions: {}",l.name) Log::info(&format!("bot actions: {}",l.name)); }, _ => { // println!("Not a valid match??") Log::info("Not a valid match??"); }, } } }; // println!("Starting runner.."); Log::notice("Starting Bot Runner"); Log::flush(); bot.runner().await; // println!("ERROR : EXIT Game loop"); // let msg = Log::fatal("ERROR : EXIT Game loop"); panic!("{}",Log::fatal("ERROR : EXIT Game loop")); }