mirror of
https://github.com/aljazceru/nostrdvm.git
synced 2025-12-23 00:44:26 +01:00
more fixes
This commit is contained in:
@@ -120,7 +120,7 @@ class Bot:
|
||||
|
||||
# Check timestamp of rumor
|
||||
if rumor.created_at().as_secs() >= Timestamp.now().as_secs():
|
||||
if rumor.kind().match_enum(KindEnum.SEALED_DIRECT()):
|
||||
if rumor.kind() == Kind.from_enum(KindEnum.GIFT_WRAP()):
|
||||
decrypted_text = rumor.content()
|
||||
print(f"Received new msg [sealed]: {decrypted_text}")
|
||||
sealed = " [sealed] "
|
||||
@@ -451,7 +451,7 @@ class Bot:
|
||||
async def handle_zap(zap_event):
|
||||
print("[" + self.NAME + "] Zap received")
|
||||
try:
|
||||
invoice_amount, zapped_event, sender, message, anon = parse_zap_event_tags(zap_event,
|
||||
invoice_amount, zapped_event, sender, message, anon = await parse_zap_event_tags(zap_event,
|
||||
self.keys, self.NAME,
|
||||
self.client, self.dvm_config)
|
||||
|
||||
|
||||
@@ -285,7 +285,7 @@ class Subscription:
|
||||
|
||||
if tier_dtag == "" or len(zaps) == 0:
|
||||
tierfilter = Filter().id(EventId.parse(subscription_event_id))
|
||||
evts = self.client.get_events_of([tierfilter], timedelta(seconds=3))
|
||||
evts = await self.client.get_events_of([tierfilter], timedelta(seconds=3))
|
||||
if len(evts) > 0:
|
||||
for tag in evts[0].tags():
|
||||
if tag.as_vec()[0] == "d":
|
||||
|
||||
@@ -120,7 +120,7 @@ async def nip88_has_active_subscription(user: PublicKey, tiereventdtag, client:
|
||||
cancel_filter = Filter().kind(EventDefinitions.KIND_NIP88_STOP_SUBSCRIPTION_EVENT).author(
|
||||
user).pubkey(PublicKey.parse(receiver_public_key_hex)).event(
|
||||
EventId.parse(subscription_status["subscriptionId"])).limit(1)
|
||||
cancel_events = client.get_events_of([cancel_filter], timedelta(seconds=3))
|
||||
cancel_events = await client.get_events_of([cancel_filter], timedelta(seconds=3))
|
||||
if len(cancel_events) > 0:
|
||||
if cancel_events[0].created_at().as_secs() > evts[0].created_at().as_secs():
|
||||
subscription_status["expires"] = True
|
||||
|
||||
@@ -12,12 +12,12 @@ from nostr_sdk import Filter, Client, Alphabet, EventId, Event, PublicKey, Tag,
|
||||
from nostr_dvm.utils.definitions import EventDefinitions
|
||||
|
||||
|
||||
def get_event_by_id(event_id: str, client: Client, config=None) -> Event | None:
|
||||
async def get_event_by_id(event_id: str, client: Client, config=None) -> Event | None:
|
||||
split = event_id.split(":")
|
||||
if len(split) == 3:
|
||||
pk = PublicKey.from_hex(split[1])
|
||||
id_filter = Filter().author(pk).custom_tag(SingleLetterTag.lowercase(Alphabet.D), [split[2]])
|
||||
events = client.get_events_of([id_filter], timedelta(seconds=config.RELAY_TIMEOUT))
|
||||
events = await client.get_events_of([id_filter], timedelta(seconds=config.RELAY_TIMEOUT))
|
||||
else:
|
||||
if str(event_id).startswith('note'):
|
||||
event_id = EventId.from_bech32(event_id)
|
||||
|
||||
@@ -25,7 +25,7 @@ import dotenv
|
||||
proxies = {}
|
||||
|
||||
|
||||
def parse_zap_event_tags(zap_event, keys, name, client, config):
|
||||
async def parse_zap_event_tags(zap_event, keys, name, client, config):
|
||||
zapped_event = None
|
||||
invoice_amount = 0
|
||||
anon = False
|
||||
@@ -35,7 +35,7 @@ def parse_zap_event_tags(zap_event, keys, name, client, config):
|
||||
if tag.as_vec()[0] == 'bolt11':
|
||||
invoice_amount = parse_amount_from_bolt11_invoice(tag.as_vec()[1])
|
||||
elif tag.as_vec()[0] == 'e':
|
||||
zapped_event = get_event_by_id(tag.as_vec()[1], client=client, config=config)
|
||||
zapped_event = await get_event_by_id(tag.as_vec()[1], client=client, config=config)
|
||||
zapped_event = check_and_decrypt_own_tags(zapped_event, config)
|
||||
elif tag.as_vec()[0] == 'p':
|
||||
p_tag = tag.as_vec()[1]
|
||||
|
||||
@@ -56,7 +56,7 @@ async def init():
|
||||
await send_event(event, client=client, dvm_config=config)
|
||||
return event
|
||||
|
||||
def handledvm(now, eventid):
|
||||
async def handledvm(now, eventid):
|
||||
response = False
|
||||
|
||||
feedbackfilter = Filter().pubkey(keys.public_key()).kinds(
|
||||
@@ -65,8 +65,8 @@ async def init():
|
||||
[EventDefinitions.KIND_FEEDBACK]).since(now).event(eventid)
|
||||
lastfeedback = ""
|
||||
while not response:
|
||||
events = client.get_events_of([feedbackfilter], timedelta(seconds=3))
|
||||
fevents = client.get_events_of([feedbackfilter2], timedelta(seconds=3))
|
||||
events = await client.get_events_of([feedbackfilter], timedelta(seconds=3))
|
||||
fevents = await client.get_events_of([feedbackfilter2], timedelta(seconds=3))
|
||||
if len(fevents) > 0:
|
||||
if lastfeedback != fevents[0].content():
|
||||
for tag in fevents[0].tags():
|
||||
|
||||
Reference in New Issue
Block a user