|
@@ -6,6 +6,7 @@ from flask import Flask, request, render_template
|
|
|
from config import BOTS_LOOKUP
|
|
|
from command_system import RollbotMessage
|
|
|
from rollbot import Rollbot
|
|
|
+from util import post_message
|
|
|
|
|
|
dictConfig({
|
|
|
"version": 1,
|
|
@@ -32,26 +33,31 @@ atexit.register(rollbot.shutdown_plugins)
|
|
|
|
|
|
|
|
|
|
|
|
-msg = RollbotMessage.from_web("!echo This is a test!")
|
|
|
-print(rollbot.run_command(msg).info)
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-"""
|
|
|
- if response.txt is not None:
|
|
|
- post_message(response.txt, bot_id=bot_id)
|
|
|
- if response.img is not None:
|
|
|
- post_message(response.img, bot_id=bot_id)
|
|
|
- else:
|
|
|
-
|
|
|
- if message.group_id in BOTS_LOOKUP:
|
|
|
- bot_id = BOTS_LOOKUP[msg.group_id]
|
|
|
-
|
|
|
- if not response.respond:
|
|
|
- self.logger.info(f"Skipping response to message {message.message_id}")
|
|
|
- return
|
|
|
-
|
|
|
- self.logger.info(f"Responding to message {message.message_id}")
|
|
|
-"""
|
|
|
-
|
|
|
|
|
|
+@app.route("/rollbot", methods=["POST"])
|
|
|
+def execute():
|
|
|
+ json = request.get_json()
|
|
|
+ msg = RollbotMessage.from_groupme(json)
|
|
|
+ if msg.group_id in BOTS_LOOKUP:
|
|
|
+ bot_id = BOTS_LOOKUP[msg.group_id]
|
|
|
+ if msg.is_command:
|
|
|
+ response = rollbot.run_command(msg)
|
|
|
+ if result.respond:
|
|
|
+ app.logger.info(f"Responding to message {message.message_id}")
|
|
|
+ if result.is_success():
|
|
|
+ if result.txt is not None:
|
|
|
+ post_message(result.txt, bot_id=bot_id)
|
|
|
+ if result.img is not None:
|
|
|
+ post_message(result.img, bot_id=bot_id)
|
|
|
+ else:
|
|
|
+ post_message(result.failure_msg, bot_id=bot_id)
|
|
|
+ else:
|
|
|
+ app.logger.info(f"Skipping response to message {message.message_id}")
|
|
|
+ else:
|
|
|
+ app.logger.warn(f"Received message from unknown group ID {msg.group_id}")
|
|
|
+ return "200 OK"
|
|
|
+
|
|
|
+
|
|
|
+if __name__ == "__main__":
|
|
|
+ # default deployment in debug mode
|
|
|
+ app.run(host="localhost", port=6071, debug=True)
|