zulip-api 0.0.8

Client library for interacting with the Zulip API
Documentation
use zulip_api::client::Client;
use zulip_api::message::{MessageTo, MessageType};
use zulip_api::response::{ApiResult, Response};
use zulip_api::{edit_message, send_message};

#[tokio::test]
async fn test_edit_message() {
    env_logger::Builder::from_env(env_logger::Env::default().default_filter_or("info"))
        .try_init()
        .ok();

    let client = Client::from_zuliprc("./tests/zuliprc").unwrap();

    let req = send_message::Request::new()
        .with_msg_type(MessageType::Channel)
        .with_topic("test topic")
        .with_to(MessageTo::channel_name("general"))
        .with_content("test message");

    let res = client.send_message(&req).await.unwrap();

    log::debug!("Send message response: {res}");

    let msg_id = res.id().unwrap();

    let req = edit_message::Request::new()
        .with_message_id(msg_id)
        .with_content("edited message");

    let res = client.edit_message(&req).await.unwrap();

    log::debug!("Edit message response: {res}");

    assert_eq!(res.result(), ApiResult::Success);
}