use ExitCode in the main function
This commit is contained in:
+10
-6
@@ -1,12 +1,13 @@
|
|||||||
use log::{debug, error, LevelFilter};
|
use log::{debug, error, LevelFilter};
|
||||||
use serenity::prelude::*;
|
use serenity::prelude::*;
|
||||||
use spamcontest::Handler;
|
use spamcontest::Handler;
|
||||||
use std::{env, io, process};
|
use std::process::ExitCode;
|
||||||
|
use std::{env, io};
|
||||||
|
|
||||||
const TOKEN_VAR_KEY: &str = "DISCORD_TOKEN";
|
const TOKEN_VAR_KEY: &str = "DISCORD_TOKEN";
|
||||||
|
|
||||||
#[tokio::main]
|
#[tokio::main]
|
||||||
async fn main() {
|
async fn main() -> ExitCode {
|
||||||
env_logger::builder()
|
env_logger::builder()
|
||||||
.filter_module(module_path!(), LevelFilter::Info)
|
.filter_module(module_path!(), LevelFilter::Info)
|
||||||
.parse_default_env()
|
.parse_default_env()
|
||||||
@@ -16,7 +17,7 @@ async fn main() {
|
|||||||
Ok(token) => token,
|
Ok(token) => token,
|
||||||
Err(err) => {
|
Err(err) => {
|
||||||
error!("Unable to get {}: {}", TOKEN_VAR_KEY, err);
|
error!("Unable to get {}: {}", TOKEN_VAR_KEY, err);
|
||||||
process::exit(1);
|
return ExitCode::FAILURE;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -28,7 +29,7 @@ async fn main() {
|
|||||||
Ok(client) => client,
|
Ok(client) => client,
|
||||||
Err(err) => {
|
Err(err) => {
|
||||||
error!("Unable to start client: {}", err);
|
error!("Unable to start client: {}", err);
|
||||||
process::exit(2);
|
return ExitCode::FAILURE;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -42,9 +43,12 @@ async fn main() {
|
|||||||
shard_manager.lock().await.shutdown_all().await;
|
shard_manager.lock().await.shutdown_all().await;
|
||||||
});
|
});
|
||||||
|
|
||||||
if let Err(err) = client.start().await {
|
match client.start().await {
|
||||||
|
Ok(_) => ExitCode::SUCCESS,
|
||||||
|
Err(err) => {
|
||||||
error!("An error occurred while running the client: {}", err);
|
error!("An error occurred while running the client: {}", err);
|
||||||
process::exit(2);
|
ExitCode::FAILURE
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user