Files
python-nostr/main.py
callebtc 77af490acf client
2022-12-26 15:23:14 +01:00

58 lines
1.7 KiB
Python

from nostr.client.client import NostrClient
from nostr.event import Event
from nostr.key import PublicKey
import asyncio
async def dm():
print("This is an example NIP-04 DM flow")
pk = input("Enter your privatekey to post from (enter nothing for a random one): ")
def callback(event:Event, decrypted_content):
print(f"From {event.public_key[:3]}..{event.public_key[-3:]}: {decrypted_content}")
client = NostrClient(
privatekey_hex=pk
)
await asyncio.sleep(1)
import threading
t = threading.Thread(target=client.get_dm, args=(client.public_key,callback,))
t.start()
to_pubk_hex = input("Enter other pubkey to post to (enter nothing to DM yourself): ") or client.public_key.hex()
print(f"Subscribing to DMs to {to_pubk_hex}")
while True:
msg = input("\nEnter message: ")
client.dm(msg, PublicKey(bytes.fromhex(to_pubk_hex)))
async def post():
print("This posts and reads a nostr note")
pk = input("Enter your privatekey to post from (enter nothing for a random one): ")
def callback(event:Event):
print(f"From {event.public_key[:3]}..{event.public_key[-3:]}: {event.content}")
sender_client = NostrClient(
privatekey_hex=pk
)
await asyncio.sleep(1)
to_pubk_hex = input("Enter other pubkey (enter nothing to read your own posts): ") or sender_client.public_key.hex()
print(f"Subscribing to posts by {to_pubk_hex}")
to_pubk = PublicKey(bytes.fromhex(to_pubk_hex))
import threading
t = threading.Thread(target=sender_client.get_post, args=(to_pubk, callback,))
t.start()
while True:
msg = input("\nEnter post: ")
sender_client.post(msg)
asyncio.run(post())