ignore echo messages
Browse files- app/main.py +12 -0
app/main.py
CHANGED
|
@@ -106,6 +106,18 @@ async def webhook(request: Request):
|
|
| 106 |
|
| 107 |
try:
|
| 108 |
body = json.loads(body_bytes)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 109 |
message_data = facebook_client.parse_message(body)
|
| 110 |
logger.info(f"[DEBUG] message_data: {message_data}")
|
| 111 |
|
|
|
|
| 106 |
|
| 107 |
try:
|
| 108 |
body = json.loads(body_bytes)
|
| 109 |
+
# Kiểm tra an toàn echo
|
| 110 |
+
is_echo = (
|
| 111 |
+
isinstance(body, dict)
|
| 112 |
+
and "entry" in body
|
| 113 |
+
and isinstance(body["entry"], list)
|
| 114 |
+
and len(body["entry"]) > 0
|
| 115 |
+
and isinstance(body["entry"][0], dict)
|
| 116 |
+
and body["entry"][0].get("is_echo", False)
|
| 117 |
+
)
|
| 118 |
+
if is_echo:
|
| 119 |
+
logger.info(f"[DEBUG] Message is echo, skipping...")
|
| 120 |
+
return {"status": "ok"}
|
| 121 |
message_data = facebook_client.parse_message(body)
|
| 122 |
logger.info(f"[DEBUG] message_data: {message_data}")
|
| 123 |
|