ForcePilot/backend/package/yuxi/channels/adapters/qqbot/sender_init.py

49 lines
1.2 KiB
Python
Raw Normal View History

from __future__ import annotations
import logging
from dataclasses import dataclass
logger = logging.getLogger(__name__)
PLUGIN_VERSION = "1.0.0"
OPENCLAW_VERSION = "1.0.0"
@dataclass
class SenderInfo:
plugin_version: str = PLUGIN_VERSION
openclaw_version: str = OPENCLAW_VERSION
channel_id: str = "qqbot"
user_agent: str = ""
def __post_init__(self):
self.user_agent = f"openclaw-qqbot/{self.plugin_version} openclaw/{self.openclaw_version}"
def init_sender(
plugin_version: str = PLUGIN_VERSION,
openclaw_version: str = OPENCLAW_VERSION,
) -> SenderInfo:
info = SenderInfo(
plugin_version=plugin_version,
openclaw_version=openclaw_version,
)
logger.info(
"Sender initialized: plugin=%s openclaw=%s ua=%s",
info.plugin_version,
info.openclaw_version,
info.user_agent,
)
return info
def build_sender_headers(info: SenderInfo, extra: dict | None = None) -> dict:
headers = {
"User-Agent": info.user_agent,
"X-Plugin-Version": info.plugin_version,
"X-OpenClaw-Version": info.openclaw_version,
}
if extra:
headers.update(extra)
return headers