livestream: notifications and comments.

This commit is contained in:
fiatjaf
2021-04-11 00:44:55 -03:00
parent e17b9422ad
commit a3fbcd46cd
3 changed files with 69 additions and 7 deletions
+16 -3
View File
@@ -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())