feat(talkbot): add webhook payload debug logging

このコミットが含まれているのは:
2026-09-05 16:58:03 +02:00
コミット 884c30b546
2個のファイルの変更34行の追加11行の削除
+33 -11
ファイルの表示
@@ -32,6 +32,10 @@ LLAMACPP_ENABLE_THINKING = (
os.environ.get("LLAMACPP_ENABLE_THINKING", "false").lower()
in {"1", "true", "yes", "on"}
)
LOG_WEBHOOK_PAYLOAD = (
os.environ.get("LOG_WEBHOOK_PAYLOAD", "false").lower()
in {"1", "true", "yes", "on"}
)
QWEN_TTS_URL = os.environ.get("QWEN_TTS_URL", "http://qwen-tts:8000").rstrip("/")
QWEN_TTS_TIMEOUT = int(os.environ.get("QWEN_TTS_TIMEOUT") or "1800")
@@ -1209,6 +1213,7 @@ def process_event(job: dict) -> None:
sender_display_name = job["sender_display_name"]
file_param = job.get("file_param")
message_text = job.get("message_text", "")
preserve_original = job.get("preserve_original", False)
try:
recipients = get_target_user_ids(
@@ -1290,19 +1295,25 @@ def process_event(job: dict) -> None:
if not translations:
return
deleted = delete_message(
token,
message_id,
)
if not deleted:
log.warning(
"Original message %s was not deleted. "
"Generated translations will not be posted "
"to avoid confusing duplicates.",
if preserve_original:
log.info(
"Preserving original message %s because it has a non-audio attachment",
message_id,
)
return
else:
deleted = delete_message(
token,
message_id,
)
if not deleted:
log.warning(
"Original message %s was not deleted. "
"Generated translations will not be posted "
"to avoid confusing duplicates.",
message_id,
)
return
for recipient, target_language, translated in translations:
post_manager_message(
@@ -1460,6 +1471,13 @@ async def webhook(
}
)
if LOG_WEBHOOK_PAYLOAD:
log.warning(
"Webhook payload for message %s: %s",
message_id,
json.dumps(payload, ensure_ascii=False, sort_keys=True),
)
sender_user_id = actor_user_id(actor)
sender_display_name = (
actor.get("name")
@@ -1510,6 +1528,8 @@ async def webhook(
parameters,
)
preserve_original = False
if file_param and not is_audio_file(file_param):
log.info(
"Ignoring unsupported attachment in message %s: name=%s mimetype=%s",
@@ -1520,6 +1540,7 @@ async def webhook(
# If the message also contains text, process the text and ignore the
# unrelated attachment. Otherwise there is nothing for this bot to do.
preserve_original = bool(message_text)
file_param = None
if not file_param and not message_text:
@@ -1543,6 +1564,7 @@ async def webhook(
"sender_display_name": sender_display_name,
"file_param": file_param,
"message_text": message_text,
"preserve_original": preserve_original,
}
)
+1
ファイルの表示
@@ -37,6 +37,7 @@ Environment=LLAMACPP_URL=http://llamacpp:8090
#Environment=LLAMACPP_MODEL=
Environment=LLAMACPP_MAX_TOKENS=8192
Environment=LLAMACPP_ENABLE_THINKING=false
#Environment=LOG_WEBHOOK_PAYLOAD=false
Environment=QWEN_TTS_URL=http://qwen-tts:8000
# --- Behaviour ---