app/dev/guide.html

27 lines
56 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="zh-Hans" dir="ltr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>开发指南 | 轻雪机器人</title>
<meta name="description" content="一个综合性的机器人应用及管理框架">
<meta name="generator" content="VitePress v1.4.1">
<link rel="preload stylesheet" href="/assets/style.w1ijbD60.css" as="style">
<script type="module" src="/assets/app.Cbd8K367.js"></script>
<link rel="preload" href="/assets/inter-roman-latin.Di8DUHzh.woff2" as="font" type="font/woff2" crossorigin="">
<link rel="modulepreload" href="/assets/chunks/theme.CFTLncSz.js">
<link rel="modulepreload" href="/assets/chunks/framework.jrU0lkHV.js">
<link rel="modulepreload" href="/assets/chunks/ContributorBar.G3Q0sGDc.js">
<link rel="modulepreload" href="/assets/dev_guide.md.gz8pac9B.lean.js">
<link rel="icon" type="image/x-icon" href="favicon.ico">
<link rel="stylesheet" href="https://fonts.font.im/css?family=Cousine:400,400i,700,700i|Poppins:100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i">
<script id="check-dark-mode">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"auto",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
<script id="check-mac-os">document.documentElement.classList.toggle("mac",/Mac|iPhone|iPod|iPad/i.test(navigator.platform));</script>
</head>
<body>
<div id="app"><div class="Layout" data-v-2391887b data-v-14531071><!--[--><!--]--><!--[--><span tabindex="-1" data-v-e7679b1b></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-e7679b1b> Skip to content </a><!--]--><!----><header class="VPNav" data-v-14531071 data-v-604d9d89><div class="VPNavBar" data-v-604d9d89 data-v-2ea77c56><div class="wrapper" data-v-2ea77c56><div class="container" data-v-2ea77c56><div class="title" data-v-2ea77c56><div class="VPNavBarTitle has-sidebar" data-v-2ea77c56 data-v-92862917><a class="title" href="/" data-v-92862917><!--[--><!--]--><!--[--><!--[--><!--[--><img class="VPImage dark logo" src="/liteyuki-dark.svg" alt="LiteyukiBot Logo" data-v-a9cbfe26><!--]--><!--[--><img class="VPImage light logo" src="/liteyuki.svg" alt="LiteyukiBot Logo" data-v-a9cbfe26><!--]--><!--]--><!--]--><span data-v-92862917>轻雪机器人</span><!--[--><!--]--></a></div></div><div class="content" data-v-2ea77c56><div class="content-body" data-v-2ea77c56><!--[--><!--]--><div class="VPNavBarSearch search" data-v-2ea77c56><!--[--><!----><div id="local-search"><button type="button" class="DocSearch DocSearch-Button" aria-label="打开搜索框"><span class="DocSearch-Button-Container"><span class="vp-icon DocSearch-Search-Icon"></span><span class="DocSearch-Button-Placeholder">搜索文档</span></span><span class="DocSearch-Button-Keys"><kbd class="DocSearch-Button-Key"></kbd><kbd class="DocSearch-Button-Key">K</kbd></span></button></div><!--]--></div><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-2ea77c56 data-v-16b64b81><span id="main-nav-aria-label" class="visually-hidden" data-v-16b64b81> Main Navigation </span><!--[--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/deploy/install.html" tabindex="0" data-v-16b64b81 data-v-f5a40f34><!--[--><span data-v-f5a40f34>部署</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/usage/basic.html" tabindex="0" data-v-16b64b81 data-v-f5a40f34><!--[--><span data-v-f5a40f34>使用</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/store/resource.html" tabindex="0" data-v-16b64b81 data-v-f5a40f34><!--[--><span data-v-f5a40f34>扩展</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink active" href="/dev/guide.html" tabindex="0" data-v-16b64b81 data-v-f5a40f34><!--[--><span data-v-f5a40f34>开发</span><!--]--></a><!--]--><!--]--></nav><div class="VPFlyout VPNavBarTranslations translations" data-v-2ea77c56 data-v-f3a748b5 data-v-f5813693><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="语言" data-v-f5813693><span class="text" data-v-f5813693><span class="vpi-languages option-icon" data-v-f5813693></span><!----><span class="vpi-chevron-down text-icon" data-v-f5813693></span></span></button><div class="menu" data-v-f5813693><div class="VPMenu" data-v-f5813693 data-v-cfa52506><!----><!--[--><!--[--><div class="items" data-v-f3a748b5><p class="title" data-v-f3a748b5>简体中文</p><!--[--><div class="VPMenuLink" data-v-f3a748b5 data-v-dc605e44><a class="VPLink link" href="/en/dev/guide.html" data-v-dc605e44><!--[--><span data-v-dc605e44>English</span><!--]--></a></div><!--]--></div><!--]--><!--]--></div></div></div><div class="VPNavBarAppearance appearance" data-v-2ea77c56 data-v-08a998c6><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-08a998c6 data-v-0c7b8037 data-v-8949d7c4><span class="check" data-v-8949d7c4><span class="icon" data-v-8949d7c4><!--[--><span class="vpi-sun sun" data-v-0c7b8037></span><span class="vpi-moon moon" data-v-0c7b8037></span><!--]--></span></span></button></div><div class="VPSocialLinks VPNavBarSocialLinks social-links" data-v-2ea77c56 data-v-62db2424 data-v-a60bac68><!--[--><a class="VPSocialLink no-icon" href="https://github.com/LiteyukiStudio/LiteyukiBot" aria-label="github" target="_blank" rel="noopener" data-v-a60bac68 data-v-29d29d55><span class="vpi-social-github" /></a><a class="VPSocialLink no-icon" href="https://git.liteyuki.icu/LiteyukiStudio/LiteyukiBot" aria-label target="_blank" rel="noopener" data-v-a60bac68 data-v-29d29d55><svg t="1725391346807" class="icon" viewBox="0 0 1025 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5067" width="256" height="256"><path d="M1004.692673 466.396616l-447.094409-447.073929c-25.743103-25.763582-67.501405-25.763582-93.264987 0l-103.873521 103.873521 78.171378 78.171378c12.533635-6.00058 26.562294-9.359266 41.389666-9.359266 53.02219 0 96.00928 42.98709 96.00928 96.00928 0 14.827372-3.358686 28.856031-9.359266 41.389666l127.97824 127.97824c12.533635-6.00058 26.562294-9.359266 41.389666-9.359266 53.02219 0 96.00928 42.98709 96.00928 96.00928s-42.98709 96.00928-96.00928 96.00928-96.00928-42.98709-96.00928-96.00928c0-14.827372 3.358686-28.856031 9.359266-41.389666l-127.97824-127.97824c-3.051489 1.454065-6.184898 2.744293-9.379746 3.870681l0 266.97461c37.273227 13.188988 63.99936 48.721433 63.99936 90.520695 0 53.02219-42.98709 96.00928-96.00928 96.00928s-96.00928-42.98709-96.00928-96.00928c0-41.799262 26.726133-77.331707 63.99936-90.520695l0-266.97461c-37.273227-13.188988-63.99936-48.721433-63.99936-90.520695 0-14.827372 3.358686-28.856031 9.359266-41.389666l-78.171378-78.171378-295.892081 295.871601c-25.743103 25.784062-25.743103 67.542365 0 93.285467l447.114889 447.073929c25.743103 25.743103 67.480925 25.743103 93.264987 0l445.00547-445.00547c25.763582-25.763582 25.763582-67.542365 0-93.285467z" fill="#a2d8f4" p-id="5068"></path></svg></a><!--]--></div><div class="VPFlyout VPNavBarExtra extra" data-v-2ea77c56 data-v-213f4892 data-v-f5813693><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-f5813693><span class="vpi-more-horizontal icon" data-v-f5813693></span></button><div class="menu" data-v-f5813693><div class="VPMenu" data-v-f5813693 data-v-cfa52506><!----><!--[--><!--[--><div class="group translations" data-v-213f4892><p class="trans-title" data-v-213f4892>简体中文</p><!--[--><div class="VPMenuLink" data-v-213f4892 data-v-dc605e44><a class="VPLink link" href="/en/dev/guide.html" data-v-dc605e44><!--[--><span data-v-dc605e44>English</span><!--]--></a></div><!--]--></div><div class="group" data-v-213f4892><div class="item appearance" data-v-213f4892><p class="label" data-v-213f4892>主题</p><div class="appearance-action" data-v-213f4892><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-213f4892 data-v-0c7b8037 data-v-8949d7c4><span class="check" data-v-8949d7c4><span class="icon" data-v-8949d7c4><!--[--><span class="vpi-sun sun" data-v-0c7b8037></span><span class="vpi-moon moon" data-v-0c7b8037></span><!--]--></span></span></button></div></div></div><div class="group" data-v-213f4892><div class="item social-links" data-v-213f4892><div class="VPSocialLinks social-links-list" data-v-213f4892 data-v-a60bac68><!--[--><a class="VPSocialLink no-icon" href="https://github.com/LiteyukiStudio/LiteyukiBot" aria-label="github" target="_blank" rel="noopener" data-v-a60bac68 data-v-29d29d55><span class="vpi-social-github" /></a><a class="VPSocialLink no-icon" href="https://git.liteyuki.icu/LiteyukiStudio/LiteyukiBot" aria-label target="_blank" rel="noopener" data-v-a60bac68 data-v-29d29d55><svg t="1725391346807" class="icon" viewBox="0 0 1025 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5067" width="256" height="256"><path d="M1004.692673 466.396616l-447.094409-447.073929c-25.743103-25.763582-67.501405-25.763582-93.264987 0l-103.873521 103.873521 78.171378 78.171378c12.533635-6.00058 26.562294-9.359266 41.389666-9.359266 53.02219 0 96.00928 42.98709 96.00928 96.00928 0 14.827372-3.358686 28.856031-9.359266 41.389666l127.97824 127.97824c12.533635-6.00058 26.562294-9.359266 41.389666-9.359266 53.02219 0 96.00928 42.98709 96.00928 96.00928s-42.98709 96.00928-96.00928 96.00928-96.00928-42.98709-96.00928-96.00928c0-14.827372 3.358686-28.856031 9.359266-41.389666l-127.97824-127.97824c-3.051489 1.454065-6.184898 2.744293-9.379746 3.870681l0 266.97461c37.273227 13.188988 63.99936 48.721433 63.99936 90.520695 0 53.02219-42.98709 96.00928-96.00928 96.00928s-96.00928-42.98709-96.00928-96.00928c0-41.799262 26.726133-77.331707 63.99936-90.520695l0-266.97461c-37.273227-13.188988-63.99936-48.721433-63.99936-90.520695 0-14.827372 3.358686-28.856031 9.359266-41.389666l-78.171378-78.171378-295.892081 295.871601c-25.743103 25.784062-25.743103 67.542365 0 93.285467l447.114889 447.073929c25.743103 25.743103 67.480925 25.743103 93.264987 0l445.00547-445.00547c25.763582-25.763582 25.763582-67.542365 0-93.285467z" fill="#a2d8f4" p-id="5068"></path></svg></a><!--]--></div></div></div><!--]--><!--]--></div></div></div><!--[--><!--]--><button type="button" class="VPNavBarHamburger hamburger" aria-label="mobile navigation" aria-expanded="false" aria-controls="VPNavScreen" data-v-2ea77c56 data-v-82568623><span class="container" data-v-82568623><span class="top" data-v-82568623></span><span class="middle" data-v-82568623></span><span class="bottom" data-v-82568623></span></span></button></div></div></div></div><div class="divider" data-v-2ea77c56><div class="divider-line" data-v-2ea77c56></div></div></div><!----></header><div class="VPLocalNav has-sidebar empty" data-v-14531071 data-v-a645e5e7><div class="container" data-v-a645e5e7><button class="menu" aria-expanded="false" aria-controls="VPSidebarNav" data-v-a645e5e7><span class="vpi-align-left menu-icon" data-v-a645e5e7></span><span class="menu-text" data-v-a645e5e7>菜单</span></button><div class="VPLocalNavOutlineDropdown" style="--vp-vh:0px;" data-v-a645e5e7 data-v-dfb3ec53><button data-v-dfb3ec53>返回顶部</button><!----></div></div></div><aside class="VPSidebar" data-v-14531071 data-v-086e1604><div class="curtain" data-v-086e1604></div><nav class="nav" id="VPSidebarNav" aria-labelledby="sidebar-aria-label" tabindex="-1" data-v-086e1604><span class="visually-hidden" id="sidebar-aria-label" data-v-086e1604> Sidebar Navigation </span><!--[--><!--]--><!--[--><div class="no-transition group" data-v-2cc9d758><section class="VPSidebarItem level-0 has-active" data-v-2cc9d758 data-v-3271835f><div class="item" role="button" tabindex="0" data-v-3271835f><div class="indicator" data-v-3271835f></div><h2 class="text" data-v-3271835f>LITEYUKIBOT</h2><!----></div><div class="items" data-v-3271835f><!--[--><div class="VPSidebarItem level-1 is-link" data-v-3271835f data-v-3271835f><div class="item" data-v-3271835f><div class="indicator" data-v-3271835f></div><a class="VPLink link link" href="/dev/guide.html" data-v-3271835f><!--[--><p class="text" data-v-3271835f>开发指南</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-3271835f data-v-3271835f><div class="item" data-v-3271835f><div class="indicator" data-v-3271835f></div><a class="VPLink link link" href="/dev/resource.html" data-v-3271835f><!--[--><p class="text" data-v-3271835f>资源包开发</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-3271835f data-v-3271835f><div class="item" data-v-3271835f><div class="indicator" data-v-3271835f></div><a class="VPLink link link" href="/dev/lyfunc.html" data-v-3271835f><!--[--><p class="text" data-v-3271835f>轻雪函数</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-3271835f data-v-3271835f><div class="item" data-v-3271835f><div class="indicator" data-v-3271835f></div><a class="VPLink link link" href="/dev/plugin.html" data-v-3271835f><!--[--><p class="text" data-v-3271835f>轻雪插件开发</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-3271835f data-v-3271835f><div class="item" data-v-3271835f><div class="indicator" data-v-3271835f></div><a class="VPLink link link" href="/dev/comm.html" data-v-3271835f><!--[--><p class="text" data-v-3271835f>进程通信</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-3271835f data-v-3271835f><div class="item" data-v-3271835f><div class="indicator" data-v-3271835f></div><a class="VPLink link link" href="/dev/best_practices.html" data-v-3271835f><!--[--><p class="text" data-v-3271835f>最佳实践</p><!--]--></a><!----></div><!----></div><section class="VPSidebarItem level-1 collapsible collapsed is-link" data-v-3271835f data-v-3271835f><div class="item" tabindex="0" data-v-3271835f><div class="indicator" data-v-3271835f></div><a class="VPLink link link" href="/dev/api/index.html" data-v-3271835f><!--[--><h3 class="text" data-v-3271835f>liteyuki API</h3><!--]--></a><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-3271835f><span class="vpi-chevron-right caret-icon" data-v-3271835f></span></div></div><div class="items" data-v-3271835f><!--[--><section class="VPSidebarItem level-2 collapsible collapsed is-link" data-v-3271835f data-v-3271835f><div class="item" tabindex="0" data-v-3271835f><div class="indicator" data-v-3271835f></div><a class="VPLink link link" href="/dev/api/bot/index.html" data-v-3271835f><!--[--><h4 class="text" data-v-3271835f>liteyuki.bot</h4><!--]--></a><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-3271835f><span class="vpi-chevron-right caret-icon" data-v-3271835f></span></div></div><div class="items" data-v-3271835f><!--[--><div class="VPSidebarItem level-3 is-link" data-v-3271835f data-v-3271835f><div class="item" data-v-3271835f><div class="indicator" data-v-3271835f></div><a class="VPLink link link" href="/dev/api/bot/" data-v-3271835f><!--[--><p class="text" data-v-3271835f>liteyuki.bot</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-3271835f data-v-3271835f><div class="item" data-v-3271835f><div class="indicator" data-v-3271835f></div><a class="VPLink link link" href="/dev/api/bot/lifespan.html" data-v-3271835f><!--[--><p class="text" data-v-3271835f>liteyuki.bot.lifespan</p><!--]--></a><!----></div><!----></div><!--]--></div></section><section class="VPSidebarItem level-2 collapsible collapsed is-link" data-v-3271835f data-v-3271835f><div class="item" tabindex="0" data-v-3271835f><div class="indicator" data-v-3271835f></div><a class="VPLink link link" href="/dev/api/comm/index.html" data-v-3271835f><!--[--><h4 class="text" data-v-3271835f>liteyuki.comm</h4><!--]--></a><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-3271835f><span class="vpi-chevron-right caret-icon" data-v-3271835f></span></div></div><div class="items" data-v-3271835f><!--[--><div class="VPSidebarItem level-3 is-link" data-v-3271835f data-v-3271835f><div class="item" data-v-3271835f><div class="indicator" data-v-3271835f></div><a class="VPLink link link" href="/dev/api/comm/channel.html" data-v-3271835f><!--[--><p class="text" data-v-3271835f>liteyuki.comm.channel</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-3271835f data-v-3271835f><div class="item" data-v-3271835f><div class="indicator" data-v-3271835f></div><a class="VPLink link link" href="/dev/api/comm/event.html" data-v-3271835f><!--[--><p class="text" data-v-3271835f>liteyuki.comm.event</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-3271835f data-v-3271835f><div class="item" data-v-3271835f><div class="indicator" data-v-3271835f></div><a class="VPLink link link" href="/dev/api/comm/" data-v-3271835f><!--[--><p class="text" data-v-3271835f>liteyuki.comm</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-3271835f data-v-3271835f><div class="item" data-v-3271835f><div class="indicator" data-v-3271835f></div><a class="VPLink link link" href="/dev/api/comm/storage.html" data-v-3271835f><!--[--><p class="text" data-v-3271835f>liteyuki.comm.storage</p><!--]--></a><!----></div><!----></div><!--]--></div></section><div class="VPSidebarItem level-2 is-link" data-v-3271835f data-v-3271835f><div class="item" data-v-3271835f><div class="indicator" data-v-3271835f></div><a class="VPLink link link" href="/dev/api/config.html" data-v-3271835f><!--[--><p class="text" data-v-3271835f>liteyuki.config</p><!--]--></a><!----></div><!----></div><section class="VPSidebarItem level-2 collapsible collapsed is-link" data-v-3271835f data-v-3271835f><div class="item" tabindex="0" data-v-3271835f><div class="indicator" data-v-3271835f></div><a class="VPLink link link" href="/dev/api/core/index.html" data-v-3271835f><!--[--><h4 class="text" data-v-3271835f>liteyuki.core</h4><!--]--></a><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-3271835f><span class="vpi-chevron-right caret-icon" data-v-3271835f></span></div></div><div class="items" data-v-3271835f><!--[--><div class="VPSidebarItem level-3 is-link" data-v-3271835f data-v-3271835f><div class="item" data-v-3271835f><div class="indicator" data-v-3271835f></div><a class="VPLink link link" href="/dev/api/core/" data-v-3271835f><!--[--><p class="text" data-v-3271835f>liteyuki.core</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-3271835f data-v-3271835f><div class="item" data-v-3271835f><div class="indicator" data-v-3271835f></div><a class="VPLink link link" href="/dev/api/core/manager.html" data-v-3271835f><!--[--><p class="text" data-v-3271835f>liteyuki.core.manager</p><!--]--></a><!----></div><!----></div><!--]--></div></section><section class="VPSidebarItem level-2 collapsible collapsed is-link" data-v-3271835f data-v-3271835f><div class="item" tabindex="0" data-v-3271835f><div class="indicator" data-v-3271835f></div><a class="VPLink link link" href="/dev/api/dev/index.html" data-v-3271835f><!--[--><h4 class="text" data-v-3271835f>liteyuki.dev</h4><!--]--></a><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-3271835f><span class="vpi-chevron-right caret-icon" data-v-3271835f></span></div></div><div class="items" data-v-3271835f><!--[--><div class="VPSidebarItem level-3 is-link" data-v-3271835f data-v-3271835f><div class="item" data-v-3271835f><div class="indicator" data-v-3271835f></div><a class="VPLink link link" href="/dev/api/dev/" data-v-3271835f><!--[--><p class="text" data-v-3271835f>liteyuki.dev</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-3271835f data-v-3271835f><div class="item" data-v-3271835f><div class="indicator" data-v-3271835f></div><a class="VPLink link link" href="/dev/api/dev/observer.html" data-v-3271835f><!--[--><p class="text" data-v-3271835f>liteyuki.dev.observer</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-3271835f data-v-3271835f><div class="item" data-v-3271835f><div class="indicator" data-v-3271835f></div><a class="VPLink link link" href="/dev/api/dev/plugin.html" data-v-3271835f><!--[--><p class="text" data-v-3271835f>liteyuki.dev.plugin</p><!--]--></a><!----></div><!----></div><!--]--></div></section><div class="VPSidebarItem level-2 is-link" data-v-3271835f data-v-3271835f><div class="item" data-v-3271835f><div class="indicator" data-v-3271835f></div><a class="VPLink link link" href="/dev/api/exception.html" data-v-3271835f><!--[--><p class="text" data-v-3271835f>liteyuki.exception</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-3271835f data-v-3271835f><div class="item" data-v-3271835f><div class="indicator" data-v-3271835f></div><a class="VPLink link link" href="/dev/api/log.html" data-v-3271835f><!--[--><p class="text" data-v-3271835f>liteyuki.log</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-3271835f data-v-3271835f><div class="item" data-v-3271835f><div class="indicator" data-v-3271835f></div><a class="VPLink link link" href="/dev/api/mkdoc.html" data-v-3271835f><!--[--><p class="text" data-v-3271835f>liteyuki.mkdoc</p><!--]--></a><!----></div><!----></div><section class="VPSidebarItem level-2 collapsible collapsed is-link" data-v-3271835f data-v-3271835f><div class="item" tabindex="0" data-v-3271835f><div class="indicator" data-v-3271835f></div><a class="VPLink link link" href="/dev/api/plugin/index.html" data-v-3271835f><!--[--><h4 class="text" data-v-3271835f>liteyuki.plugin</h4><!--]--></a><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-3271835f><span class="vpi-chevron-right caret-icon" data-v-3271835f></span></div></div><div class="items" data-v-3271835f><!--[--><div class="VPSidebarItem level-3 is-link" data-v-3271835f data-v-3271835f><div class="item" data-v-3271835f><div class="indicator" data-v-3271835f></div><a class="VPLink link link" href="/dev/api/plugin/" data-v-3271835f><!--[--><p class="text" data-v-3271835f>liteyuki.plugin</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-3271835f data-v-3271835f><div class="item" data-v-3271835f><div class="indicator" data-v-3271835f></div><a class="VPLink link link" href="/dev/api/plugin/load.html" data-v-3271835f><!--[--><p class="text" data-v-3271835f>liteyuki.plugin.load</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-3271835f data-v-3271835f><div class="item" data-v-3271835f><div class="indicator" data-v-3271835f></div><a class="VPLink link link" href="/dev/api/plugin/manager.html" data-v-3271835f><!--[--><p class="text" data-v-3271835f>liteyuki.plugin.manager</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-3271835f data-v-3271835f><div class="item" data-v-3271835f><div class="indicator" data-v-3271835f></div><a class="VPLink link link" href="/dev/api/plugin/model.html" data-v-3271835f><!--[--><p class="text" data-v-3271835f>liteyuki.plugin.model</p><!--]--></a><!----></div><!----></div><!--]--></div></section><section class="VPSidebarItem level-2 collapsible collapsed is-link" data-v-3271835f data-v-3271835f><div class="item" tabindex="0" data-v-3271835f><div class="indicator" data-v-3271835f></div><a class="VPLink link link" href="/dev/api/plugins/index.html" data-v-3271835f><!--[--><h4 class="text" data-v-3271835f>liteyuki.plugins</h4><!--]--></a><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-3271835f><span class="vpi-chevron-right caret-icon" data-v-3271835f></span></div></div><div class="items" data-v-3271835f><!--[--><div class="VPSidebarItem level-3 is-link" data-v-3271835f data-v-3271835f><div class="item" data-v-3271835f><div class="indicator" data-v-3271835f></div><a class="VPLink link link" href="/dev/api/plugins/" data-v-3271835f><!--[--><p class="text" data-v-3271835f>liteyuki.plugins</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-3271835f data-v-3271835f><div class="item" data-v-3271835f><div class="indicator" data-v-3271835f></div><a class="VPLink link link" href="/dev/api/plugins/liteecho.html" data-v-3271835f><!--[--><p class="text" data-v-3271835f>liteyuki.plugins.liteecho</p><!--]--></a><!----></div><!----></div><section class="VPSidebarItem level-3 collapsible collapsed is-link" data-v-3271835f data-v-3271835f><div class="item" tabindex="0" data-v-3271835f><div class="indicator" data-v-3271835f></div><a class="VPLink link link" href="/dev/api/plugins/plugin_loader/index.html" data-v-3271835f><!--[--><h5 class="text" data-v-3271835f>liteyuki.plugins.plugin_loader</h5><!--]--></a><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-3271835f><span class="vpi-chevron-right caret-icon" data-v-3271835f></span></div></div><div class="items" data-v-3271835f><!--[--><div class="VPSidebarItem level-4 is-link" data-v-3271835f data-v-3271835f><div class="item" data-v-3271835f><div class="indicator" data-v-3271835f></div><a class="VPLink link link" href="/dev/api/plugins/plugin_loader/" data-v-3271835f><!--[--><p class="text" data-v-3271835f>liteyuki.plugins.plugin_loader</p><!--]--></a><!----></div><!----></div><!--]--></div></section><!--]--></div></section><section class="VPSidebarItem level-2 collapsible collapsed is-link" data-v-3271835f data-v-3271835f><div class="item" tabindex="0" data-v-3271835f><div class="indicator" data-v-3271835f></div><a class="VPLink link link" href="/dev/api/session/index.html" data-v-3271835f><!--[--><h4 class="text" data-v-3271835f>liteyuki.session</h4><!--]--></a><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-3271835f><span class="vpi-chevron-right caret-icon" data-v-3271835f></span></div></div><div class="items" data-v-3271835f><!--[--><div class="VPSidebarItem level-3 is-link" data-v-3271835f data-v-3271835f><div class="item" data-v-3271835f><div class="indicator" data-v-3271835f></div><a class="VPLink link link" href="/dev/api/session/event.html" data-v-3271835f><!--[--><p class="text" data-v-3271835f>liteyuki.session.event</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-3271835f data-v-3271835f><div class="item" data-v-3271835f><div class="indicator" data-v-3271835f></div><a class="VPLink link link" href="/dev/api/session/" data-v-3271835f><!--[--><p class="text" data-v-3271835f>liteyuki.session</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-3271835f data-v-3271835f><div class="item" data-v-3271835f><div class="indicator" data-v-3271835f></div><a class="VPLink link link" href="/dev/api/session/matcher.html" data-v-3271835f><!--[--><p class="text" data-v-3271835f>liteyuki.session.matcher</p><!--]--></a><!----></div><!----></div><section class="VPSidebarItem level-3 collapsible collapsed" data-v-3271835f data-v-3271835f><div class="item" role="button" tabindex="0" data-v-3271835f><div class="indicator" data-v-3271835f></div><h5 class="text" data-v-3271835f>message</h5><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-3271835f><span class="vpi-chevron-right caret-icon" data-v-3271835f></span></div></div><div class="items" data-v-3271835f><!--[--><div class="VPSidebarItem level-4 is-link" data-v-3271835f data-v-3271835f><div class="item" data-v-3271835f><div class="indicator" data-v-3271835f></div><a class="VPLink link link" href="/dev/api/session/message/segments.html" data-v-3271835f><!--[--><p class="text" data-v-3271835f>liteyuki.session.message.segments</p><!--]--></a><!----></div><!----></div><!--]--></div></section><div class="VPSidebarItem level-3 is-link" data-v-3271835f data-v-3271835f><div class="item" data-v-3271835f><div class="indicator" data-v-3271835f></div><a class="VPLink link link" href="/dev/api/session/models.html" data-v-3271835f><!--[--><p class="text" data-v-3271835f>liteyuki.session.models</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-3271835f data-v-3271835f><div class="item" data-v-3271835f><div class="indicator" data-v-3271835f></div><a class="VPLink link link" href="/dev/api/session/on.html" data-v-3271835f><!--[--><p class="text" data-v-3271835f>liteyuki.session.on</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-3271835f data-v-3271835f><div class="item" data-v-3271835f><div class="indicator" data-v-3271835f></div><a class="VPLink link link" href="/dev/api/session/rule.html" data-v-3271835f><!--[--><p class="text" data-v-3271835f>liteyuki.session.rule</p><!--]--></a><!----></div><!----></div><!--]--></div></section><div class="VPSidebarItem level-2 is-link" data-v-3271835f data-v-3271835f><div class="item" data-v-3271835f><div class="indicator" data-v-3271835f></div><a class="VPLink link link" href="/dev/api/utils.html" data-v-3271835f><!--[--><p class="text" data-v-3271835f>liteyuki.utils</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-3271835f data-v-3271835f><div class="item" data-v-3271835f><div class="indicator" data-v-3271835f></div><a class="VPLink link link" href="/dev/api/" data-v-3271835f><!--[--><p class="text" data-v-3271835f>liteyuki API</p><!--]--></a><!----></div><!----></div><!--]--></div></section><!--]--></div></section></div><!--]--><!--[--><!--]--></nav></aside><div class="VPContent has-sidebar" id="VPContent" data-v-14531071 data-v-08540d1b><div class="VPDoc has-sidebar has-aside" data-v-08540d1b data-v-9a8fdbf7><!--[--><!--]--><div class="container" data-v-9a8fdbf7><div class="aside" data-v-9a8fdbf7><div class="aside-curtain" data-v-9a8fdbf7></div><div class="aside-container" data-v-9a8fdbf7><div class="aside-content" data-v-9a8fdbf7><div class="VPDocAside" data-v-9a8fdbf7 data-v-12a4d2fe><!--[--><!--]--><!--[--><!--]--><nav aria-labelledby="doc-outline-aria-label" class="VPDocAsideOutline" data-v-12a4d2fe data-v-7d7f5b4c><div class="content" data-v-7d7f5b4c><div class="outline-marker" data-v-7d7f5b4c></div><div aria-level="2" class="outline-title" id="doc-outline-aria-label" role="heading" data-v-7d7f5b4c>页面内容</div><ul class="VPDocOutlineItem root" data-v-7d7f5b4c data-v-8bc07a4b><!--[--><!--]--></ul></div></nav><!--[--><!--]--><div class="spacer" data-v-12a4d2fe></div><!--[--><!--]--><!----><!--[--><!--]--><!--[--><!--]--></div></div></div></div><div class="content" data-v-9a8fdbf7><div class="content-container" data-v-9a8fdbf7><!--[--><!--]--><main class="main" data-v-9a8fdbf7><div style="position:relative;" class="vp-doc _dev_guide" data-v-9a8fdbf7><div><h1 id="开发指南" tabindex="-1">开发指南 <a class="header-anchor" href="#开发指南" aria-label="Permalink to &quot;开发指南&quot;"></a></h1><h2 id="如何开发" tabindex="-1">如何开发 <a class="header-anchor" href="#如何开发" aria-label="Permalink to &quot;如何开发&quot;"></a></h2><p>插件开发无需阅读本文档,请阅读<a href="./plugin.html">插件开发文档</a><a href="./api/">API 引用</a></p><p>如需往轻雪仓库提交代码,请阅读以下内容:</p><ol><li>首先<a href="https://github.com/LiteyukiStudio/LiteyukiBot/fork" target="_blank" rel="noreferrer">fork</a>一份轻雪仓库到你的个人/组织账户下。</li><li>在你的仓库中进行开发。</li><li>在你的仓库中创建一个新的分支,将你的代码提交到这个分支。</li><li>在你的仓库中创建一个Pull Request将你的分支合并到轻雪仓库的<code>main</code>分支。</li></ol><p>参与开发默认你已经了解Python语言和轻雪框架的基本使用方法如果是文档相关的开发请确保你了解Markdown语法和基本前端知识。 出现冲突请与仓库维护者联系。</p><h3 id="建议" tabindex="-1">建议 <a class="header-anchor" href="#建议" aria-label="Permalink to &quot;建议&quot;"></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><h2 id="项目结构" tabindex="-1">项目结构 <a class="header-anchor" href="#项目结构" aria-label="Permalink to &quot;项目结构&quot;"></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><h2 id="规范化" tabindex="-1">规范化 <a class="header-anchor" href="#规范化" aria-label="Permalink to &quot;规范化&quot;"></a></h2><ul><li>代码请遵循<a href="https://pep8.org/" target="_blank" rel="noreferrer"><code>PEP8</code></a><a href="https://google.github.io/styleguide/pyguide.html" target="_blank" rel="noreferrer"><code>Google Python Style Guide</code></a></li><li>提交到轻雪仓库的代码,请遵循以下规范: <ul><li>请确保代码是可运行的,没有危害的。</li><li>请确保代码的类型提示是正确的。</li><li>请确保注释风格为<a href="https://google.github.io/styleguide/pyguide.html" target="_blank" rel="noreferrer"><code>Google Docstring</code></a><a href="https://github.com/LiteyukiStudio/litedoc?tab=readme-ov-file#liteyuki-docstring" target="_blank" rel="noreferrer"><code>Liteyuki Docstring</code></a>(推荐)以保证Litedoc能够正确解析并生成文档。</li><li>字符串请使用双引号<code>&quot;</code>,尽量避免使用单引号<code>&#39;</code>,但在嵌套字符串时可以使用单引号。</li><li>若有面向普通用户部分,请确保文档是完善的(每种语言都有对应的文档)。</li></ul></li><li>commit message请遵循以下规范 <ul><li>应在每次完成一个功能或修复一个bug后提交代码不要将多个功能或多个bug的代码混在一起提交。</li><li>我们使用gitmoji来标记commit的类型<code>:sparkles:</code>表示引入新功能,<code>:bug:</code>表示修复bug等具体请参考<a href="https://gitmoji.dev/" target="_blank" rel="noreferrer">gitmoji</a></li><li>commit message的格式为<code>&lt;emoji&gt; [type:] &lt;message&gt;</code>,如<code>:sparkles: feat: 给event添加新字段</code> 其中<code>type</code>字段为commit类型且<strong>可选</strong>message字段为简短的描述总结来说就是你干了什么。</li><li>不限制commit message的语言有条件可以使用中英双语。</li></ul></li><li>文档请遵循<a href="https://www.markdownguide.org/" target="_blank" rel="noreferrer"><code>Markdown</code></a>语法并且支持vitepress相关内容 <ul><li>修订文档时,每个语言的文档都要修订。</li><li>请确保文档内的链接是正确的,不要出现无法访问的死链接。</li><li>请确保<strong>用户文档</strong>是通俗易懂的,<strong>开发文档</strong>是详细的。</li></ul></li></ul><h2 id="最后" tabindex="-1">最后 <a class="header-anchor" href="#最后" aria-label="Permalink to &quot;最后&quot;"></a></h2><ul><li>本项目是一个非盈利的开源项目,我们欢迎任何人参与开发,你的贡献将会使轻雪变得更好。</li></ul><div class="contributor-bar" data-v-bc374713><h2 data-v-bc374713>感谢以下贡献者!</h2><a href="https://github.com/LiteyukiStudio/LiteyukiBot/graphs/contributors" data-v-bc374713><div class="contributor-list" data-v-bc374713><img src="https://contrib.rocks/image?repo=LiteyukiStudio/LiteyukiBot" alt="Contributors" data-v-bc374713></div></a></div></div></div></main><footer class="VPDocFooter" data-v-9a8fdbf7 data-v-04d32139><!--[--><!--]--><div class="edit-info" data-v-04d32139><div class="edit-link" data-v-04d32139><a class="VPLink link vp-external-link-icon no-icon edit-link-button" href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/docs/zh/dev/guide.md" target="_blank" rel="noreferrer" data-v-04d32139><!--[--><span class="vpi-square-pen edit-link-icon" data-v-04d32139></span> 在 GitHub 上编辑此页<!--]--></a></div><div class="last-updated" data-v-04d32139><p class="VPLastUpdated" data-v-04d32139 data-v-62329a39>Last updated: <time datetime="2024-09-03T18:43:44.000Z" data-v-62329a39></time></p></div></div><nav class="prev-next" aria-labelledby="doc-footer-aria-label" data-v-04d32139><span class="visually-hidden" id="doc-footer-aria-label" data-v-04d32139>Pager</span><div class="pager" data-v-04d32139><!----></div><div class="pager" data-v-04d32139><a class="VPLink link pager-link next" href="/dev/resource.html" data-v-04d32139><!--[--><span class="desc" data-v-04d32139>下一页</span><span class="title" data-v-04d32139>资源包开发</span><!--]--></a></div></nav></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><footer class="VPFooter has-sidebar" data-v-14531071 data-v-315dbb2f><div class="container" data-v-315dbb2f><p class="message" data-v-315dbb2f>文档由 <a href="https://vitepress.dev/">VitePress</a> 构建 | API引用由 <a href="https://github.com/LiteyukiStudio/litedoc">litedoc</a> 生成</p><p class="copyright" data-v-315dbb2f>Copyright (C) 2020-2024 LiteyukiStudio. All Rights Reserved</p></div></footer><!--[--><!--]--></div></div>
<script>window.__VP_HASH_MAP__=JSON.parse("{\"deploy_config.md\":\"CsfRbAPS\",\"deploy_fandq.md\":\"Ch9Ahkyl\",\"deploy_install.md\":\"D52Lg81E\",\"dev_api_bot_index.md\":\"WLCmlgvh\",\"dev_api_bot_lifespan.md\":\"B9gZA-Xv\",\"dev_api_comm_channel.md\":\"E0VGPXVy\",\"dev_api_comm_event.md\":\"DE0D5mOI\",\"dev_api_comm_index.md\":\"D0UYHib5\",\"dev_api_comm_storage.md\":\"BpVehScg\",\"dev_api_config.md\":\"ml9RPWJ7\",\"dev_api_core_index.md\":\"BjvZyb-q\",\"dev_api_core_manager.md\":\"B35XWsfI\",\"dev_api_dev_index.md\":\"hNwQD8ZN\",\"dev_api_dev_observer.md\":\"BhLDGDw1\",\"dev_api_dev_plugin.md\":\"Be-m1DJn\",\"dev_api_exception.md\":\"BdPwU3gE\",\"dev_api_index.md\":\"BzH7dCwu\",\"dev_api_log.md\":\"DMeATP2x\",\"dev_api_mkdoc.md\":\"CTnAyukw\",\"dev_api_plugin_index.md\":\"T2gAKhVl\",\"dev_api_plugin_load.md\":\"kHIr9w4H\",\"dev_api_plugin_manager.md\":\"B4LvaDGc\",\"dev_api_plugin_model.md\":\"C2KezkKb\",\"dev_api_plugins_index.md\":\"DKPWPaBA\",\"dev_api_plugins_liteecho.md\":\"BlQiZZ9H\",\"dev_api_plugins_plugin_loader_index.md\":\"f4CfmASM\",\"dev_api_session_event.md\":\"D3sQQZ9F\",\"dev_api_session_index.md\":\"DXduP8PR\",\"dev_api_session_matcher.md\":\"AbqZMTjz\",\"dev_api_session_message_segments.md\":\"BGOpyiJk\",\"dev_api_session_models.md\":\"Dq6dFuv_\",\"dev_api_session_on.md\":\"DBQDTdP3\",\"dev_api_session_rule.md\":\"CNqb27Xk\",\"dev_api_utils.md\":\"BdVRWEBV\",\"dev_best_practices.md\":\"C81iVQ5j\",\"dev_comm.md\":\"CxBTde6D\",\"dev_guide.md\":\"gz8pac9B\",\"dev_lyfunc.md\":\"DXKpS1Qm\",\"dev_plugin.md\":\"CUXCZtZe\",\"dev_resource.md\":\"wRoE226-\",\"en_deploy_config.md\":\"CggQr9gM\",\"en_deploy_fandq.md\":\"DQ_mT_zy\",\"en_deploy_install.md\":\"BOxEsDYD\",\"en_dev_api_bot_index.md\":\"BPAxIIam\",\"en_dev_api_bot_lifespan.md\":\"6xrY1FLk\",\"en_dev_api_comm_channel.md\":\"D0f9nWvQ\",\"en_dev_api_comm_event.md\":\"JdKBF15S\",\"en_dev_api_comm_index.md\":\"BWaivW24\",\"en_dev_api_comm_storage.md\":\"C9UlOPzB\",\"en_dev_api_config.md\":\"-gDWLeD4\",\"en_dev_api_core_index.md\":\"D5Civ-zH\",\"en_dev_api_core_manager.md\":\"BNz0KL_P\",\"en_dev_api_dev_index.md\":\"BaJFdikO\",\"en_dev_api_dev_observer.md\":\"BWo0192F\",\"en_dev_api_dev_plugin.md\":\"DAA5UIMl\",\"en_dev_api_exception.md\":\"C2tcvSVJ\",\"en_dev_api_index.md\":\"D8u3gQrU\",\"en_dev_api_log.md\":\"LxK8gZKX\",\"en_dev_api_mkdoc.md\":\"CSPkfV_w\",\"en_dev_api_plugin_index.md\":\"CWXWjAhj\",\"en_dev_api_plugin_load.md\":\"D5m3R33u\",\"en_dev_api_plugin_manager.md\":\"dpHkH-nG\",\"en_dev_api_plugin_model.md\":\"BZm0dnvF\",\"en_dev_api_plugins_index.md\":\"Dby_mWRR\",\"en_dev_api_plugins_liteecho.md\":\"CrtVqPCc\",\"en_dev_api_plugins_plugin_loader_index.md\":\"BC_T8lis\",\"en_dev_api_session_event.md\":\"DLw2yT5i\",\"en_dev_api_session_index.md\":\"DbBCzZ-S\",\"en_dev_api_session_matcher.md\":\"DJciHvHX\",\"en_dev_api_session_message_segments.md\":\"qP5LLcoY\",\"en_dev_api_session_models.md\":\"CJz2Y2_U\",\"en_dev_api_session_on.md\":\"pNdaO1LV\",\"en_dev_api_session_rule.md\":\"DXmjjk0K\",\"en_dev_api_utils.md\":\"BMFkr-N2\",\"en_dev_best_practices.md\":\"D99RjFWq\",\"en_dev_comm.md\":\"DmDE4NY9\",\"en_dev_guide.md\":\"khrTMd6-\",\"en_dev_lyfunc.md\":\"BVZAJYq4\",\"en_dev_plugin.md\":\"BMvHexfU\",\"en_dev_resource.md\":\"Ct0C78Rc\",\"en_index.md\":\"B0j9slrc\",\"en_store_plugin.md\":\"Dr9xSRQO\",\"en_store_resource.md\":\"B4TeEUVy\",\"en_usage_agreement.md\":\"CLjnKVc3\",\"en_usage_basic.md\":\"D5OATOhG\",\"en_usage_extra.md\":\"CeleBdoC\",\"index.md\":\"u5az6EET\",\"store_plugin.md\":\"Cac6z_ig\",\"store_resource.md\":\"B343iwju\",\"usage_agreement.md\":\"D1WnPguc\",\"usage_basic.md\":\"DbulLjQT\",\"usage_extra.md\":\"BiRGsfAl\"}");function deserializeFunctions(r){return Array.isArray(r)?r.map(deserializeFunctions):typeof r=="object"&&r!==null?Object.keys(r).reduce((t,n)=>(t[n]=deserializeFunctions(r[n]),t),{}):typeof r=="string"&&r.startsWith("_vp-fn_")?new Function(`return ${r.slice(7)}`)():r};window.__VP_SITE_DATA__=deserializeFunctions(JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"VitePress\",\"description\":\"A VitePress site\",\"base\":\"/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"logo\":{\"light\":\"/liteyuki.svg\",\"dark\":\"/liteyuki-dark.svg\",\"alt\":\"LiteyukiBot Logo\"},\"sidebar\":{\"/dev/\":{\"base\":\"/dev/\",\"items\":[{\"text\":\"LITEYUKIBOT\",\"items\":[{\"text\":\"开发指南\",\"link\":\"guide\"},{\"text\":\"资源包开发\",\"link\":\"resource\"},{\"text\":\"轻雪函数\",\"link\":\"lyfunc\"},{\"text\":\"轻雪插件开发\",\"link\":\"plugin\"},{\"text\":\"进程通信\",\"link\":\"comm\"},{\"text\":\"最佳实践\",\"link\":\"best_practices\"},{\"text\":\"liteyuki API\",\"link\":\"api/index.md\",\"items\":[{\"text\":\"liteyuki.bot\",\"link\":\"api/bot/index.md\",\"items\":[{\"text\":\"liteyuki.bot\",\"link\":\"api/bot/\"},{\"text\":\"liteyuki.bot.lifespan\",\"link\":\"api/bot/lifespan\"}],\"collapsed\":true},{\"text\":\"liteyuki.comm\",\"link\":\"api/comm/index.md\",\"items\":[{\"text\":\"liteyuki.comm.channel\",\"link\":\"api/comm/channel\"},{\"text\":\"liteyuki.comm.event\",\"link\":\"api/comm/event\"},{\"text\":\"liteyuki.comm\",\"link\":\"api/comm/\"},{\"text\":\"liteyuki.comm.storage\",\"link\":\"api/comm/storage\"}],\"collapsed\":true},{\"text\":\"liteyuki.config\",\"link\":\"api/config\"},{\"text\":\"liteyuki.core\",\"link\":\"api/core/index.md\",\"items\":[{\"text\":\"liteyuki.core\",\"link\":\"api/core/\"},{\"text\":\"liteyuki.core.manager\",\"link\":\"api/core/manager\"}],\"collapsed\":true},{\"text\":\"liteyuki.dev\",\"link\":\"api/dev/index.md\",\"items\":[{\"text\":\"liteyuki.dev\",\"link\":\"api/dev/\"},{\"text\":\"liteyuki.dev.observer\",\"link\":\"api/dev/observer\"},{\"text\":\"liteyuki.dev.plugin\",\"link\":\"api/dev/plugin\"}],\"collapsed\":true},{\"text\":\"liteyuki.exception\",\"link\":\"api/exception\"},{\"text\":\"liteyuki.log\",\"link\":\"api/log\"},{\"text\":\"liteyuki.mkdoc\",\"link\":\"api/mkdoc\"},{\"text\":\"liteyuki.plugin\",\"link\":\"api/plugin/index.md\",\"items\":[{\"text\":\"liteyuki.plugin\",\"link\":\"api/plugin/\"},{\"text\":\"liteyuki.plugin.load\",\"link\":\"api/plugin/load\"},{\"text\":\"liteyuki.plugin.manager\",\"link\":\"api/plugin/manager\"},{\"text\":\"liteyuki.plugin.model\",\"link\":\"api/plugin/model\"}],\"collapsed\":true},{\"text\":\"liteyuki.plugins\",\"link\":\"api/plugins/index.md\",\"items\":[{\"text\":\"liteyuki.plugins\",\"link\":\"api/plugins/\"},{\"text\":\"liteyuki.plugins.liteecho\",\"link\":\"api/plugins/liteecho\"},{\"text\":\"liteyuki.plugins.plugin_loader\",\"link\":\"api/plugins/plugin_loader/index.md\",\"items\":[{\"text\":\"liteyuki.plugins.plugin_loader\",\"link\":\"api/plugins/plugin_loader/\"}],\"collapsed\":true}],\"collapsed\":true},{\"text\":\"liteyuki.session\",\"link\":\"api/session/index.md\",\"items\":[{\"text\":\"liteyuki.session.event\",\"link\":\"api/session/event\"},{\"text\":\"liteyuki.session\",\"link\":\"api/session/\"},{\"text\":\"liteyuki.session.matcher\",\"link\":\"api/session/matcher\"},{\"text\":\"message\",\"items\":[{\"text\":\"liteyuki.session.message.segments\",\"link\":\"api/session/message/segments\"}],\"collapsed\":true},{\"text\":\"liteyuki.session.models\",\"link\":\"api/session/models\"},{\"text\":\"liteyuki.session.on\",\"link\":\"api/session/on\"},{\"text\":\"liteyuki.session.rule\",\"link\":\"api/session/rule\"}],\"collapsed\":true},{\"text\":\"liteyuki.utils\",\"link\":\"api/utils\"},{\"text\":\"liteyuki API\",\"link\":\"api/\"}],\"collapsed\":true}]}]},\"/store/\":{\"base\":\"/store/\",\"items\":[{\"text\":\"LITEYUKIBOT\",\"items\":[{\"text\":\"资源商店\",\"link\":\"resource\"},{\"text\":\"插件商店\",\"link\":\"plugin\"}]}]},\"/usage/\":{\"base\":\"/usage/\",\"items\":[{\"text\":\"LITEYUKIBOT\",\"items\":[{\"text\":\"基础插件\",\"link\":\"basic\"},{\"text\":\"功能命令\",\"link\":\"extra\"},{\"text\":\"用户协议\",\"link\":\"agreement\"}]}]},\"/deploy/\":{\"base\":\"/deploy/\",\"items\":[{\"text\":\"LITEYUKIBOT\",\"items\":[{\"text\":\"安装\",\"link\":\"install\"},{\"text\":\"配置\",\"link\":\"config\"},{\"text\":\"答疑\",\"link\":\"fandq\"}]}]},\"/en/dev/\":{\"base\":\"/en/dev/\",\"items\":[{\"text\":\"LITEYUKIBOT\",\"items\":[{\"text\":\"Development Guide\",\"link\":\"guide\"},{\"text\":\"Resource Pack\",\"link\":\"resource\"},{\"text\":\"Liteyuki Function\",\"link\":\"lyfunc\"},{\"text\":\"Liteyuki Plugin\",\"link\":\"plugin\"},{\"text\":\"Process Communication\",\"link\":\"comm\"},{\"text\":\"Best Practices\",\"link\":\"best_practices\"},{\"text\":\"liteyuki API\",\"link\":\"api/index.md\",\"items\":[{\"text\":\"liteyuki.bot\",\"link\":\"api/bot/index.md\",\"items\":[{\"text\":\"liteyuki.bot\",\"link\":\"api/bot/\"},{\"text\":\"liteyuki.bot.lifespan\",\"link\":\"api/bot/lifespan\"}],\"collapsed\":true},{\"text\":\"liteyuki.comm\",\"link\":\"api/comm/index.md\",\"items\":[{\"text\":\"liteyuki.comm.channel\",\"link\":\"api/comm/channel\"},{\"text\":\"liteyuki.comm.event\",\"link\":\"api/comm/event\"},{\"text\":\"liteyuki.comm\",\"link\":\"api/comm/\"},{\"text\":\"liteyuki.comm.storage\",\"link\":\"api/comm/storage\"}],\"collapsed\":true},{\"text\":\"liteyuki.config\",\"link\":\"api/config\"},{\"text\":\"liteyuki.core\",\"link\":\"api/core/index.md\",\"items\":[{\"text\":\"liteyuki.core\",\"link\":\"api/core/\"},{\"text\":\"liteyuki.core.manager\",\"link\":\"api/core/manager\"}],\"collapsed\":true},{\"text\":\"liteyuki.dev\",\"link\":\"api/dev/index.md\",\"items\":[{\"text\":\"liteyuki.dev\",\"link\":\"api/dev/\"},{\"text\":\"liteyuki.dev.observer\",\"link\":\"api/dev/observer\"},{\"text\":\"liteyuki.dev.plugin\",\"link\":\"api/dev/plugin\"}],\"collapsed\":true},{\"text\":\"liteyuki.exception\",\"link\":\"api/exception\"},{\"text\":\"liteyuki.log\",\"link\":\"api/log\"},{\"text\":\"liteyuki.mkdoc\",\"link\":\"api/mkdoc\"},{\"text\":\"liteyuki.plugin\",\"link\":\"api/plugin/index.md\",\"items\":[{\"text\":\"liteyuki.plugin\",\"link\":\"api/plugin/\"},{\"text\":\"liteyuki.plugin.load\",\"link\":\"api/plugin/load\"},{\"text\":\"liteyuki.plugin.manager\",\"link\":\"api/plugin/manager\"},{\"text\":\"liteyuki.plugin.model\",\"link\":\"api/plugin/model\"}],\"collapsed\":true},{\"text\":\"liteyuki.plugins\",\"link\":\"api/plugins/index.md\",\"items\":[{\"text\":\"liteyuki.plugins\",\"link\":\"api/plugins/\"},{\"text\":\"liteyuki.plugins.liteecho\",\"link\":\"api/plugins/liteecho\"},{\"text\":\"liteyuki.plugins.plugin_loader\",\"link\":\"api/plugins/plugin_loader/index.md\",\"items\":[{\"text\":\"liteyuki.plugins.plugin_loader\",\"link\":\"api/plugins/plugin_loader/\"}],\"collapsed\":true}],\"collapsed\":true},{\"text\":\"liteyuki.session\",\"link\":\"api/session/index.md\",\"items\":[{\"text\":\"liteyuki.session.event\",\"link\":\"api/session/event\"},{\"text\":\"liteyuki.session\",\"link\":\"api/session/\"},{\"text\":\"liteyuki.session.matcher\",\"link\":\"api/session/matcher\"},{\"text\":\"message\",\"items\":[{\"text\":\"liteyuki.session.message.segments\",\"link\":\"api/session/message/segments\"}],\"collapsed\":true},{\"text\":\"liteyuki.session.models\",\"link\":\"api/session/models\"},{\"text\":\"liteyuki.session.on\",\"link\":\"api/session/on\"},{\"text\":\"liteyuki.session.rule\",\"link\":\"api/session/rule\"}],\"collapsed\":true},{\"text\":\"liteyuki.utils\",\"link\":\"api/utils\"},{\"text\":\"liteyuki API\",\"link\":\"api/\"}],\"collapsed\":true}]}]},\"/en/store/\":{\"base\":\"/en/store/\",\"items\":[{\"text\":\"LITEYUKIBOT\",\"items\":[{\"text\":\"Resource Store\",\"link\":\"resource\"},{\"text\":\"Plugin Store\",\"link\":\"plugin\"}]}]},\"/en/usage/\":{\"base\":\"/en/usage/\",\"items\":[{\"text\":\"LITEYUKIBOT\",\"items\":[{\"text\":\"基础插件\",\"link\":\"basic\"},{\"text\":\"功能命令\",\"link\":\"extra\"},{\"text\":\"用户协议\",\"link\":\"agreement\"}]}]},\"/en/deploy/\":{\"base\":\"/en/deploy/\",\"items\":[{\"text\":\"LITEYUKIBOT\",\"items\":[{\"text\":\"Install\",\"link\":\"install\"},{\"text\":\"Configurations\",\"link\":\"config\"},{\"text\":\"FAQ\",\"link\":\"fandq\"}]}]}},\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/LiteyukiStudio/LiteyukiBot\"},{\"icon\":{\"svg\":\"<svg t=\\\"1725391346807\\\" class=\\\"icon\\\" viewBox=\\\"0 0 1025 1024\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" p-id=\\\"5067\\\" width=\\\"256\\\" height=\\\"256\\\"><path d=\\\"M1004.692673 466.396616l-447.094409-447.073929c-25.743103-25.763582-67.501405-25.763582-93.264987 0l-103.873521 103.873521 78.171378 78.171378c12.533635-6.00058 26.562294-9.359266 41.389666-9.359266 53.02219 0 96.00928 42.98709 96.00928 96.00928 0 14.827372-3.358686 28.856031-9.359266 41.389666l127.97824 127.97824c12.533635-6.00058 26.562294-9.359266 41.389666-9.359266 53.02219 0 96.00928 42.98709 96.00928 96.00928s-42.98709 96.00928-96.00928 96.00928-96.00928-42.98709-96.00928-96.00928c0-14.827372 3.358686-28.856031 9.359266-41.389666l-127.97824-127.97824c-3.051489 1.454065-6.184898 2.744293-9.379746 3.870681l0 266.97461c37.273227 13.188988 63.99936 48.721433 63.99936 90.520695 0 53.02219-42.98709 96.00928-96.00928 96.00928s-96.00928-42.98709-96.00928-96.00928c0-41.799262 26.726133-77.331707 63.99936-90.520695l0-266.97461c-37.273227-13.188988-63.99936-48.721433-63.99936-90.520695 0-14.827372 3.358686-28.856031 9.359266-41.389666l-78.171378-78.171378-295.892081 295.871601c-25.743103 25.784062-25.743103 67.542365 0 93.285467l447.114889 447.073929c25.743103 25.743103 67.480925 25.743103 93.264987 0l445.00547-445.00547c25.763582-25.763582 25.763582-67.542365 0-93.285467z\\\" fill=\\\"#a2d8f4\\\" p-id=\\\"5068\\\"></path></svg>\"},\"link\":\"https://git.liteyuki.icu/LiteyukiStudio/LiteyukiBot\"}],\"search\":{\"provider\":\"local\",\"options\":{\"locales\":{\"root\":{\"translations\":{\"button\":{\"buttonText\":\"搜索文档\",\"buttonAriaLabel\":\"打开搜索框\"},\"modal\":{\"noResultsText\":\"没有找到搜索结果\",\"resetButtonTitle\":\"清除查询条件\",\"footer\":{\"selectText\":\"选择\",\"navigateText\":\"切换\"}}}},\"en\":{\"translations\":{\"button\":{\"buttonText\":\"Search\",\"buttonAriaLabel\":\"Search\"},\"modal\":{\"noResultsText\":\"No results found\",\"resetButtonTitle\":\"Reset search query\",\"footer\":{\"selectText\":\"Select\",\"navigateText\":\"Navigate\"}}}}}}}},\"locales\":{\"root\":{\"label\":\"简体中文\",\"lang\":\"zh-Hans\",\"title\":\"轻雪机器人\",\"description\":\"一个综合性的机器人应用及管理框架\",\"themeConfig\":{\"nav\":[{\"text\":\"部署\",\"link\":\"/deploy/install\"},{\"text\":\"使用\",\"link\":\"/usage/basic\"},{\"text\":\"扩展\",\"link\":\"/store/resource\"},{\"text\":\"开发\",\"link\":\"/dev/guide\"}],\"docFooter\":{\"prev\":\"上一页\",\"next\":\"下一页\"},\"editLink\":{\"pattern\":\"_vp-fn_({ filePath }) => {\\n const regex = /^[^\\\\/]+\\\\/dev\\\\/api/;\\n console.log(filePath);\\n if (regex.test(filePath)) {\\n filePath = filePath.replace(regex, \\\"\\\").replace(\\\"index.md\\\", \\\"__init__.py\\\").replace(\\\".md\\\", \\\".py\\\");\\n if (filePath.split(\\\"/\\\").pop().split(\\\".\\\")[0] === filePath.split(\\\"/\\\").slice(-2, -1)[0]) {\\n filePath = filePath.split(\\\"/\\\").slice(0, -1).join(\\\"/\\\") + \\\"/__init__.py\\\";\\n }\\n return `https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki${filePath}`;\\n } else {\\n return `https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/docs/${filePath}`;\\n }\\n }\",\"text\":\"在 GitHub 上编辑此页\"},\"footer\":{\"message\":\"文档由 <a href=\\\"https://vitepress.dev/\\\">VitePress</a> 构建 | API引用由 <a href=\\\"https://github.com/LiteyukiStudio/litedoc\\\">litedoc</a> 生成\",\"copyright\":\"Copyright (C) 2020-2024 LiteyukiStudio. All Rights Reserved\"},\"outline\":{\"label\":\"页面内容\",\"level\":[2,6]},\"langMenuLabel\":\"语言\",\"returnToTopLabel\":\"返回顶部\",\"sidebarMenuLabel\":\"菜单\",\"darkModeSwitchLabel\":\"主题\",\"lightModeSwitchTitle\":\"轻色模式\",\"darkModeSwitchTitle\":\"深色模式\"}},\"en\":{\"label\":\"English\",\"lang\":\"en-US\",\"title\":\"LiteyukiBot\",\"description\":\"A high-performance, easy-to-use chatbot framework and application\",\"themeConfig\":{\"nav\":[{\"text\":\"Deploy\",\"link\":\"/en/deploy/install\"},{\"text\":\"Usage\",\"link\":\"/en/usage/basic\"},{\"text\":\"Extension\",\"link\":\"/en/store/resource\"},{\"text\":\"Develop\",\"link\":\"/en/dev/guide\"}],\"docFooter\":{\"prev\":\"Prev Page\",\"next\":\"Next Page\"},\"editLink\":{\"pattern\":\"_vp-fn_({ filePath }) => {\\n const regex = /^[^\\\\/]+\\\\/dev\\\\/api/;\\n console.log(filePath);\\n if (regex.test(filePath)) {\\n filePath = filePath.replace(regex, \\\"\\\").replace(\\\"index.md\\\", \\\"__init__.py\\\").replace(\\\".md\\\", \\\".py\\\");\\n if (filePath.split(\\\"/\\\").pop().split(\\\".\\\")[0] === filePath.split(\\\"/\\\").slice(-2, -1)[0]) {\\n filePath = filePath.split(\\\"/\\\").slice(0, -1).join(\\\"/\\\") + \\\"/__init__.py\\\";\\n }\\n return `https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki${filePath}`;\\n } else {\\n return `https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/docs/${filePath}`;\\n }\\n }\",\"text\":\"Edit this page on GitHub\"},\"footer\":{\"message\":\"Documentation built with <a href=\\\"https://vitepress.dev/\\\">VitePress</a> | API references generated by <a href=\\\"https://github.com/LiteyukiStudio/litedoc\\\">litedoc</a>\",\"copyright\":\"Copyright (C) 2020-2024 LiteyukiStudio. All Rights Reserved\"},\"outline\":{\"label\":\"Page Content\",\"level\":[2,6]},\"langMenuLabel\":\"Language\",\"returnToTopLabel\":\"Back to top\",\"sidebarMenuLabel\":\"Menu\",\"darkModeSwitchLabel\":\"Theme\",\"lightModeSwitchTitle\":\"Light Mode\",\"darkModeSwitchTitle\":\"Dark Mode\"}}},\"scrollOffset\":134,\"cleanUrls\":false}"));</script>
</body>
</html>