diff --git a/nostr_dvm/utils/admin_utils.py b/nostr_dvm/utils/admin_utils.py index b399f9a..200e8e8 100644 --- a/nostr_dvm/utils/admin_utils.py +++ b/nostr_dvm/utils/admin_utils.py @@ -128,4 +128,5 @@ async def admin_make_database_updates(adminconfig: AdminConfig = None, dvmconfig await fetch_nip88_event(keys, event_id, client, dvmconfig) if adminconfig.UPDATE_PROFILE: - await update_profile(dvmconfig, client, lud16=dvmconfig.LN_ADDRESS) + event = await update_profile(dvmconfig, client, lud16=dvmconfig.LN_ADDRESS) + print(event.output) diff --git a/nostr_dvm/utils/dvmconfig.py b/nostr_dvm/utils/dvmconfig.py index 6b3878a..b23cca0 100644 --- a/nostr_dvm/utils/dvmconfig.py +++ b/nostr_dvm/utils/dvmconfig.py @@ -25,9 +25,8 @@ class DVMConfig: ] # announce inbox relays, dm relays and NIP89 announcement to ANNOUNCE_RELAY_LIST = ["wss://relay.primal.net", - "wss://nostr.mom", "wss://relay.damus.io", - "wss://nostr.oxtr.dev", "wss://nostr.mom", - "wss://relay.nostrdvm.com" + "wss://relay.damus.io", + "wss://nostr.oxtr.dev", "wss://nostr.mom" ] # Straight Censorship (reply guy spam) diff --git a/nostr_dvm/utils/nip65_utils.py b/nostr_dvm/utils/nip65_utils.py index e4a124e..3393983 100644 --- a/nostr_dvm/utils/nip65_utils.py +++ b/nostr_dvm/utils/nip65_utils.py @@ -8,13 +8,7 @@ from nostr_dvm.utils.print_utils import bcolors async def announce_dm_relays(dvm_config, client): tags = [] - RELAY_LIST = dvm_config.ANNOUNCE_RELAY_LIST for relay in dvm_config.RELAY_LIST: - if relay not in RELAY_LIST: - RELAY_LIST.append(relay) - - dvm_config.RELAY_LIST = RELAY_LIST - for relay in RELAY_LIST: r_tag = Tag.parse(["r", relay]) tags.append(r_tag) @@ -22,7 +16,7 @@ async def announce_dm_relays(dvm_config, client): content = "" event = EventBuilder(Kind(10050), content).tags(tags).sign_with_keys(keys) - eventid = await send_event(event, client=client, dvm_config=dvm_config) + eventid = await send_event(event, client=client, dvm_config=dvm_config, broadcast=True) if eventid is not None: print( bcolors.BLUE + "[" + dvm_config.NIP89.NAME + "] Announced DM relays for " + dvm_config.NIP89.NAME + " (EventID: " + str( @@ -38,14 +32,7 @@ async def nip65_announce_relays(dvm_config, client): tags = [] - RELAY_LIST = dvm_config.ANNOUNCE_RELAY_LIST for relay in dvm_config.RELAY_LIST: - if relay not in RELAY_LIST: - RELAY_LIST.append(relay) - - dvm_config.RELAY_LIST = RELAY_LIST - - for relay in RELAY_LIST: r_tag = Tag.parse(["r", relay]) tags.append(r_tag) @@ -53,7 +40,7 @@ async def nip65_announce_relays(dvm_config, client): content = "" event = EventBuilder(EventDefinitions.KIND_RELAY_ANNOUNCEMENT, content).tags(tags).sign_with_keys(keys) - eventid = await send_event(event, client=client, dvm_config=dvm_config) + eventid = await send_event(event, client=client, dvm_config=dvm_config, broadcast=True) if eventid is not None: print( bcolors.BLUE + "[" + dvm_config.NIP89.NAME + "] Announced NIP 65 for " + dvm_config.NIP89.NAME + " (EventID: " + str( diff --git a/nostr_dvm/utils/nip89_utils.py b/nostr_dvm/utils/nip89_utils.py index fb59187..68db320 100644 --- a/nostr_dvm/utils/nip89_utils.py +++ b/nostr_dvm/utils/nip89_utils.py @@ -31,11 +31,8 @@ async def nip89_announce_tasks(dvm_config, client): content = dvm_config.NIP89.CONTENT event = EventBuilder(EventDefinitions.KIND_ANNOUNCEMENT, content).tags([k_tag, d_tag]).sign_with_keys(keys) - RELAY_LIST = dvm_config.ANNOUNCE_RELAY_LIST - for relay in dvm_config.RELAY_LIST: - if relay not in RELAY_LIST: - dvm_config.RELAY_LIST.append(relay) - eventid = await send_event(event, client=client, dvm_config=dvm_config) + eventid = await send_event(event, client=client, dvm_config=dvm_config, broadcast=True) + print(eventid.output) print( bcolors.BLUE + "[" + dvm_config.NIP89.NAME + "] Announced NIP 89 for " + dvm_config.NIP89.NAME + " (" + eventid.id.to_hex() + ")" + bcolors.ENDC) diff --git a/nostr_dvm/utils/nostr_utils.py b/nostr_dvm/utils/nostr_utils.py index dedb329..ada7916 100644 --- a/nostr_dvm/utils/nostr_utils.py +++ b/nostr_dvm/utils/nostr_utils.py @@ -259,7 +259,7 @@ async def send_event_outbox(event: Event, client, dvm_config) -> SendEventOutput return event_id -async def send_event(event: Event, client: Client, dvm_config): +async def send_event(event: Event, client: Client, dvm_config, broadcast=False): try: relays = [] for tag in event.tags().to_vec(): @@ -274,13 +274,19 @@ async def send_event(event: Event, client: Client, dvm_config): index] + " couldn't be added to outbox relays") break - if len(relays) == 0: - relays = dvm_config.RELAY_LIST + relay_list = dvm_config.RELAY_LIST + if broadcast: + relay_list = dvm_config.ANNOUNCE_RELAY_LIST + if len(relays) == 0: + relays = relay_list + print(relays) for relay in relays: if relay not in dvm_config.RELAY_LIST: await client.add_relay(relay) + await client.connect() + try: event_id = await client.send_event(event) except Exception as e: @@ -389,7 +395,7 @@ async def update_profile_lnaddress(private_key, dvm_config, lud16="", ): await client.set_metadata(metadata) -async def update_profile(dvm_config, client, lud16=""): +async def update_profile(dvm_config, client, lud16="", broadcast=True): keys = Keys.parse(dvm_config.PRIVATE_KEY) try: nip89content = json.loads(dvm_config.NIP89.CONTENT) @@ -415,7 +421,12 @@ async def update_profile(dvm_config, client, lud16=""): print("[" + dvm_config.NIP89.NAME + "] Setting profile metadata for " + keys.public_key().to_bech32() + "...") print(metadata.as_json()) - await client.set_metadata(metadata) + if broadcast: + for relay in dvm_config.ANNOUNCE_RELAY_LIST: + await client.add_relay(relay) + await client.connect() + + return await client.set_metadata(metadata) async def send_nip04_dm(client: Client, msg, receiver: PublicKey, dvm_config): diff --git a/tests/discovery.py b/tests/discovery.py index 6a45971..1401859 100644 --- a/tests/discovery.py +++ b/tests/discovery.py @@ -41,10 +41,10 @@ log_level = LogLevel.ERROR max_sync_duration_in_h = 24 SYNC_DB_RELAY_LIST = ["wss://relay.damus.io", - #"wss://relay.primal.net", + "wss://relay.primal.net", "wss://nostr.oxtr.dev"] -RELAY_LIST = ["wss://nostr.mom", +RELAY_LIST = ["wss://relay.nostrdvm.com", #"wss://relay.primal.net", "wss://nostr.oxtr.dev", #"wss://relay.nostr.net" diff --git a/tests/discovery_gallery.py b/tests/discovery_gallery.py index 39118aa..8c4f4e0 100644 --- a/tests/discovery_gallery.py +++ b/tests/discovery_gallery.py @@ -10,8 +10,8 @@ from nostr_dvm.utils.dvmconfig import build_default_config from nostr_dvm.utils.nip89_utils import create_amount_tag, NIP89Config, check_and_set_d_tag rebroadcast_NIP89 = False # Announce NIP89 on startup -rebroadcast_NIP65_Relay_List = False -update_profile = False +rebroadcast_NIP65_Relay_List = True +update_profile = True global_update_rate = 500 # set this high on first sync so db can fully sync before another process trys to. use_logger = True diff --git a/ui/noogle/src/store.js b/ui/noogle/src/store.js index 597f4d9..bdfd818 100644 --- a/ui/noogle/src/store.js +++ b/ui/noogle/src/store.js @@ -32,7 +32,7 @@ const store = createStore({ results: [], profile_results: [], image_command_sent: false, - relays: ["wss://relay.primal.net", + relays: ["wss://relay.nostrdvm.com", "wss://nostr.mom", "wss://nostr.oxtr.dev", ],