aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGustav Sörnäs <gustav@sornas.net>2020-11-11 00:25:47 +0100
committerGustav Sörnäs <gustav@sornas.net>2020-11-11 00:25:47 +0100
commit4ae73c3e2b9a660106030f84e06540ef1324b33e (patch)
tree6f4b31869890a05f27c968f5b40e6137f6c2debb
parentf771b73bcda915ce69db49f40473558ae567223f (diff)
downloadkodapa-4ae73c3e2b9a660106030f84e06540ef1324b33e.tar.gz
initial slack
-rw-r--r--.gitignore1
-rw-r--r--Cargo.toml12
-rw-r--r--src/main.rs33
3 files changed, 46 insertions, 0 deletions
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 <gustav@sornas.net>"]
+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::<Vec<_>>();
+ println!("Got channels {:?}", channel_names);
+ }
+
+ if let Some(users) = response.users {
+ let user_names = users
+ .iter()
+ .filter_map(|u| u.name.as_ref())
+ .collect::<Vec<_>>();
+ println!("Got users {:?}", user_names);
+ }
+ } else {
+ println!("{:?}", response)
+ }
+}