From b53c6dab626a5723e193b168d040df28035f037c Mon Sep 17 00:00:00 2001 From: Alex Gleason Date: Thu, 19 Sep 2024 21:51:48 -0500 Subject: [PATCH] Add FIREHOSE_KINDS variable --- src/config.ts | 6 ++++++ src/firehose.ts | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/config.ts b/src/config.ts index f007341f..955371d4 100644 --- a/src/config.ts +++ b/src/config.ts @@ -209,6 +209,12 @@ class Conf { static get firehoseConcurrency(): number { return Math.ceil(Number(Deno.env.get('FIREHOSE_CONCURRENCY') ?? (Conf.pg.poolSize * 0.25))); } + /** Nostr event kinds of events to listen for on the firehose. */ + static get firehoseKinds(): number[] { + return (Deno.env.get('FIREHOSE_KINDS') ?? '0, 1, 3, 5, 6, 7, 9735, 10002') + .split(/[, ]+/g) + .map(Number); + } /** Whether to enable Ditto cron jobs. */ static get cronEnabled(): boolean { return optionalBooleanSchema.parse(Deno.env.get('CRON_ENABLED')) ?? true; diff --git a/src/firehose.ts b/src/firehose.ts index 85e3dc89..da8ab9c1 100644 --- a/src/firehose.ts +++ b/src/firehose.ts @@ -19,7 +19,7 @@ const sem = new Semaphore(Conf.firehoseConcurrency); export async function startFirehose(): Promise { const store = await Storages.client(); - for await (const msg of store.req([{ kinds: [0, 1, 3, 5, 6, 7, 9735, 10002], limit: 0, since: nostrNow() }])) { + for await (const msg of store.req([{ kinds: Conf.firehoseKinds, limit: 0, since: nostrNow() }])) { if (msg[0] === 'EVENT') { const event = msg[2]; console.debug(`NostrEvent<${event.kind}> ${event.id}`);