1
Fork 0
mirror of https://github.com/RYGhub/royalnet.git synced 2024-11-22 19:14:20 +00:00
royalnet/src/main.rs

36 lines
1 KiB
Rust
Raw Normal View History

use anyhow::Result;
use crate::telegram::DispatchWithResult;
2024-07-04 01:15:39 +00:00
pub(crate) mod database;
2024-07-04 01:15:39 +00:00
mod telegram;
#[tokio::main]
async fn main() -> Result<()> {
// Logging setup
pretty_env_logger::init();
log::debug!("Logging initialized successfully!");
// Telegram setup
log::trace!("Setting up Telegram bot dispatcher...");
let mut telegram_dispatcher = telegram::dispatcher();
let telegram_awaitable = telegram_dispatcher.dispatch_with_result();
// Run all services concurrently
log::info!("Starting services...");
let result = tokio::try_join![
telegram_awaitable,
];
2024-07-04 01:15:39 +00:00
// This should never happen, but just in case...
match result {
Err(error) => {
log::error!("A service has exited with an error, bailing out: {error:?}");
anyhow::bail!("A service has exited with an error.")
},
_ => {
log::error!("All service have exited successfully, bailing out...");
anyhow::bail!("All service have exited successfully.")
}
}
2024-07-04 01:15:39 +00:00
}