diff --git a/harness/tg_inbox.py b/harness/tg_inbox.py index 23e23f0..3f4a9d1 100644 --- a/harness/tg_inbox.py +++ b/harness/tg_inbox.py @@ -56,13 +56,31 @@ def receive_message(update: dict): msg = update.get("message") or update.get("edited_message") or {} chat = msg.get("chat") or {} user = msg.get("from") or {} + # нетекстовые сообщения: помечаем, что это (стикер/фото/голос/…), + # иначе пустой text выглядит как «пустое сообщение» и триаж не понимает, что случилось + kind = "text" + if msg.get("sticker"): + kind = "sticker" + elif msg.get("photo"): + kind = "photo" + elif msg.get("voice"): + kind = "voice" + elif msg.get("video_note") or msg.get("video"): + kind = "video" + elif msg.get("audio"): + kind = "audio" + elif msg.get("document"): + kind = "document" + elif msg.get("animation"): + kind = "animation" data = { "update_id": update["update_id"], "chat_id": chat.get("id"), "user_id": user.get("id"), "username": user.get("username"), "first_name": user.get("first_name"), - "text": (msg.get("text") or "")[:4000], + "text": (msg.get("text") or msg.get("caption") or "")[:4000], + "kind": kind, "date": msg.get("date"), } es.append_event("inbox", f"m-{update['update_id']}", "MessageReceived", data)