app/dev/plugin.html

57 lines
62 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.Dakhq8yk.css" as="style">
<script type="module" src="/assets/app.GiJFSGKW.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.DsuJY84h.js">
<link rel="modulepreload" href="/assets/chunks/framework.jrU0lkHV.js">
<link rel="modulepreload" href="/assets/dev_plugin.md.CTtOlLb-.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-d894e9ff><!--[--><!--]--><!--[--><span tabindex="-1" data-v-dc101702></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-dc101702> Skip to content </a><!--]--><!----><header class="VPNav" data-v-d894e9ff data-v-d6d570a0><div class="VPNavBar" data-v-d6d570a0 data-v-f2786236><div class="wrapper" data-v-f2786236><div class="container" data-v-f2786236><div class="title" data-v-f2786236><div class="VPNavBarTitle has-sidebar" data-v-f2786236 data-v-718cb97a><a class="title" href="/" data-v-718cb97a><!--[--><!--]--><!--[--><!--[--><!--[--><img class="VPImage dark logo" src="/liteyuki-dark.svg" alt="LiteyukiBot Logo" data-v-e696402e><!--]--><!--[--><img class="VPImage light logo" src="/liteyuki.svg" alt="LiteyukiBot Logo" data-v-e696402e><!--]--><!--]--><!--]--><span data-v-718cb97a>轻雪机器人</span><!--[--><!--]--></a></div></div><div class="content" data-v-f2786236><div class="content-body" data-v-f2786236><!--[--><!--]--><div class="VPNavBarSearch search" data-v-f2786236><!--[--><!----><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-f2786236 data-v-5f1e58e5><span id="main-nav-aria-label" class="visually-hidden" data-v-5f1e58e5> Main Navigation </span><!--[--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/deploy/install.html" tabindex="0" data-v-5f1e58e5 data-v-78d7f906><!--[--><span data-v-78d7f906>部署</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/usage/basic.html" tabindex="0" data-v-5f1e58e5 data-v-78d7f906><!--[--><span data-v-78d7f906>使用</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/store/resource.html" tabindex="0" data-v-5f1e58e5 data-v-78d7f906><!--[--><span data-v-78d7f906>扩展</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/dev/guide.html" tabindex="0" data-v-5f1e58e5 data-v-78d7f906><!--[--><span data-v-78d7f906>开发</span><!--]--></a><!--]--><!--]--></nav><div class="VPFlyout VPNavBarTranslations translations" data-v-f2786236 data-v-88f99f4b data-v-442180f1><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="语言" data-v-442180f1><span class="text" data-v-442180f1><span class="vpi-languages option-icon" data-v-442180f1></span><!----><span class="vpi-chevron-down text-icon" data-v-442180f1></span></span></button><div class="menu" data-v-442180f1><div class="VPMenu" data-v-442180f1 data-v-0b650e69><!----><!--[--><!--[--><div class="items" data-v-88f99f4b><p class="title" data-v-88f99f4b>简体中文</p><!--[--><div class="VPMenuLink" data-v-88f99f4b data-v-753be832><a class="VPLink link" href="/en/dev/plugin.html" data-v-753be832><!--[--><span data-v-753be832>English</span><!--]--></a></div><!--]--></div><!--]--><!--]--></div></div></div><div class="VPNavBarAppearance appearance" data-v-f2786236 data-v-8076706e><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-8076706e data-v-98e300dd data-v-743813fb><span class="check" data-v-743813fb><span class="icon" data-v-743813fb><!--[--><span class="vpi-sun sun" data-v-98e300dd></span><span class="vpi-moon moon" data-v-98e300dd></span><!--]--></span></span></button></div><div class="VPSocialLinks VPNavBarSocialLinks social-links" data-v-f2786236 data-v-1d40b8e8 data-v-cb269fd5><!--[--><a class="VPSocialLink no-icon" href="https://github.com/LiteyukiStudio/LiteyukiBot" aria-label="github" target="_blank" rel="noopener" data-v-cb269fd5 data-v-c00f18b1><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-cb269fd5 data-v-c00f18b1><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-f2786236 data-v-aa2ede9e data-v-442180f1><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-442180f1><span class="vpi-more-horizontal icon" data-v-442180f1></span></button><div class="menu" data-v-442180f1><div class="VPMenu" data-v-442180f1 data-v-0b650e69><!----><!--[--><!--[--><div class="group translations" data-v-aa2ede9e><p class="trans-title" data-v-aa2ede9e>简体中文</p><!--[--><div class="VPMenuLink" data-v-aa2ede9e data-v-753be832><a class="VPLink link" href="/en/dev/plugin.html" data-v-753be832><!--[--><span data-v-753be832>English</span><!--]--></a></div><!--]--></div><div class="group" data-v-aa2ede9e><div class="item appearance" data-v-aa2ede9e><p class="label" data-v-aa2ede9e>主题</p><div class="appearance-action" data-v-aa2ede9e><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-aa2ede9e data-v-98e300dd data-v-743813fb><span class="check" data-v-743813fb><span class="icon" data-v-743813fb><!--[--><span class="vpi-sun sun" data-v-98e300dd></span><span class="vpi-moon moon" data-v-98e300dd></span><!--]--></span></span></button></div></div></div><div class="group" data-v-aa2ede9e><div class="item social-links" data-v-aa2ede9e><div class="VPSocialLinks social-links-list" data-v-aa2ede9e data-v-cb269fd5><!--[--><a class="VPSocialLink no-icon" href="https://github.com/LiteyukiStudio/LiteyukiBot" aria-label="github" target="_blank" rel="noopener" data-v-cb269fd5 data-v-c00f18b1><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-cb269fd5 data-v-c00f18b1><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-f2786236 data-v-47e09796><span class="container" data-v-47e09796><span class="top" data-v-47e09796></span><span class="middle" data-v-47e09796></span><span class="bottom" data-v-47e09796></span></span></button></div></div></div></div><div class="divider" data-v-f2786236><div class="divider-line" data-v-f2786236></div></div></div><!----></header><div class="VPLocalNav has-sidebar empty" data-v-d894e9ff data-v-c7a9ea39><div class="container" data-v-c7a9ea39><button class="menu" aria-expanded="false" aria-controls="VPSidebarNav" data-v-c7a9ea39><span class="vpi-align-left menu-icon" data-v-c7a9ea39></span><span class="menu-text" data-v-c7a9ea39>菜单</span></button><div class="VPLocalNavOutlineDropdown" style="--vp-vh:0px;" data-v-c7a9ea39 data-v-af75bf50><button data-v-af75bf50>返回顶部</button><!----></div></div></div><aside class="VPSidebar" data-v-d894e9ff data-v-1703fd83><div class="curtain" data-v-1703fd83></div><nav class="nav" id="VPSidebarNav" aria-labelledby="sidebar-aria-label" tabindex="-1" data-v-1703fd83><span class="visually-hidden" id="sidebar-aria-label" data-v-1703fd83> Sidebar Navigation </span><!--[--><!--]--><!--[--><div class="no-transition group" data-v-11d678e0><section class="VPSidebarItem level-0 has-active" data-v-11d678e0 data-v-8803d7d2><div class="item" role="button" tabindex="0" data-v-8803d7d2><div class="indicator" data-v-8803d7d2></div><h2 class="text" data-v-8803d7d2>LITEYUKIBOT</h2><!----></div><div class="items" data-v-8803d7d2><!--[--><div class="VPSidebarItem level-1 is-link" data-v-8803d7d2 data-v-8803d7d2><div class="item" data-v-8803d7d2><div class="indicator" data-v-8803d7d2></div><a class="VPLink link link" href="/dev/guide.html" data-v-8803d7d2><!--[--><p class="text" data-v-8803d7d2>开发指南</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-8803d7d2 data-v-8803d7d2><div class="item" data-v-8803d7d2><div class="indicator" data-v-8803d7d2></div><a class="VPLink link link" href="/dev/resource.html" data-v-8803d7d2><!--[--><p class="text" data-v-8803d7d2>资源包开发</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-8803d7d2 data-v-8803d7d2><div class="item" data-v-8803d7d2><div class="indicator" data-v-8803d7d2></div><a class="VPLink link link" href="/dev/lyfunc.html" data-v-8803d7d2><!--[--><p class="text" data-v-8803d7d2>轻雪函数</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-8803d7d2 data-v-8803d7d2><div class="item" data-v-8803d7d2><div class="indicator" data-v-8803d7d2></div><a class="VPLink link link" href="/dev/plugin.html" data-v-8803d7d2><!--[--><p class="text" data-v-8803d7d2>插件开发</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-8803d7d2 data-v-8803d7d2><div class="item" data-v-8803d7d2><div class="indicator" data-v-8803d7d2></div><a class="VPLink link link" href="/dev/comm.html" data-v-8803d7d2><!--[--><p class="text" data-v-8803d7d2>进程通信</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-8803d7d2 data-v-8803d7d2><div class="item" data-v-8803d7d2><div class="indicator" data-v-8803d7d2></div><a class="VPLink link link" href="/dev/best_practices.html" data-v-8803d7d2><!--[--><p class="text" data-v-8803d7d2>最佳实践</p><!--]--></a><!----></div><!----></div><section class="VPSidebarItem level-1 collapsible collapsed is-link" data-v-8803d7d2 data-v-8803d7d2><div class="item" tabindex="0" data-v-8803d7d2><div class="indicator" data-v-8803d7d2></div><a class="VPLink link link" href="/dev/api/index.html" data-v-8803d7d2><!--[--><h3 class="text" data-v-8803d7d2>liteyuki API</h3><!--]--></a><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-8803d7d2><span class="vpi-chevron-right caret-icon" data-v-8803d7d2></span></div></div><div class="items" data-v-8803d7d2><!--[--><section class="VPSidebarItem level-2 collapsible collapsed is-link" data-v-8803d7d2 data-v-8803d7d2><div class="item" tabindex="0" data-v-8803d7d2><div class="indicator" data-v-8803d7d2></div><a class="VPLink link link" href="/dev/api/bot/index.html" data-v-8803d7d2><!--[--><h4 class="text" data-v-8803d7d2>liteyuki.bot</h4><!--]--></a><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-8803d7d2><span class="vpi-chevron-right caret-icon" data-v-8803d7d2></span></div></div><div class="items" data-v-8803d7d2><!--[--><div class="VPSidebarItem level-3 is-link" data-v-8803d7d2 data-v-8803d7d2><div class="item" data-v-8803d7d2><div class="indicator" data-v-8803d7d2></div><a class="VPLink link link" href="/dev/api/bot/" data-v-8803d7d2><!--[--><p class="text" data-v-8803d7d2>liteyuki.bot</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-8803d7d2 data-v-8803d7d2><div class="item" data-v-8803d7d2><div class="indicator" data-v-8803d7d2></div><a class="VPLink link link" href="/dev/api/bot/lifespan.html" data-v-8803d7d2><!--[--><p class="text" data-v-8803d7d2>liteyuki.bot.lifespan</p><!--]--></a><!----></div><!----></div><!--]--></div></section><section class="VPSidebarItem level-2 collapsible collapsed is-link" data-v-8803d7d2 data-v-8803d7d2><div class="item" tabindex="0" data-v-8803d7d2><div class="indicator" data-v-8803d7d2></div><a class="VPLink link link" href="/dev/api/comm/index.html" data-v-8803d7d2><!--[--><h4 class="text" data-v-8803d7d2>liteyuki.comm</h4><!--]--></a><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-8803d7d2><span class="vpi-chevron-right caret-icon" data-v-8803d7d2></span></div></div><div class="items" data-v-8803d7d2><!--[--><div class="VPSidebarItem level-3 is-link" data-v-8803d7d2 data-v-8803d7d2><div class="item" data-v-8803d7d2><div class="indicator" data-v-8803d7d2></div><a class="VPLink link link" href="/dev/api/comm/channel.html" data-v-8803d7d2><!--[--><p class="text" data-v-8803d7d2>liteyuki.comm.channel</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-8803d7d2 data-v-8803d7d2><div class="item" data-v-8803d7d2><div class="indicator" data-v-8803d7d2></div><a class="VPLink link link" href="/dev/api/comm/event.html" data-v-8803d7d2><!--[--><p class="text" data-v-8803d7d2>liteyuki.comm.event</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-8803d7d2 data-v-8803d7d2><div class="item" data-v-8803d7d2><div class="indicator" data-v-8803d7d2></div><a class="VPLink link link" href="/dev/api/comm/" data-v-8803d7d2><!--[--><p class="text" data-v-8803d7d2>liteyuki.comm</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-8803d7d2 data-v-8803d7d2><div class="item" data-v-8803d7d2><div class="indicator" data-v-8803d7d2></div><a class="VPLink link link" href="/dev/api/comm/storage.html" data-v-8803d7d2><!--[--><p class="text" data-v-8803d7d2>liteyuki.comm.storage</p><!--]--></a><!----></div><!----></div><!--]--></div></section><div class="VPSidebarItem level-2 is-link" data-v-8803d7d2 data-v-8803d7d2><div class="item" data-v-8803d7d2><div class="indicator" data-v-8803d7d2></div><a class="VPLink link link" href="/dev/api/config.html" data-v-8803d7d2><!--[--><p class="text" data-v-8803d7d2>liteyuki.config</p><!--]--></a><!----></div><!----></div><section class="VPSidebarItem level-2 collapsible collapsed is-link" data-v-8803d7d2 data-v-8803d7d2><div class="item" tabindex="0" data-v-8803d7d2><div class="indicator" data-v-8803d7d2></div><a class="VPLink link link" href="/dev/api/core/index.html" data-v-8803d7d2><!--[--><h4 class="text" data-v-8803d7d2>liteyuki.core</h4><!--]--></a><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-8803d7d2><span class="vpi-chevron-right caret-icon" data-v-8803d7d2></span></div></div><div class="items" data-v-8803d7d2><!--[--><div class="VPSidebarItem level-3 is-link" data-v-8803d7d2 data-v-8803d7d2><div class="item" data-v-8803d7d2><div class="indicator" data-v-8803d7d2></div><a class="VPLink link link" href="/dev/api/core/" data-v-8803d7d2><!--[--><p class="text" data-v-8803d7d2>liteyuki.core</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-8803d7d2 data-v-8803d7d2><div class="item" data-v-8803d7d2><div class="indicator" data-v-8803d7d2></div><a class="VPLink link link" href="/dev/api/core/manager.html" data-v-8803d7d2><!--[--><p class="text" data-v-8803d7d2>liteyuki.core.manager</p><!--]--></a><!----></div><!----></div><!--]--></div></section><section class="VPSidebarItem level-2 collapsible collapsed is-link" data-v-8803d7d2 data-v-8803d7d2><div class="item" tabindex="0" data-v-8803d7d2><div class="indicator" data-v-8803d7d2></div><a class="VPLink link link" href="/dev/api/dev/index.html" data-v-8803d7d2><!--[--><h4 class="text" data-v-8803d7d2>liteyuki.dev</h4><!--]--></a><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-8803d7d2><span class="vpi-chevron-right caret-icon" data-v-8803d7d2></span></div></div><div class="items" data-v-8803d7d2><!--[--><div class="VPSidebarItem level-3 is-link" data-v-8803d7d2 data-v-8803d7d2><div class="item" data-v-8803d7d2><div class="indicator" data-v-8803d7d2></div><a class="VPLink link link" href="/dev/api/dev/" data-v-8803d7d2><!--[--><p class="text" data-v-8803d7d2>liteyuki.dev</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-8803d7d2 data-v-8803d7d2><div class="item" data-v-8803d7d2><div class="indicator" data-v-8803d7d2></div><a class="VPLink link link" href="/dev/api/dev/observer.html" data-v-8803d7d2><!--[--><p class="text" data-v-8803d7d2>liteyuki.dev.observer</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-8803d7d2 data-v-8803d7d2><div class="item" data-v-8803d7d2><div class="indicator" data-v-8803d7d2></div><a class="VPLink link link" href="/dev/api/dev/plugin.html" data-v-8803d7d2><!--[--><p class="text" data-v-8803d7d2>liteyuki.dev.plugin</p><!--]--></a><!----></div><!----></div><!--]--></div></section><div class="VPSidebarItem level-2 is-link" data-v-8803d7d2 data-v-8803d7d2><div class="item" data-v-8803d7d2><div class="indicator" data-v-8803d7d2></div><a class="VPLink link link" href="/dev/api/exception.html" data-v-8803d7d2><!--[--><p class="text" data-v-8803d7d2>liteyuki.exception</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-8803d7d2 data-v-8803d7d2><div class="item" data-v-8803d7d2><div class="indicator" data-v-8803d7d2></div><a class="VPLink link link" href="/dev/api/log.html" data-v-8803d7d2><!--[--><p class="text" data-v-8803d7d2>liteyuki.log</p><!--]--></a><!----></div><!----></div><section class="VPSidebarItem level-2 collapsible collapsed is-link" data-v-8803d7d2 data-v-8803d7d2><div class="item" tabindex="0" data-v-8803d7d2><div class="indicator" data-v-8803d7d2></div><a class="VPLink link link" href="/dev/api/plugin/index.html" data-v-8803d7d2><!--[--><h4 class="text" data-v-8803d7d2>liteyuki.plugin</h4><!--]--></a><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-8803d7d2><span class="vpi-chevron-right caret-icon" data-v-8803d7d2></span></div></div><div class="items" data-v-8803d7d2><!--[--><div class="VPSidebarItem level-3 is-link" data-v-8803d7d2 data-v-8803d7d2><div class="item" data-v-8803d7d2><div class="indicator" data-v-8803d7d2></div><a class="VPLink link link" href="/dev/api/plugin/" data-v-8803d7d2><!--[--><p class="text" data-v-8803d7d2>liteyuki.plugin</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-8803d7d2 data-v-8803d7d2><div class="item" data-v-8803d7d2><div class="indicator" data-v-8803d7d2></div><a class="VPLink link link" href="/dev/api/plugin/load.html" data-v-8803d7d2><!--[--><p class="text" data-v-8803d7d2>liteyuki.plugin.load</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-8803d7d2 data-v-8803d7d2><div class="item" data-v-8803d7d2><div class="indicator" data-v-8803d7d2></div><a class="VPLink link link" href="/dev/api/plugin/manager.html" data-v-8803d7d2><!--[--><p class="text" data-v-8803d7d2>liteyuki.plugin.manager</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-8803d7d2 data-v-8803d7d2><div class="item" data-v-8803d7d2><div class="indicator" data-v-8803d7d2></div><a class="VPLink link link" href="/dev/api/plugin/model.html" data-v-8803d7d2><!--[--><p class="text" data-v-8803d7d2>liteyuki.plugin.model</p><!--]--></a><!----></div><!----></div><!--]--></div></section><section class="VPSidebarItem level-2 collapsible collapsed is-link" data-v-8803d7d2 data-v-8803d7d2><div class="item" tabindex="0" data-v-8803d7d2><div class="indicator" data-v-8803d7d2></div><a class="VPLink link link" href="/dev/api/plugins/index.html" data-v-8803d7d2><!--[--><h4 class="text" data-v-8803d7d2>liteyuki.plugins</h4><!--]--></a><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-8803d7d2><span class="vpi-chevron-right caret-icon" data-v-8803d7d2></span></div></div><div class="items" data-v-8803d7d2><!--[--><div class="VPSidebarItem level-3 is-link" data-v-8803d7d2 data-v-8803d7d2><div class="item" data-v-8803d7d2><div class="indicator" data-v-8803d7d2></div><a class="VPLink link link" href="/dev/api/plugins/" data-v-8803d7d2><!--[--><p class="text" data-v-8803d7d2>liteyuki.plugins</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-8803d7d2 data-v-8803d7d2><div class="item" data-v-8803d7d2><div class="indicator" data-v-8803d7d2></div><a class="VPLink link link" href="/dev/api/plugins/liteecho.html" data-v-8803d7d2><!--[--><p class="text" data-v-8803d7d2>liteyuki.plugins.liteecho</p><!--]--></a><!----></div><!----></div><section class="VPSidebarItem level-3 collapsible collapsed is-link" data-v-8803d7d2 data-v-8803d7d2><div class="item" tabindex="0" data-v-8803d7d2><div class="indicator" data-v-8803d7d2></div><a class="VPLink link link" href="/dev/api/plugins/plugin_loader/index.html" data-v-8803d7d2><!--[--><h5 class="text" data-v-8803d7d2>liteyuki.plugins.plugin_loader</h5><!--]--></a><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-8803d7d2><span class="vpi-chevron-right caret-icon" data-v-8803d7d2></span></div></div><div class="items" data-v-8803d7d2><!--[--><div class="VPSidebarItem level-4 is-link" data-v-8803d7d2 data-v-8803d7d2><div class="item" data-v-8803d7d2><div class="indicator" data-v-8803d7d2></div><a class="VPLink link link" href="/dev/api/plugins/plugin_loader/" data-v-8803d7d2><!--[--><p class="text" data-v-8803d7d2>liteyuki.plugins.plugin_loader</p><!--]--></a><!----></div><!----></div><!--]--></div></section><!--]--></div></section><section class="VPSidebarItem level-2 collapsible collapsed is-link" data-v-8803d7d2 data-v-8803d7d2><div class="item" tabindex="0" data-v-8803d7d2><div class="indicator" data-v-8803d7d2></div><a class="VPLink link link" href="/dev/api/session/index.html" data-v-8803d7d2><!--[--><h4 class="text" data-v-8803d7d2>liteyuki.session</h4><!--]--></a><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-8803d7d2><span class="vpi-chevron-right caret-icon" data-v-8803d7d2></span></div></div><div class="items" data-v-8803d7d2><!--[--><div class="VPSidebarItem level-3 is-link" data-v-8803d7d2 data-v-8803d7d2><div class="item" data-v-8803d7d2><div class="indicator" data-v-8803d7d2></div><a class="VPLink link link" href="/dev/api/session/event.html" data-v-8803d7d2><!--[--><p class="text" data-v-8803d7d2>liteyuki.session.event</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-8803d7d2 data-v-8803d7d2><div class="item" data-v-8803d7d2><div class="indicator" data-v-8803d7d2></div><a class="VPLink link link" href="/dev/api/session/" data-v-8803d7d2><!--[--><p class="text" data-v-8803d7d2>liteyuki.session</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-8803d7d2 data-v-8803d7d2><div class="item" data-v-8803d7d2><div class="indicator" data-v-8803d7d2></div><a class="VPLink link link" href="/dev/api/session/matcher.html" data-v-8803d7d2><!--[--><p class="text" data-v-8803d7d2>liteyuki.session.matcher</p><!--]--></a><!----></div><!----></div><section class="VPSidebarItem level-3 collapsible collapsed" data-v-8803d7d2 data-v-8803d7d2><div class="item" role="button" tabindex="0" data-v-8803d7d2><div class="indicator" data-v-8803d7d2></div><h5 class="text" data-v-8803d7d2>message</h5><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-8803d7d2><span class="vpi-chevron-right caret-icon" data-v-8803d7d2></span></div></div><div class="items" data-v-8803d7d2><!--[--><div class="VPSidebarItem level-4 is-link" data-v-8803d7d2 data-v-8803d7d2><div class="item" data-v-8803d7d2><div class="indicator" data-v-8803d7d2></div><a class="VPLink link link" href="/dev/api/session/message/segments.html" data-v-8803d7d2><!--[--><p class="text" data-v-8803d7d2>liteyuki.session.message.segments</p><!--]--></a><!----></div><!----></div><!--]--></div></section><div class="VPSidebarItem level-3 is-link" data-v-8803d7d2 data-v-8803d7d2><div class="item" data-v-8803d7d2><div class="indicator" data-v-8803d7d2></div><a class="VPLink link link" href="/dev/api/session/models.html" data-v-8803d7d2><!--[--><p class="text" data-v-8803d7d2>liteyuki.session.models</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-8803d7d2 data-v-8803d7d2><div class="item" data-v-8803d7d2><div class="indicator" data-v-8803d7d2></div><a class="VPLink link link" href="/dev/api/session/on.html" data-v-8803d7d2><!--[--><p class="text" data-v-8803d7d2>liteyuki.session.on</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-8803d7d2 data-v-8803d7d2><div class="item" data-v-8803d7d2><div class="indicator" data-v-8803d7d2></div><a class="VPLink link link" href="/dev/api/session/rule.html" data-v-8803d7d2><!--[--><p class="text" data-v-8803d7d2>liteyuki.session.rule</p><!--]--></a><!----></div><!----></div><!--]--></div></section><div class="VPSidebarItem level-2 is-link" data-v-8803d7d2 data-v-8803d7d2><div class="item" data-v-8803d7d2><div class="indicator" data-v-8803d7d2></div><a class="VPLink link link" href="/dev/api/utils.html" data-v-8803d7d2><!--[--><p class="text" data-v-8803d7d2>liteyuki.utils</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-8803d7d2 data-v-8803d7d2><div class="item" data-v-8803d7d2><div class="indicator" data-v-8803d7d2></div><a class="VPLink link link" href="/dev/api/" data-v-8803d7d2><!--[--><p class="text" data-v-8803d7d2>liteyuki API</p><!--]--></a><!----></div><!----></div><!--]--></div></section><!--]--></div></section></div><!--]--><!--[--><!--]--></nav></aside><div class="VPContent has-sidebar" id="VPContent" data-v-d894e9ff data-v-5c5b2f85><div class="VPDoc has-sidebar has-aside" data-v-5c5b2f85 data-v-db86c50a><!--[--><!--]--><div class="container" data-v-db86c50a><div class="aside" data-v-db86c50a><div class="aside-curtain" data-v-db86c50a></div><div class="aside-container" data-v-db86c50a><div class="aside-content" data-v-db86c50a><div class="VPDocAside" data-v-db86c50a data-v-5241a9c3><!--[--><!--]--><!--[--><!--]--><nav aria-labelledby="doc-outline-aria-label" class="VPDocAsideOutline" data-v-5241a9c3 data-v-15ea4b19><div class="content" data-v-15ea4b19><div class="outline-marker" data-v-15ea4b19></div><div aria-level="2" class="outline-title" id="doc-outline-aria-label" role="heading" data-v-15ea4b19>页面内容</div><ul class="VPDocOutlineItem root" data-v-15ea4b19 data-v-ed4debac><!--[--><!--]--></ul></div></nav><!--[--><!--]--><div class="spacer" data-v-5241a9c3></div><!--[--><!--]--><!----><!--[--><!--]--><!--[--><!--]--></div></div></div></div><div class="content" data-v-db86c50a><div class="content-container" data-v-db86c50a><!--[--><!--]--><main class="main" data-v-db86c50a><div style="position:relative;" class="vp-doc _dev_plugin" data-v-db86c50a><div><h1 id="简介" tabindex="-1">简介 <a class="header-anchor" href="#简介" aria-label="Permalink to &quot;简介&quot;"></a></h1><p>轻雪插件是轻雪内置的一部分功能,运行在主进程中,可以很高程度地扩展轻雪的功能</p><p>插件大致可分为应用(Application)、实现(Implementation)及服务(Service)等几种类型,大部分情况下一个插件通常承担着多个责任,可按需调整</p><p>应用:从总线通道接收到消息后进行处理,响应,以实现某些功能,例如<code>echo</code></p><p>实现:对接特定平台,把平台的消息转换为轻雪消息格式传入总线通道</p><p>服务提供一系列对外的ipc/rpc/http等服务供其他插件调用</p><p>我们鼓励使用<code>magicoca</code>进行对象传递来进行插件间通信而不是依赖关系,这样可以避免很多潜在的问题。</p><h2 id="开始" tabindex="-1">开始 <a class="header-anchor" href="#开始" aria-label="Permalink to &quot;开始&quot;"></a></h2><h3 id="创建插件" tabindex="-1">创建插件 <a class="header-anchor" href="#创建插件" aria-label="Permalink to &quot;创建插件&quot;"></a></h3><p>一个<code>.py</code>文件或一个包含<code>__init__.py</code>的文件夹即可被识别为插件</p><p>首先创建一个文件夹,例如<code>watchdog_plugin</code>,并在其中创建一个<code>__init__.py</code>文件,即可创建一个插件</p><p><code>__init__.py</code></p><div class="language-python vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">python</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> liteyuki.plugin </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> PluginMetadata, PluginType</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> .watch_dog </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> *</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # 导入逻辑部分</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 定义插件元数据</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">__plugin_meta__ </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> PluginMetadata(</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"> name</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;NoneDog&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 插件名称</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"> version</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;1.0.0&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 插件版本</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"> description</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;A simple plugin for nonebot developer&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 插件描述</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"> type</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">PluginType.</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">SERVICE</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # 插件类型</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 你的插件代码</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">...</span></span></code></pre></div><h3 id="编写逻辑部分" tabindex="-1">编写逻辑部分 <a class="header-anchor" href="#编写逻辑部分" aria-label="Permalink to &quot;编写逻辑部分&quot;"></a></h3><p>轻雪主进程不涉及聊天部分,因此插件主要是一些后台任务或者与聊天机器人的通信 以下我们会编写一个简单的插件用于开发NoneBot时进行文件系统变更重载 <code>watch_dog.py</code></p><div class="language-python vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">python</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> os</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> liteyuki.dev </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> observer </span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 导入文件系统观察器</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> liteyuki </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> get_bot, logger </span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 导入轻雪Bot和日志</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> watchdog.events </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> FileSystemEvent </span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 导入文件系统事件</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">liteyuki </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> get_bot() </span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 获取唯一的轻雪Bot实例</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">exclude_extensions </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> (</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;.pyc&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;.pyo&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) </span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 排除的文件扩展名</span></span>
<span class="line"></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 用observer的on_file_system_event装饰器监听文件系统事件</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">@observer.on_file_system_event</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"> directories</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;src/nonebot_plugins&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,),</span></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"> event_filter</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=lambda</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> event: </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">not</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> event.src_path.endswith(exclude_extensions) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">and</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> (</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;__pycache__&quot;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> not</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> in</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> event.src_path) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">and</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> os.path.isfile(event.src_path)</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">def</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> restart_nonebot_process</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(event: FileSystemEvent):</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> logger.debug(</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">f</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;File </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">{</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">event.src_path</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">}</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> changed, reloading nonebot...&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> liteyuki.restart_process(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;nonebot&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) </span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 调用重启进程方法</span></span></code></pre></div><h3 id="加载插件" tabindex="-1">加载插件 <a class="header-anchor" href="#加载插件" aria-label="Permalink to &quot;加载插件&quot;"></a></h3><h4 id="方法1" tabindex="-1">方法1 <a class="header-anchor" href="#方法1" aria-label="Permalink to &quot;方法1&quot;"></a></h4><ul><li>在配置文件中的<code>liteyuki.plugins</code>中添加你的插件路径,例如<code>watchdog_plugin</code>,重启轻雪即可加载插件。</li></ul><h4 id="方法2" tabindex="-1">方法2 <a class="header-anchor" href="#方法2" aria-label="Permalink to &quot;方法2&quot;"></a></h4><ul><li>使用开发工具快速运行插件,无需手动创建实例</li><li>创建入口文件,例如<code>main.py</code>,并在其中写入以下代码</li></ul><div class="language-python vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">python</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> liteyuki.dev.plugin </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> run_plugins</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">run_plugins(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;watchdog_plugin&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span></code></pre></div><p>然后运行<code>python main.py</code>即可启动插件</p><p>启用插件后我们在src/nonebot_plugins下创建一个文件例如<code>test.py</code>并在其中写入一些代码保存后轻雪会自动重载NoneBot进程</p></div></div></main><footer class="VPDocFooter" data-v-db86c50a data-v-ebeacb1b><!--[--><!--]--><div class="edit-info" data-v-ebeacb1b><div class="edit-link" data-v-ebeacb1b><a class="VPLink link vp-external-link-icon no-icon edit-link-button" href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/docs/zh/dev/plugin.md" target="_blank" rel="noreferrer" data-v-ebeacb1b><!--[--><span class="vpi-square-pen edit-link-icon" data-v-ebeacb1b></span> 在 GitHub 上编辑此页<!--]--></a></div><div class="last-updated" data-v-ebeacb1b><p class="VPLastUpdated" data-v-ebeacb1b data-v-8224977b>Last updated: <time datetime="2024-10-25T18:34:58.000Z" data-v-8224977b></time></p></div></div><nav class="prev-next" aria-labelledby="doc-footer-aria-label" data-v-ebeacb1b><span class="visually-hidden" id="doc-footer-aria-label" data-v-ebeacb1b>Pager</span><div class="pager" data-v-ebeacb1b><a class="VPLink link pager-link prev" href="/dev/lyfunc.html" data-v-ebeacb1b><!--[--><span class="desc" data-v-ebeacb1b>上一页</span><span class="title" data-v-ebeacb1b>轻雪函数</span><!--]--></a></div><div class="pager" data-v-ebeacb1b><a class="VPLink link pager-link next" href="/dev/comm.html" data-v-ebeacb1b><!--[--><span class="desc" data-v-ebeacb1b>下一页</span><span class="title" data-v-ebeacb1b>进程通信</span><!--]--></a></div></nav></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><footer class="VPFooter has-sidebar" data-v-d894e9ff data-v-aa30d313><div class="container" data-v-aa30d313><p class="message" data-v-aa30d313>文档由 <a href="https://vitepress.dev/">VitePress</a> 构建 | API引用由 <a href="https://github.com/LiteyukiStudio/litedoc">litedoc</a> 生成</p><p class="copyright" data-v-aa30d313>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\":\"DYuQyOrf\",\"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_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\":\"D4RX5bHu\",\"dev_api_session_matcher.md\":\"AbqZMTjz\",\"dev_api_session_message_segments.md\":\"BquBMIE7\",\"dev_api_session_models.md\":\"KfLYl1lp\",\"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\":\"ymsFmuWf\",\"dev_guide.md\":\"CQFTbPsZ\",\"dev_lyfunc.md\":\"DXKpS1Qm\",\"dev_plugin.md\":\"CTtOlLb-\",\"dev_resource.md\":\"wRoE226-\",\"en_deploy_config.md\":\"CggQr9gM\",\"en_deploy_fandq.md\":\"CfGzF3ge\",\"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_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\":\"DC9ouOg5\",\"en_dev_api_session_matcher.md\":\"DJciHvHX\",\"en_dev_api_session_message_segments.md\":\"CfsIvuym\",\"en_dev_api_session_models.md\":\"x6v31F0R\",\"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\":\"CTFaqeXJ\",\"en_dev_lyfunc.md\":\"BVZAJYq4\",\"en_dev_plugin.md\":\"CHACIHL6\",\"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.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\":\"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.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>