# -*- coding: utf-8 -*- """ =================================== 平台适配器模块 =================================== 包含各平台的 Webhook 处理和消息解析逻辑。 支持两种接入模式: 1. Webhook 模式:需要公网 IP,配置回调 URL 2. Stream 模式:无需公网 IP,通过 WebSocket 长连接(钉钉、飞书支持) """ from bot.platforms.base import BotPlatform from bot.platforms.dingtalk import DingtalkPlatform # 所有可用平台(Webhook 模式) ALL_PLATFORMS = { 'dingtalk': DingtalkPlatform, } # 钉钉 Stream 模式(可选) try: from bot.platforms.dingtalk_stream import ( DingtalkStreamClient, DingtalkStreamHandler, get_dingtalk_stream_client, start_dingtalk_stream_background, DINGTALK_STREAM_AVAILABLE, ) except ImportError: DINGTALK_STREAM_AVAILABLE = False DingtalkStreamClient = None DingtalkStreamHandler = None get_dingtalk_stream_client = lambda: None start_dingtalk_stream_background = lambda: False # 飞书 Stream 模式(可选) try: from bot.platforms.feishu_stream import ( FeishuStreamClient, FeishuStreamHandler, FeishuReplyClient, get_feishu_stream_client, start_feishu_stream_background, FEISHU_SDK_AVAILABLE, ) except ImportError: FEISHU_SDK_AVAILABLE = False FeishuStreamClient = None FeishuStreamHandler = None FeishuReplyClient = None get_feishu_stream_client = lambda: None start_feishu_stream_background = lambda: False __all__ = [ 'BotPlatform', 'DingtalkPlatform', 'ALL_PLATFORMS', # 钉钉 Stream 模式 'DingtalkStreamClient', 'DingtalkStreamHandler', 'get_dingtalk_stream_client', 'start_dingtalk_stream_background', 'DINGTALK_STREAM_AVAILABLE', # 飞书 Stream 模式 'FeishuStreamClient', 'FeishuStreamHandler', 'FeishuReplyClient', 'get_feishu_stream_client', 'start_feishu_stream_background', 'FEISHU_SDK_AVAILABLE', ]