nostrclient, a Python client for Nostr.
git clone https://github.com/duozhutuan/nostrclient
cd nostrclient
pip3 install nostrclient --break-system-packages
filters = {"kinds":[1],"limit":100}
r = Relay(relays[0])
r.connect(5)
def handler_event(event):
print(event['content'])
sub = r.subscribe(filters)
sub.on("EVENT",handler_event)
from nostrclient.key import PrivateKey
from nostrclient.localStorage import local_storage
Keypriv = local_storage.get("Keypriv")
pkey = PrivateKey(Keypriv)
if Keypriv is None :
local_storage.set("Keypriv",str(pkey))
print("Your public key: ",pkey.public_key)
print("Your public key bech32: ",pkey.public_key.bech32())
r = RelayPool(relays,pkey)
content = "The message from nostrclient python nostr client."
kind = 42
tags = [['e', 'f412192fdc846952c75058e911d37a7392aa7fd2e727330f4344badc92fb8a22', 'wss://nos.lol', 'root']]
msg = {
"kind":kind,
"tags":tags,
"content":content,
}
r.publish(msg)
from nostrclient.user import User
user = User(pkey.public_key,r)
event = user.fetchProfile()
if event is not None:
print(event)
else:
print("No user Profile")
from nostrclient.actions import like_event
r1.publish(like_event(event['id'],event['pubkey']))
For a complete example, see examples/sub.py.
user = User(pkey.public_key,r)
profile = user.fetchProfile()
if profile is not None:
print(profile)
else:
print("No user Profile")
user.profile.website = "https://github.com/duozhutuan/NorstrBridge"
user.update()
"""
e = "nevent1qgst9e5yw8k6c4rc6sj3cvhzlpk0m250vef6rgv8rzxcrk7sf3nwaecqyp2fff55rmsux0p3aj5v4gyaum7vhn56l5yadd8u3p7enjyvjg3dvuqapge"
print(decode_bech32(e))
p="nprofile1qyw8wumn8ghj7mn0wd68ytfsxyh8jcttd95x7mnwv5hxxmmdqyw8wumn8ghj7mn0wd68ytfsxgh8jcttd95x7mnwv5hxxmmdqy28wumn8ghj7un9d3shjtnyv9kh2uewd9hsz9nhwden5te0wfjkccte9ehx7um5wghxyctwvsq3samnwvaz7tmwdaehgu3ww33xz6fwd4jn5dfexghszrnhwden5te0dehhxtnvdakz7qpqs02jksmr6tgmcksf3hnmue7pyzlm0sxwarh7lk8tdeprw2hjg6ysu92gue"
print(decode_bech32(p))
a = "naddr1qvzqqqy9hvpzq3le048q5eqv32tr60a8rk0s564djk9055zlal0d6m2jnm6pythnqqjxgcny89jnyc3494jkyvfc956xzvfs943xxc3n95ckxvn9xcuxvvt9v93nwlq2002"
print(decode_bech32(a))
"""
"""
p1 = {'relays': ['wss://nostr-01.yakihonne.com', 'wss://nostr-02.yakihonne.com', 'wss://relay.damus.io', 'wss://relay.nostr.band', 'wss://nostr.tbai.me:592/', 'wss://nos.lol/'], 'pubkey': '83d52b4363d2d1bc5a098de7be67c120bfb7c0cee8efefd8eb6e42372af24689'}
p2 = encode_bech32("nprofile",p1)
print(p2)
"""