make nip89 events deleteable

This commit is contained in:
Believethehype
2023-11-30 22:47:30 +01:00
parent d912a49ecd
commit e51d8c7de3
4 changed files with 37 additions and 23 deletions

View File

@@ -4,7 +4,7 @@ from hashlib import sha256
from pathlib import Path
import dotenv
from nostr_sdk import Tag, Keys, EventBuilder, Filter, Alphabet, PublicKey, Event, Client
from nostr_sdk import Tag, Keys, EventBuilder, Filter, Alphabet, PublicKey, Event, Client, EventId
from utils.definitions import EventDefinitions
from utils.nostr_utils import send_event
@@ -34,6 +34,28 @@ def nip89_announce_tasks(dvm_config, client):
print("Announced NIP 89 for " + dvm_config.NIP89.NAME)
def fetch_nip89_paramters_for_deletion( keys, eventid, client, dvmconfig):
print("Pubkey generated from Private Key " + keys.public_key().to_hex())
idfilter = Filter().id(EventId.from_hex(eventid)).limit(1)
nip89events = client.get_events_of([idfilter], timedelta(seconds=dvmconfig.RELAY_TIMEOUT))
d_tag = ""
for event in nip89events:
print(event.as_json())
for tag in event.tags():
if tag.as_vec()[0] == "d":
d_tag = tag.as_vec()[1]
if d_tag == "":
print("No dtag found")
return
pubkey = event.pubkey().to_hex()
print("Pubkey of Event: " + pubkey)
event_id = event.id().to_hex()
nip89_delete_announcement(event_id, keys, d_tag, client, dvmconfig)
print("NIP89 announcement deleted from known relays!")
def nip89_delete_announcement(eid: str, keys: Keys, dtag: str, client: Client, config):
e_tag = Tag.parse(["e", eid])
a_tag = Tag.parse(["a", str(EventDefinitions.KIND_ANNOUNCEMENT) + ":" + keys.public_key().to_hex() + ":" + dtag])