ITADN
blowdart/idunno.Bluesky
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈

The Bluesky butterfly logo, except in purpleidunno.Bluesky - Bluesky 的 .NET SDK。

一个用于 BlueskyAT Protocol 的 .NET 8、9 和 10 库和 SDK

GitHub License Last Commit GitHub Tag NuGet Version NuGet Downloads

OpenSSF Scorecard OpenSSF Best Practices

入门

idunno.Bluesky 包添加到您的项目中,然后

BlueskyAgent agent = new ();

var loginResult = await agent.Login(username, password);
if (loginResult.Succeeded)
{
    var response = await agent.Post("Hello World");
    if (response.Succeeded)
    {
    }
}

请参阅文档以获取更多有用的文档和示例。

API 状态页面展示了当前已实现的 API,以及 Bluesky API 名称如何映射到 the idunno.Bluesky SDK 方法,这些方法遵循更 .NET 惯用的风格。

主要功能

  • 创建和删除帖子
    • 发布包含提及、链接和标签的帖子
    • 发布图片、GIF 和视频,支持替代文本。
    • 设置帖子的语言
    • 限制线程和帖子
    • 点赞、引用和转发帖子
  • 查看用户的时间线和通知
  • 查看信息流
  • 查看线程
  • 查看通知
  • 查看和设置偏好设置
    • 订阅用户活动
    • 查看用户资料
    • 通知
  • 关注和不关注用户
  • 静音和屏蔽用户
  • 发送、接收和删除私信
  • 创建、加入和退出群组对话
  • 创建、删除和列出用户的书签
  • Handle / 密码和 OAuth 身份验证
  • Jetstream 支持简单的 firehose 消费
  • 自动会话管理,支持后台令牌刷新

支持针对 .NET 9.0 或更高版本的应用程序进行裁剪。

当前构建状态

Build Status CodeQL Scan Dependency Review

许可证

idunno.Blueskyidunno.AtProtoidunno.AtProto.OAuthCallBackidunno.AtProto.Types 采用 MIT 许可证, 详见 LICENSE 文件以获取更多信息。

打赏 / 赞助

如果您觉得本库有用,请考虑向以下机构捐款:

如果您想让我感到温暖,可以在 Bluesky 上通过 @blowdart.me 给我留言。

发布历史

发布页面 提供了每个版本的详细信息,包括新增、更改或移除的内容。 变更日志 也包含这些信息,以及即将发布的版本信息。

代码签名与验证

该项目使用 Authenticode 证书对 NuGet 包中包含的程序集进行签名, 并对 nupkg 包本身进行作者签名。 NuGet 在发布过程中以及 在 Windows 和 Linux 上安装软件包时 会验证签名。

有关验证我的 .NET 程序集、NuGet 包和 Windows 可执行文件签名的说明,可在我的 GitHub 个人资料 上的 代码签名信息 页面中找到。

预发布版本

Prerelease Version

如果你想测试预发布版本,你可以在 myget feed 中找到它们。

你可以将其作为包源添加到 Visual Studio 或通过 命令行,或者使用下面所示的示例 nuget.config 文件:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <clear />
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
    <add key="blowdart.myget.org" value="https://www.myget.org/F/blowdart/api/v3/index.json" />
  </packageSources>

  <packageSourceMapping>
    <packageSource key="blowdart.myget.org">
      <package pattern="idunno.AtProto" />
      <package pattern="idunno.AtProto.*" />
      <package pattern="idunno.Bluesky" />
    </packageSource>
    <packageSource key="nuget.org">
      <package pattern="*" />
    </packageSource>
  </packageSourceMapping>
</configuration>

软件包源 URI 为 https://www.myget.org/F/blowdart/api/v3/index.json

要匹配特定提交的预发布版本,如果该提交生成了构建

  1. 检查 version.json 中的版本值,
  2. 检查是否针对您感兴趣的提交执行了 Pre-release publish runs
  3. 预发布软件包的构建编号将是提交 sha 的前 10 位数字,前缀为 g

例如,提交 190d63e 生成了夜间构建和软件包。软件包构建编号为 1.1.0-prerelease.g190d63e20d

请注意,夜间构建使用 Trusted Signing 进行签名, 其签名证书链与发布构建的签名链不匹配。主体名称保持不变。

计划工作

主要

  • idunno.Bluesky 中的日志记录
  • 更广泛的测试覆盖
  • 使用捕获的响应进行更多反序列化测试

依赖项

idunno.AtProto 的 .NET 8.0 版本依赖于 System.Text.Json v9 以支持反序列化派生类型, 其中 $type 属性不是 JSON 对象中的第一个属性。

外部依赖项

构建期间使用的外部分析器

外部构建 & 测试工具

其他 .NET Bluesky 库和项目