A fully typed client for the Bluesky Jetstream service.
npm install @skyware/jetstream
import { Jetstream } from "@skyware/jetstream";
const jetstream = new Jetstream({
wantedCollections: ["app.bsky.feed.post", "app.bsky.feed.like"], // omit to receive all collections
wantedDids: ["did:web:example.com"], // omit to receive events from all dids
});
jetstream.onCreate("app.bsky.feed.post", (event) => {
console.log(`New post: ${event.commit.record.text}`)
});
jetstream.onDelete("app.bsky.feed.post", (event) => {
console.log(`Deleted post: ${event.commit.rkey}`)
});
// Other events:
// - "commit" (to receive all commits regardless of collection)
// - "identity" (identity update events)
// - `${collection}` (to receive all commits related to a specific collection)
jetstream.on("account", (event) => {
console.log(`Account updated: ${event.did}`)
});
jetstream.start()