import { AppBskyFeedPost } from "@atcute/bluesky"; import { JetstreamSubscription } from "@atcute/jetstream"; import { is } from "@atcute/lexicons"; import { LabelerServer } from "@skyware/labeler"; const server = new LabelerServer({ did: process.env.LABELER_DID, signingKey: process.env.SIGNING_KEY, }); server.start(14831, (error) => { if (error) { console.error("Failed to start server:", error); } else { console.log("Labeler server running on port 14831"); } }); const subscription = new JetstreamSubscription({ url: "wss://jetstream2.us-east.bsky.network", wantedCollections: ["app.bsky.feed.post"], }); for await (const event of subscription) { if (event.kind === "commit") { const commit = event.commit; if (commit.collection !== "app.bsky.feed.post") { continue; } if (commit.operation === "create") { const record = commit.record; if (!is(AppBskyFeedPost.mainSchema, record)) { continue; } try { if (record.text.includes("BlueSky")) { console.log("Labeling: ", JSON.stringify(event.commit)); await server.createLabel({ uri: event.did, val: "blue-sky", }); } } catch (e) { console.error( `Error occured on record ${commit.cid}: `, (e as Error).toString(), ); } } } }