Pronouns labels on Bluesky

skyware/jetstream => 0.1.5 / use jetstream.cursor

Changed files
+9 -9
src
+3 -3
package-lock.json
···
}
},
"node_modules/@skyware/jetstream": {
-
"version": "0.1.4",
-
"resolved": "https://registry.npmjs.org/@skyware/jetstream/-/jetstream-0.1.4.tgz",
-
"integrity": "sha512-r3Jk/rq722W43pxq2uDrtCJbqJaWyXokE97neI0WuTf6KM88ZgIT6sGXEX1e6nwhlJ2ONUXHT+YT5DqZUI5I0w==",
+
"version": "0.1.5",
+
"resolved": "https://registry.npmjs.org/@skyware/jetstream/-/jetstream-0.1.5.tgz",
+
"integrity": "sha512-+0Ouhl6m/SKBZa2CENyDnFtEt4zAgRb57gadDx89TbwFMse4BT+tZhtkldyJ7DCO+FPX5By5Z6bIIm8LPL9Dqw==",
"license": "MPL-2.0",
"dependencies": {
"@atcute/bluesky": "^1.0.6",
+6 -6
src/main.ts
···
import { Jetstream } from "@skyware/jetstream";
import { AppBskyFeedLike } from "@atcute/client/lexicons";
-
let cursor = 0;
let intervalID: NodeJS.Timeout;
const cursorFile = fs.readFileSync("cursor.txt", "utf8");
if (cursorFile) console.log(`Initiate firehose at cursor ${cursorFile}`);
···
jetstream.on("open", () => {
intervalID = setInterval(() => {
-
console.log(`${new Date().toISOString()}: ${cursor}`);
-
fs.writeFile("cursor.txt", cursor.toString(), (err) => {
-
if (err) console.log(err);
-
});
+
if (jetstream.cursor) {
+
console.log(`${new Date().toISOString()}: ${jetstream.cursor}`);
+
fs.writeFile("cursor.txt", jetstream.cursor.toString(), (err) => {
+
if (err) console.log(err);
+
});
+
}
}, 60000);
});
···
jetstream.on("close", () => clearInterval(intervalID));
jetstream.onCreate("app.bsky.feed.like", (event) => {
-
cursor = event.time_us;
const record = event.commit.record as AppBskyFeedLike.Record;
if (record.subject?.uri?.includes(`${DID}/app.bsky.feed.post`))
label(event.did, record.subject.uri.split("/").pop()!);