Files
AstrBot/src-new/astrbot_sdk/api/message/__init__.py
whatevertogo cdf72b75a4 feat: 实现 v4 API 兼容层,支持旧版插件导入路径
新增模块:
- api/basic/: AstrBotConfig, BaseConversationManager, Conversation
- api/event/: AstrMessageEvent, AstrBotMessage, EventType, MessageType,
  MessageSession, EventResult 等核心事件类型
- api/message/: MessageChain 及所有消息组件 (Plain, At, Image, File 等)
- api/platform/: PlatformMetadata 平台元数据类型
- api/provider/: LLMResponse 提供者响应实体
- api/star/star.py: StarMetadata 插件元数据类型

更新模块:
- api/__init__.py: 导出所有子模块
- api/components/: 扩展 Command 兼容性
- api/event/filter.py: 增强 filter 装饰器兼容性
- context.py, decorators.py, events.py: 顶层兼容入口

测试更新:
- test_api_event_filter.py: 验证 filter 兼容性
- test_api_modules.py: 验证新模块可导入
- test_handler_dispatcher.py: 验证处理器分发

文档更新:
- AGENTS.md/CLAUDE.md: 添加兼容层设计说明,避免重复造轮子

设计原则:
- 兼容层通过 thin re-export 方式暴露旧版 API
- 不复制独立运行时逻辑,保持架构清晰
- 新版推荐使用顶层模块导入路径
2026-03-13 03:17:03 +08:00

60 lines
812 B
Python

"""旧版 ``astrbot_sdk.api.message`` 的兼容入口。"""
from .chain import MessageChain
from .components import (
At,
AtAll,
BaseMessageComponent,
ComponentType,
Contact,
Dice,
Face,
File,
Forward,
Image,
Json,
Location,
Music,
Node,
Nodes,
Plain,
Poke,
Record,
Reply,
RPS,
Shake,
Share,
Unknown,
Video,
WechatEmoji,
)
__all__ = [
"At",
"AtAll",
"BaseMessageComponent",
"ComponentType",
"Contact",
"Dice",
"Face",
"File",
"Forward",
"Image",
"Json",
"Location",
"MessageChain",
"Music",
"Node",
"Nodes",
"Plain",
"Poke",
"Record",
"Reply",
"RPS",
"Shake",
"Share",
"Unknown",
"Video",
"WechatEmoji",
]