ForcePilot/backend/package/yuxi/channels/adapters/googlechat/pubsub_.py
Kris ca07c593a8 feat(googlechat): 实现 Google Chat 适配器完整功能集
新增 Google Chat 对接的全套工具模块,包括:
- 会话线程管理、消息解析与格式化
- Pub/Sub 消息解码、提及和命令识别
- 权限审批、目录管理和审计日志
- 消息缓存、媒体上传下载和 SSFR 防护
- 策略配置、卡片构建和流式回复支持
2026-05-12 00:44:18 +08:00

22 lines
500 B
Python

from __future__ import annotations
import json
import base64
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