-

@ 9db752ac:50e1ac55
2025-04-22 16:35:34
Ok, so, things are going good, ok cool,😄💞☕🎈👍. https://image.nostr.build/2a0fb1fe12757de318b0448084e88a3e5df160987101cc568ef3fe0862619681.jpg
-

@ e83b66a8:b0526c2b
2025-04-22 16:35:34
Especially if you’re a doctor in private practice 😂
-

@ afdc57ff:d54bafb3
2025-04-22 16:35:31
Me too 😚
-

@ 9f83869c:c6d53766
2025-04-22 16:35:29
Beautiful. Eat well fren.
-

@ 99bb5591:a557ca64
2025-04-22 16:35:26
WE'RE SO BACK. https://blossom.primal.net/65479093ea50300d78949d5288368db06813863202268e383e78570946ae13cf.jpg
-

@ 91aeab23:baa48660
2025-04-22 16:35:13
GM
-

@ a012dc82:6458a70d
2025-04-22 16:35:11
The energy of #Bitcoin burns in every corner of the universe. Experience the change, feel the power. http://res.cloudinary.com/dsixpui68/image/upload/v1739248179/sder1v8xrjhkbzjf3dyz.jpg
-

@ f03df3d4:a4d4f676
2025-04-22 16:35:06
Block 893532
4 - high priority
4 - medium priority
3 - low priority
2 - no priority
1 - purging
#bitcoinfees #mempool
-

@ aa4fc866:b098c7b4
2025-04-22 16:35:03
Bitcoin price: $90759, Sats per USD: 1102
-

@ 3493b0c2:4ce7120f
2025-04-22 16:35:03
Tue - Apr 22 - 09:35 AM - PDT
// bit.site
✅ Connection successful: node-1.ipfs.bit.site 4001
// pinnable.xyz
✅ Connection successful: 167.71.172.216 4001
✅ Connection successful: 188.166.180.196 4001
✅ Connection successful: 143.198.18.166 4001
// 4everland.io
✅ Connection successful: node-1.ipfs.4everland.net 4001
-

@ b0fdd723:06f0ffd4
2025-04-22 16:35:01
Top 😍😍🏄♂️🌊
-

@ 3ce2b51d:36fc72c7
2025-04-22 16:35:00
✄------------ 1:35 ------------✄
-

@ 10d16240:b7e0f7e7
2025-04-22 16:34:53
Sats up today, Big hurray!
-

@ be5ad796:c8586c96
2025-04-22 16:34:51
GM, Brooo 🤘🫂
-

@ 63fe6318:330504ed
2025-04-22 00:16:31
That was already the plan, didnt execute
-

@ 184dca27:c63594ee
2025-04-22 16:34:50
Timechain info:
Block height: 893,533
Network difficulty: 123.23T
Next difficulty adjustment(est.): 113.58T
Market dominance %: 60.57%
BTC price per 1K sats($): 0.91
24H median transaction fee($): 0.46
#meme #memes #btc #nostr #plebchain #memestr #pleb #laugh #funny #jokes #primal #serioushumour
Title: SKUHULLLL EMOJI!
https://i.redd.it/rypbukoneawe1.jpeg
-

@ 0f43d0f6:602db77b
2025-04-22 16:34:47
Maybe for both sides, which can be scary.
-

@ 63fe6318:330504ed
2025-04-16 09:37:09
Shouldn't publishing any event count as activity
-

@ 63fe6318:330504ed
2025-04-16 09:31:11
I don't change my follow list, does that mean im not active?
-

@ cbab7074:f9f0bd61
2025-04-22 16:30:07
Block 893532
3 - high priority
3 - medium priority
3 - low priority
2 - no priority
1 - purging
#bitcoinfees #mempool
-

@ e7bf8dad:839ef3db
2025-04-22 16:30:07
Block 893532
3 - high priority
3 - medium priority
3 - low priority
2 - no priority
1 - purging
#bitcoinfees #mempool
-

@ 63fe6318:330504ed
2025-04-15 13:33:19
El Nido
-

@ f03df3d4:a4d4f676
2025-04-22 16:30:07
Block 893532
3 - high priority
3 - medium priority
3 - low priority
2 - no priority
1 - purging
#bitcoinfees #mempool
-

@ 63fe6318:330504ed
2025-04-15 13:21:55
You can just watch the sun set https://nostr.download/2d098f826f63b5a35301cdfc2c9641c48ba2ea3af0a3aa0d618c9df12ad23f7b.webp
-

@ f03df3d4:a4d4f676
2025-04-22 16:25:06
Block 893531
3 - high priority
3 - medium priority
3 - low priority
2 - no priority
1 - purging
#bitcoinfees #mempool
-

@ 9ada931a:bf703735
2025-04-22 16:34:45
Ok, so, things are going good, ok cool,😄💞☕🎈👍. https://cdn.nostrcheck.me/9ada931a7e9e65c73375ae117fad14010676ec2090df6c278d38bd02bf703735/06d278c2f142895fe0b79ec747881da630099fd6fabf7b32041f49b39a7b2f12.webp
-

@ b133bfc5:49d5789d
2025-04-22 16:20:28
Mac5 live resin #weedstr
https://image.nostr.build/efcb642f2a9cfc4c8737a0fd5592f941e2121a914e8e4b1d2429a1991b9fc9fb.jpg
-

@ e7bf8dad:839ef3db
2025-04-22 16:20:07
Block 893530
4 - high priority
4 - medium priority
4 - low priority
2 - no priority
1 - purging
#bitcoinfees #mempool
-

@ 63fe6318:330504ed
2025-04-15 03:42:40
GM https://nostr.download/cecd2070d6b6938fa000a9c8869a8aca208ee6c56b36785586b12c6a27a8dfa7.webp
-

@ f03df3d4:a4d4f676
2025-04-22 16:20:07
Block 893530
4 - high priority
4 - medium priority
4 - low priority
2 - no priority
1 - purging
#bitcoinfees #mempool
-

@ d27d8e71:0dcf5c6a
2025-04-22 16:34:34
As soon as we think we know something, we stop considering other, potentially better alternatives.
-

@ 63fe6318:330504ed
2025-04-14 02:59:32
We live in a society
-

@ f03df3d4:a4d4f676
2025-04-22 16:05:06
Block 893529
4 - high priority
4 - medium priority
4 - low priority
2 - no priority
1 - purging
#bitcoinfees #mempool
-

@ 332bc762:259e5ef8
2025-04-22 16:35:20
'Ruined my entire week, month, and year': The Last of Us season 2's new episode has devastated viewers, unsurprisingly
https://www.techradar.com/streaming/hbo-max/ruined-my-entire-week-month-and-year-the-last-of-us-season-2s-new-episode-has-devastated-viewers-unsurprisingly
-

@ 63fe6318:330504ed
2025-04-12 00:11:22
Gm https://image.nostr.build/561421aea6d562bbb658a309e5431d3c16f4f297c482b410730b4203a87d9bc0.jpg
-

@ e4b67f9f:33ea4d91
2025-04-22 16:35:05
https://video.nostr.build/992ca4106c612564c1b46881d5db1e2100e8a78cff2707b0d132eeb3004f7435.mp4
On my way to some Goldbuggs 🧡💊🔐🧙♀️🔮
-

@ ba18b654:48c19046
2025-04-22 16:32:21
Spontaneity is the way for me as my plans always go to shit. And the anxiety of planning "the" perfect thing 😖.
-

@ e3b5f432:f5bee9d0
2025-04-22 16:34:29
The state exploits this and its strategy is to promote it as a store of value only and never as money to take away its liberating potential
-

@ d61f3bc5:0da6ef4a
2025-04-22 16:04:55
On a scale of 1 to 10, how annoyed are you with nostr:nprofile1qyc8wumn8ghj7cmd89jh5at9x4snqvpsvgcnqun6wscrx7tj0fkrjttgv9mx2m3wv4nkwum5wghxxmmdqyd8wumn8ghj7mn0wd68ytnnw4jx7cmpwfkx7uewvdhk6qpqe85mms9s8ssm6vm6ztw0tdrr6j0a4l5gf2sjhw2scxpwnexmaxuqmwuetj?
-

@ 63fe6318:330504ed
2025-04-02 16:54:59
Yea but you could also get direct flow if you don't want the tank
-

@ 266815e0:6cd408a5
2025-04-22 16:30:24
Next release of #noStrudel is going to have a new layout. It should also make it a little more mobile friendly
Old -> New
https://cdn.hzrd149.com/fa94e382b79c567112914bda9a24d20c91b23c120f0145d0e411ce410d15fdb8.webp
https://cdn.hzrd149.com/3d62d4b82ad92bb5a28255bd9fdc31abbbf7664b3c86f261be47e13823980ea9.webp
-

@ e0c279d6:5b48e482
2025-04-22 16:34:25
Enostaven naravni trik za pogosto težavo, ki spremlja toplejše dni
Razpokane pete so pogosta težava, ki se še posebej rada pojavi poleti. Takrat so naša stopala bolj izpostavljena soncu, zaradi toplejših dni pa nosimo odprto obutev. Razpokana koža daje videz neurejenosti, poleg tega pa lahko postane idealno mesto za razvoj glivičnih okužb in bakterij. Enostavna rešitev za to pogosto težavo pa se morda skriva že pri vas doma.
https://n1info.si/magazin/enostaven-naravni-trik-za-pogosto-tezavo-ki-spremlja-toplejse-dni/
-

@ be5ad796:c8586c96
2025-04-22 16:30:08
Wow 🤩
-

@ 63fe6318:330504ed
2025-04-02 11:33:45
I have whole house filter (particulate only) + RO 5 stage, i dont think you need UV
-

@ 8eea02e8:1e2c6db1
2025-04-22 16:34:19
### aibot源代码第二部分
```python
def run():
messages_done = []
private_key, pubkey_hex = get_keypair()
print("Pubkey: " + private_key.public_key.bech32())
print("Pubkey (hex): " + pubkey_hex)
start_timestamp = get_timestamp()
while(True):
filters = FiltersList([
Filters(pubkey_refs=[pubkey_hex],
kinds=[EventKind.ENCRYPTED_DIRECT_MESSAGE, EventKind.TEXT_NOTE],
since=start_timestamp)
])
subscription_id = uuid.uuid1().hex
relay_manager_for_pubkey.add_subscription_on_all_relays(subscription_id, filters)
relay_manager_for_pubkey.run_sync()
while relay_manager_for_pubkey.message_pool.has_notices():
notice_msg = relay_manager_for_pubkey.message_pool.get_notice()
print("Notice: " + notice_msg.content)
while relay_manager_for_pubkey.message_pool.has_events():
event_msg = relay_manager_for_pubkey.message_pool.get_event()
# is message too old?
# we don't need this anymore, we filter events and then remember processed events
#if(time.time() - 60 > event_msg.event.created_at):
# continue
# has it already been processed?
if(event_msg.event.id in messages_done):
continue
messages_done.append(event_msg.event.id)
recipient_pubkey = event_msg.event.pubkey
if event_msg.event.kind == EventKind.ENCRYPTED_DIRECT_MESSAGE:
msg_decrypted = EncryptedDirectMessage()
msg_decrypted.decrypt(private_key_hex=private_key.hex(), encrypted_message=event_msg.event.content, public_key_hex=event_msg.event.pubkey)
if (len(msg_decrypted.cleartext_content) < 4):
continue
print ("Private message '" +msg_decrypted.cleartext_content + "' from " + event_msg.event.pubkey)
response = respond(msg_decrypted.cleartext_content)
# print("--> " + response)
print("Sending response to " + recipient_pubkey)
dm = EncryptedDirectMessage()
dm.encrypt(private_key.hex(),
recipient_pubkey=recipient_pubkey,
cleartext_content=response,
)
dm_event = dm.to_event()
dm_event.sign(private_key.hex())
relay_manager_for_pubkey.publish_event(dm_event)
print("Response sent to " + recipient_pubkey)
elif event_msg.event.kind == EventKind.TEXT_NOTE:
print(f"Received public note: {event_msg.event.content}")
content = re.sub(r'\b(nostr:)?(nprofile|npub)[0-9a-z]+[\s]*', '', event_msg.event.content)
if (len(content) < 4):
continue
# 获取引用的上下文
ref_contents = process_event(event_msg.event)
print(f"Received public note: {content}")
if recipient_pubkey != pubkey_hex:
print("Responding...")
reply = Event(
content=respond(content, ref_contents),
)
reply.add_event_ref(event_msg.event.id)
reply.add_pubkey_ref(event_msg.event.pubkey)
reply.sign(private_key.hex())
relay_manager_for_pubkey.publish_event(reply)
print("Public response sent.")
gc.collect()
time.sleep(10)
relay_manager_for_pubkey.close_all_relay_connections()
try:
run()
except KeyboardInterrupt:
print("KeyboardInterrupt")
relay_manager_for_pubkey.close_all_relay_connections()
relay_manager_for_ids.close_all_relay_connections()
exit(1)
except:
print("Exception")
relay_manager_for_pubkey.close_all_relay_connections()
relay_manager_for_ids.close_all_relay_connections()
run()
```
-

@ e7bf8dad:839ef3db
2025-04-22 16:00:08
Block 893529
3 - high priority
3 - medium priority
3 - low priority
2 - no priority
1 - purging
#bitcoinfees #mempool
-

@ fc72ae4b:2b816dbe
2025-04-22 16:29:35
How long do you need for the anticipations to be built? I'd get bored if I had to wait more than a few days. Tops.👀
-

@ b0fdd723:06f0ffd4
2025-04-22 16:34:18
You're right. But if the dollar is a liar, and it is, then the price of ₿ is also a liar because it is seen in dollars. For this 1 ₿ = 1 ₿
-

@ 63fe6318:330504ed
2025-03-30 12:32:50
GM sunny BBQ for once! https://image.nostr.build/e97bb34338db6d6d89223065c273916432068f43e914d5b6f58e8974883865fa.jpg
-

@ f03df3d4:a4d4f676
2025-04-22 16:00:08
Block 893529
3 - high priority
3 - medium priority
3 - low priority
2 - no priority
1 - purging
#bitcoinfees #mempool
-

@ be5ad796:c8586c96
2025-04-22 16:25:18
😂🤙🫡
-

@ 63fe6318:330504ed
2025-03-27 08:57:23
Damn AI is good....
-

@ 332c8ceb:1d12f599
2025-04-22 16:34:14
Sho nuff. Control the pace, conserve energy, and focus on the current rep, erm challenge.
"Slow is smooth, smooth is fast" —U.S. Navy SEALs
-

@ be5ad796:c8586c96
2025-04-22 16:24:18
BOOYAH! 🤘🥰
-

@ cbab7074:f9f0bd61
2025-04-22 16:00:08
Block 893529
3 - high priority
3 - medium priority
3 - low priority
2 - no priority
1 - purging
#bitcoinfees #mempool
-

@ ba18b654:48c19046
2025-04-22 16:34:14
I love her 🫂
-

@ f03df3d4:a4d4f676
2025-04-22 15:55:06
Block 893527
6 - high priority
5 - medium priority
4 - low priority
2 - no priority
1 - purging
#bitcoinfees #mempool
-

@ e83b66a8:b0526c2b
2025-04-22 16:34:13
The best 😋
-

@ 1afe0c74:6808e36d
2025-04-22 16:23:48
When things get hard at the gym that’s where all the growth happens. During those last few hard reps at the end.
The same is true in life.
-

@ 3b90a834:096a5679
2025-04-22 16:34:11
Strength, power, and #Bitcoin decentralization! http://res.cloudinary.com/dizsud5n6/image/upload/v1742272505/smd7qt4dael47ilr4pje.jpg
-

@ c9e9bdc0:e4dbe9b8
2025-04-22 16:22:57
🏆 Winners:
- Top Zap: nostr:npub1hedd09sv5k35nyvhga743chnfcskfgsmmkpzrjzxsr33rjzcdjtq88k68p (700 sats)
- Random Liker: nostr:npub1dat0wtf5htrp3gjgmkgdu2g83j5v8g3udkwmzhe4ww7yh0fpwwkqzw3t00 (100 sats)
- Random Reposter: nostr:npub1c7fnt6zxzum5x7tnfmptzg5pwmnl4eytcm3a6zwy3jtchdkfk07spqm8fv (100 sats)
- Random Commenter: nostr:npub1gmuryzhqed5smwfpu2g8wr6jrcnae90kjfm7fy0vf3ffg5ekhhfqyuyt9h (100 sats)
-

@ 63fe6318:330504ed
2025-03-23 10:59:11
Gtfo
-

@ 63fe6318:330504ed
2025-03-22 19:30:59
I used to have the same interface before too i think it was a lower model UMC-22
-

@ 6e75f797:a8eee74e
2025-04-22 16:34:10
The only risks to Europe's economy are literally the ECB and the EU Commission.
-

@ 19f9afb8:ce50e4d3
2025-04-22 16:22:53
If you know your partner well, a simple whisper, hand placement, look, etc can be enough to set them on fire. If your relationship is solid, there's a little flame on simmer all the time.
-

@ 619af6a6:6d3bdf23
2025-04-22 16:22:16
Eu sei que vc está gostando do Jumble, não disfarce, rs.
-

@ 883faa87:1ad07380
2025-04-22 16:34:07
🫡
-

@ 63fe6318:330504ed
2025-03-22 19:28:41
a e s t h e t i c
-

@ 0689df58:a1eca9f2
2025-04-22 16:20:18
Both. Planned sponenaity is a thing, but I've learned that it takes a bunch of sustained effort. That's hard to do for anything.
-

@ 832b77d5:a5e3d55c
2025-04-22 16:34:07
🟩BUY BTC with USD
Price: 92555.19USD (2%)
BTC: 0.005 - 0.01
USD: 463 - 926
Method: US Money Order
Created: 2025-04-22T16:33:24Z
-

@ 10d16240:b7e0f7e7
2025-04-22 16:34:07
Yes. Let’s see if we can Break the 92k this week. 100k next
-

@ d6affa19:9110b177
2025-04-22 16:20:10
hmmm...
what do you mean?? :3
-

@ dd664d5e:5633d319
2025-04-22 16:34:07
I think that is what has lead to the dichotomy that the project with the most developers has the least funding.
Developers love working on something groundbreaking and innovative, and they can easily grasp vague, architectural concepts, whereas the most-popular things to fund are simply variants of things someone is already familiar with, or step-wise improvements upon something already existing. They've seen that xyz can make money elsewhere, so bring some of that money here.
Saying we're going to invent new data structures and algorithms and create new markets is a real funding turn-off because nobody knows if it is even possible, if they even understand the concept at all. It's only now, that we've proved the concept and have working models, that we're attracting people interested in funding the project.
Before, everyone was like
https://media.tenor.com/dcpEYoIjOTIAAAAC/what-are-you-doing-over-there-adrienne-iapalucci.gif
-

@ 4d784205:6f5b96b3
2025-04-22 16:34:04
I can't quite grasp this conversation, I also have respect for you nostr:nprofile1qqsgrmvpxrxctw07f8kye9hj58uv75mu4lwcug06pk4wnrz2wl6a7wspzemhxue69uhhv6t5daezumn0wd68yvfwvdhk6qgkwaehxw309aex2mrp0yhxgetk9e3xgaeww3hst24epp, I just wanted to know if you consider my publication useless.
-

@ aa746c02:debe9986
2025-04-22 16:34:00
Min is 500 I think…
-

@ 506de04d:9367a92b
2025-04-22 16:33:58
I like to make sure whatever muscle groups I’m focusing on during a workout isn’t able to complete a full rep. This lets me know I’ve done all I can physically.
-

@ 15d8d4a5:0a343e6d
2025-04-22 16:33:58
Ok, so, things are going good, ok cool,😄💞☕🎈👍.
https://image.nostr.build/28d26c069303062ea8e8e183308036e38d2c3bcc26bc06998f60c6840415461e.jpg
-

@ deab79da:88579e68
2025-04-22 16:33:45
Showin' some toe to get that #footstr audience 😂
-

@ 745eb529:536dda12
2025-04-22 16:33:42
So boring
-

@ 832b77d5:a5e3d55c
2025-04-22 16:33:40
🟥SELL BTC for XMR
Price: 0.0024551BTC (2%)
BTC: 0.25 - 0.5
XMR: 101.82884607 - 203.65769215
Method: Altcoins Instant
Created: 2025-04-22T16:33:10Z
-

@ 22f22e98:aabb8a5e
2025-04-22 16:33:39
It will always try to come up with an answer, unless the system prompt has some instructions to block it.
-

@ 8c631ec0:8fae6826
2025-04-22 16:33:34
🎵サンサンサンサン アサヒサ~ン🌞
みんなよろこぶ チカラコブ
おひさまよろこぶ チカラコブ
チ・カ・ラ・コ・ブ!💪
-

@ 06b7819d:d1d8327c
2025-04-22 16:33:28
That was fun…
nostr:note1v67wc6ewfhq35m9lz7mtp87fpyswvss0z3g5zx0y4mpcl8njsy6qmnkmex
-

@ 274fe9ae:565805d2
2025-04-22 16:33:25
Syria Makes Rare Arrests of Palestinian Militant Group Leaders
https://www.nytimes.com/2025/04/22/world/europe/syria-arrests-palestinian-militant-leaders.html
-

@ ac7d98a1:1c4ae067
2025-04-22 16:33:20
nostr:nprofile1qyc8wumn8ghj7cmd89jh5at9x4snqvpsvgcnqun6wscrx7tj0fkrjttgv9mx2m3wv4nkwum5wghxxmmdqyd8wumn8ghj7mn0wd68ytnnw4jx7cmpwfkx7uewvdhk6qpqe85mms9s8ssm6vm6ztw0tdrr6j0a4l5gf2sjhw2scxpwnexmaxuqmwuetj GM
-

@ 81ed8130:77f5df3a
2025-04-22 16:33:14
This note nostr:nprofile1qqsy67zzq5tc9cxnl6crf52s4hptdwhyaca5j7r8jwll535tdadedvcpzpmhxue69uhkummnw3ezuamfdejsz9rhwden5te0wfjkccte9ejxzmt4wvhxjmcluc09p - you chose to focus on your own ill intent on another post instead of this one in the same day that was giving you #sats and positivity even while asking & begging - think 🧐🕊️
nostr:nevent1qqsvecu79cfac9mheg0jg5dhckvstch6vjyj4zcq7h02mtqw8ezsd4gpzemhxw309ucnjv3wxymrst338qhrww3hxumnw0ltra0
-

@ 66769797:6812a1cd
2025-04-22 16:33:14
Soon bro
-

@ 883faa87:1ad07380
2025-04-22 16:33:12
Gm
-

@ 99bb5591:a557ca64
2025-04-22 16:33:08
I thought my lime tree didn't make it through winter (Yes because I suck at watering plants) https://blossom.primal.net/55399faba4dc80afe2048fdb8e9b7e3b9c94d707fa43aa20433b4756588ef52e.jpg
But here we are. A small sign of hope.
There is always hope. https://blossom.primal.net/d908db3b3c7bf91dda42be065d7cd4c2c52d94569ac4d88e7d50342ba6bba50d.jpg
-

@ 68c90cf3:99458f5c
2025-04-22 16:33:08
I added a wallet but can’t figure out how to zap a note.
-

@ 8eea02e8:1e2c6db1
2025-04-22 16:33:01
### aibot源代码第一部分
```python
import requests
import time
import ssl
import os
import json
import uuid
from pynostr.event import Event, EventKind
from pynostr.relay_manager import RelayManager
from pynostr.message_type import ClientMessageType
from pynostr.key import PrivateKey
from pynostr.filters import FiltersList, Filters
from pynostr.encrypted_dm import EncryptedDirectMessage
from pynostr.utils import get_timestamp
from openai import OpenAI
import gc
from datetime import datetime
import re
def add_relay(relay_manager, relays):
for relay in relays.split(","):
print("Adding relay: " + relay)
relay_manager.add_relay(relay)
print("Added relay: " + relay)
return True
relays = "wss://nostr.data.haus,wss://relay.nostr.net,wss://n.ok0.org,wss://ditto.pub/relay,wss://purplerelay.com,wss://relay.nostr.band,wss://relay.damus.io"
relay_manager_for_pubkey = RelayManager(timeout=5)
add_relay(relay_manager_for_pubkey, relays)
relay_manager_for_ids = RelayManager(timeout=5)
add_relay(relay_manager_for_ids, relays)
openai_client = OpenAI(
# 请用API Key将下行替换为:api_key="sk-xxx", base_url替换为你的大模型服务方url
api_key="sk-xxx",
base_url="https://dashscope.aliyuncs.com/compatible-mode/v1"
)
def extract_referenced_event_ids(event):
referenced_event_ids = []
for tag in event.tags:
if tag[0] == 'e':
referenced_event_ids.append(tag[1])
return referenced_event_ids
def process_event(event):
# 提取引用的事件ID
referenced_event_ids = extract_referenced_event_ids(event)
# 获取引用的事件内容
referenced_events = get_referenced_events(referenced_event_ids, current_event_id=event.id)
# 组合上下文信息
ref_contents = []
if not referenced_events:
return ref_contents
for ref_event in referenced_events:
if ref_event.pubkey == get_keypair()[1]:
ref_contents.append(f"我(大鸟)之前回复的内容: {ref_event.content}")
else:
content = re.sub(r'\b(nostr:)?(nprofile|npub)[0-9a-z]+[\s]*', '', ref_event.content)
ref_contents.append(f"用户之前提问或者交流的内容: {content}")
return ref_contents
def get_referenced_events(event_ids, current_event_id=None):
# 从Nostr网络查询引用的事件
filters = FiltersList([
Filters(ids=event_ids)
])
subscription_id = uuid.uuid1().hex
relay_manager_for_ids.add_subscription_on_all_relays(subscription_id, filters)
relay_manager_for_ids.run_sync()
referenced_events = []
processed_event_ids = set() # 用于存储已处理的事件ID
while relay_manager_for_ids.message_pool.has_events():
event_msg = relay_manager_for_ids.message_pool.get_event()
if event_msg.event.id not in processed_event_ids and event_msg.event.id != current_event_id:
# 过滤掉当前事件ID
# 过滤掉已处理的事件
referenced_events.append(event_msg.event)
processed_event_ids.add(event_msg.event.id)
# 关闭所有连接
relay_manager_for_ids.close_all_relay_connections()
return referenced_events
def system_message():
system_message = f"你叫大鸟,家住鸟巢(鸟巢是你使用的Nostr社交账号名称)。你是一个AI全能助手。你要尽量全面准确的回答用户问题,并且在回答问题时保持与用户提问使用的语种一致。你在回答的问题的时候要适当参考上下文信息(其中包含你之前的回复和用户之前的提问或交流内容),并关注你之前的回答内容避免重复回答(如有用户的问题有重复你可以指出之前已经回答过),如果你不清楚的问题请直接告知用户而不是胡编乱造。"
return(system_message)
def respond(message, ref_contents=None):
messages = [{"role": "user", "content": message}]
sys_message = {"role": "system", "content": system_message()}
if ref_contents and len(ref_contents) > 0:
context_content = "\n".join(ref_contents)
sys_message["content"] += (f"上下文信息:\n{context_content}")
messages.append(sys_message)
print(messages)
completion = openai_client.chat.completions.create(
model="deepseek-r1", # 此处以 deepseek-r1 为例,可按需更换模型名称。
messages=messages
)
thinking = completion.choices[0].message.reasoning_content
answer = completion.choices[0].message.content
response = "### 思考过程:\n\n" + thinking + "\n\n----------\n\n### 正式回答:\n\n" + answer
print(response)
return response
def get_keypair():
nsec_key = "nsec124d4tdzgr7pe0cljzu6wk9xknz0s3mtht8p8cd52kywxj4rh42rs7txxns"
private_key = PrivateKey.from_nsec(nsec_key)
pubkey_hex = private_key.public_key.hex()
return private_key, pubkey_hex
```
-

@ 01d0bbf9:91130d4c
2025-04-22 16:32:59
It’s not huge but I set my default zap at 21 sats and don’t ever intend to change it.
And I feel that I zap more now that I ever have- particularly as price rises I have more spending power, so why not use it?! Makes no sense that the amount in sats should decrease. I look forward to the day when my 21 sat contributions will be worth $21 a piece 🤙
-

@ 5abdb2b1:6f9a078d
2025-04-22 16:32:57
Ok, so, things are going good, ok cool,😄💞☕🎈👍.
https://m.primal.net/QZbG.webp
-

@ 42740f06:fac814a3
2025-04-22 16:32:53
Decentralization and open source is the key.
-

@ ba18b654:48c19046
2025-04-22 16:32:51
Glad it went well 🎉
-

@ 5ceb45be:3828dd35
2025-04-22 16:32:44
Thank you!
-

@ 3878d95d:f3b45a69
2025-04-22 16:32:41
GM, Nostr FIRST.
-

@ de75eb1d:710c3014
2025-04-22 16:32:39
Thanks for the ideas guys, none of these work as a check out which is what I'm after... Albys Bitcoin connect adds up the basket total for the customer and displays an invoice and A graphical confirmation when paid. Btc pay is too complicated for me atm
-

@ b0fdd723:06f0ffd4
2025-04-22 16:32:39
Ok thank you 💜
-

@ fe2d5cf6:0c59303d
2025-04-22 16:32:37
https://image.nostr.build/116747ccdf8b22d17144f93b028469ceea70f3bc807a90388c0c905fb92140cb.jpg
-

@ cfb6da66:b9055726
2025-04-22 16:32:31
USA: Tullkriget mot Kina ohållbart
https://www.svd.se/a/kwjMMA/usa-tullkriget-mot-kina-ohallbart