|
@@ -6,7 +6,7 @@ from threading import Thread
|
|
|
from flask import Flask, request, render_template
|
|
|
|
|
|
from config import BOTS_LOOKUP
|
|
|
-from command_system import RollbotMessage
|
|
|
+from command_system import RollbotMessage, RollbotResponse, RollbotFailure
|
|
|
from rollbot import Rollbot
|
|
|
from util import post_message
|
|
|
|
|
@@ -70,14 +70,18 @@ def execute():
|
|
|
return "", 204
|
|
|
|
|
|
if msg.group_id not in BOTS_LOOKUP:
|
|
|
- app.logger.warn(f"Received message from unknown group ID {msg.group_id}")
|
|
|
+ app.logger.warning(f"Received message from unknown group ID {msg.group_id}")
|
|
|
return "Invalid group ID", 403
|
|
|
|
|
|
|
|
|
def run_command_and_respond():
|
|
|
app.logger.info(f"Entering command thread for {msg.message_id}")
|
|
|
t = time.time()
|
|
|
- response = rollbot.run_command(msg)
|
|
|
+ try:
|
|
|
+ response = rollbot.run_command(msg)
|
|
|
+ except Exception as e:
|
|
|
+ app.logger.error(f"Exception during command execution {e}, for message {msg.message_id}")
|
|
|
+ response = RollbotResponse(msg, failure=RollbotFailure.INTERNAL_ERROR)
|
|
|
|
|
|
if not response.respond:
|
|
|
app.logger.info(f"Skipping response to message {msg.message_id}")
|
|
@@ -93,6 +97,7 @@ def execute():
|
|
|
post_message(response.img, bot_id=bot_id)
|
|
|
else:
|
|
|
post_message(response.failure_msg, bot_id=bot_id)
|
|
|
+ app.logger.warning(f"Failed command response: {response}")
|
|
|
|
|
|
t = time.time() - t
|
|
|
app.logger.info(f"Exiting command thread for {msg.message_id} after {t:.3f}s")
|