livestream: notifications and comments.
This commit is contained in:
@@ -26,7 +26,10 @@ async def lnurl_response(ls_id):
|
||||
metadata=await track.lnurlpay_metadata,
|
||||
)
|
||||
|
||||
return jsonify(resp.dict())
|
||||
params = resp.dict()
|
||||
params["commentAllowed"] = 300
|
||||
|
||||
return jsonify(params)
|
||||
|
||||
|
||||
@livestream_ext.route("/lnurl/cb/<track_id>", methods=["GET"])
|
||||
@@ -54,6 +57,12 @@ async def lnurl_callback(track_id):
|
||||
),
|
||||
)
|
||||
|
||||
comment = request.args.get("comment")
|
||||
if len(comment or "") > 300:
|
||||
return jsonify(
|
||||
LnurlErrorResponse(reason=f"Got a comment with {len(comment)} characters, but can only accept 300").dict()
|
||||
)
|
||||
|
||||
ls = await get_livestream_by_track(track_id)
|
||||
|
||||
payment_hash, payment_request = await create_invoice(
|
||||
@@ -61,9 +70,13 @@ async def lnurl_callback(track_id):
|
||||
amount=int(amount_received / 1000),
|
||||
memo=await track.description(),
|
||||
description_hash=hashlib.sha256((await track.lnurlpay_metadata).encode("utf-8")).digest(),
|
||||
extra={"tag": "livestream", "track": track.id},
|
||||
extra={"tag": "livestream", "track": track.id, "comment": comment},
|
||||
)
|
||||
|
||||
resp = LnurlPayActionResponse(pr=payment_request, success_action=track.success_action(payment_hash), routes=[],)
|
||||
resp = LnurlPayActionResponse(
|
||||
pr=payment_request,
|
||||
success_action=track.success_action(payment_hash),
|
||||
routes=[],
|
||||
)
|
||||
|
||||
return jsonify(resp.dict())
|
||||
|
||||
Reference in New Issue
Block a user