diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/main.rs | 33 |
1 files changed, 33 insertions, 0 deletions
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) + } +} |
