mrsbfh

Matrix-Rust-SDK-Bot-Framework-Helper
git clone git://archive.git.mtrnord.blog/MTRNord/mrsbfh.git
Log | Files | Refs | README

main.rs (868B)


      1 use crate::config::Config;
      2 use clap::Parser;
      3 use mrsbfh::config::Loader;
      4 use std::error::Error;
      5 use tracing::*;
      6 
      7 pub mod commands;
      8 mod config;
      9 mod errors;
     10 mod matrix;
     11 
     12 #[derive(Parser, Debug)]
     13 #[clap(version = "0.1.0", author = "MTRNord")]
     14 struct Opts {
     15     #[clap(short, long, default_value = "config.yml")]
     16     config: String,
     17 }
     18 
     19 #[tokio::main]
     20 async fn main() -> Result<(), Box<dyn Error>> {
     21     tracing_subscriber::fmt()
     22         .pretty()
     23         .with_thread_names(true)
     24         .with_max_level(tracing::Level::INFO)
     25         .init();
     26 
     27     info!("Starting...");
     28     let opts: Opts = Opts::parse();
     29 
     30     info!("Loading Configs...");
     31     let config = Config::load(opts.config)?;
     32     info!("Setting up Client...");
     33     let client = &mut matrix::setup(config.clone()).await?;
     34     info!("Starting Sync...");
     35     matrix::start_sync(client, config).await?;
     36 
     37     Ok(())
     38 }