diff --git a/enostr/src/filter.rs b/enostr/src/filter.rs index ecc33e43..2dea738e 100644 --- a/enostr/src/filter.rs +++ b/enostr/src/filter.rs @@ -15,6 +15,9 @@ pub struct Filter { #[serde(rename = "#p")] #[serde(skip_serializing_if = "Option::is_none")] pub pubkeys: Option>, + #[serde(rename = "#t")] + #[serde(skip_serializing_if = "Option::is_none")] + pub hashtags: Option>, #[serde(skip_serializing_if = "Option::is_none")] pub since: Option, // unix timestamp seconds #[serde(skip_serializing_if = "Option::is_none")] @@ -31,6 +34,7 @@ impl Filter { kinds: None, events: None, pubkeys: None, + hashtags: None, since: None, until: None, limit: None, diff --git a/src/filter.rs b/src/filter.rs index b5de6be2..c996d3e6 100644 --- a/src/filter.rs +++ b/src/filter.rs @@ -24,6 +24,11 @@ pub fn convert_enostr_filter(filter: &enostr::Filter) -> nostrdb::Filter { nfilter.pubkeys(pubkeys.iter().map(|a| *a.bytes()).collect()); } + // #t + if let Some(ref hashtags) = filter.hashtags { + nfilter.tags(hashtags.clone(), 't'); + } + if let Some(since) = filter.since { nfilter.since(since); }