用途:为使用 ktgbotapi 的 Telegram 机器人项目提供架构组织模式,覆盖项目结构、处理器拆分、依赖注入、回调数据、键盘与 FSM 状态机。
主要能力:给出推荐目录结构(Application、di、config、handlers、keyboards、fsm、api、services、models、utils);模块化处理器模式,每个处理器类通过 BehaviourContext.register() 成员扩展注册命令、文本、回调和媒体处理;类型安全回调数据模型(sealed class 编解码与解析);内联键盘与回复键盘构建器;基于 sealed interface 的 FSM 状态定义与状态处理器;依赖注入决策树。
版本:ktgbotapi 33.1.0、Metro 1.0.0、Spring Boot 3.4.x、Ktor client 3.4.3、Kotlin 2.3.21,资料明确要求不要降级。
使用方式:独立机器人用 Metro,在 main() 中 createGraph<BotGraph>() 后调用 buildBehaviourWithLongPolling 并注册各处理器;机器人嵌入 Spring Boot 后端时改用 Spring DI(@Configuration、@Component、@Service),不再叠加 Metro;KMP 单体栈或 Ktor 服务器场景也用 Metro。
适用场景:独立运行的 Telegram 机器人、嵌入后端共享数据库与服务的机器人、需要多步表单或反馈流程的机器人。
限制:资料已移除 Koin 默认方案,仅在确有需要时手动引入;未提供具体收费、平台支持范围或效果数据;部分代码示例在资料中被截断。