refluxer 0.2.0

Rust API wrapper for Fluxer
Documentation
mod common;
use common::setup;

#[tokio::test]
async fn test_get_current_user() {
    let (http, _) = setup();

    let user = http
        .get_current_user()
        .await
        .expect("get_current_user failed");
    assert!(!user.username.is_empty(), "bot should have a username");
    println!("Bot user: {}#{}", user.username, user.discriminator);
}

#[tokio::test]
async fn test_get_user_by_id() {
    let (http, _) = setup();

    let me = http
        .get_current_user()
        .await
        .expect("get_current_user failed");
    let fetched = http.get_user(me.id).await.expect("get_user failed");
    assert_eq!(me.id, fetched.id);
    assert_eq!(me.username, fetched.username);
}

#[tokio::test]
async fn test_create_dm_channel() {
    let (http, _) = setup();

    let me = http
        .get_current_user()
        .await
        .expect("get_current_user failed");

    match http.create_dm(me.id).await {
        Ok(channel) => {
            println!("DM channel opened: {}", channel.id);
        }
        Err(e) => {
            println!("create_dm returned error (expected for self): {e}");
        }
    }
}