more filters

Signed-off-by: William Casarin <jb55@jb55.com>
This commit is contained in:
William Casarin
2022-05-24 14:34:21 -07:00
parent 097cc54bba
commit 8aac880bb5
8 changed files with 155 additions and 62 deletions

View File

@@ -36,25 +36,34 @@ class ProfileModel: ObservableObject {
}
func subscribe() {
let kinds: [Int] = [
var profile_filter = NostrFilter.filter_kinds([
NostrKind.text.rawValue,
NostrKind.delete.rawValue,
NostrKind.contacts.rawValue,
NostrKind.metadata.rawValue,
NostrKind.boost.rawValue
]
NostrKind.boost.rawValue,
NostrKind.like.rawValue
])
profile_filter.authors = [pubkey]
var filter = NostrFilter.filter_authors([pubkey])
filter.kinds = kinds
filter.limit = 1000
var contact_pks = (contacts?.referenced_pubkeys.map { $0.ref_id }) ?? []
contact_pks.append(pubkey)
var contacts_filter = NostrFilter.filter_kinds([0,3])
contacts_filter.authors = contact_pks
profile_filter.limit = 1000
let filters = [profile_filter, contacts_filter]
print("subscribing to profile \(pubkey) with sub_id \(sub_id)")
damus.pool.subscribe(sub_id: sub_id, filters: [filter], handler: handle_event)
print_filters(relay_id: "profile", filters: [filters])
damus.pool.subscribe(sub_id: sub_id, filters: filters, handler: handle_event)
}
func handle_profile_contact_event(_ ev: NostrEvent) {
self.contacts = ev
self.following = count_pubkeys(ev.tags)
if damus.contacts.is_friend(ev.pubkey) {
self.damus.contacts.add_friend_contact(ev)
}
}
func add_event(_ ev: NostrEvent) {