Skip to content

开发指南

如何开发

插件开发无需阅读本文档,请阅读插件开发文档API 引用

如需往轻雪仓库提交代码,请阅读以下内容:

  1. 首先fork一份轻雪仓库到你的个人/组织账户下。
  2. 在你的仓库中进行开发。
  3. 在你的仓库中创建一个新的分支,将你的代码提交到这个分支。
  4. 在你的仓库中创建一个Pull Request,将你的分支合并到轻雪仓库的main分支。

参与开发默认你已经了解Python语言和轻雪框架的基本使用方法,如果是文档相关的开发,请确保你了解Markdown语法和基本前端知识。 出现冲突请与仓库维护者联系。

建议

  • 开发过程中可以使用mypy, flake8, black等工具进行代码检查和格式化。
  • 启用开发者模式,可以在config.yml中设置dev_mode: true,这样可以在控制台看到更多的调试信息。

项目结构

  • main.py: 机器人入口文件
  • liteyuki: 框架目录(liteyukibot)
  • src: 机器人源码目录
    • liteyuki_plugins: 轻雪插件目录
    • nonebot_plugins: Nonebot插件目录
    • resources: 内置资源包目录
    • utils: 工具目录
  • tests: 单元测试目录
  • docs: 文档目录
    • en: 英文文档
    • zh: 中文文档
  • docker: Docker相关内容目录

其中,liteyuki框架是包含在LiteyukiBot应用中的,所以此项目既是LiteyukiBot应用仓库,同时也是liteyuki框架的仓库

src目录下为应用程序部分,业务逻辑请在此目录下进行开发,liteyuki_pluginsnonebot_plugins目录下为插件目录,插件开发请在此目录下进行开发。

规范化

  • 代码请遵循PEP8Google Python Style Guide
  • 提交到轻雪仓库的代码,请遵循以下规范:
    • 请确保代码是可运行的,没有危害的。
    • 请确保代码的类型提示是正确的。
    • 请确保注释风格为Google DocstringLiteyuki Docstring(推荐)以保证Litedoc能够正确解析并生成文档。
    • 字符串请使用双引号",尽量避免使用单引号',但在嵌套字符串时可以使用单引号。
    • 若有面向普通用户部分,请确保文档是完善的(每种语言都有对应的文档)。
  • commit message请遵循以下规范:
    • 应在每次完成一个功能或修复一个bug后提交代码,不要将多个功能或多个bug的代码混在一起提交。
    • 我们使用gitmoji来标记commit的类型,如:sparkles:表示引入新功能,:bug:表示修复bug等,具体请参考gitmoji
    • commit message的格式为<emoji> [type:] <message>,如:sparkles: feat: 给event添加新字段, 其中type字段为commit类型且可选,message字段为简短的描述,总结来说就是你干了什么。
    • 不限制commit message的语言,有条件可以使用中英双语。
  • 文档请遵循Markdown语法,并且支持vitepress相关内容:
    • 修订文档时,每个语言的文档都要修订。
    • 请确保文档内的链接是正确的,不要出现无法访问的死链接。
    • 请确保用户文档是通俗易懂的,开发文档是详细的。

最后

  • 本项目是一个非盈利的开源项目,我们欢迎任何人参与开发,你的贡献将会使轻雪变得更好。

感谢以下贡献者!

Contributors

文档由 VitePress 构建 | API引用由 litedoc 生成