Skip to content

Features

Trotsky provides comprehensive support for the Bluesky AT Protocol. Below is a list of currently implemented features and planned additions.

Implemented Features

NameStatusDescriptionExample
StepActorGet an actor by its DID or handle.Trotsky.init(agent).actor('bsky.app')
StepActorBlockBlock an actor.Trotsky.init(agent).actor('bsky.app').block()
StepActorFollowFollow an actor.Trotsky.init(agent).actor('bsky.app').follow()
StepActorFollowersGet an actor's followers.Trotsky.init(agent).actor('bsky.app').followers().each()
StepActorFollowingsGet an actor's followings.Trotsky.init(agent).actor('bsky.app').followings().each()
StepActorLikesGet an actor's likes.Trotsky.init(agent).actor('bsky.app').likes().each()
StepActorListsGet an actor's lists.Trotsky.init(agent).actor('bsky.app').lists().each()
StepActorMuteMute an actor.Trotsky.init(agent).actor('bsky.app').mute()
StepActorPostsGet an actor's posts.Trotsky.init(agent).actor('bsky.app').posts().each()
StepActorsGet a list of actors by their DIDs or handles.Trotsky.init(agent).actors(['bsky.app', 'handle']).each()
StepActorStarterPacksGet an actor's starter packs.Trotsky.init(agent).actor('bsky.app').starterPacks().each()
StepActorStreamPosts🧪Stream an actor's posts.Trotsky.init(agent).actor('bsky.app').streamPosts().each()
StepActorUnblockUnblock an actor.Trotsky.init(agent).actor('bsky.app').unblock()
StepActorUnfollowUnfollow an actor.Trotsky.init(agent).actor('bsky.app').unfollow()
StepActorUnmuteUnmute an actor.Trotsky.init(agent).actor('bsky.app').unmute()
StepCreatePostCreate a post.Trotsky.init(agent).createPost({ text: "Hello!" })
StepListGet a list by its URI.Trotsky.init(agent).list("at://did:plc:example/app.bsky.graph.list/listid")
StepListMembersGet a list's members.Trotsky.init(agent).list("at://...").members().each()
StepListsGet a list of lists by their URIs.Trotsky.init(agent).lists([uri1, uri2]).each()
StepPostGet a post by its URI.Trotsky.init(agent).post("at://did:plc:example/app.bsky.feed.post/postid")
StepPostAuthorGet a post's author.Trotsky.init(agent).post("at://...").author()
StepPostLikeLike a post.Trotsky.init(agent).post("at://...").like()
StepPostReplyReply to a post.Trotsky.init(agent).post("at://...").reply({ text: "Great!" })
StepPostRepostRepost a post.Trotsky.init(agent).post("at://...").repost()
StepPostsGet a list of posts by their URIs.Trotsky.init(agent).posts([uri1, uri2]).each()
StepSearchPostsSearch posts.Trotsky.init(agent).searchPosts({ q: "TypeScript" }).each()
StepSearchStarterPacksSearch starter packs.Trotsky.init(agent).searchStarterPacks({ q: "tech" }).each()
StepStarterPackGet a starter pack by its URI.Trotsky.init(agent).starterPack("at://...").run()
StepStarterPacksGet a list of starter packs by their URIs.Trotsky.init(agent).starterPacks([uri1, uri2]).each()
StepStreamPosts🧪Stream posts from the firehose.Trotsky.init(agent).streamPosts().each()
StepTimelineGet the authenticated user's timeline.Trotsky.init(agent).timeline().take(20).each()
StepSearchActorsSearch for actors by name/handle.Trotsky.init(agent).searchActors({ q: "typescript" }).each()
StepPostLikersGet actors who liked a post.Trotsky.init(agent).post("at://...").likers().each()
StepPostRepostersGet actors who reposted a post.Trotsky.init(agent).post("at://...").reposters().each()
StepPostQuotesGet quote posts of a post.Trotsky.init(agent).post("at://...").quotes().each()
StepPostThreadGet a full post thread with replies.Trotsky.init(agent).post("at://...").thread()
StepPostUnlikeUnlike a post.Trotsky.init(agent).post("at://...").unlike()
StepPostUnrepostUnrepost a post.Trotsky.init(agent).post("at://...").unrepost()
StepDeletePostDelete a post.Trotsky.init(agent).post("at://...").delete()
StepActorBlocksGet all actors blocked by the user.Trotsky.init(agent).blocks().each()
StepActorMutesGet all actors muted by the user.Trotsky.init(agent).mutes().each()
StepActorKnownFollowersGet known followers (mutual connections).Trotsky.init(agent).actor('bsky.app').knownFollowers().each()
StepActorSuggestionsGet suggested actors to follow.Trotsky.init(agent).suggestions().each()
StepFeedGet posts from a custom feed.Trotsky.init(agent).feed("at://...").each()
StepFeedGeneratorGet a custom feed generator.Trotsky.init(agent).feedGenerator("at://...")
StepSuggestedFeedsGet suggested custom feeds.Trotsky.init(agent).suggestedFeeds().take(10)
StepListFeedGet posts from a list feed.Trotsky.init(agent).list("at://...").feed().each()
StepListBlockBlock a list.Trotsky.init(agent).list("at://...").block()
StepListUnblockUnblock a list.Trotsky.init(agent).list("at://...").unblock()
StepListMuteMute a list.Trotsky.init(agent).list("at://...").mute()
StepListUnmuteUnmute a list.Trotsky.init(agent).list("at://...").unmute()
StepNotificationsGet user notifications.Trotsky.init(agent).notifications().take(20)
StepNotificationsUnreadCountGet unread notification count.Trotsky.init(agent).notificationsUnreadCount()
StepNotificationsUpdateSeenMark notifications as seen.Trotsky.init(agent).notificationsUpdateSeen()
StepThreadMuteMute a thread.Trotsky.init(agent).post("at://...").threadMute()
StepThreadUnmuteUnmute a thread.Trotsky.init(agent).post("at://...").threadUnmute()

✅ Implemented • 🧪 Experimental