Software /
code /
prosody-modules
File
mod_rest/example/app.py @ 5997:d3812826c1cd
mod_csi_muc_priorities: Allow setting the default priority for mucs to low
Move the priority checking after the mention check so that if there is a
mention we return true.
Add an option to the form to set the default priority to low.
Return `nil` in cases where we determite that the priority should be high, as
with `mod_csi_simple` this causes normal MUC messages to be marked important
while allowing mod_csi_grace_period and unneeded messages to be queued.
author | aereaux <aidan@jmad.org> |
---|---|
date | Sun, 22 Sep 2024 08:13:09 -0700 |
parent | 4248:f3fbfde9683d |
line wrap: on
line source
from flask import Flask, Response, request, jsonify app = Flask("echobot") @app.route("/api", methods=["OPTIONS"]) def options(): """ Startup check. Return an appropriate Accept header to confirm the data type to use. """ return Response(status=200, headers={"accept": "application/json"}) @app.route("/api", methods=["POST"]) def hello(): """ Example RESTful JSON format stanza handler. """ print(request.data) if request.is_json: data = request.get_json() if "kind" not in data: return Response(status=400) if data["kind"] == "message" and "body" in data: # Reply to a message return jsonify({"body": "Yes this is flask app"}) elif data["kind"] == "iq" and data["type"] == "get": if "disco" in data: # Return supported features return jsonify( { "disco": { "identities": [ { "category": "component", "type": "generic", "name": "Flask app", } ], "features": [ "http://jabber.org/protocol/disco#info", "http://jabber.org/protocol/disco#items", "jabber:iq:version", "urn:xmpp:ping", ], } } ) elif "items" in data: # Disco items return jsonify( {"items": [{"jid": "example.org", "name": "Example Dot Org"}]} ) elif "version" in data: # Version info return jsonify({"version": {"name": "app.py", "version": "0"}}) elif "ping" in data: # Respond to ping return Response(status=204) return Response(status=501) if __name__ == "__main__": app.run()