From f2f3d2aae52eaa53e93149244f2113273939620f Mon Sep 17 00:00:00 2001 From: Yash Karandikar Date: Mon, 27 Dec 2021 13:49:54 -0600 Subject: [PATCH] Add initial toml support --- .gitignore | 1 + Cargo.lock | 1 + Cargo.toml | 1 + src/main.rs | 12 ++++++++++-- 4 files changed, 13 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index ea8c4bf..db38427 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ /target +config.toml \ No newline at end of file diff --git a/Cargo.lock b/Cargo.lock index 9363ff7..b1ef1d2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -175,6 +175,7 @@ dependencies = [ "irc", "serenity", "tokio", + "toml", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 79e540d..f8ea640 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -8,6 +8,7 @@ edition = "2021" [dependencies] anyhow = "1.0.52" irc = "0.15" +toml = "0.5" [dependencies.tokio] version = "1.15.0" diff --git a/src/main.rs b/src/main.rs index 79272a1..0d0897c 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,4 +1,4 @@ -use std::{env, sync::Arc}; +use std::{env, sync::Arc, fs::File, io::Read}; use serenity::{ async_trait, @@ -18,6 +18,8 @@ use irc::{ proto::Command, }; +use toml::Value; + struct Handler; #[async_trait] @@ -81,7 +83,13 @@ impl TypeMapKey for SenderKey { #[tokio::main] async fn main() -> anyhow::Result<()> { - let token = env::var("DISCORD_TOKEN").expect("DISCORD_TOKEN not set"); + let filename = env::args().nth(1).expect("No filename was provided!"); + let mut data = String::new(); + File::open(filename)?.read_to_string(&mut data)?; + + let value = data.parse::()?; + + let token = value["token"].as_str().expect("No token provided!").to_string(); let mut discord_client = DiscordClient::builder(&token) .event_handler(Handler)