The client library of Bluesky.
dub add bsky
import std.stdio, std.process, std.range;
import bsky;
auto client = new Bluesky;
client.login(environment.get("BSKY_LOGINID"), environment.get("BSKY_LOGINPASS"));
scope (exit)
client.logout();
foreach (post; client.timeline.take(100).toMessages)
writeln(i"$(post.postBy.displayName) < $(post.text)");
API | Supported functions |
---|---|
app.bsky.actor.getPreferences | UNSUPPORTED |
app.bsky.actor.getProfile | bsky.client.Bluesky.getProfile bsky.client.Bluesky.profile |
app.bsky.actor.getProfiles | bsky.client.Bluesky.getProfiles bsky.client.Bluesky.fetchProfiles bsky.client.Bluesky.profiles |
app.bsky.feed.getActorFeeds | UNSUPPORTED |
app.bsky.feed.getActorLikes | UNSUPPORTED |
app.bsky.feed.getAuthorFeed | bsky.client.Bluesky.getAuthorFeed bsky.client.Bluesky.fetchAuthorFeed bsky.client.Bluesky.authorFeed |
app.bsky.feed.getFeedGenerator | UNSUPPORTED |
app.bsky.feed.getFeedGenerators | UNSUPPORTED |
app.bsky.feed.getFeed | bsky.client.Bluesky.getFeed bsky.client.Bluesky.fetchFeed bsky.client.Bluesky.feed |
app.bsky.feed.getLikes | bsky.client.Bluesky.getLikes bsky.client.Bluesky.fetchLikeUsers bsky.client.Bluesky.likeUsers |
app.bsky.feed.getListFeed | bsky.client.Bluesky.getListFeed bsky.client.Bluesky.fetchListFeed bsky.client.Bluesky.listFeed |
app.bsky.feed.getQuotes | bsky.client.Bluesky.getQuotes bsky.client.Bluesky.fetchQuotedByPosts bsky.client.Bluesky.quotedByPosts |
app.bsky.feed.getPostThread | bsky.client.Bluesky.getPostThread bsky.client.Bluesky.fetchPostThread |
app.bsky.feed.getPosts | bsky.client.Bluesky.getPosts bsky.client.Bluesky.fetchPosts bsky.client.Bluesky.getPostItems |
app.bsky.feed.getRepostedBy | bsky.client.Bluesky.getRepostedBy bsky.client.Bluesky.fetchRepostedBy bsky.client.Bluesky.repostedByUsers |
app.bsky.feed.getSuggestedFeeds | UNSUPPORTED |
app.bsky.feed.getTimeline | bsky.client.Bluesky.getTimeline bsky.client.Bluesky.fetchTimeline bsky.client.Bluesky.timeline |
app.bsky.feed.searchPosts | bsky.client.Bluesky.searchPosts bsky.client.Bluesky.fetchSearchPosts bsky.client.Bluesky.searchPostItems |
app.bsky.graph.getBlocks | UNSUPPORTED |
app.bsky.graph.getFollowers | bsky.client.Bluesky.getFollowers bsky.client.Bluesky.fetchFollowers bsky.client.Bluesky.followers |
app.bsky.graph.getFollows | bsky.client.Bluesky.getFollows bsky.client.Bluesky.fetchFollows bsky.client.Bluesky.follows |
app.bsky.graph.getListBlocks | UNSUPPORTED |
app.bsky.graph.getListMutes | UNSUPPORTED |
app.bsky.graph.getList | UNSUPPORTED |
app.bsky.graph.getLists | UNSUPPORTED |
app.bsky.graph.getMutes | UNSUPPORTED |
app.bsky.graph.getSuggestedFollowsByActor | UNSUPPORTED |
app.bsky.graph.muteActorList | UNSUPPORTED |
app.bsky.graph.muteActor | UNSUPPORTED |
app.bsky.graph.unmuteActorList | UNSUPPORTED |
app.bsky.graph.unmuteActor | UNSUPPORTED |
app.bsky.labeler.getServices | UNSUPPORTED |
app.bsky.notification.getUnreadCount | UNSUPPORTED |
app.bsky.notification.listNotifications | UNSUPPORTED |
app.bsky.notification.registerPush | UNSUPPORTED |
app.bsky.notification.updateSeen | UNSUPPORTED |
com.atproto.admin.deleteAccount | UNSUPPORTED |
com.atproto.admin.disableAccountInvites | UNSUPPORTED |
com.atproto.admin.disableInviteCodes | UNSUPPORTED |
com.atproto.admin.enableAccountInvites | UNSUPPORTED |
com.atproto.admin.getAccountInfo | UNSUPPORTED |
com.atproto.admin.getInviteCodes | UNSUPPORTED |
com.atproto.admin.getSubjectStatus | UNSUPPORTED |
com.atproto.admin.updateAccountEmail | UNSUPPORTED |
com.atproto.admin.updateAccountHandle | UNSUPPORTED |
com.atproto.admin.updateAccountPassword | UNSUPPORTED |
com.atproto.admin.updateSubjectStatus | UNSUPPORTED |
com.atproto.identity.getRecommendedDidCredentials | UNSUPPORTED |
com.atproto.identity.requestPlcOperationSignature | UNSUPPORTED |
com.atproto.identity.resolveHandle | bsky.client.Bluesky.resolveHandle |
com.atproto.identity.signPlcOperation | UNSUPPORTED |
com.atproto.identity.submitPlcOperation | UNSUPPORTED |
com.atproto.identity.updateHandle | UNSUPPORTED |
com.atproto.moderation.createReport | UNSUPPORTED |
com.atproto.repo.applyWrites | UNSUPPORTED |
com.atproto.repo.createRecord | bsky.client.Bluesky.createRecord bsky.client.Bluesky.sendPost bsky.client.Bluesky.sendReplyPost bsky.client.Bluesky.sendQuotePost bsky.client.Bluesky.markLike bsky.client.Bluesky.repost bsky.client.Bluesky.follow |
com.atproto.repo.deleteRecord | bsky.client.Bluesky.deletePost bsky.client.Bluesky.deleteLike bsky.client.Bluesky.deleteRepost bsky.client.Bluesky.unfollow |
com.atproto.repo.getRecord | bsky.client.Bluesky.getRecord |
com.atproto.repo.importRepo | UNSUPPORTED |
com.atproto.repo.listMissingBlobs | UNSUPPORTED |
com.atproto.repo.listRecords | bsky.client.Bluesky.listRecords bsky.client.Bluesky.fetchRecords bsky.client.Bluesky.listRecordItems |
com.atproto.repo.putRecord | UNSUPPORTED |
com.atproto.repo.uploadBlob | bsky.client.Bluesky.uploadBlob bsky.client.Bluesky.sendPost |
com.atproto.server.activateAccount | UNSUPPORTED |
com.atproto.server.checkAccountStatus | UNSUPPORTED |
com.atproto.server.confirmEmail | UNSUPPORTED |
com.atproto.server.createAccount | UNSUPPORTED |
com.atproto.server.createAppPassword | UNSUPPORTED |
com.atproto.server.createInviteCode | UNSUPPORTED |
com.atproto.server.createInviteCodes | UNSUPPORTED |
com.atproto.server.createSession | bsky.auth.AtprotoAuth.createSeession bsky.client.Bluesky.login |
com.atproto.server.deactivateAccount | UNSUPPORTED |
com.atproto.server.deleteAccount | UNSUPPORTED |
com.atproto.server.deleteSession | bsky.auth.AtprotoAuth.deleteSession bsky.client.Bluesky.logout |
com.atproto.server.describeServer | UNSUPPORTED |
com.atproto.server.getAccountInviteCodes | UNSUPPORTED |
com.atproto.server.getServiceAuth | UNSUPPORTED |
com.atproto.server.getSession | bsky.auth.AtprotoAuth.updateSession |
com.atproto.server.listAppPasswords | UNSUPPORTED |
com.atproto.server.refreshSession | bsky.auth.AtprotoAuth.refreshSession bsky.auth.AtprotoAuth.updateSession |
com.atproto.server.requestAccountDelete | UNSUPPORTED |
com.atproto.server.requestEmailConfirmation | UNSUPPORTED |
com.atproto.server.requestEmailUpdate | UNSUPPORTED |
com.atproto.server.requestPasswordReset | UNSUPPORTED |
com.atproto.server.reserveSigningKey | UNSUPPORTED |
com.atproto.server.revokeAppPassword | UNSUPPORTED |
com.atproto.server.updateEmail | UNSUPPORTED |
com.atproto.sync.getBlob | UNSUPPORTED |
com.atproto.sync.getBlocks | UNSUPPORTED |
com.atproto.sync.getLatestCommit | UNSUPPORTED |
com.atproto.sync.getRecord | UNSUPPORTED |
com.atproto.sync.getRepo | UNSUPPORTED |
com.atproto.sync.listBlobs | UNSUPPORTED |
com.atproto.sync.listRepos | UNSUPPORTED |
tools.ozone.communication.createTemplate | UNSUPPORTED |
tools.ozone.communication.deleteTemplate | UNSUPPORTED |
tools.ozone.communication.listTemplates | UNSUPPORTED |
tools.ozone.communication.updateTemplate | UNSUPPORTED |
tools.ozone.moderation.emitEvent | UNSUPPORTED |
tools.ozone.moderation.getEvent | UNSUPPORTED |
tools.ozone.moderation.getRecord | UNSUPPORTED |
tools.ozone.moderation.getRepo | UNSUPPORTED |
tools.ozone.moderation.queryEvents | UNSUPPORTED |
tools.ozone.moderation.queryStatuses | UNSUPPORTED |
tools.ozone.moderation.searchRepos | UNSUPPORTED |
Boost Software License - Version 1.0
- For detail is here: LICENSE