Add the /plain hook

This commit is contained in:
Théophile Bastian 2023-08-14 09:21:49 +02:00
parent f880feccb3
commit e01236c3a0

View file

@ -53,3 +53,24 @@ def alertmanager(recipient=None):
signal.signal_send(recipient_nums, msg)
return "OK", 200
@app.route("/plain", methods=["POST"])
def plain():
"""Send a message through Signal, plain POST args.
Expects:
* message: plaintext message to be sent;
* recipient: ID of recipient. If absent, default recipient is used.
"""
if "message" not in request.form:
return "Missing message", 400
recipient = request.form.get("recipient", configuration.DEFAULT_RECIPIENT)
try:
recipient_num = configuration.RECIPIENTS[recipient]
except KeyError:
return "Unauthorized recipient", 400
signal.signal_send([recipient_num], request.form["message"])
return "OK", 200