-
@ ever4st
2025-02-27 20:31:03Using nostr_sdk 0.39 replace nsec_key with your secret key replace npub_to_follow by the npub to follow
``` python from nostr_sdk import Metadata, Client, Keys, Filter, Kind, KindStandard, Contact, PublicKey, EventBuilder from datetime import timedelta import asyncio
async def main(): keys = Keys.parse("nsec_key") client = Client() await client.add_relay("wss://relay.damus.io") await client.connect()
# Get current contact list f = Filter().author(keys.public_key()).kind(Kind.from_std(KindStandard.CONTACT_LIST)) events = await client.fetch_events(f, timedelta(seconds=10)) event = events.first() if event: # Get current contact public keys and add a new contact public_keys = event.tags().public_keys() new_public_key = PublicKey.parse("npub_to_follow") public_keys.append(new_public_key) # Create a new contact list event and send it to relays contacts = [Contact(public_key=pk, relay_url=None, alias=None) for pk in public_keys] event = EventBuilder.contact_list(contacts).sign_with_keys(keys) await client.send_event(event) print(f"Added follow to: {new_public_key}") else: print("No contact list found")
if name == 'main': asyncio.run(main()) ```
https://github.com/ev3rst/nostr_sdk_examples/blob/main/ns-follow-npub.py