app/dev/api/config.html

86 lines
103 KiB
HTML
Raw Permalink 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.

<!DOCTYPE html>
<html lang="zh-Hans" dir="ltr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>liteyuki.config | 轻雪机器人</title>
<meta name="description" content="一个综合性的机器人应用及管理框架">
<meta name="generator" content="VitePress v1.5.0">
<link rel="preload stylesheet" href="/assets/style.BVhTES01.css" as="style">
<link rel="preload stylesheet" href="/vp-icons.css" as="style">
<script type="module" src="/assets/app.rCcoAfOG.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.2w8Mz6uA.js">
<link rel="modulepreload" href="/assets/chunks/framework.v7PlT0Wt.js">
<link rel="modulepreload" href="/assets/dev_api_config.md.CQFvBqcK.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-63ade785><!--[--><!--]--><!--[--><span tabindex="-1" data-v-b41cbf02></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-b41cbf02> Skip to content </a><!--]--><!----><header class="VPNav" data-v-63ade785 data-v-e5ed4446><div class="VPNavBar" data-v-e5ed4446 data-v-317c9d8e><div class="wrapper" data-v-317c9d8e><div class="container" data-v-317c9d8e><div class="title" data-v-317c9d8e><div class="VPNavBarTitle has-sidebar" data-v-317c9d8e data-v-0c3e78d8><a class="title" href="/" data-v-0c3e78d8><!--[--><!--]--><!--[--><!--[--><!--[--><img class="VPImage dark logo" src="/liteyuki-dark.svg" alt="LiteyukiBot Logo" data-v-5b34c2b4><!--]--><!--[--><img class="VPImage light logo" src="/liteyuki.svg" alt="LiteyukiBot Logo" data-v-5b34c2b4><!--]--><!--]--><!--]--><span data-v-0c3e78d8>轻雪机器人</span><!--[--><!--]--></a></div></div><div class="content" data-v-317c9d8e><div class="content-body" data-v-317c9d8e><!--[--><!--]--><div class="VPNavBarSearch search" data-v-317c9d8e><!--[--><!----><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-317c9d8e data-v-44639ed0><span id="main-nav-aria-label" class="visually-hidden" data-v-44639ed0> Main Navigation </span><!--[--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/deploy/install.html" tabindex="0" data-v-44639ed0 data-v-8c15372d><!--[--><span data-v-8c15372d>部署</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/usage/basic.html" tabindex="0" data-v-44639ed0 data-v-8c15372d><!--[--><span data-v-8c15372d>使用</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/store/resource.html" tabindex="0" data-v-44639ed0 data-v-8c15372d><!--[--><span data-v-8c15372d>扩展</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/dev/guide.html" tabindex="0" data-v-44639ed0 data-v-8c15372d><!--[--><span data-v-8c15372d>开发</span><!--]--></a><!--]--><!--]--></nav><div class="VPFlyout VPNavBarTranslations translations" data-v-317c9d8e data-v-c134d1c9 data-v-4f75aef5><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="语言" data-v-4f75aef5><span class="text" data-v-4f75aef5><span class="vpi-languages option-icon" data-v-4f75aef5></span><!----><span class="vpi-chevron-down text-icon" data-v-4f75aef5></span></span></button><div class="menu" data-v-4f75aef5><div class="VPMenu" data-v-4f75aef5 data-v-dc051c19><!----><!--[--><!--[--><div class="items" data-v-c134d1c9><p class="title" data-v-c134d1c9>简体中文</p><!--[--><div class="VPMenuLink" data-v-c134d1c9 data-v-3ec6a25f><a class="VPLink link" href="/en/dev/api/config.html" data-v-3ec6a25f><!--[--><span data-v-3ec6a25f>English</span><!--]--></a></div><!--]--></div><!--]--><!--]--></div></div></div><div class="VPNavBarAppearance appearance" data-v-317c9d8e data-v-86f775dc><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-86f775dc data-v-d0596168 data-v-5ab7c8f3><span class="check" data-v-5ab7c8f3><span class="icon" data-v-5ab7c8f3><!--[--><span class="vpi-sun sun" data-v-d0596168></span><span class="vpi-moon moon" data-v-d0596168></span><!--]--></span></span></button></div><div class="VPSocialLinks VPNavBarSocialLinks social-links" data-v-317c9d8e data-v-c3ba6796 data-v-7b9e441c><!--[--><a class="VPSocialLink no-icon" href="https://github.com/LiteyukiStudio/LiteyukiBot" aria-label="github" target="_blank" rel="noopener" data-v-7b9e441c data-v-7db98690><span class="vpi-social-github"></span></a><a class="VPSocialLink no-icon" href="https://git.liteyuki.icu/bot/app" aria-label target="_blank" rel="noopener" data-v-7b9e441c data-v-7db98690><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><a class="VPSocialLink no-icon" href="https://lab.liteyuki.icu/@LiteyukiBot" aria-label target="_blank" rel="noopener" data-v-7b9e441c data-v-7db98690><svg t="1736700504329" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="14158" width="200" height="200"><path d="M944.355556 142.222222c-17.066667-22.755556-45.511111-34.133333-79.644445-34.133333-28.444444 0-68.266667 5.688889-108.088889 22.755555h-5.688889c17.066667 11.377778 34.133333 28.444444 51.2 39.822223 56.888889-17.066667 91.022222-11.377778 96.711111 0 11.377778 11.377778 5.688889 45.511111-22.755555 91.022222 11.377778 17.066667 17.066667 34.133333 28.444444 51.2 0 0 0 5.688889 5.688889 5.688889 22.755556-34.133333 34.133333-62.577778 45.511111-91.022222 11.377778-28.444444 5.688889-62.577778-11.377777-85.333334z" p-id="14159" fill="#a2d8f4"></path><path d="M267.377778 512a45.511111 45.511111 0 1 0 91.022222 0 45.511111 45.511111 0 1 0-91.022222 0Z" p-id="14160" fill="#a2d8f4"></path><path d="M625.777778 614.4c-113.777778 85.333333-227.555556 153.6-324.266667 193.422222-11.377778 5.688889-17.066667 5.688889-28.444444 11.377778 22.755556 17.066667 51.2 34.133333 79.644444 45.511111 51.2 22.755556 108.088889 34.133333 164.977778 34.133333s113.777778-11.377778 164.977778-34.133333c51.2-22.755556 96.711111-51.2 136.533333-91.022222 39.822222-39.822222 68.266667-85.333333 91.022222-130.844445 22.755556-51.2 34.133333-108.088889 34.133334-159.288888 0-51.2-11.377778-102.4-28.444445-153.6-5.688889 5.688889-11.377778 17.066667-17.066667 22.755555-68.266667 79.644444-164.977778 176.355556-273.066666 261.688889zM813.511111 187.733333c-5.688889-5.688889-11.377778-5.688889-11.377778-11.377777-17.066667-17.066667-34.133333-28.444444-51.2-39.822223-22.755556-11.377778-45.511111-28.444444-68.266666-34.133333-56.888889-28.444444-108.088889-39.822222-164.977778-39.822222s-113.777778 11.377778-164.977778 34.133333c-51.2 22.755556-96.711111 51.2-136.533333 91.022222-39.822222 34.133333-68.266667 79.644444-91.022222 130.844445-22.755556 51.2-34.133333 108.088889-34.133334 159.288889 0 51.2 11.377778 96.711111 22.755556 142.222222-22.755556 34.133333-39.822222 68.266667-51.2 96.711111-11.377778 39.822222-5.688889 68.266667 11.377778 91.022222 17.066667 22.755556 45.511111 34.133333 79.644444 34.133334h11.377778c28.444444 0 62.577778-11.377778 96.711111-22.755556-17.066667-11.377778-34.133333-28.444444-51.2-39.822222-51.2 11.377778-85.333333 11.377778-96.711111 0 0-17.066667 5.688889-45.511111 34.133333-96.711111 17.066667 34.133333 39.822222 62.577778 68.266667 91.022222h5.688889c17.066667-5.688889 39.822222-11.377778 62.577777-17.066667 91.022222-34.133333 204.8-102.4 307.2-187.733333 108.088889-85.333333 199.111111-170.666667 256-250.311111l34.133334-51.2c-22.755556-28.444444-39.822222-56.888889-68.266667-79.644445z m-500.622222 420.977778c-56.888889 0-102.4-45.511111-102.4-102.4s45.511111-102.4 102.4-102.4S409.6 455.111111 409.6 512c0 51.2-45.511111 96.711111-96.711111 96.711111z" p-id="14161" fill="#a2d8f4"></path></svg></a><!--]--></div><div class="VPFlyout VPNavBarExtra extra" data-v-317c9d8e data-v-b86a5348 data-v-4f75aef5><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-4f75aef5><span class="vpi-more-horizontal icon" data-v-4f75aef5></span></button><div class="menu" data-v-4f75aef5><div class="VPMenu" data-v-4f75aef5 data-v-dc051c19><!----><!--[--><!--[--><div class="group translations" data-v-b86a5348><p class="trans-title" data-v-b86a5348>简体中文</p><!--[--><div class="VPMenuLink" data-v-b86a5348 data-v-3ec6a25f><a class="VPLink link" href="/en/dev/api/config.html" data-v-3ec6a25f><!--[--><span data-v-3ec6a25f>English</span><!--]--></a></div><!--]--></div><div class="group" data-v-b86a5348><div class="item appearance" data-v-b86a5348><p class="label" data-v-b86a5348>主题</p><div class="appearance-action" data-v-b86a5348><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-b86a5348 data-v-d0596168 data-v-5ab7c8f3><span class="check" data-v-5ab7c8f3><span class="icon" data-v-5ab7c8f3><!--[--><span class="vpi-sun sun" data-v-d0596168></span><span class="vpi-moon moon" data-v-d0596168></span><!--]--></span></span></button></div></div></div><div class="group" data-v-b86a5348><div class="item social-links" data-v-b86a5348><div class="VPSocialLinks social-links-list" data-v-b86a5348 data-v-7b9e441c><!--[--><a class="VPSocialLink no-icon" href="https://github.com/LiteyukiStudio/LiteyukiBot" aria-label="github" target="_blank" rel="noopener" data-v-7b9e441c data-v-7db98690><span class="vpi-social-github"></span></a><a class="VPSocialLink no-icon" href="https://git.liteyuki.icu/bot/app" aria-label target="_blank" rel="noopener" data-v-7b9e441c data-v-7db98690><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><a class="VPSocialLink no-icon" href="https://lab.liteyuki.icu/@LiteyukiBot" aria-label target="_blank" rel="noopener" data-v-7b9e441c data-v-7db98690><svg t="1736700504329" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="14158" width="200" height="200"><path d="M944.355556 142.222222c-17.066667-22.755556-45.511111-34.133333-79.644445-34.133333-28.444444 0-68.266667 5.688889-108.088889 22.755555h-5.688889c17.066667 11.377778 34.133333 28.444444 51.2 39.822223 56.888889-17.066667 91.022222-11.377778 96.711111 0 11.377778 11.377778 5.688889 45.511111-22.755555 91.022222 11.377778 17.066667 17.066667 34.133333 28.444444 51.2 0 0 0 5.688889 5.688889 5.688889 22.755556-34.133333 34.133333-62.577778 45.511111-91.022222 11.377778-28.444444 5.688889-62.577778-11.377777-85.333334z" p-id="14159" fill="#a2d8f4"></path><path d="M267.377778 512a45.511111 45.511111 0 1 0 91.022222 0 45.511111 45.511111 0 1 0-91.022222 0Z" p-id="14160" fill="#a2d8f4"></path><path d="M625.777778 614.4c-113.777778 85.333333-227.555556 153.6-324.266667 193.422222-11.377778 5.688889-17.066667 5.688889-28.444444 11.377778 22.755556 17.066667 51.2 34.133333 79.644444 45.511111 51.2 22.755556 108.088889 34.133333 164.977778 34.133333s113.777778-11.377778 164.977778-34.133333c51.2-22.755556 96.711111-51.2 136.533333-91.022222 39.822222-39.822222 68.266667-85.333333 91.022222-130.844445 22.755556-51.2 34.133333-108.088889 34.133334-159.288888 0-51.2-11.377778-102.4-28.444445-153.6-5.688889 5.688889-11.377778 17.066667-17.066667 22.755555-68.266667 79.644444-164.977778 176.355556-273.066666 261.688889zM813.511111 187.733333c-5.688889-5.688889-11.377778-5.688889-11.377778-11.377777-17.066667-17.066667-34.133333-28.444444-51.2-39.822223-22.755556-11.377778-45.511111-28.444444-68.266666-34.133333-56.888889-28.444444-108.088889-39.822222-164.977778-39.822222s-113.777778 11.377778-164.977778 34.133333c-51.2 22.755556-96.711111 51.2-136.533333 91.022222-39.822222 34.133333-68.266667 79.644444-91.022222 130.844445-22.755556 51.2-34.133333 108.088889-34.133334 159.288889 0 51.2 11.377778 96.711111 22.755556 142.222222-22.755556 34.133333-39.822222 68.266667-51.2 96.711111-11.377778 39.822222-5.688889 68.266667 11.377778 91.022222 17.066667 22.755556 45.511111 34.133333 79.644444 34.133334h11.377778c28.444444 0 62.577778-11.377778 96.711111-22.755556-17.066667-11.377778-34.133333-28.444444-51.2-39.822222-51.2 11.377778-85.333333 11.377778-96.711111 0 0-17.066667 5.688889-45.511111 34.133333-96.711111 17.066667 34.133333 39.822222 62.577778 68.266667 91.022222h5.688889c17.066667-5.688889 39.822222-11.377778 62.577777-17.066667 91.022222-34.133333 204.8-102.4 307.2-187.733333 108.088889-85.333333 199.111111-170.666667 256-250.311111l34.133334-51.2c-22.755556-28.444444-39.822222-56.888889-68.266667-79.644445z m-500.622222 420.977778c-56.888889 0-102.4-45.511111-102.4-102.4s45.511111-102.4 102.4-102.4S409.6 455.111111 409.6 512c0 51.2-45.511111 96.711111-96.711111 96.711111z" p-id="14161" fill="#a2d8f4"></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-317c9d8e data-v-9fa400a2><span class="container" data-v-9fa400a2><span class="top" data-v-9fa400a2></span><span class="middle" data-v-9fa400a2></span><span class="bottom" data-v-9fa400a2></span></span></button></div></div></div></div><div class="divider" data-v-317c9d8e><div class="divider-line" data-v-317c9d8e></div></div></div><!----></header><div class="VPLocalNav has-sidebar empty" data-v-63ade785 data-v-a9a50499><div class="container" data-v-a9a50499><button class="menu" aria-expanded="false" aria-controls="VPSidebarNav" data-v-a9a50499><span class="vpi-align-left menu-icon" data-v-a9a50499></span><span class="menu-text" data-v-a9a50499>菜单</span></button><div class="VPLocalNavOutlineDropdown" style="--vp-vh:0px;" data-v-a9a50499 data-v-9d69baf6><button data-v-9d69baf6>返回顶部</button><!----></div></div></div><aside class="VPSidebar" data-v-63ade785 data-v-bb8a5fb0><div class="curtain" data-v-bb8a5fb0></div><nav class="nav" id="VPSidebarNav" aria-labelledby="sidebar-aria-label" tabindex="-1" data-v-bb8a5fb0><span class="visually-hidden" id="sidebar-aria-label" data-v-bb8a5fb0> Sidebar Navigation </span><!--[--><!--]--><!--[--><div class="no-transition group" data-v-60f8ce21><section class="VPSidebarItem level-0 has-active" data-v-60f8ce21 data-v-fe865a8c><div class="item" role="button" tabindex="0" data-v-fe865a8c><div class="indicator" data-v-fe865a8c></div><h2 class="text" data-v-fe865a8c>LITEYUKIBOT</h2><!----></div><div class="items" data-v-fe865a8c><!--[--><div class="VPSidebarItem level-1 is-link" data-v-fe865a8c data-v-fe865a8c><div class="item" data-v-fe865a8c><div class="indicator" data-v-fe865a8c></div><a class="VPLink link link" href="/dev/guide.html" data-v-fe865a8c><!--[--><p class="text" data-v-fe865a8c>开发指南</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-fe865a8c data-v-fe865a8c><div class="item" data-v-fe865a8c><div class="indicator" data-v-fe865a8c></div><a class="VPLink link link" href="/dev/resource.html" data-v-fe865a8c><!--[--><p class="text" data-v-fe865a8c>资源包开发</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-fe865a8c data-v-fe865a8c><div class="item" data-v-fe865a8c><div class="indicator" data-v-fe865a8c></div><a class="VPLink link link" href="/dev/lyfunc.html" data-v-fe865a8c><!--[--><p class="text" data-v-fe865a8c>轻雪函数</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-fe865a8c data-v-fe865a8c><div class="item" data-v-fe865a8c><div class="indicator" data-v-fe865a8c></div><a class="VPLink link link" href="/dev/plugin.html" data-v-fe865a8c><!--[--><p class="text" data-v-fe865a8c>插件开发</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-fe865a8c data-v-fe865a8c><div class="item" data-v-fe865a8c><div class="indicator" data-v-fe865a8c></div><a class="VPLink link link" href="/dev/comm.html" data-v-fe865a8c><!--[--><p class="text" data-v-fe865a8c>进程通信</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-fe865a8c data-v-fe865a8c><div class="item" data-v-fe865a8c><div class="indicator" data-v-fe865a8c></div><a class="VPLink link link" href="/dev/best_practices.html" data-v-fe865a8c><!--[--><p class="text" data-v-fe865a8c>最佳实践</p><!--]--></a><!----></div><!----></div><section class="VPSidebarItem level-1 collapsible collapsed is-link has-active" data-v-fe865a8c data-v-fe865a8c><div class="item" tabindex="0" data-v-fe865a8c><div class="indicator" data-v-fe865a8c></div><a class="VPLink link link" href="/dev/api/index.html" data-v-fe865a8c><!--[--><h3 class="text" data-v-fe865a8c>liteyuki API</h3><!--]--></a><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-fe865a8c><span class="vpi-chevron-right caret-icon" data-v-fe865a8c></span></div></div><div class="items" data-v-fe865a8c><!--[--><section class="VPSidebarItem level-2 collapsible collapsed is-link" data-v-fe865a8c data-v-fe865a8c><div class="item" tabindex="0" data-v-fe865a8c><div class="indicator" data-v-fe865a8c></div><a class="VPLink link link" href="/dev/api/bot/index.html" data-v-fe865a8c><!--[--><h4 class="text" data-v-fe865a8c>liteyuki.bot</h4><!--]--></a><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-fe865a8c><span class="vpi-chevron-right caret-icon" data-v-fe865a8c></span></div></div><div class="items" data-v-fe865a8c><!--[--><div class="VPSidebarItem level-3 is-link" data-v-fe865a8c data-v-fe865a8c><div class="item" data-v-fe865a8c><div class="indicator" data-v-fe865a8c></div><a class="VPLink link link" href="/dev/api/bot/" data-v-fe865a8c><!--[--><p class="text" data-v-fe865a8c>liteyuki.bot</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-fe865a8c data-v-fe865a8c><div class="item" data-v-fe865a8c><div class="indicator" data-v-fe865a8c></div><a class="VPLink link link" href="/dev/api/bot/lifespan.html" data-v-fe865a8c><!--[--><p class="text" data-v-fe865a8c>liteyuki.bot.lifespan</p><!--]--></a><!----></div><!----></div><!--]--></div></section><section class="VPSidebarItem level-2 collapsible collapsed is-link" data-v-fe865a8c data-v-fe865a8c><div class="item" tabindex="0" data-v-fe865a8c><div class="indicator" data-v-fe865a8c></div><a class="VPLink link link" href="/dev/api/comm/index.html" data-v-fe865a8c><!--[--><h4 class="text" data-v-fe865a8c>liteyuki.comm</h4><!--]--></a><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-fe865a8c><span class="vpi-chevron-right caret-icon" data-v-fe865a8c></span></div></div><div class="items" data-v-fe865a8c><!--[--><div class="VPSidebarItem level-3 is-link" data-v-fe865a8c data-v-fe865a8c><div class="item" data-v-fe865a8c><div class="indicator" data-v-fe865a8c></div><a class="VPLink link link" href="/dev/api/comm/channel.html" data-v-fe865a8c><!--[--><p class="text" data-v-fe865a8c>liteyuki.comm.channel</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-fe865a8c data-v-fe865a8c><div class="item" data-v-fe865a8c><div class="indicator" data-v-fe865a8c></div><a class="VPLink link link" href="/dev/api/comm/event.html" data-v-fe865a8c><!--[--><p class="text" data-v-fe865a8c>liteyuki.comm.event</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-fe865a8c data-v-fe865a8c><div class="item" data-v-fe865a8c><div class="indicator" data-v-fe865a8c></div><a class="VPLink link link" href="/dev/api/comm/" data-v-fe865a8c><!--[--><p class="text" data-v-fe865a8c>liteyuki.comm</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-fe865a8c data-v-fe865a8c><div class="item" data-v-fe865a8c><div class="indicator" data-v-fe865a8c></div><a class="VPLink link link" href="/dev/api/comm/storage.html" data-v-fe865a8c><!--[--><p class="text" data-v-fe865a8c>liteyuki.comm.storage</p><!--]--></a><!----></div><!----></div><!--]--></div></section><div class="VPSidebarItem level-2 is-link" data-v-fe865a8c data-v-fe865a8c><div class="item" data-v-fe865a8c><div class="indicator" data-v-fe865a8c></div><a class="VPLink link link" href="/dev/api/config.html" data-v-fe865a8c><!--[--><p class="text" data-v-fe865a8c>liteyuki.config</p><!--]--></a><!----></div><!----></div><section class="VPSidebarItem level-2 collapsible collapsed is-link" data-v-fe865a8c data-v-fe865a8c><div class="item" tabindex="0" data-v-fe865a8c><div class="indicator" data-v-fe865a8c></div><a class="VPLink link link" href="/dev/api/core/index.html" data-v-fe865a8c><!--[--><h4 class="text" data-v-fe865a8c>liteyuki.core</h4><!--]--></a><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-fe865a8c><span class="vpi-chevron-right caret-icon" data-v-fe865a8c></span></div></div><div class="items" data-v-fe865a8c><!--[--><div class="VPSidebarItem level-3 is-link" data-v-fe865a8c data-v-fe865a8c><div class="item" data-v-fe865a8c><div class="indicator" data-v-fe865a8c></div><a class="VPLink link link" href="/dev/api/core/" data-v-fe865a8c><!--[--><p class="text" data-v-fe865a8c>liteyuki.core</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-fe865a8c data-v-fe865a8c><div class="item" data-v-fe865a8c><div class="indicator" data-v-fe865a8c></div><a class="VPLink link link" href="/dev/api/core/manager.html" data-v-fe865a8c><!--[--><p class="text" data-v-fe865a8c>liteyuki.core.manager</p><!--]--></a><!----></div><!----></div><!--]--></div></section><section class="VPSidebarItem level-2 collapsible collapsed is-link" data-v-fe865a8c data-v-fe865a8c><div class="item" tabindex="0" data-v-fe865a8c><div class="indicator" data-v-fe865a8c></div><a class="VPLink link link" href="/dev/api/dev/index.html" data-v-fe865a8c><!--[--><h4 class="text" data-v-fe865a8c>liteyuki.dev</h4><!--]--></a><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-fe865a8c><span class="vpi-chevron-right caret-icon" data-v-fe865a8c></span></div></div><div class="items" data-v-fe865a8c><!--[--><div class="VPSidebarItem level-3 is-link" data-v-fe865a8c data-v-fe865a8c><div class="item" data-v-fe865a8c><div class="indicator" data-v-fe865a8c></div><a class="VPLink link link" href="/dev/api/dev/" data-v-fe865a8c><!--[--><p class="text" data-v-fe865a8c>liteyuki.dev</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-fe865a8c data-v-fe865a8c><div class="item" data-v-fe865a8c><div class="indicator" data-v-fe865a8c></div><a class="VPLink link link" href="/dev/api/dev/observer.html" data-v-fe865a8c><!--[--><p class="text" data-v-fe865a8c>liteyuki.dev.observer</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-fe865a8c data-v-fe865a8c><div class="item" data-v-fe865a8c><div class="indicator" data-v-fe865a8c></div><a class="VPLink link link" href="/dev/api/dev/plugin.html" data-v-fe865a8c><!--[--><p class="text" data-v-fe865a8c>liteyuki.dev.plugin</p><!--]--></a><!----></div><!----></div><!--]--></div></section><div class="VPSidebarItem level-2 is-link" data-v-fe865a8c data-v-fe865a8c><div class="item" data-v-fe865a8c><div class="indicator" data-v-fe865a8c></div><a class="VPLink link link" href="/dev/api/exception.html" data-v-fe865a8c><!--[--><p class="text" data-v-fe865a8c>liteyuki.exception</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-fe865a8c data-v-fe865a8c><div class="item" data-v-fe865a8c><div class="indicator" data-v-fe865a8c></div><a class="VPLink link link" href="/dev/api/log.html" data-v-fe865a8c><!--[--><p class="text" data-v-fe865a8c>liteyuki.log</p><!--]--></a><!----></div><!----></div><section class="VPSidebarItem level-2 collapsible collapsed is-link" data-v-fe865a8c data-v-fe865a8c><div class="item" tabindex="0" data-v-fe865a8c><div class="indicator" data-v-fe865a8c></div><a class="VPLink link link" href="/dev/api/plugin/index.html" data-v-fe865a8c><!--[--><h4 class="text" data-v-fe865a8c>liteyuki.plugin</h4><!--]--></a><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-fe865a8c><span class="vpi-chevron-right caret-icon" data-v-fe865a8c></span></div></div><div class="items" data-v-fe865a8c><!--[--><div class="VPSidebarItem level-3 is-link" data-v-fe865a8c data-v-fe865a8c><div class="item" data-v-fe865a8c><div class="indicator" data-v-fe865a8c></div><a class="VPLink link link" href="/dev/api/plugin/" data-v-fe865a8c><!--[--><p class="text" data-v-fe865a8c>liteyuki.plugin</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-fe865a8c data-v-fe865a8c><div class="item" data-v-fe865a8c><div class="indicator" data-v-fe865a8c></div><a class="VPLink link link" href="/dev/api/plugin/load.html" data-v-fe865a8c><!--[--><p class="text" data-v-fe865a8c>liteyuki.plugin.load</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-fe865a8c data-v-fe865a8c><div class="item" data-v-fe865a8c><div class="indicator" data-v-fe865a8c></div><a class="VPLink link link" href="/dev/api/plugin/manager.html" data-v-fe865a8c><!--[--><p class="text" data-v-fe865a8c>liteyuki.plugin.manager</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-fe865a8c data-v-fe865a8c><div class="item" data-v-fe865a8c><div class="indicator" data-v-fe865a8c></div><a class="VPLink link link" href="/dev/api/plugin/model.html" data-v-fe865a8c><!--[--><p class="text" data-v-fe865a8c>liteyuki.plugin.model</p><!--]--></a><!----></div><!----></div><!--]--></div></section><section class="VPSidebarItem level-2 collapsible collapsed is-link" data-v-fe865a8c data-v-fe865a8c><div class="item" tabindex="0" data-v-fe865a8c><div class="indicator" data-v-fe865a8c></div><a class="VPLink link link" href="/dev/api/plugins/index.html" data-v-fe865a8c><!--[--><h4 class="text" data-v-fe865a8c>liteyuki.plugins</h4><!--]--></a><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-fe865a8c><span class="vpi-chevron-right caret-icon" data-v-fe865a8c></span></div></div><div class="items" data-v-fe865a8c><!--[--><div class="VPSidebarItem level-3 is-link" data-v-fe865a8c data-v-fe865a8c><div class="item" data-v-fe865a8c><div class="indicator" data-v-fe865a8c></div><a class="VPLink link link" href="/dev/api/plugins/" data-v-fe865a8c><!--[--><p class="text" data-v-fe865a8c>liteyuki.plugins</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-fe865a8c data-v-fe865a8c><div class="item" data-v-fe865a8c><div class="indicator" data-v-fe865a8c></div><a class="VPLink link link" href="/dev/api/plugins/liteecho.html" data-v-fe865a8c><!--[--><p class="text" data-v-fe865a8c>liteyuki.plugins.liteecho</p><!--]--></a><!----></div><!----></div><section class="VPSidebarItem level-3 collapsible collapsed is-link" data-v-fe865a8c data-v-fe865a8c><div class="item" tabindex="0" data-v-fe865a8c><div class="indicator" data-v-fe865a8c></div><a class="VPLink link link" href="/dev/api/plugins/plugin_loader/index.html" data-v-fe865a8c><!--[--><h5 class="text" data-v-fe865a8c>liteyuki.plugins.plugin_loader</h5><!--]--></a><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-fe865a8c><span class="vpi-chevron-right caret-icon" data-v-fe865a8c></span></div></div><div class="items" data-v-fe865a8c><!--[--><div class="VPSidebarItem level-4 is-link" data-v-fe865a8c data-v-fe865a8c><div class="item" data-v-fe865a8c><div class="indicator" data-v-fe865a8c></div><a class="VPLink link link" href="/dev/api/plugins/plugin_loader/" data-v-fe865a8c><!--[--><p class="text" data-v-fe865a8c>liteyuki.plugins.plugin_loader</p><!--]--></a><!----></div><!----></div><!--]--></div></section><!--]--></div></section><section class="VPSidebarItem level-2 collapsible collapsed is-link" data-v-fe865a8c data-v-fe865a8c><div class="item" tabindex="0" data-v-fe865a8c><div class="indicator" data-v-fe865a8c></div><a class="VPLink link link" href="/dev/api/session/index.html" data-v-fe865a8c><!--[--><h4 class="text" data-v-fe865a8c>liteyuki.session</h4><!--]--></a><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-fe865a8c><span class="vpi-chevron-right caret-icon" data-v-fe865a8c></span></div></div><div class="items" data-v-fe865a8c><!--[--><div class="VPSidebarItem level-3 is-link" data-v-fe865a8c data-v-fe865a8c><div class="item" data-v-fe865a8c><div class="indicator" data-v-fe865a8c></div><a class="VPLink link link" href="/dev/api/session/event.html" data-v-fe865a8c><!--[--><p class="text" data-v-fe865a8c>liteyuki.session.event</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-fe865a8c data-v-fe865a8c><div class="item" data-v-fe865a8c><div class="indicator" data-v-fe865a8c></div><a class="VPLink link link" href="/dev/api/session/" data-v-fe865a8c><!--[--><p class="text" data-v-fe865a8c>liteyuki.session</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-fe865a8c data-v-fe865a8c><div class="item" data-v-fe865a8c><div class="indicator" data-v-fe865a8c></div><a class="VPLink link link" href="/dev/api/session/matcher.html" data-v-fe865a8c><!--[--><p class="text" data-v-fe865a8c>liteyuki.session.matcher</p><!--]--></a><!----></div><!----></div><section class="VPSidebarItem level-3 collapsible collapsed" data-v-fe865a8c data-v-fe865a8c><div class="item" role="button" tabindex="0" data-v-fe865a8c><div class="indicator" data-v-fe865a8c></div><h5 class="text" data-v-fe865a8c>message</h5><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-fe865a8c><span class="vpi-chevron-right caret-icon" data-v-fe865a8c></span></div></div><div class="items" data-v-fe865a8c><!--[--><div class="VPSidebarItem level-4 is-link" data-v-fe865a8c data-v-fe865a8c><div class="item" data-v-fe865a8c><div class="indicator" data-v-fe865a8c></div><a class="VPLink link link" href="/dev/api/session/message/segments.html" data-v-fe865a8c><!--[--><p class="text" data-v-fe865a8c>liteyuki.session.message.segments</p><!--]--></a><!----></div><!----></div><!--]--></div></section><div class="VPSidebarItem level-3 is-link" data-v-fe865a8c data-v-fe865a8c><div class="item" data-v-fe865a8c><div class="indicator" data-v-fe865a8c></div><a class="VPLink link link" href="/dev/api/session/models.html" data-v-fe865a8c><!--[--><p class="text" data-v-fe865a8c>liteyuki.session.models</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-fe865a8c data-v-fe865a8c><div class="item" data-v-fe865a8c><div class="indicator" data-v-fe865a8c></div><a class="VPLink link link" href="/dev/api/session/on.html" data-v-fe865a8c><!--[--><p class="text" data-v-fe865a8c>liteyuki.session.on</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-3 is-link" data-v-fe865a8c data-v-fe865a8c><div class="item" data-v-fe865a8c><div class="indicator" data-v-fe865a8c></div><a class="VPLink link link" href="/dev/api/session/rule.html" data-v-fe865a8c><!--[--><p class="text" data-v-fe865a8c>liteyuki.session.rule</p><!--]--></a><!----></div><!----></div><!--]--></div></section><div class="VPSidebarItem level-2 is-link" data-v-fe865a8c data-v-fe865a8c><div class="item" data-v-fe865a8c><div class="indicator" data-v-fe865a8c></div><a class="VPLink link link" href="/dev/api/utils.html" data-v-fe865a8c><!--[--><p class="text" data-v-fe865a8c>liteyuki.utils</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-fe865a8c data-v-fe865a8c><div class="item" data-v-fe865a8c><div class="indicator" data-v-fe865a8c></div><a class="VPLink link link" href="/dev/api/" data-v-fe865a8c><!--[--><p class="text" data-v-fe865a8c>liteyuki API</p><!--]--></a><!----></div><!----></div><!--]--></div></section><!--]--></div></section></div><!--]--><!--[--><!--]--></nav></aside><div class="VPContent has-sidebar" id="VPContent" data-v-63ade785 data-v-4cd34923><div class="VPDoc has-sidebar has-aside" data-v-4cd34923 data-v-52574d27><!--[--><!--]--><div class="container" data-v-52574d27><div class="aside" data-v-52574d27><div class="aside-curtain" data-v-52574d27></div><div class="aside-container" data-v-52574d27><div class="aside-content" data-v-52574d27><div class="VPDocAside" data-v-52574d27 data-v-d61d2198><!--[--><!--]--><!--[--><!--]--><nav aria-labelledby="doc-outline-aria-label" class="VPDocAsideOutline" data-v-d61d2198 data-v-529e6536><div class="content" data-v-529e6536><div class="outline-marker" data-v-529e6536></div><div aria-level="2" class="outline-title" id="doc-outline-aria-label" role="heading" data-v-529e6536>页面内容</div><ul class="VPDocOutlineItem root" data-v-529e6536 data-v-6c6f9d7d><!--[--><!--]--></ul></div></nav><!--[--><!--]--><div class="spacer" data-v-d61d2198></div><!--[--><!--]--><!----><!--[--><!--]--><!--[--><!--]--></div></div></div></div><div class="content" data-v-52574d27><div class="content-container" data-v-52574d27><!--[--><!--]--><main class="main" data-v-52574d27><div style="position:relative;" class="vp-doc _dev_api_config" data-v-52574d27><div><h1 id="模块-liteyuki-config" tabindex="-1"><strong>模块</strong> <code>liteyuki.config</code> <a class="header-anchor" href="#模块-liteyuki-config" aria-label="Permalink to &quot;**模块** `liteyuki.config`&quot;"></a></h1><p>该模块用于常用配置文件的加载 多配置文件编写原则:</p><ol><li>尽量不要冲突: 一个键不要多次出现</li><li>分工明确: 每个配置文件给一个或一类服务提供配置</li><li>扁平化编写: 配置文件尽量扁平化,不要出现过多的嵌套</li><li>注意冲突时的优先级: 项目目录下的配置文件优先级高于config目录下的配置文件</li><li>请不要将需要动态加载的内容写入配置文件,你应该使用其他储存方式</li></ol><hr><h3 id="func-flat-config-config-dict-str-any-dict-str-any" tabindex="-1"><em><strong>func</strong></em> <code>flat_config(config: dict[str, Any]) -&gt; dict[str, Any]</code> <a class="header-anchor" href="#func-flat-config-config-dict-str-any-dict-str-any" aria-label="Permalink to &quot;***func*** `flat_config(config: dict[str, Any]) -&gt; dict[str, Any]`&quot;"></a></h3><p><strong>说明</strong>: 扁平化配置文件</p><p a.b.c:="" 1="">{a:{b:{c:1}}} -&gt;</p><p><strong>参数</strong>:</p><blockquote><ul><li>config: 配置项目</li></ul></blockquote><p><strong>返回</strong>: 扁平化后的配置文件,但也包含原有的键值对</p><details><summary><b>源代码</b><a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/config.py#L24" target="_blank">在GitHub上查看</a></summary><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;">def</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> flat_config</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(config: dict[</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">str</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, Any]) -&gt; dict[</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">str</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, Any]:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> new_config </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> copy.deepcopy(config)</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> for</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> key, value </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">in</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> config.items():</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> if</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> isinstance</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(value, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">dict</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">):</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> for</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> k, v </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">in</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> flat_config(value).items():</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> new_config[</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">f</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">{</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">key</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">}</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">.</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">{</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">k</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">}</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">] </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> v</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> new_config</span></span></code></pre></div></details><hr><h3 id="func-load-from-yaml-file-str-dict-str-any" tabindex="-1"><em><strong>func</strong></em> <code>load_from_yaml(file_: str) -&gt; dict[str, Any]</code> <a class="header-anchor" href="#func-load-from-yaml-file-str-dict-str-any" aria-label="Permalink to &quot;***func*** `load_from_yaml(file_: str) -&gt; dict[str, Any]`&quot;"></a></h3><p><strong>说明</strong>: Load config from yaml file</p><details><summary><b>源代码</b><a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/config.py#L43" target="_blank">在GitHub上查看</a></summary><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;">def</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> load_from_yaml</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(file_: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">str</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) -&gt; dict[</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">str</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, Any]:</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;">&#39;Loading YAML config from </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">{</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">file_</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">}</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> config </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> yaml.safe_load(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">open</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(file_, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;r&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">encoding</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;utf-8&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">))</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> flat_config(config </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">if</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> config </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">is</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> not</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> None</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> else</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {})</span></span></code></pre></div></details><hr><h3 id="func-load-from-json-file-str-dict-str-any" tabindex="-1"><em><strong>func</strong></em> <code>load_from_json(file_: str) -&gt; dict[str, Any]</code> <a class="header-anchor" href="#func-load-from-json-file-str-dict-str-any" aria-label="Permalink to &quot;***func*** `load_from_json(file_: str) -&gt; dict[str, Any]`&quot;"></a></h3><p><strong>说明</strong>: Load config from json file</p><details><summary><b>源代码</b><a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/config.py#L53" target="_blank">在GitHub上查看</a></summary><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;">def</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> load_from_json</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(file_: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">str</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) -&gt; dict[</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">str</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, Any]:</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;">&#39;Loading JSON config from </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">{</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">file_</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">}</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> config </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> json.load(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">open</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(file_, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;r&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">encoding</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;utf-8&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">))</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> flat_config(config </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">if</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> config </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">is</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> not</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> None</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> else</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {})</span></span></code></pre></div></details><hr><h3 id="func-load-from-toml-file-str-dict-str-any" tabindex="-1"><em><strong>func</strong></em> <code>load_from_toml(file_: str) -&gt; dict[str, Any]</code> <a class="header-anchor" href="#func-load-from-toml-file-str-dict-str-any" aria-label="Permalink to &quot;***func*** `load_from_toml(file_: str) -&gt; dict[str, Any]`&quot;"></a></h3><p><strong>说明</strong>: Load config from toml file</p><details><summary><b>源代码</b><a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/config.py#L62" target="_blank">在GitHub上查看</a></summary><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;">def</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> load_from_toml</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(file_: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">str</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) -&gt; dict[</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">str</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, Any]:</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;">&#39;Loading TOML config from </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">{</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">file_</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">}</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> config </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> toml.load(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">open</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(file_, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;r&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">encoding</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;utf-8&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">))</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> flat_config(config </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">if</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> config </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">is</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> not</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> None</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> else</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {})</span></span></code></pre></div></details><hr><h3 id="func-load-from-files-files-str-no-warning-bool-false-dict-str-any" tabindex="-1"><em><strong>func</strong></em> <code>load_from_files(*files: str, *, no_warning: bool = False) -&gt; dict[str, Any]</code> <a class="header-anchor" href="#func-load-from-files-files-str-no-warning-bool-false-dict-str-any" aria-label="Permalink to &quot;***func*** `load_from_files(*files: str, *, no_warning: bool = False) -&gt; dict[str, Any]`&quot;"></a></h3><p><strong>说明</strong>: 从指定文件加载配置项,会自动识别文件格式 默认执行扁平化选项</p><details><summary><b>源代码</b><a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/config.py#L71" target="_blank">在GitHub上查看</a></summary><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;">def</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> load_from_files</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">files: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">str</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, no_warning: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">bool</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">False</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) -&gt; dict[</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">str</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, Any]:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> config </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {}</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> for</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"> file</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> in</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> files:</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> if</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> os.path.exists(</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">file</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">):</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> if</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"> file</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.endswith((</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;.yaml&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;yml&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)):</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> config.update(load_from_yaml(</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">file</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">))</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> elif</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"> file</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.endswith(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;.json&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">):</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> config.update(load_from_json(</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">file</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">))</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> elif</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"> file</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.endswith(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;.toml&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">):</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> config.update(load_from_toml(</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">file</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">))</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> elif</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> not</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> no_warning:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> logger.warning(</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">f</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;Unsupported config file format: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">{</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">file</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">}</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> elif</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> not</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> no_warning:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> logger.warning(</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">f</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;Config file not found: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">{</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">file</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">}</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> config</span></span></code></pre></div></details><hr><h3 id="func-load-configs-from-dirs-directories-str-no-waring-bool-false-dict-str-any" tabindex="-1"><em><strong>func</strong></em> <code>load_configs_from_dirs(*directories: str, *, no_waring: bool = False) -&gt; dict[str, Any]</code> <a class="header-anchor" href="#func-load-configs-from-dirs-directories-str-no-waring-bool-false-dict-str-any" aria-label="Permalink to &quot;***func*** `load_configs_from_dirs(*directories: str, *, no_waring: bool = False) -&gt; dict[str, Any]`&quot;"></a></h3><p><strong>说明</strong>: 从目录下加载配置文件,不递归 按照读取文件的优先级反向覆盖 默认执行扁平化选项</p><details><summary><b>源代码</b><a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/config.py#L94" target="_blank">在GitHub上查看</a></summary><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;">def</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> load_configs_from_dirs</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">directories: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">str</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, no_waring: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">bool</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">False</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) -&gt; dict[</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">str</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, Any]:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> config </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {}</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> for</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> directory </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">in</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> directories:</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> if</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> not</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> os.path.exists(directory):</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> if</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> not</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> no_waring:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> logger.warning(</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">f</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;Directory not found: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">{</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">directory</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">}</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> continue</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> for</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"> file</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> in</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> os.listdir(directory):</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> if</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"> file</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.endswith(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">_SUPPORTED_CONFIG_FORMATS</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">):</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> config.update(load_from_files(os.path.join(directory, </span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">file</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">), </span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">no_warning</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">no_waring))</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> config</span></span></code></pre></div></details><hr><h3 id="func-load-config-in-default-no-waring-bool-false-dict-str-any" tabindex="-1"><em><strong>func</strong></em> <code>load_config_in_default(no_waring: bool = False) -&gt; dict[str, Any]</code> <a class="header-anchor" href="#func-load-config-in-default-no-waring-bool-false-dict-str-any" aria-label="Permalink to &quot;***func*** `load_config_in_default(no_waring: bool = False) -&gt; dict[str, Any]`&quot;"></a></h3><p><strong>说明</strong>: 从一个标准的轻雪项目加载配置文件 项目目录下的config.*和config目录下的所有配置文件 项目目录下的配置文件优先</p><p><strong>参数</strong>:</p><blockquote><ul><li>no_waring: 是否关闭警告</li></ul></blockquote><details><summary><b>源代码</b><a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/config.py#L116" target="_blank">在GitHub上查看</a></summary><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;">def</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> load_config_in_default</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(no_waring: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">bool</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">False</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) -&gt; dict[</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">str</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, Any]:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> config </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> load_configs_from_dirs(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;config&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">no_waring</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">no_waring)</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> config.update(load_from_files(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;config.yaml&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;config.toml&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;config.json&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;config.yml&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">no_warning</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">no_waring))</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> config</span></span></code></pre></div></details><h3 id="class-loader" tabindex="-1"><em><strong>class</strong></em> <code>Loader</code> <a class="header-anchor" href="#class-loader" aria-label="Permalink to &quot;***class*** `Loader`&quot;"></a></h3><hr><h4 id="func-init-self" tabindex="-1"><em><strong>func</strong></em> <code>__init__(self)</code> <a class="header-anchor" href="#func-init-self" aria-label="Permalink to &quot;***func*** `__init__(self)`&quot;"></a></h4><details><summary><b>源代码</b><a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/config.py#L138" target="_blank">在GitHub上查看</a></summary><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;">def</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> __init__</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self):</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.config </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {}</span></span></code></pre></div></details><hr><h4 id="func-load-from-yaml-self-fp-str-loader" tabindex="-1"><em><strong>func</strong></em> <code>load_from_yaml(self, fp: str) -&gt; Loader</code> <a class="header-anchor" href="#func-load-from-yaml-self-fp-str-loader" aria-label="Permalink to &quot;***func*** `load_from_yaml(self, fp: str) -&gt; Loader`&quot;"></a></h4><p><strong>说明</strong>: 从yaml文件加载配置</p><p><strong>参数</strong>:</p><blockquote><ul><li>fp:</li></ul></blockquote><details><summary><b>源代码</b><a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/config.py#L141" target="_blank">在GitHub上查看</a></summary><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;">def</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> load_from_yaml</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self, fp: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">str</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) -&gt; </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;Loader&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> with</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> open</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(fp, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;r&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">as</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"> file</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.config.update(yaml.safe_load(</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">file</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">))</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> return</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> self</span></span></code></pre></div></details><hr><h4 id="func-load-from-toml-self-fp-str-loader" tabindex="-1"><em><strong>func</strong></em> <code>load_from_toml(self, fp: str) -&gt; Loader</code> <a class="header-anchor" href="#func-load-from-toml-self-fp-str-loader" aria-label="Permalink to &quot;***func*** `load_from_toml(self, fp: str) -&gt; Loader`&quot;"></a></h4><p><strong>说明</strong>: 从toml文件加载配置</p><details><summary><b>源代码</b><a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/config.py#L150" target="_blank">在GitHub上查看</a></summary><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;">def</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> load_from_toml</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self, fp: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">str</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) -&gt; </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;Loader&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> with</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> open</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(fp, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;r&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">as</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"> file</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.config.update(toml.load(</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">file</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">))</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> return</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> self</span></span></code></pre></div></details><hr><h4 id="func-load-from-json-self-fp-str-loader" tabindex="-1"><em><strong>func</strong></em> <code>load_from_json(self, fp: str) -&gt; Loader</code> <a class="header-anchor" href="#func-load-from-json-self-fp-str-loader" aria-label="Permalink to &quot;***func*** `load_from_json(self, fp: str) -&gt; Loader`&quot;"></a></h4><p><strong>说明</strong>: 从json文件加载配置</p><details><summary><b>源代码</b><a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/config.py#L156" target="_blank">在GitHub上查看</a></summary><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;">def</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> load_from_json</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self, fp: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">str</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) -&gt; </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;Loader&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> with</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> open</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(fp, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;r&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">as</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"> file</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.config.update(json.load(</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">file</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">))</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> return</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> self</span></span></code></pre></div></details><hr><h4 id="func-load-from-env-self-prefix-str-loader" tabindex="-1"><em><strong>func</strong></em> <code>load_from_env(self, prefix: str = &#39;&#39;) -&gt; Loader</code> <a class="header-anchor" href="#func-load-from-env-self-prefix-str-loader" aria-label="Permalink to &quot;***func*** `load_from_env(self, prefix: str = &#39;&#39;) -&gt; Loader`&quot;"></a></h4><p><strong>说明</strong>: 从环境变量加载配置</p><details><summary><b>源代码</b><a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/config.py#L162" target="_blank">在GitHub上查看</a></summary><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;">def</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> load_from_env</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self, prefix: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">str</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) -&gt; </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;Loader&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> for</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> key, value </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">in</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> os.environ.items():</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> if</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> key.startswith(prefix):</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.config[key[</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">len</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(prefix):]] </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> value</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> return</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> self</span></span></code></pre></div></details><hr><h4 id="func-merge-self-loader-loader-loader" tabindex="-1"><em><strong>func</strong></em> <code>merge(self, loader: Loader) -&gt; Loader</code> <a class="header-anchor" href="#func-merge-self-loader-loader-loader" aria-label="Permalink to &quot;***func*** `merge(self, loader: Loader) -&gt; Loader`&quot;"></a></h4><p><strong>说明</strong>: 合并两个Loader键值对树</p><details><summary><b>源代码</b><a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/config.py#L169" target="_blank">在GitHub上查看</a></summary><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;">def</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> merge</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self, loader: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;Loader&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) -&gt; </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;Loader&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.config.update(loader.config)</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> return</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> self</span></span></code></pre></div></details><hr><h4 id="func-get-self-key-str-default-any-none-any" tabindex="-1"><em><strong>func</strong></em> <code>get(self, key: str, default: Any = None) -&gt; Any</code> <a class="header-anchor" href="#func-get-self-key-str-default-any-none-any" aria-label="Permalink to &quot;***func*** `get(self, key: str, default: Any = None) -&gt; Any`&quot;"></a></h4><p><strong>说明</strong>: 获取配置值</p><details><summary><b>源代码</b><a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/config.py#L174" target="_blank">在GitHub上查看</a></summary><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;">def</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> get</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self, key: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">str</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, default: Any</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">None</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) -&gt; Any:</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> return</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.config.get(key, default)</span></span></code></pre></div></details></div></div></main><footer class="VPDocFooter" data-v-52574d27 data-v-75fd5d7f><!--[--><!--]--><div class="edit-info" data-v-75fd5d7f><div class="edit-link" data-v-75fd5d7f><a class="VPLink link vp-external-link-icon no-icon edit-link-button" href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/config.py" target="_blank" rel="noreferrer" data-v-75fd5d7f><!--[--><span class="vpi-square-pen edit-link-icon" data-v-75fd5d7f></span> 在 GitHub 上编辑此页<!--]--></a></div><!----></div><nav class="prev-next" aria-labelledby="doc-footer-aria-label" data-v-75fd5d7f><span class="visually-hidden" id="doc-footer-aria-label" data-v-75fd5d7f>Pager</span><div class="pager" data-v-75fd5d7f><a class="VPLink link pager-link prev" href="/dev/api/comm/storage.html" data-v-75fd5d7f><!--[--><span class="desc" data-v-75fd5d7f>上一页</span><span class="title" data-v-75fd5d7f>liteyuki.comm.storage</span><!--]--></a></div><div class="pager" data-v-75fd5d7f><a class="VPLink link pager-link next" href="/dev/api/core/index.html" data-v-75fd5d7f><!--[--><span class="desc" data-v-75fd5d7f>下一页</span><span class="title" data-v-75fd5d7f>liteyuki.core</span><!--]--></a></div></nav></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><footer class="VPFooter has-sidebar" data-v-63ade785 data-v-b496b83f><div class="container" data-v-b496b83f><p class="message" data-v-b496b83f>文档由 <a href="https://vitepress.dev/">VitePress</a> 构建 | API引用由 <a href="https://github.com/LiteyukiStudio/litedoc">litedoc</a> 生成</p><p class="copyright" data-v-b496b83f>Copyright (C) 2020-2024 LiteyukiStudio. All Rights Reserved</p></div></footer><!--[--><!--]--></div></div>
<script>window.__VP_HASH_MAP__=JSON.parse("{\"deploy_config.md\":\"kGYrTELl\",\"deploy_fandq.md\":\"2fl_Ypjk\",\"deploy_install.md\":\"c-fJcXz8\",\"dev_api_bot_index.md\":\"Df_BdheA\",\"dev_api_bot_lifespan.md\":\"QwkSyd4_\",\"dev_api_comm_channel.md\":\"BJ51vfDY\",\"dev_api_comm_event.md\":\"BjGFyCyy\",\"dev_api_comm_index.md\":\"BFFUol4Q\",\"dev_api_comm_storage.md\":\"C4GYMY_x\",\"dev_api_config.md\":\"CQFvBqcK\",\"dev_api_core_index.md\":\"SLqcvS5w\",\"dev_api_core_manager.md\":\"CvJAObrs\",\"dev_api_dev_index.md\":\"BOIXWKHc\",\"dev_api_dev_observer.md\":\"C9FG6EHy\",\"dev_api_dev_plugin.md\":\"DaD0588E\",\"dev_api_exception.md\":\"D3YlD-fL\",\"dev_api_index.md\":\"BMzmnGkf\",\"dev_api_log.md\":\"BQCmlUGd\",\"dev_api_plugin_index.md\":\"DmA7SgX7\",\"dev_api_plugin_load.md\":\"CGZBTpK5\",\"dev_api_plugin_manager.md\":\"bQiuqZoy\",\"dev_api_plugin_model.md\":\"DAxgz8GX\",\"dev_api_plugins_index.md\":\"Upe_Wimu\",\"dev_api_plugins_liteecho.md\":\"DBpO6gRP\",\"dev_api_plugins_plugin_loader_index.md\":\"DKMgHA3A\",\"dev_api_session_event.md\":\"CKmLyT0n\",\"dev_api_session_index.md\":\"CFALBYZK\",\"dev_api_session_matcher.md\":\"B5yMvU4D\",\"dev_api_session_message_segments.md\":\"CREZ0kMU\",\"dev_api_session_models.md\":\"ChyQE0cI\",\"dev_api_session_on.md\":\"DAHZ1Mfh\",\"dev_api_session_rule.md\":\"DMa6RDEX\",\"dev_api_utils.md\":\"DdxcDH2V\",\"dev_best_practices.md\":\"4fD5nTaf\",\"dev_comm.md\":\"C0QAxeah\",\"dev_guide.md\":\"Gx0rbrqP\",\"dev_lyfunc.md\":\"CZ1MrXwp\",\"dev_plugin.md\":\"Cu9RFJSc\",\"dev_resource.md\":\"Vz1Qqb9X\",\"en_deploy_config.md\":\"WUiVAoWa\",\"en_deploy_fandq.md\":\"D9-ETg2E\",\"en_deploy_install.md\":\"BKgEviaQ\",\"en_dev_api_bot_index.md\":\"eKUrYXBP\",\"en_dev_api_bot_lifespan.md\":\"IGcJ9jb_\",\"en_dev_api_comm_channel.md\":\"BliZgU7O\",\"en_dev_api_comm_event.md\":\"BfkzHdR4\",\"en_dev_api_comm_index.md\":\"BesCS7WV\",\"en_dev_api_comm_storage.md\":\"Ds5KWd_O\",\"en_dev_api_config.md\":\"BS-UkXWI\",\"en_dev_api_core_index.md\":\"CXc5eQIT\",\"en_dev_api_core_manager.md\":\"DlLZB3d5\",\"en_dev_api_dev_index.md\":\"CEZedfLv\",\"en_dev_api_dev_observer.md\":\"B3H3Iuyc\",\"en_dev_api_dev_plugin.md\":\"CqTdN1FN\",\"en_dev_api_exception.md\":\"CFRRxHBG\",\"en_dev_api_index.md\":\"DjQyfBIN\",\"en_dev_api_log.md\":\"WqQqRTM2\",\"en_dev_api_plugin_index.md\":\"C5QZdPTH\",\"en_dev_api_plugin_load.md\":\"CUVhydQs\",\"en_dev_api_plugin_manager.md\":\"7EwFZ4RG\",\"en_dev_api_plugin_model.md\":\"DdvvcqBN\",\"en_dev_api_plugins_index.md\":\"D2Tiy6ZF\",\"en_dev_api_plugins_liteecho.md\":\"B8CO7WbT\",\"en_dev_api_plugins_plugin_loader_index.md\":\"DvH6ajsD\",\"en_dev_api_session_event.md\":\"D3Th-LcY\",\"en_dev_api_session_index.md\":\"DeXIcJ0I\",\"en_dev_api_session_matcher.md\":\"dQLmtmza\",\"en_dev_api_session_message_segments.md\":\"Ds5UV5yu\",\"en_dev_api_session_models.md\":\"DBZyv5gt\",\"en_dev_api_session_on.md\":\"CFv3Q2g4\",\"en_dev_api_session_rule.md\":\"UNaf14Gk\",\"en_dev_api_utils.md\":\"QHC7sHGv\",\"en_dev_best_practices.md\":\"oHVAAUps\",\"en_dev_comm.md\":\"DJzbE7ud\",\"en_dev_guide.md\":\"CYFLz8NF\",\"en_dev_lyfunc.md\":\"C95UXHu-\",\"en_dev_plugin.md\":\"BSEjcgQm\",\"en_dev_resource.md\":\"LROtNDtb\",\"en_index.md\":\"wjzMjZdd\",\"en_store_plugin.md\":\"DyVVfnXg\",\"en_store_resource.md\":\"ClNfFpQd\",\"en_usage_agreement.md\":\"BAeUOi9b\",\"en_usage_basic.md\":\"bPKzNgL6\",\"en_usage_extra.md\":\"0jxEAWnx\",\"index.md\":\"Di9XkcId\",\"store_plugin.md\":\"20BP8Xz5\",\"store_resource.md\":\"DN5P0drK\",\"usage_agreement.md\":\"BXBhbxWS\",\"usage_basic.md\":\"B7eQy5eg\",\"usage_extra.md\":\"CrZ5PgMV\"}");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/bot/app\"},{\"icon\":{\"svg\":\"<svg t=\\\"1736700504329\\\" class=\\\"icon\\\" viewBox=\\\"0 0 1024 1024\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" p-id=\\\"14158\\\" width=\\\"200\\\" height=\\\"200\\\"><path d=\\\"M944.355556 142.222222c-17.066667-22.755556-45.511111-34.133333-79.644445-34.133333-28.444444 0-68.266667 5.688889-108.088889 22.755555h-5.688889c17.066667 11.377778 34.133333 28.444444 51.2 39.822223 56.888889-17.066667 91.022222-11.377778 96.711111 0 11.377778 11.377778 5.688889 45.511111-22.755555 91.022222 11.377778 17.066667 17.066667 34.133333 28.444444 51.2 0 0 0 5.688889 5.688889 5.688889 22.755556-34.133333 34.133333-62.577778 45.511111-91.022222 11.377778-28.444444 5.688889-62.577778-11.377777-85.333334z\\\" p-id=\\\"14159\\\" fill=\\\"#a2d8f4\\\"></path><path d=\\\"M267.377778 512a45.511111 45.511111 0 1 0 91.022222 0 45.511111 45.511111 0 1 0-91.022222 0Z\\\" p-id=\\\"14160\\\" fill=\\\"#a2d8f4\\\"></path><path d=\\\"M625.777778 614.4c-113.777778 85.333333-227.555556 153.6-324.266667 193.422222-11.377778 5.688889-17.066667 5.688889-28.444444 11.377778 22.755556 17.066667 51.2 34.133333 79.644444 45.511111 51.2 22.755556 108.088889 34.133333 164.977778 34.133333s113.777778-11.377778 164.977778-34.133333c51.2-22.755556 96.711111-51.2 136.533333-91.022222 39.822222-39.822222 68.266667-85.333333 91.022222-130.844445 22.755556-51.2 34.133333-108.088889 34.133334-159.288888 0-51.2-11.377778-102.4-28.444445-153.6-5.688889 5.688889-11.377778 17.066667-17.066667 22.755555-68.266667 79.644444-164.977778 176.355556-273.066666 261.688889zM813.511111 187.733333c-5.688889-5.688889-11.377778-5.688889-11.377778-11.377777-17.066667-17.066667-34.133333-28.444444-51.2-39.822223-22.755556-11.377778-45.511111-28.444444-68.266666-34.133333-56.888889-28.444444-108.088889-39.822222-164.977778-39.822222s-113.777778 11.377778-164.977778 34.133333c-51.2 22.755556-96.711111 51.2-136.533333 91.022222-39.822222 34.133333-68.266667 79.644444-91.022222 130.844445-22.755556 51.2-34.133333 108.088889-34.133334 159.288889 0 51.2 11.377778 96.711111 22.755556 142.222222-22.755556 34.133333-39.822222 68.266667-51.2 96.711111-11.377778 39.822222-5.688889 68.266667 11.377778 91.022222 17.066667 22.755556 45.511111 34.133333 79.644444 34.133334h11.377778c28.444444 0 62.577778-11.377778 96.711111-22.755556-17.066667-11.377778-34.133333-28.444444-51.2-39.822222-51.2 11.377778-85.333333 11.377778-96.711111 0 0-17.066667 5.688889-45.511111 34.133333-96.711111 17.066667 34.133333 39.822222 62.577778 68.266667 91.022222h5.688889c17.066667-5.688889 39.822222-11.377778 62.577777-17.066667 91.022222-34.133333 204.8-102.4 307.2-187.733333 108.088889-85.333333 199.111111-170.666667 256-250.311111l34.133334-51.2c-22.755556-28.444444-39.822222-56.888889-68.266667-79.644445z m-500.622222 420.977778c-56.888889 0-102.4-45.511111-102.4-102.4s45.511111-102.4 102.4-102.4S409.6 455.111111 409.6 512c0 51.2-45.511111 96.711111-96.711111 96.711111z\\\" p-id=\\\"14161\\\" fill=\\\"#a2d8f4\\\"></path></svg>\"},\"link\":\"https://lab.liteyuki.icu/@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>