- 调整依赖导入顺序与清理冗余空行 - 修复setup wizard步骤存储逻辑 - 新增消息编辑/转发标记、卡片控件支持 - 完善目标校验、媒体上传、配对存储功能 - 优化流式响应与错误处理逻辑 - 增强SSRF防护与配置灵活性 - 新增/扩展内置命令与卡片处理能力 - 调整媒体大小限制与类型参数
22 lines
500 B
Python
22 lines
500 B
Python
from __future__ import annotations
|
|
|
|
import base64
|
|
import json
|
|
|
|
from yuxi.utils.logging_config import logger
|
|
|
|
|
|
def decode_pubsub_push(body: dict) -> dict | None:
|
|
message = body.get("message", {})
|
|
data_b64 = message.get("data", "")
|
|
|
|
if not data_b64:
|
|
return None
|
|
|
|
try:
|
|
decoded = base64.b64decode(data_b64).decode("utf-8")
|
|
return json.loads(decoded)
|
|
except Exception as e:
|
|
logger.warning(f"Failed to decode Pub/Sub push data: {e}")
|
|
return None
|