Looking pretty fucking dope Added some extra gifs Added wallet, lnurl generation should work Damn you lnurl check https for wss added z for lnurlp zindex to the moon zindex to moon lnurl too big in ambition lnurl big copy/paste bug address attach lnurl to view please work lnurl bug lnurl bug bigger lnurl added reconect button me bug await a string
50 lines
1.6 KiB
Python
50 lines
1.6 KiB
Python
from quart import g, abort, render_template, jsonify, websocket
|
|
from http import HTTPStatus
|
|
|
|
from lnbits.decorators import check_user_exists, validate_uuids
|
|
|
|
from . import copilot_ext
|
|
from .crud import get_copilot
|
|
|
|
from quart import g, abort, render_template, jsonify, websocket
|
|
from functools import wraps
|
|
import trio
|
|
import shortuuid
|
|
from . import copilot_ext
|
|
|
|
connected_websockets = {}
|
|
|
|
@copilot_ext.websocket('/ws/panel/<copilot_id>')
|
|
async def ws_panel(copilot_id):
|
|
global connected_websockets
|
|
while True:
|
|
data = await websocket.receive()
|
|
connected_websockets[copilot_id] = shortuuid.uuid() + '-' + data
|
|
|
|
@copilot_ext.websocket('/ws/compose/<copilot_id>')
|
|
async def ws_compose(copilot_id):
|
|
global connected_websockets
|
|
while True:
|
|
data = await websocket.receive()
|
|
await websocket.send(connected_websockets[copilot_id])
|
|
|
|
@copilot_ext.route("/")
|
|
@validate_uuids(["usr"], required=True)
|
|
@check_user_exists()
|
|
async def index():
|
|
return await render_template("copilot/index.html", user=g.user)
|
|
|
|
|
|
@copilot_ext.route("/cp/<copilot_id>")
|
|
async def compose(copilot_id):
|
|
copilot = await get_copilot(copilot_id) or abort(
|
|
HTTPStatus.NOT_FOUND, "Copilot link does not exist."
|
|
)
|
|
return await render_template("copilot/compose.html", copilot=copilot, lnurl=copilot.lnurl)
|
|
|
|
@copilot_ext.route("/<copilot_id>")
|
|
async def panel(copilot_id):
|
|
copilot = await get_copilot(copilot_id) or abort(
|
|
HTTPStatus.NOT_FOUND, "Copilot link does not exist."
|
|
)
|
|
return await render_template("copilot/panel.html", copilot=copilot) |