Client for Bluesky
The X.Bluesky is a .NET library designed to make it easy for developers to post messages to Bluesky, a decentralized social network.
By leveraging the Bluesky API, this project allows for straightforward integration into .NET applications, enabling posts to be made programmatically.
To use the X.Bluesky library in your project, include it as a dependency in your project's file (e.g., csproj
).
See the NuGet package page for the latest version.
var identifier = "your.bluesky.identifier";
var password = "your-password-here";
IBlueskyClient client = new BlueskyClient(identifier, password);
// Simple text post
await client.Post("Hello from X.Bluesky!");
// Post with hashtags
await client.Post("Read this post from #devdigest: https://yourlink.com/post/123");
// Post with URL (generates preview card)
await client.Post("Read this post!", new Uri("https://yourlink.com/post/123"));
// Create a client
var client = new BlueskyClient(
identifier,
password,
reuseSession: true,
baseUri: new Uri("https://bsky.social"));
// Create a fully customized post
var post = new Post
{
Text = "Check out this image with my thoughts on #AI development!",
Images = new[]
{
new Image
{
Content = File.ReadAllBytes("path/to/image.jpg"),
MimeType = "image/jpeg",
Alt = "A diagram showing AI architecture"
}
},
Url = new Uri("https://yourblog.com/ai-article"),
Languages = new[] { "en" },
GenerateCardForUrl = true // Generate a rich preview card for the URL
};
// Post to Bluesky
await client.Post(post);
Advanced Usage with Post Object The core method of the library is Post(Models.Post post) which gives you full control over your post content:
// Create a client
var client = new BlueskyClient(
identifier,
password,
reuseSession: true,
baseUri: new Uri("https://bsky.social"));
// Create a fully customized post
var post = new Post
{
Text = "Check out this image with my thoughts on #AI development!",
Images = new[]
{
new Image
{
Content = File.ReadAllBytes("path/to/image.jpg"),
MimeType = "image/jpeg",
Alt = "A diagram showing AI architecture"
}
},
Url = new Uri("https://yourblog.com/ai-article"),
Languages = new[] { "en" },
GenerateCardForUrl = true // Generate a rich preview card for the URL
};
// Post to Bluesky
await client.Post(post);
The Post object allows you to combine multiple elements like text, images, URLs, and metadata in a single post. This is especially useful for more complex posts that require fine-grained control over the content and presentation.
Fishyflip - a .NET ATProtocol/Bluesky Library
Bluesky cross-poster for inferior services (and a .NET library for ATProto and Bluesky)
A .NET class library for the Bluesky social network.
An atproto PDS implementation in .NET (C#)
A Bluesky appview focused on low resource consumption
An oekaki BBS board running on top of the AT Protocol.
Your Brand Here!
50K+ engaged viewers every month
Limited spots available!
📧 Contact us via email🦋 Contact us on Bluesky