• 欢迎来到小可 · Wiki,人人可编辑的,多平台聊天机器人“小可”的官方文档资源。
  • 小可很可爱,请给我们打钱
  • 原 MkDocs 已迁入本站。若发现 404 属正常现象,请点击左上角搜索您想要的模块。

开发

来自小可 · Wiki,人人可编辑的,QQ机器人“小可”的官方文档资源
Dorowolf讨论 | 贡献2024年11月8日 (五) 13:11的版本 →‎如何开发

小可机器人提供了多种模块化的接口,这些接口可以帮助你实现更多的个性化功能,但通常也需要具备一定的知识。

在阅读完文档教程后,如果在开发与使用中遇到问题,可以在 GitHub 或官方测试群寻求帮助。

技术实现

目录树

├─assets                       // 存放静态资源文件
├─bots                         // 存放所有平台的协议端实现
|  ├─<平台名称>                   // 特定平台的协议端实现
├─cache                        // 存放缓存文件
├─config                       // 存放配置文件
├─core                        // 机器人的核心文件
|  ├─builtins                  // 机器人的内建功能
|  ├─console                   // 控制台核心
|  ├─database                  // 数据库交互核心
|  ├─extra                     // 额外功能
|  ├─parser                    // 命令解析器
|  ├─types                     // 定义机器人接口类和数据模型模板
|  └─utils                     // 工具函数和工具类
├─database                     // 存放数据库相关文件
├─example                      // 示例代码
|  ├─new_module                 // 新模块的示例
├─locales                       // 存放全局多语言支持文件
├─logs                          // 运行日志文件
├─modules                       // 存放所有模块,包含机器人的各种扩展功能
|  ├─<模块名称>                  // 特定模块的文件夹
|  |  ├─locales                  // 模块内专用的多语言文件
└─schedulers                    // 存放定时任务相关的代码,用于安排定时执行的任务

开发新功能

如何开发

在开发不同的模块与文件时,通常需要对不同格式的文件进行编写。我们推荐使用专业的编辑器与开发环境进行开发工作,例如 VScode 等,它们可以更好地帮助你开发新功能,例如语法高亮、错误检查等,能为你带来更好的开发体验。

此外,建议在开发之前安装 pre-commit Git 钩子,它可以在提交 Commit 前执行一些操作。如:同步 poetry.lock 至 requirements.txt、自动 PEP8 格式化等。

测试新功能

在你开发完新的功能后,除了直接在对应平台进行测试外,还可以使用控制台。控制台可以提供一个更方便的测试环境,包括基本的机器人交互途径,以及更方便地展示后台日志,帮助你在交互过程中更好地发现问题。

Cookie帮助我们提供我们的服务。通过使用我们的服务,您同意我们使用cookie。