slackr 0.1.0

Rust library for managing Slack API.
Documentation
use std::env;
use std::path::Path;
use slackr::client::{ SlackClient, SlackEnvelope };


#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let dir = env!("CARGO_MANIFEST_DIR");
    let dotenv_path = Path::new(dir).join("assets/.env");
    dotenv::from_path(dotenv_path.as_path()).ok();

    let mut client = SlackClient::new();

    client.connect_to_socket(None).await;

    client.register_callback("message", |event: SlackEnvelope| {
        Box::pin(async move {
            let msg_event = &event.payload.event;
            println!("Received message: {:?} from {:?} in {:?}", msg_event.text, msg_event.user, msg_event.channel);
        })
    });

    client.listen().await;

    Ok(())
}