From 4ae73c3e2b9a660106030f84e06540ef1324b33e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gustav=20S=C3=B6rn=C3=A4s?= Date: Wed, 11 Nov 2020 00:25:47 +0100 Subject: initial slack --- .gitignore | 1 + Cargo.toml | 12 ++++++++++++ src/main.rs | 33 +++++++++++++++++++++++++++++++++ 3 files changed, 46 insertions(+) create mode 100644 .gitignore create mode 100644 Cargo.toml create mode 100644 src/main.rs diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ea8c4bf --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/target diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..8d7ffc7 --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,12 @@ +[package] +name = "agenda-bot" +version = "0.1.0" +authors = ["Gustav Sörnäs "] +edition = "2018" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] +serenity = "0.9" # discord api +slack_api = "0.23" +tokio = { version = "0.2", features = ["full"] } diff --git a/src/main.rs b/src/main.rs new file mode 100644 index 0000000..aef3fa9 --- /dev/null +++ b/src/main.rs @@ -0,0 +1,33 @@ +use slack_api as slack; + +#[tokio::main] +async fn main() { + println!("Hello, world!"); + println!("Setting up Slack"); + + let slack_token = std::env::var("SLACK_API_TOKEN").expect("No token"); + let slack_client = slack::default_client().unwrap(); + + let slack_request = slack::rtm::StartRequest::default(); + let response = slack::rtm::start(&slack_client, &slack_token, &slack_request).await; + + if let Ok(response) = response { + if let Some(channels) = response.channels { + let channel_names = channels + .iter() + .filter_map(|c| c.name.as_ref()) + .collect::>(); + println!("Got channels {:?}", channel_names); + } + + if let Some(users) = response.users { + let user_names = users + .iter() + .filter_map(|u| u.name.as_ref()) + .collect::>(); + println!("Got users {:?}", user_names); + } + } else { + println!("{:?}", response) + } +} -- cgit v1.2.1