#mastodon #fediverse #api-client #streaming #pleroma #friendica

megalodon

Mastodon 和 Pleroma 的 Rust API 客户端库

59 个版本

0.13.7 2024 年 6 月 19 日
0.13.5 2024 年 5 月 2 日
0.13.2 2024 年 3 月 14 日
0.11.8 2023 年 12 月 28 日
0.2.5 2022 年 11 月 26 日

#21 in WebSocket

Download history 21/week @ 2024-04-22 265/week @ 2024-04-29 45/week @ 2024-05-06 63/week @ 2024-05-13 85/week @ 2024-05-20 62/week @ 2024-05-27 56/week @ 2024-06-03 141/week @ 2024-06-10 258/week @ 2024-06-17 27/week @ 2024-06-24 77/week @ 2024-07-01 40/week @ 2024-07-08 35/week @ 2024-07-15 71/week @ 2024-07-22 636/week @ 2024-07-29 44/week @ 2024-08-05

791 每月下载量
5 crates 中使用

MIT 许可证

1MB
27K SLoC

巨齿鲨

Crates.io docs.rs Build GitHub

megalodon 是 Fediverse 的客户端库。它提供 REST API 和使用 WebSocket 的流式传输方法。通过使用此库,您可以使用相同的接口使用 Mastodon、Pleroma 和 Friendica。此库是 megalodon 的 Rust 版本。

支持

  • Mastodon
  • Pleroma
  • Friendica
  • Firefish
  • Gotosocial
  • Akkoma (非官方)

功能

  • REST API
  • 管理员 API
  • WebSocket 流式传输

用法

将您的 Cargo.toml 添加如下

[dependencies]
megalodon = { version = "0.11" }

发送 Mastodon 请求

对于无认证的请求。

let client = megalodon::generator(
  megalodon::SNS::Mastodon,
  String::from("https://fedibird.com"),
  None,
  None,
);
let res = client.get_instance().await?;
println!("{:#?}", res.json());

带有认证的 Mastodon 请求

对于带认证的请求。

let client = megalodon::generator(
  megalodon::SNS::Mastodon,
  String::from("https://fedibird.com"),
  Some(String::from("your access token")),
  None,
);
let res = client.verify_account_credentials().await?;
println!("{:#?}", res.json());

许可证

该软件作为开源软件提供,符合 Apache License 2.0 的条款。

依赖项

~12–27MB
~439K SLoC