feat: optimize filtering for DMs
This commit is contained in:
parent
bf670c3545
commit
69dcbcb002
7 changed files with 79 additions and 19 deletions
18
tasks.py
18
tasks.py
|
|
@ -9,7 +9,11 @@ from websocket import WebSocketApp
|
|||
from lnbits.core.models import Payment
|
||||
from lnbits.tasks import register_invoice_listener
|
||||
|
||||
from .crud import get_public_keys_for_merchants
|
||||
from .crud import (
|
||||
get_last_direct_messages_time,
|
||||
get_last_order_time,
|
||||
get_public_keys_for_merchants,
|
||||
)
|
||||
from .nostr.nostr_client import connect_to_nostrclient_ws
|
||||
from .services import handle_order_paid, process_nostr_message
|
||||
|
||||
|
|
@ -68,9 +72,15 @@ async def subscribe_to_nostr_client(recieve_event_queue: Queue, send_req_queue:
|
|||
async def wait_for_nostr_events(recieve_event_queue: Queue, send_req_queue: Queue):
|
||||
public_keys = await get_public_keys_for_merchants()
|
||||
for p in public_keys:
|
||||
await send_req_queue.put(
|
||||
["REQ", f"direct-messages-in:{p}", {"kind": 4, "#p": [p]}]
|
||||
)
|
||||
last_order_time = await get_last_order_time(p)
|
||||
last_dm_time = await get_last_direct_messages_time(p)
|
||||
since = max(last_order_time, last_dm_time)
|
||||
|
||||
in_messages_filter = {"kind": 4, "#p": [p]}
|
||||
if since != 0:
|
||||
in_messages_filter["since"] = since
|
||||
print("### in_messages_filter", in_messages_filter)
|
||||
await send_req_queue.put(["REQ", f"direct-messages-in:{p}", in_messages_filter])
|
||||
# await send_req_queue.put(
|
||||
# ["REQ", f"direct-messages-out:{p}", {"kind": 4, "authors": [p]}]
|
||||
# )
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue