#wrapper #pure #fetching #basic #blocking #link #dagpi

dagpirs

dagpi的纯Rust封装,具有图像操作和数据获取功能

7个版本

0.1.7 2021年8月2日
0.1.6 2021年6月5日
0.1.5 2021年5月4日
0.1.3 2021年3月18日

#479 in 图像

每月下载量 28次

MIT许可证

48KB
1K SLoC

Dagpi.rs

License Chat crate Rust Report Actions Docs Codacy Badge

Dagpi的纯Rust封装。


Crate: 链接

文档: 链接

Discord: 链接

请注意,这受到了Ksoft.rs的启发。许可证

异步使用


Cargo.toml

[dependencies]
version="1.0.0"


[dependencies.tokio]
version = "1.0"
features = ["macros"]

基本客户端

数据请求

使用非常基本的数据端点从API获取数据。


use dagpi::Client;

#[tokio::main]
async fn main() {
    let client =
        Client::new("TOKEN").unwrap();
    match client.data.fact().await.unwrap() {
        Ok(f) => println!("{}", f.fact),
        Err(e) => println!("{:?}", e),
    };
}

图像请求

使用图像客户端处理图像并将其保存到文件,基于其格式!

use dagpi::Client;

#[tokio::main]
async fn main() {

    let client =
        Client::new("TOKEN").unwrap();
    match client.image.image_proess("https://cdn.discordapp.com/avatars/716323270982631476/fa9fed1ed0d51eb4a15b654f3ae08215.png".to_string(), dagpi::models::ImageManipulation::Wanted).await.unwrap() {
        Ok(v) => {
            let buff: Bytes = v.bytes;
            let mut f = fs::File::create(format!("memes.{}", v.format)).unwrap();
            f.write_all(buff.to_vec().as_slice()).unwrap();
        }
        Err(s) => println!("{}", s),
    };
}

复杂图像请求:Discord

use dagpi::Client;
#[tokio::main]
async fn main() {
    let client =
        Client::new("").unwrap();
    match client.data.fact().await.unwrap() {
        Ok(f) => println!("{}", f.fact),
        Err(e) => println!("{:?}", e),
    };

    match client.image.yt("https://cdn.discordapp.com/avatars/716323270982631476/fa9fed1ed0d51eb4a15b654f3ae08215.png".to_string(), "daggy", "Tweeting using dagpi.xyz is so much fun!. Goes great with dagpi.rs", false).await.unwrap() {
        Ok(v) => {
            let buff: Bytes = v.bytes;
            let mut f = fs::File::create(format!("discord.{}", v.format)).unwrap();
            f.write_all(buff.to_vec().as_slice()).unwrap();
        }
        Err(s) => println!("{}", s),
    };
}

阻塞使用


基本的阻塞用例。

Cargo.toml 阻塞

[dependencies.dagpirs]
version="1.0.0"
default-features=false
features = ["blocking"]

基本阻塞客户端

数据请求阻塞

使用非常基本的数据端点从API获取数据。


use dagpi::Client;

fn main() {
    let client =
        Client::new("TOKEN").unwrap();
    match client.data.roast().unwrap() {
        Ok(f) => println!("{}", f.roast),
        Err(e) => println!("{:?}", e),
    };
}

图像请求阻塞

使用图像客户端处理图像并将其保存到文件,基于其格式!

use dagpi::Client;

fn main() {

    let client =
        Client::new("TOKEN").unwrap();
    match client.image.image_proess("https://cdn.discordapp.com/avatars/716323270982631476/fa9fed1ed0d51eb4a15b654f3ae08215.png".to_string(), dagpi::models::ImageManipulation::Wasted).unwrap() {
        Ok(v) => {
            let buff: Bytes = v.bytes;
            let mut f = fs::File::create(format!("memes.{}", v.format)).unwrap();
            f.write_all(buff.to_vec().as_slice()).unwrap();
        }
        Err(s) => println!("{}", s),
    };
}

复杂图像请求:Pride

use dagpi::Client;
fn main() {
    let client =
        Client::new("").unwrap();
    match client.image.pride("https://cdn.discordapp.com/avatars/716323270982631476/fa9fed1ed0d51eb4a15b654f3ae08215.png".to_string(), dagpi::models::Pride::Bisexual).unwrap() {
        Ok(v) => {
            let buff: Bytes = v.bytes;
            let mut f = fs::File::create(format!("discord.{}", v.format)).unwrap();
            f.write_all(buff.to_vec().as_slice()).unwrap();
        }
        Err(s) => println!("{}", s),
    };
}

更多示例的文档

或仓库中的示例文件夹。

依赖关系

~6–18MB
~265K SLoC