#api-client #client #api #api-bindings

thunderstore

Thunderstore API 交互库

2 个不稳定版本

新版本 0.2.0 2024年8月16日
0.1.0 2024年7月15日

#691 in 网页编程

Download history 109/week @ 2024-07-15 7/week @ 2024-07-29 155/week @ 2024-08-12

每月 162 次下载

MIT/Apache

56KB
1K SLoC

Thunderstore 客户端

Thunderstore API 交互库。

有关更多信息,请参阅crate 文档

示例

#[tokio::main]
async fn main() -> thunderstore::Result<()> {
    let client = thunderstore::Client::builder()
        .with_token("tss_XXX")
        .build()?;

    let package = client.get_package(("Kesomannen", "GaleModManager")).await?;
     client.download_to_dir(&package.latest, r"C:\Users\bobbo\Downloads").await?;

     client.publish_file(
         "CoolMod.zip",
         PackageMetadata::new("Kesomannen", ["lethal-company"])
             .with_global_categories(["tools"])
             .with_categories("lethal-company", ["serverside"])
     ).await?;
 }

lib.rs:

Thunderstore API 交互库。

主要结构是Client,它提供了获取、下载和发布软件包的方法。启动的最简单方法是使用Client::new方法,该方法创建具有默认配置的客户端。如果需要更多控制客户端配置,则可以使用Client::builder方法(参见ClientBuilder)。

一些方法,包括上传和提交软件包,需要在客户端上设置 API 令牌。您可以使用ClientBuilder::with_token方法设置此令牌。

示例

#[tokio::main]
async fn main() -> thunderstore::Result<()> {
    let client = thunderstore::Client::builder()
        .with_token("tss_XXX")
        .build()?;

    let package = client.get_package(("Kesomannen", "GaleModManager")).await?;
    client.download_to_dir(&package.latest, r"C:\Users\bobbo\Downloads").await?;

    client.publish_file(
        "CoolMod.zip",
        PackageMetadata::new("Kesomannen", ["lethal-company"])
            .with_global_categories(["tools"])
            .with_categories("lethal-company", ["serverside"])
    ).await?;
}

依赖关系

~7–19MB
~272K SLoC