aboutsummaryrefslogtreecommitdiff
path: root/src/lib.rs
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/lib.rs24
1 files changed, 21 insertions, 3 deletions
diff --git a/src/lib.rs b/src/lib.rs
index 0aba61c..ed6dcb6 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -26,6 +26,16 @@ pub struct Bot {
pub irc_client: irc::client::Client,
}
+fn get_env_var(var_name: &str) -> Option<String> {
+ match std::env::var(var_name) {
+ Ok(var) => {
+ info!("using {} from env", var_name);
+ Some(var)
+ }
+ Err(_) => None,
+ }
+}
+
impl Bot {
pub async fn new(config_path: &str) -> Result<Bot> {
use std::fs;
@@ -33,10 +43,18 @@ impl Bot {
let config_str = fs::read_to_string(config_path)?;
let mut config: config::Config = toml::from_str(&config_str)?;
- match std::env::var("CATINATOR_PASSWORD") {
+ if let Some(v) = get_env_var("CATINATOR_PASSWORD") {
+ config.user.password = v
+ };
+
+ if let Some(v) = get_env_var("CATINATOR_WA_API_KEY") {
+ config.settings.wa_api_key = v
+ };
+
+ match std::env::var("CATINATOR_WA_API_KEY") {
Ok(var) => {
- info!("using password from env var");
- config.user.password = var
+ info!("using wa api key from env var");
+ config.settings.wa_api_key = var
}
Err(_) => (),
}