import{Case}from"./chunks/ContributorBar.Cf4P5OVd.js";import{caso,Iasi,a9asl,oast}from"./chunks/framework.C4_mTacX.js";import"./chunks/theme.CZ1641GN.js";consta=l('<h1id="开发指南"tabindex="-1">开发指南<aclass="header-anchor"href="#开发指南"aria-label="Permalink to "开发指南""></a></h1><h2id="如何开发"tabindex="-1">如何开发<aclass="header-anchor"href="#如何开发"aria-label="Permalinkto"如何开发""></a></h2><p>插件开发无需阅读本文档,请阅读<ahref="./plugin.html">插件开发文档</a>和<ahref="./api/">API引用</a>。</p><p>如需往轻雪仓库提交代码,请阅读以下内容:</p><ol><li>首先<ahref="https://github.com/LiteyukiStudio/LiteyukiBot/fork"target="_blank"rel="noreferrer">fork</a>一份轻雪仓库到你的个人/组织账户下。</li><li>在你的仓库中进行开发。</li><li>在你的仓库中创建一个新的分支,将你的代码提交到这个分支。</li><li>在你的仓库中创建一个PullRequest,将你的分支合并到轻雪仓库的<code>main</code>分支。</li></ol><p>参与开发默认你已经了解Python语言和轻雪框架的基本使用方法,如果是文档相关的开发,请确保你了解Markdown语法和基本前端知识。出现冲突请与仓库维护者联系。</p><h3id="建议"tabindex="-1">建议<aclass="header-anchor"href="#建议"aria-label="Permalinkto"建议""></a></h3><ul><li>开发过程中可以使用<code>mypy</code>,<code>flake8</code>,<code>black</code>等工具进行代码检查和格式化。</li><li>启用开发者模式,可以在<code>config.yml</code>中设置<code>dev_mode:true</code>,这样可以在控制台看到更多的调试信息。</li></ul><h2id="项目结构"tabindex="-1">项目结构<aclass="header-anchor"href="#项目结构"aria-label="Permalinkto"项目结构""></a></h2><ul><li><code>main.py</code>:机器人入口文件</li><li><code>liteyuki</code>:框架目录(liteyukibot)</li><li><code>src</code>:机器人源码目录<ul><li><code>liteyuki_plugins</code>:轻雪插件目录</li><li><code>nonebot_plugins</code>:Nonebot插件目录</li><li><code>resources</code>:内置资源包目录</li><li><code>utils</code>:工具目录</li></ul></li><li><code>tests</code>:单元测试目录</li><li><code>docs</code>:文档目录<ul><li><code>en</code>:英文文档</li><li><code>zh</code>:中文文档</li></ul></li><li><code>docker</code>:Docker相关内容目录</li></ul><p>其中,<code>liteyuki</code>框架是包含在<code>LiteyukiBot</code>应用中的,所以此项目既是<code>LiteyukiBot</code>应用仓库,同时也是<code>liteyuki</code>框架的仓库</p><p><code>src</code>目录下为应用程序部分,业务逻辑请在此目录下进行开发,<code>liteyuki_plugins</code>和<code>nonebot_plugins</code>目录下为插件目录,插件开发请在此目录下进行开发。</p><h2id="规范化"tabindex="-1">规范化<aclass="header-anchor"href="#规范化"aria-label="Permalinkto"规范化""></a></h2><ul><li>代码请遵循<ahref="https://pep8.org/"target="_blank"rel="noreferrer"><code>PEP8</code></a>和<ahref="https://google.github.io/styleguide/pyguide.html"target="_blank"rel="noreferrer"><code>GooglePythonStyleGuide</code></a></li><li>提交到轻雪仓库的代码,请遵循以下规范:<ul><li>请确保代码是可运行的,没有危害的。</li><li>请确保代码的类型提示是正确的。</li><li>请确保注释风格为<ahref="https://google.github.io/styleguide/pyguide.html"target="_blank"rel="noreferrer"><code>GoogleDocstring</code></a>或<ahref="https://github.com/LiteyukiStudio/litedoc?tab=readme-ov-file#liteyuki-docstring"target="_blank"rel="noreferrer"><code>LiteyukiDocstring</code></a>(推荐)以保证Litedoc能够正确解析并生成文档。</li><li>字符串请使用双引号<code>"</code>,尽量避免使用单引号<code>'</code>,但在嵌套字符串时可以使用单引号<EFBFBD>