SuperAPI AI 工具集

ktgbotapi

编程与开发

查看项目

更新于 10-16 09:53

技能介绍

用途:为 Kotlin Multiplatform 提供类型安全、基于协程的 Telegram Bot API 封装,本文档是一份 33.x 版参考,指导用 BehaviourBuilder DSL 编写机器人。依赖固定为 33.1.0:implementation("dev.inmo:tgbotapi:33.1.0"),要求 Kotlin 2.1+(建议 2.3.21)与 kotlinx-coroutines-core 1.10+。模块包括 core(核心类型与请求)、api(API 扩展方法)、utils(工具与键盘构建器)、behaviour_builder(DSL)、behaviour_builder.fsm(FSM 集成)。

主要能力:使用 telegramBot(System.getenv("BOT_TOKEN")) 与 buildBehaviourWithLongPolling 构建长轮询机器人;trigger 覆盖 onCommand、onCommandWithArgs、onCommandWithNamedArgs、onDeepLink、onText、各类媒体、onDataCallbackQuery、onInlineQuery、onChatMemberUpdated 等;expectation 提供 waitText、waitPhoto、waitDataCallbackQuery 等输入等待;还可发送文本、媒体、媒体组、位置、联系人,使用 buildEntities DSL 或 HTML/MarkdownV2 解析模式,构建 replyKeyboard 与 inlineKeyboard,处理回调查询、内联模式、聊天管理、文件下载、机器人设置及异常处理。FSM 部分需注意导入路径:State 位于 dev.inmo:micro_utils.fsm.common,strictlyOn 等位于 tgbotapi.behaviour_builder.fsm,wait* 位于 expectations,buildBehaviourWithFSMAndStartLongPolling 位于 behaviour_builder 父包。

关键变更与限制:v32 到 v33 有破坏性变化——BotToken 变为 value class,许多操作返回 Unit 而非 Boolean,MultipleAnswersPoll 移除(改用 RegularPoll allowsMultipleAnswers),quiz 的 correctOptionId 改为 correctOptionIds 列表,InputMedia 构造器重组,expectations 包重排。onCommand 默认 requireOnlyCommandInMessage = true,带参数命令需改用 onCommandWithArgs 或显式设为 false。若训练数据早于 2025 年中,需特别注意上述陷阱。文中未提供定价、收费、平台范围与性能效果等信息。