Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 5 additions & 8 deletions __init__.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
import asyncio

from fastapi import APIRouter
from lnbits.task_manager import Task, task_manager # type: ignore

from .crud import db
from .tasks import wait_for_paid_invoices
from .tasks import on_invoice_paid
from .views import lnurlp_generic_router
from .views_api import lnurlp_api_router
from .views_lnurl import lnurlp_lnurl_router
Expand All @@ -28,18 +27,16 @@
lnurlp_ext.include_router(lnurlp_api_router)
lnurlp_ext.include_router(lnurlp_lnurl_router)

scheduled_tasks: list[asyncio.Task] = []
scheduled_tasks: list[Task] = []


def lnurlp_stop():
for task in scheduled_tasks:
task.cancel()
task_manager.cancel_task(task)


def lnurlp_start():
from lnbits.tasks import create_permanent_unique_task

task = create_permanent_unique_task("lnurlp", wait_for_paid_invoices)
task = task_manager.register_invoice_listener(on_invoice_paid, "ext_lnurlp")
scheduled_tasks.append(task)


Expand Down
10 changes: 0 additions & 10 deletions tasks.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,23 +5,13 @@
import websockets
from lnbits.core.crud import get_payment, update_payment
from lnbits.core.models import Payment
from lnbits.tasks import register_invoice_listener
from loguru import logger
from pynostr.event import Event

from .crud import get_or_create_lnurlp_settings, get_pay_link
from .models import PayLink


async def wait_for_paid_invoices():
invoice_queue = asyncio.Queue()
register_invoice_listener(invoice_queue, "ext_lnurlp")

while True:
payment = await invoice_queue.get()
await on_invoice_paid(payment)


async def on_invoice_paid(payment: Payment):
if not payment.extra or payment.extra.get("tag") != "lnurlp":
return
Expand Down