#![feature(new_uninit, once_cell, trait_alias)] mod bot; mod cmd; mod config; mod utils; use crate::bot::Bot; use crate::cmd::Cmd; use matrix_sdk; use std::env; #[tokio::main] async fn main() -> matrix_sdk::Result<()> { config::setup_logging(); config::check_argument_or_abort(true); let basic_cmds = vec![ Cmd::new_simple(format!("ping"), 0, |_x| true), Cmd::new_echo(format!("bot_name"), 0, |_x| format!("toto")), ]; let mut bot = Bot::new(env::args().last().unwrap()); Bot::add_package(bot.get_configuration(), format!("basic"), basic_cmds); bot.connect().await?.listen().await }