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