#![feature(let_chains, iter_intersperse)] #![allow(mixed_script_confusables)] use std::str::FromStr; #[macro_use] mod logging; mod alerts; mod bot; mod process; mod server; mod webhook; use server::*; use std::net::SocketAddr; emojib::the_crate! {} #[tokio::main(flavor = "current_thread")] async fn main() { tokio::spawn(alerts::run()); Server::spawn(SocketAddr::from(( [0, 0, 0, 0], std::env::var("PORT").map_or(4001, |x| u16::from_str(&x).unwrap()), ))) .await; }