1
0
forked from bot/app

Deploying to docs from @ LiteyukiStudio/LiteyukiBot@d1b887fcaa ๐Ÿš€

This commit is contained in:
2024-09-03 14:27:52 +00:00
parent 9c668c9e46
commit d3a087df1c
157 changed files with 533 additions and 1809 deletions

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{R as p}from"./chunks/theme.Cn8KRkub.js";import{U as o,aa as u,ab as l,ac as c,ad as f,ae as d,af as m,ag as h,ah as g,ai as A,aj as y,d as P,u as v,y as w,x as C,ak as R,al as b,am as E,an as S}from"./chunks/framework.C4_mTacX.js";function i(e){if(e.extends){const a=i(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const s=i(p),T=P({name:"VitePressApp",setup(){const{site:e,lang:a,dir:t}=v();return w(()=>{C(()=>{document.documentElement.lang=a.value,document.documentElement.dir=t.value})}),e.value.router.prefetchLinks&&R(),b(),E(),s.setup&&s.setup(),()=>S(s.Layout)}});async function j(){globalThis.__VITEPRESS__=!0;const e=D(),a=x();a.provide(l,e);const t=c(e.route);return a.provide(f,t),a.component("Content",d),a.component("ClientOnly",m),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),s.enhanceApp&&await s.enhanceApp({app:a,router:e,siteData:h}),{app:a,router:e,data:t}}function x(){return g(T)}function D(){let e=o,a;return A(t=>{let n=y(t),r=null;return n&&(e&&(a=n),(e||a===n)&&(n=n.replace(/\.js$/,".lean.js")),r=import(n)),o&&(e=!1),r},s.NotFound)}o&&j().then(({app:e,router:a,data:t})=>{a.go().then(()=>{u(a.route,t.site),e.mount("#app")})});export{j as createApp};
import{R as p}from"./chunks/theme.B3_ZE5Go.js";import{U as o,aa as u,ab as l,ac as c,ad as f,ae as d,af as m,ag as h,ah as g,ai as A,aj as y,d as P,u as v,y as w,x as C,ak as R,al as b,am as E,an as S}from"./chunks/framework.C4_mTacX.js";function i(e){if(e.extends){const a=i(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const s=i(p),T=P({name:"VitePressApp",setup(){const{site:e,lang:a,dir:t}=v();return w(()=>{C(()=>{document.documentElement.lang=a.value,document.documentElement.dir=t.value})}),e.value.router.prefetchLinks&&R(),b(),E(),s.setup&&s.setup(),()=>S(s.Layout)}});async function j(){globalThis.__VITEPRESS__=!0;const e=D(),a=x();a.provide(l,e);const t=c(e.route);return a.provide(f,t),a.component("Content",d),a.component("ClientOnly",m),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),s.enhanceApp&&await s.enhanceApp({app:a,router:e,siteData:h}),{app:a,router:e,data:t}}function x(){return g(T)}function D(){let e=o,a;return A(t=>{let n=y(t),r=null;return n&&(e&&(a=n),(e||a===n)&&(n=n.replace(/\.js$/,".lean.js")),r=import(n)),o&&(e=!1),r},s.NotFound)}o&&j().then(({app:e,router:a,data:t})=>{a.go().then(()=>{u(a.route,t.site),e.mount("#app")})});export{j as createApp};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +0,0 @@
import{_ as e,c as a,o as t,a9 as i}from"./chunks/framework.C4_mTacX.js";const v=JSON.parse('{"title":"liteyuki API","description":"","frontmatter":{"title":"liteyuki API","collapsed":true,"order":100},"headers":[],"relativePath":"dev/api/api.md","filePath":"zh/dev/api/api.md","lastUpdated":null}'),o={name:"dev/api/api.md"},r=i('<h1 id="liteyuki" tabindex="-1">liteyuki <a class="header-anchor" href="#liteyuki" aria-label="Permalink to &quot;liteyuki&quot;">โ€‹</a></h1><p>ๆญคๆจกๅ—ไธบliteyuki็š„ๆก†ๆžถๆ•ดไฝ“</p><p>This module is the overall framework of liteyuki.</p><h3 id="var-version" tabindex="-1">var <code>__version__</code> <a class="header-anchor" href="#var-version" aria-label="Permalink to &quot;var `__version__`&quot;">โ€‹</a></h3><ul><li><p><strong>่ฏดๆ˜Ž</strong>: ๆต‹่ฏ•็‰ˆๆœฌๅท</p></li><li><p><strong>้ป˜่ฎคๅ€ผ</strong>: <code>&#39;6.3.10&#39;</code></p></li></ul>',5),l=[r];function s(_,n,d,c,p,u){return t(),a("div",null,l)}const k=e(o,[["render",s]]);export{v as __pageData,k as default};

View File

@ -1 +0,0 @@
import{_ as e,c as a,o as t,a9 as i}from"./chunks/framework.C4_mTacX.js";const v=JSON.parse('{"title":"liteyuki API","description":"","frontmatter":{"title":"liteyuki API","collapsed":true,"order":100},"headers":[],"relativePath":"dev/api/api.md","filePath":"zh/dev/api/api.md","lastUpdated":null}'),o={name:"dev/api/api.md"},r=i("",5),l=[r];function s(_,n,d,c,p,u){return t(),a("div",null,l)}const k=e(o,[["render",s]]);export{v as __pageData,k as default};

View File

@ -1,181 +0,0 @@
import{_ as s,c as i,o as a,a9 as n}from"./chunks/framework.C4_mTacX.js";const y=JSON.parse('{"title":"liteyuki.bot","description":"","frontmatter":{"title":"liteyuki.bot","collapsed":true},"headers":[],"relativePath":"dev/api/bot/bot.md","filePath":"zh/dev/api/bot/bot.md","lastUpdated":null}'),t={name:"dev/api/bot/bot.md"},l=n(`<h1 id="liteyuki-bot" tabindex="-1">liteyuki.bot <a class="header-anchor" href="#liteyuki-bot" aria-label="Permalink to &quot;liteyuki.bot&quot;">โ€‹</a></h1><h3 id="class-liteyukibot" tabindex="-1"><em><strong>class</strong></em> <code>LiteyukiBot</code> <a class="header-anchor" href="#class-liteyukibot" aria-label="Permalink to &quot;***class*** \`LiteyukiBot\`&quot;">โ€‹</a></h3><h4 id="func-init-self-kwargs-none" tabindex="-1"><em><strong>func</strong></em> <code>__init__(self, **kwargs) -&gt; None</code> <a class="header-anchor" href="#func-init-self-kwargs-none" aria-label="Permalink to &quot;***func*** \`__init__(self, **kwargs) -&gt; None\`&quot;">โ€‹</a></h4><p><strong>่ฏดๆ˜Ž</strong>: ๅˆๅง‹ๅŒ–่ฝป้›ชๅฎžไพ‹</p><p><strong>ๅ‚ๆ•ฐ</strong>:</p><blockquote><ul><li>**kwargs: ้…็ฝฎ</li></ul></blockquote><details><summary><b>ๆบไปฃ็ </b> ๆˆ– <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/bot/__init__.py#L27" 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 style="--shiki-light:#D73A49;--shiki-dark:#F97583;">**</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">kwargs) -&gt; </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">None</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ๅˆๅง‹ๅŒ–่ฝป้›ชๅฎžไพ‹</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Args:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> **kwargs: ้…็ฝฎ</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;ๅธธ่ง„ๆ“ไฝœ&#39;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> print_logo()</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> global</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> _BOT_INSTANCE</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> _BOT_INSTANCE</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> self</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;้…็ฝฎ&#39;</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> self</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] </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> kwargs</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;ๅˆๅง‹ๅŒ–&#39;</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.init(</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">**</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.config)</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> logger.info(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;Liteyuki is initializing...&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;็”Ÿๅ‘ฝๅ‘จๆœŸ็ฎก็†&#39;</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.lifespan </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> Lifespan()</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.process_manager: ProcessManager </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> ProcessManager(</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">lifespan</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.lifespan)</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;ไบ‹ไปถๅพช็Žฏ&#39;</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.loop </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> asyncio.new_event_loop()</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> asyncio.set_event_loop(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.loop)</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.stop_event </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> threading.Event()</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.call_restart_count </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> 0</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;ๅŠ ่ฝฝๆ’ไปถๅŠ ่ฝฝๅ™จ&#39;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> load_plugin(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;liteyuki.plugins.plugin_loader&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span></code></pre></div></details><h4 id="func-run-self" tabindex="-1"><em><strong>func</strong></em> <code>run(self)</code> <a class="header-anchor" href="#func-run-self" aria-label="Permalink to &quot;***func*** \`run(self)\`&quot;">โ€‹</a></h4><p><strong>่ฏดๆ˜Ž</strong>: ๅค–้ƒจๅฏๅŠจๆŽฅๅฃ</p><details><summary><b>ๆบไปฃ็ </b> ๆˆ– <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/bot/__init__.py#L66" 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;"> run</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self):</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ๅค–้ƒจๅฏๅŠจๆŽฅๅฃ</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.process_manager.start_all()</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> try</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> asyncio.run(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">._run())</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> except</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> KeyboardInterrupt</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> logger.opt(</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">colors</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">True</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">).info(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;&lt;y&gt;Liteyuki is stopping...&lt;/y&gt;&#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;">.stop()</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> logger.opt(</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">colors</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">True</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">).info(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;&lt;y&gt;Liteyuki is stopped...&lt;/y&gt;&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span></code></pre></div></details><h4 id="async-func-keep-alive-self" tabindex="-1"><em><strong>async func</strong></em> <code>keep_alive(self)</code> <a class="header-anchor" href="#async-func-keep-alive-self" aria-label="Permalink to &quot;***async func*** \`keep_alive(self)\`&quot;">โ€‹</a></h4><p><strong>่ฏดๆ˜Ž</strong>: ไฟๆŒ่ฝป้›ช่ฟ่กŒ</p><details><summary><b>ๆบไปฃ็ </b> ๆˆ– <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/bot/__init__.py#L78" 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;">async</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> def</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> keep_alive</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self):</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ไฟๆŒ่ฝป้›ช่ฟ่กŒ</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> logger.info(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;Liteyuki is keeping alive...&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> try</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> while</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> not</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.stop_event.is_set():</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> await</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> asyncio.sleep(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">0.1</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> except</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> Exception</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> logger.info(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;Liteyuki is exiting...&#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;">.stop()</span></span></code></pre></div></details><h4 id="func-restart-self-delay-int-0" tabindex="-1"><em><strong>func</strong></em> <code>restart(self, delay: int = 0)</code> <a class="header-anchor" href="#func-restart-self-delay-int-0" aria-label="Permalink to &quot;***func*** \`restart(self, delay: int = 0)\`&quot;">โ€‹</a></h4><p><strong>่ฏดๆ˜Ž</strong>: ้‡ๅฏ่ฝป้›ชๆœฌไฝ“</p><p><strong>ๅ‚ๆ•ฐ</strong>:</p><blockquote><ul><li>delay (<a href="https://docs.python.org/3/library/functions.html#int" target="_blank" rel="noreferrer"><code>int</code></a>, optional): ๅปถ่ฟŸ้‡ๅฏๆ—ถ้—ด. Defaults to 0.</li></ul></blockquote><details><summary><b>ๆบไปฃ็ </b> ๆˆ– <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/bot/__init__.py#L90" 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;"> restart</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self, delay: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">int</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">):</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ้‡ๅฏ่ฝป้›ชๆœฌไฝ“</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Args:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> delay ([\`int\`](https%3A//docs.python.org/3/library/functions.html#int), optional): ๅปถ่ฟŸ้‡ๅฏๆ—ถ้—ด. Defaults to 0.</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> if</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.call_restart_count </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">&lt;</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> 1</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> executable </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> sys.executable</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> args </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> sys.argv</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> logger.info(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;Restarting LiteyukiBot...&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> time.sleep(delay)</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> if</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> platform.system() </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">==</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;Windows&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> cmd </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;start&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> elif</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> platform.system() </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">==</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;Linux&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> cmd </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;nohup&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> elif</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> platform.system() </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">==</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;Darwin&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> cmd </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;open&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> else</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> cmd </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;nohup&#39;</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.process_manager.terminate_all()</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> threading.Thread(</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">target</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">os.system, </span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">args</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">f</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">{</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">cmd</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">}</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> {</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">executable</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">}</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> {</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39; &#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.join(args)</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">}</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,), </span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">daemon</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">True</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">).start()</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> sys.exit(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">0</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;">.call_restart_count </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">+=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> 1</span></span></code></pre></div></details><h4 id="func-restart-process-self-name-optional-str-none" tabindex="-1"><em><strong>func</strong></em> <code>restart_process(self, name: Optional[str] = None)</code> <a class="header-anchor" href="#func-restart-process-self-name-optional-str-none" aria-label="Permalink to &quot;***func*** \`restart_process(self, name: Optional[str] = None)\`&quot;">โ€‹</a></h4><p><strong>่ฏดๆ˜Ž</strong>: ๅœๆญข่ฝป้›ช</p><p><strong>ๅ‚ๆ•ฐ</strong>:</p><blockquote><ul><li>name (<a href="https://docs.python.org/3/library/typing.html#typing.Optional" target="_blank" rel="noreferrer"><code>Optional</code></a>[<a href="https://docs.python.org/3/library/stdtypes.html#str" target="_blank" rel="noreferrer"><code>str</code></a>]): ่ฟ›็จ‹ๅ. Defaults to None.</li></ul></blockquote><details><summary><b>ๆบไปฃ็ </b> ๆˆ– <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/bot/__init__.py#L115" 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;"> restart_process</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self, name: Optional[</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">str</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">]</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;">):</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ๅœๆญข่ฝป้›ช</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Args:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> name ([\`Optional\`](https%3A//docs.python.org/3/library/typing.html#typing.Optional)[[\`str\`](https%3A//docs.python.org/3/library/stdtypes.html#str)]): ่ฟ›็จ‹ๅ. Defaults to None.</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Returns:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> if</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> name </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:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> chan_active </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> get_channel(</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;">name</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">}</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">-active&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> chan_active.send(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">1</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> else</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;"> process_name </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">in</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.process_manager.processes:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> chan_active </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> get_channel(</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;">process_name</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">}</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">-active&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> chan_active.send(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">1</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span></code></pre></div></details><h4 id="func-init-self-args-kwargs" tabindex="-1"><em><strong>func</strong></em> <code>init(self, *args, **kwargs)</code> <a class="header-anchor" href="#func-init-self-args-kwargs" aria-label="Permalink to &quot;***func*** \`init(self, *args, **kwargs)\`&quot;">โ€‹</a></h4><p><strong>่ฏดๆ˜Ž</strong>: ๅˆๅง‹ๅŒ–่ฝป้›ช, ่‡ชๅŠจ่ฐƒ็”จ</p><p><strong>ๅ‚ๆ•ฐ</strong>:</p><blockquote><ul><li>*args: ๅ‚ๆ•ฐ</li><li>**kwargs: ๅ…ณ้”ฎๅญ—ๅ‚ๆ•ฐ</li></ul></blockquote><details><summary><b>ๆบไปฃ็ </b> ๆˆ– <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/bot/__init__.py#L130" 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;"> init</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self, </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">args, </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">**</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">kwargs):</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ๅˆๅง‹ๅŒ–่ฝป้›ช, ่‡ชๅŠจ่ฐƒ็”จ</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Args:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> *args: ๅ‚ๆ•ฐ</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> **kwargs: ๅ…ณ้”ฎๅญ—ๅ‚ๆ•ฐ</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.init_logger()</span></span></code></pre></div></details><h4 id="func-init-logger-self" tabindex="-1"><em><strong>func</strong></em> <code>init_logger(self)</code> <a class="header-anchor" href="#func-init-logger-self" aria-label="Permalink to &quot;***func*** \`init_logger(self)\`&quot;">โ€‹</a></h4><p><strong>่ฏดๆ˜Ž</strong>: ๅˆๅง‹ๅŒ–ๆ—ฅๅฟ—</p><details><summary><b>ๆบไปฃ็ </b> ๆˆ– <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/bot/__init__.py#L139" 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;"> init_logger</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self):</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ๅˆๅง‹ๅŒ–ๆ—ฅๅฟ—</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> init_log(</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">config</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.config)</span></span></code></pre></div></details><h4 id="func-stop-self" tabindex="-1"><em><strong>func</strong></em> <code>stop(self)</code> <a class="header-anchor" href="#func-stop-self" aria-label="Permalink to &quot;***func*** \`stop(self)\`&quot;">โ€‹</a></h4><p><strong>่ฏดๆ˜Ž</strong>: ๅœๆญข่ฝป้›ช</p><details><summary><b>ๆบไปฃ็ </b> ๆˆ– <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/bot/__init__.py#L145" 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;"> stop</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self):</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ๅœๆญข่ฝป้›ช</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.process_manager.terminate_all()</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.stop_event.set()</span></span></code></pre></div></details><h4 id="func-on-before-start-self-func-lifespan-func-lifespan-func" tabindex="-1"><em><strong>func</strong></em> <code>on_before_start(self, func: LIFESPAN_FUNC) -&gt; LIFESPAN_FUNC</code> <a class="header-anchor" href="#func-on-before-start-self-func-lifespan-func-lifespan-func" aria-label="Permalink to &quot;***func*** \`on_before_start(self, func: LIFESPAN_FUNC) -&gt; LIFESPAN_FUNC\`&quot;">โ€‹</a></h4><p><strong>่ฏดๆ˜Ž</strong>: ๆณจๅ†ŒๅฏๅŠจๅ‰็š„ๅ‡ฝๆ•ฐ</p><p><strong>ๅ‚ๆ•ฐ</strong>:</p><blockquote><ul><li>func (<a href="./lifespan.html#var-lifespan-func"><code>LIFESPAN_FUNC</code></a>): ็”Ÿๅ‘ฝๅ‘จๆœŸๅ‡ฝๆ•ฐ</li></ul></blockquote><p><strong>่ฟ”ๅ›ž</strong>: <a href="./lifespan.html#var-lifespan-func"><code>LIFESPAN_FUNC</code></a>: ็”Ÿๅ‘ฝๅ‘จๆœŸๅ‡ฝๆ•ฐ</p><details><summary><b>ๆบไปฃ็ </b> ๆˆ– <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/bot/__init__.py#L152" 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;"> on_before_start</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self, func: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">LIFESPAN_FUNC</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) -&gt; </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">LIFESPAN_FUNC</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ๆณจๅ†ŒๅฏๅŠจๅ‰็š„ๅ‡ฝๆ•ฐ</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Args:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> func ([\`LIFESPAN_FUNC\`](./lifespan#var-lifespan-func)): ็”Ÿๅ‘ฝๅ‘จๆœŸๅ‡ฝๆ•ฐ</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Returns:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> [\`LIFESPAN_FUNC\`](./lifespan#var-lifespan-func): ็”Ÿๅ‘ฝๅ‘จๆœŸๅ‡ฝๆ•ฐ</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</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;">.lifespan.on_before_start(func)</span></span></code></pre></div></details><h4 id="func-on-after-start-self-func-lifespan-func" tabindex="-1"><em><strong>func</strong></em> <code>on_after_start(self, func: LIFESPAN_FUNC)</code> <a class="header-anchor" href="#func-on-after-start-self-func-lifespan-func" aria-label="Permalink to &quot;***func*** \`on_after_start(self, func: LIFESPAN_FUNC)\`&quot;">โ€‹</a></h4><p><strong>่ฏดๆ˜Ž</strong>: ๆณจๅ†ŒๅฏๅŠจๅŽ็š„ๅ‡ฝๆ•ฐ</p><p><strong>ๅ‚ๆ•ฐ</strong>:</p><blockquote><ul><li>func (<a href="./lifespan.html#var-lifespan-func"><code>LIFESPAN_FUNC</code></a>): ็”Ÿๅ‘ฝๅ‘จๆœŸๅ‡ฝๆ•ฐ</li></ul></blockquote><p><strong>่ฟ”ๅ›ž</strong>: <a href="./lifespan.html#var-lifespan-func"><code>LIFESPAN_FUNC</code></a>: ็”Ÿๅ‘ฝๅ‘จๆœŸๅ‡ฝๆ•ฐ</p><details><summary><b>ๆบไปฃ็ </b> ๆˆ– <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/bot/__init__.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;"> on_after_start</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self, func: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">LIFESPAN_FUNC</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">):</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ๆณจๅ†ŒๅฏๅŠจๅŽ็š„ๅ‡ฝๆ•ฐ</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Args:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> func ([\`LIFESPAN_FUNC\`](./lifespan#var-lifespan-func)): ็”Ÿๅ‘ฝๅ‘จๆœŸๅ‡ฝๆ•ฐ</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Returns:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> [\`LIFESPAN_FUNC\`](./lifespan#var-lifespan-func): ็”Ÿๅ‘ฝๅ‘จๆœŸๅ‡ฝๆ•ฐ</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</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;">.lifespan.on_after_start(func)</span></span></code></pre></div></details><h4 id="func-on-after-shutdown-self-func-lifespan-func" tabindex="-1"><em><strong>func</strong></em> <code>on_after_shutdown(self, func: LIFESPAN_FUNC)</code> <a class="header-anchor" href="#func-on-after-shutdown-self-func-lifespan-func" aria-label="Permalink to &quot;***func*** \`on_after_shutdown(self, func: LIFESPAN_FUNC)\`&quot;">โ€‹</a></h4><p><strong>่ฏดๆ˜Ž</strong>: ๆณจๅ†ŒๅœๆญขๅŽ็š„ๅ‡ฝๆ•ฐ๏ผšๆœชๅฎž็Žฐ</p><p><strong>ๅ‚ๆ•ฐ</strong>:</p><blockquote><ul><li>func (<a href="./lifespan.html#var-lifespan-func"><code>LIFESPAN_FUNC</code></a>): ็”Ÿๅ‘ฝๅ‘จๆœŸๅ‡ฝๆ•ฐ</li></ul></blockquote><p><strong>่ฟ”ๅ›ž</strong>: <a href="./lifespan.html#var-lifespan-func"><code>LIFESPAN_FUNC</code></a>: ็”Ÿๅ‘ฝๅ‘จๆœŸๅ‡ฝๆ•ฐ</p><details><summary><b>ๆบไปฃ็ </b> ๆˆ– <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/bot/__init__.py#L172" 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;"> on_after_shutdown</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self, func: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">LIFESPAN_FUNC</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">):</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ๆณจๅ†ŒๅœๆญขๅŽ็š„ๅ‡ฝๆ•ฐ๏ผšๆœชๅฎž็Žฐ</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Args:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> func ([\`LIFESPAN_FUNC\`](./lifespan#var-lifespan-func)): ็”Ÿๅ‘ฝๅ‘จๆœŸๅ‡ฝๆ•ฐ</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Returns:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> [\`LIFESPAN_FUNC\`](./lifespan#var-lifespan-func): ็”Ÿๅ‘ฝๅ‘จๆœŸๅ‡ฝๆ•ฐ</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</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;">.lifespan.on_after_shutdown(func)</span></span></code></pre></div></details><h4 id="func-on-before-process-shutdown-self-func-process-lifespan-func" tabindex="-1"><em><strong>func</strong></em> <code>on_before_process_shutdown(self, func: PROCESS_LIFESPAN_FUNC)</code> <a class="header-anchor" href="#func-on-before-process-shutdown-self-func-process-lifespan-func" aria-label="Permalink to &quot;***func*** \`on_before_process_shutdown(self, func: PROCESS_LIFESPAN_FUNC)\`&quot;">โ€‹</a></h4><p><strong>่ฏดๆ˜Ž</strong>: ๆณจๅ†Œ่ฟ›็จ‹ๅœๆญขๅ‰็š„ๅ‡ฝๆ•ฐ๏ผŒไธบๅญ่ฟ›็จ‹ๅœๆญขๆ—ถ่ฐƒ็”จ</p><p><strong>ๅ‚ๆ•ฐ</strong>:</p><blockquote><ul><li>func (<a href="./lifespan.html#var-process-lifespan-func"><code>PROCESS_LIFESPAN_FUNC</code></a>): ็”Ÿๅ‘ฝๅ‘จๆœŸๅ‡ฝๆ•ฐ</li></ul></blockquote><p><strong>่ฟ”ๅ›ž</strong>: <a href="./lifespan.html#var-process-lifespan-func"><code>PROCESS_LIFESPAN_FUNC</code></a>: ็”Ÿๅ‘ฝๅ‘จๆœŸๅ‡ฝๆ•ฐ</p><details><summary><b>ๆบไปฃ็ </b> ๆˆ– <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/bot/__init__.py#L182" 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;"> on_before_process_shutdown</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self, func: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">PROCESS_LIFESPAN_FUNC</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">):</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ๆณจๅ†Œ่ฟ›็จ‹ๅœๆญขๅ‰็š„ๅ‡ฝๆ•ฐ๏ผŒไธบๅญ่ฟ›็จ‹ๅœๆญขๆ—ถ่ฐƒ็”จ</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Args:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> func ([\`PROCESS_LIFESPAN_FUNC\`](./lifespan#var-process-lifespan-func)): ็”Ÿๅ‘ฝๅ‘จๆœŸๅ‡ฝๆ•ฐ</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Returns:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> [\`PROCESS_LIFESPAN_FUNC\`](./lifespan#var-process-lifespan-func): ็”Ÿๅ‘ฝๅ‘จๆœŸๅ‡ฝๆ•ฐ</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</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;">.lifespan.on_before_process_shutdown(func)</span></span></code></pre></div></details><h4 id="func-on-before-process-restart-self-func-process-lifespan-func-process-lifespan-func" tabindex="-1"><em><strong>func</strong></em> <code>on_before_process_restart(self, func: PROCESS_LIFESPAN_FUNC) -&gt; PROCESS_LIFESPAN_FUNC</code> <a class="header-anchor" href="#func-on-before-process-restart-self-func-process-lifespan-func-process-lifespan-func" aria-label="Permalink to &quot;***func*** \`on_before_process_restart(self, func: PROCESS_LIFESPAN_FUNC) -&gt; PROCESS_LIFESPAN_FUNC\`&quot;">โ€‹</a></h4><p><strong>่ฏดๆ˜Ž</strong>: ๆณจๅ†Œ่ฟ›็จ‹้‡ๅฏๅ‰็š„ๅ‡ฝๆ•ฐ๏ผŒไธบๅญ่ฟ›็จ‹้‡ๅฏๆ—ถ่ฐƒ็”จ</p><p><strong>ๅ‚ๆ•ฐ</strong>:</p><blockquote><ul><li>func (<a href="./lifespan.html#var-process-lifespan-func"><code>PROCESS_LIFESPAN_FUNC</code></a>): ็”Ÿๅ‘ฝๅ‘จๆœŸๅ‡ฝๆ•ฐ</li></ul></blockquote><p><strong>่ฟ”ๅ›ž</strong>: <a href="./lifespan.html#var-process-lifespan-func"><code>PROCESS_LIFESPAN_FUNC</code></a>: ็”Ÿๅ‘ฝๅ‘จๆœŸๅ‡ฝๆ•ฐ</p><details><summary><b>ๆบไปฃ็ </b> ๆˆ– <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/bot/__init__.py#L192" 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;"> on_before_process_restart</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self, func: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">PROCESS_LIFESPAN_FUNC</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) -&gt; </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">PROCESS_LIFESPAN_FUNC</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ๆณจๅ†Œ่ฟ›็จ‹้‡ๅฏๅ‰็š„ๅ‡ฝๆ•ฐ๏ผŒไธบๅญ่ฟ›็จ‹้‡ๅฏๆ—ถ่ฐƒ็”จ</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Args:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> func ([\`PROCESS_LIFESPAN_FUNC\`](./lifespan#var-process-lifespan-func)): ็”Ÿๅ‘ฝๅ‘จๆœŸๅ‡ฝๆ•ฐ</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Returns:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> [\`PROCESS_LIFESPAN_FUNC\`](./lifespan#var-process-lifespan-func): ็”Ÿๅ‘ฝๅ‘จๆœŸๅ‡ฝๆ•ฐ</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</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;">.lifespan.on_before_process_restart(func)</span></span></code></pre></div></details><h4 id="func-on-after-restart-self-func-lifespan-func" tabindex="-1"><em><strong>func</strong></em> <code>on_after_restart(self, func: LIFESPAN_FUNC)</code> <a class="header-anchor" href="#func-on-after-restart-self-func-lifespan-func" aria-label="Permalink to &quot;***func*** \`on_after_restart(self, func: LIFESPAN_FUNC)\`&quot;">โ€‹</a></h4><p><strong>่ฏดๆ˜Ž</strong>: ๆณจๅ†Œ้‡ๅฏๅŽ็š„ๅ‡ฝๆ•ฐ๏ผšๆœชๅฎž็Žฐ</p><p><strong>ๅ‚ๆ•ฐ</strong>:</p><blockquote><ul><li>func (<a href="./lifespan.html#var-lifespan-func"><code>LIFESPAN_FUNC</code></a>): ็”Ÿๅ‘ฝๅ‘จๆœŸๅ‡ฝๆ•ฐ</li></ul></blockquote><p><strong>่ฟ”ๅ›ž</strong>: <a href="./lifespan.html#var-lifespan-func"><code>LIFESPAN_FUNC</code></a>: ็”Ÿๅ‘ฝๅ‘จๆœŸๅ‡ฝๆ•ฐ</p><details><summary><b>ๆบไปฃ็ </b> ๆˆ– <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/bot/__init__.py#L203" 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;"> on_after_restart</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self, func: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">LIFESPAN_FUNC</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">):</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ๆณจๅ†Œ้‡ๅฏๅŽ็š„ๅ‡ฝๆ•ฐ๏ผšๆœชๅฎž็Žฐ</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Args:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> func ([\`LIFESPAN_FUNC\`](./lifespan#var-lifespan-func)): ็”Ÿๅ‘ฝๅ‘จๆœŸๅ‡ฝๆ•ฐ</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Returns:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> [\`LIFESPAN_FUNC\`](./lifespan#var-lifespan-func): ็”Ÿๅ‘ฝๅ‘จๆœŸๅ‡ฝๆ•ฐ</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</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;">.lifespan.on_after_restart(func)</span></span></code></pre></div></details><h3 id="func-get-bot-liteyukibot" tabindex="-1"><em><strong>func</strong></em> <code>get_bot() -&gt; LiteyukiBot</code> <a class="header-anchor" href="#func-get-bot-liteyukibot" aria-label="Permalink to &quot;***func*** \`get_bot() -&gt; LiteyukiBot\`&quot;">โ€‹</a></h3><p><strong>่ฏดๆ˜Ž</strong>: ่Žทๅ–่ฝป้›ชๅฎžไพ‹</p><p><strong>่ฟ”ๅ›ž</strong>: <a href="#class-liteyukibot"><code>LiteyukiBot</code></a>: ่ฝป้›ชๅฎžไพ‹</p><details><summary><b>ๆบไปฃ็ </b> ๆˆ– <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/bot/__init__.py#L217" 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_bot</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">() -&gt; LiteyukiBot:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ่Žทๅ–่ฝป้›ชๅฎžไพ‹</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Returns:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> [\`LiteyukiBot\`](#class-liteyukibot): ่ฝป้›ชๅฎžไพ‹</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> if</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> IS_MAIN_PROCESS</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:#005CC5;--shiki-dark:#79B8FF;"> _BOT_INSTANCE</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> is</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> None</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> raise</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> RuntimeError</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;Liteyuki instance not initialized.&#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:#005CC5;--shiki-dark:#79B8FF;"> _BOT_INSTANCE</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> else</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> raise</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> RuntimeError</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;Can&#39;t get bot instance in sub process.&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span></code></pre></div></details><h3 id="func-get-config-key-str-default-any-none-any" tabindex="-1"><em><strong>func</strong></em> <code>get_config(key: str, default: Any = None) -&gt; Any</code> <a class="header-anchor" href="#func-get-config-key-str-default-any-none-any" aria-label="Permalink to &quot;***func*** \`get_config(key: str, default: Any = None) -&gt; Any\`&quot;">โ€‹</a></h3><p><strong>่ฏดๆ˜Ž</strong>: ่Žทๅ–้…็ฝฎ</p><p><strong>ๅ‚ๆ•ฐ</strong>:</p><blockquote><ul><li>key (<a href="https://docs.python.org/3/library/stdtypes.html#str" target="_blank" rel="noreferrer"><code>str</code></a>): ้…็ฝฎ้”ฎ</li><li>default (<a href="https://docs.python.org/3/library/functions.html#any" target="_blank" rel="noreferrer"><code>Any</code></a>, optional): ้ป˜่ฎคๅ€ผ. Defaults to None.</li></ul></blockquote><p><strong>่ฟ”ๅ›ž</strong>: <a href="https://docs.python.org/3/library/functions.html#any" target="_blank" rel="noreferrer"><code>Any</code></a>: ้…็ฝฎๅ€ผ</p><details><summary><b>ๆบไปฃ็ </b> ๆˆ– <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/bot/__init__.py#L232" 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_config</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(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:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ่Žทๅ–้…็ฝฎ</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Args:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> key ([\`str\`](https%3A//docs.python.org/3/library/stdtypes.html#str)): ้…็ฝฎ้”ฎ</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> default ([\`Any\`](https%3A//docs.python.org/3/library/functions.html#any), optional): ้ป˜่ฎคๅ€ผ. Defaults to None.</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Returns:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> [\`Any\`](https%3A//docs.python.org/3/library/functions.html#any): ้…็ฝฎๅ€ผ</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> get_bot().config.get(key, default)</span></span></code></pre></div></details><h3 id="func-get-config-with-compat-key-str-compat-keys-tuple-str-default-any-none-any" tabindex="-1"><em><strong>func</strong></em> <code>get_config_with_compat(key: str, compat_keys: tuple[str], default: Any = None) -&gt; Any</code> <a class="header-anchor" href="#func-get-config-with-compat-key-str-compat-keys-tuple-str-default-any-none-any" aria-label="Permalink to &quot;***func*** \`get_config_with_compat(key: str, compat_keys: tuple[str], default: Any = None) -&gt; Any\`&quot;">โ€‹</a></h3><p><strong>่ฏดๆ˜Ž</strong>: ่Žทๅ–้…็ฝฎ๏ผŒๅ…ผๅฎนๆ—ง็‰ˆๆœฌ</p><p><strong>ๅ‚ๆ•ฐ</strong>:</p><blockquote><ul><li>key (<a href="https://docs.python.org/3/library/stdtypes.html#str" target="_blank" rel="noreferrer"><code>str</code></a>): ้…็ฝฎ้”ฎ</li><li>compat_keys (<a href="https://docs.python.org/3/library/stdtypes.html#tuple" target="_blank" rel="noreferrer"><code>tuple</code></a><a href="https://docs.python.org/3/library/stdtypes.html#str" target="_blank" rel="noreferrer"><code>str</code></a>): ๅ…ผๅฎน้”ฎ</li><li>default (<a href="https://docs.python.org/3/library/functions.html#any" target="_blank" rel="noreferrer"><code>Any</code></a>, optional): ้ป˜่ฎคๅ€ผ. Defaults to None.</li></ul></blockquote><p><strong>่ฟ”ๅ›ž</strong>: <a href="https://docs.python.org/3/library/functions.html#any" target="_blank" rel="noreferrer"><code>Any</code></a>: ้…็ฝฎๅ€ผ</p><details><summary><b>ๆบไปฃ็ </b> ๆˆ– <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/bot/__init__.py#L244" 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_config_with_compat</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(key: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">str</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, compat_keys: tuple[</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:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ่Žทๅ–้…็ฝฎ๏ผŒๅ…ผๅฎนๆ—ง็‰ˆๆœฌ</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Args:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> key ([\`str\`](https%3A//docs.python.org/3/library/stdtypes.html#str)): ้…็ฝฎ้”ฎ</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> compat_keys ([\`tuple\`](https%3A//docs.python.org/3/library/stdtypes.html#tuple)[\`str\`](https%3A//docs.python.org/3/library/stdtypes.html#str)): ๅ…ผๅฎน้”ฎ</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> default ([\`Any\`](https%3A//docs.python.org/3/library/functions.html#any), optional): ้ป˜่ฎคๅ€ผ. Defaults to None.</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Returns:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> [\`Any\`](https%3A//docs.python.org/3/library/functions.html#any): ้…็ฝฎๅ€ผ</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> if</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> key </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">in</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> get_bot().config:</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> get_bot().config[key]</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> for</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> compat_key </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">in</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> compat_keys:</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> if</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> compat_key </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">in</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> get_bot().config:</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 key &quot;</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">{</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">compat_key</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">}</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot; will be deprecated, use &quot;</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;">&quot; instead.&#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;"> get_bot().config[compat_key]</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> default</span></span></code></pre></div></details>`,86),e=[l];function p(h,k,r,o,d,g){return a(),i("div",null,e)}const c=s(t,[["render",p]]);export{y as __pageData,c as default};

View File

@ -1 +0,0 @@
import{_ as s,c as i,o as a,a9 as n}from"./chunks/framework.C4_mTacX.js";const y=JSON.parse('{"title":"liteyuki.bot","description":"","frontmatter":{"title":"liteyuki.bot","collapsed":true},"headers":[],"relativePath":"dev/api/bot/bot.md","filePath":"zh/dev/api/bot/bot.md","lastUpdated":null}'),t={name:"dev/api/bot/bot.md"},l=n("",86),e=[l];function p(h,k,r,o,d,g){return a(),i("div",null,e)}const c=s(t,[["render",p]]);export{y as __pageData,c as default};

View File

@ -1 +0,0 @@
import{_ as t,c as a,o,j as e,a as c}from"./chunks/framework.C4_mTacX.js";const k=JSON.parse('{"title":"liteyuki.comm","description":"","frontmatter":{"title":"liteyuki.comm","collapsed":true},"headers":[],"relativePath":"dev/api/comm/comm.md","filePath":"zh/dev/api/comm/comm.md","lastUpdated":null}'),m={name:"dev/api/comm/comm.md"},i=e("h1",{id:"liteyuki-comm",tabindex:"-1"},[c("liteyuki.comm "),e("a",{class:"header-anchor",href:"#liteyuki-comm","aria-label":'Permalink to "liteyuki.comm"'},"โ€‹")],-1),s=e("p",null,"่ฏฅๆจกๅ—็”จไบŽ่ฝป้›ชไธป่ฟ›็จ‹ๅ’ŒNonebotๅญ่ฟ›็จ‹ไน‹้—ด็š„้€šไฟก ไพ่ต–ๅ…ณ็ณป event -> _ storage -> channel_ rpc -> channel_, storage",-1),n=[i,s];function l(r,d,_,p,h,u){return o(),a("div",null,n)}const v=t(m,[["render",l]]);export{k as __pageData,v as default};

View File

@ -1 +0,0 @@
import{_ as t,c as a,o,j as e,a as c}from"./chunks/framework.C4_mTacX.js";const k=JSON.parse('{"title":"liteyuki.comm","description":"","frontmatter":{"title":"liteyuki.comm","collapsed":true},"headers":[],"relativePath":"dev/api/comm/comm.md","filePath":"zh/dev/api/comm/comm.md","lastUpdated":null}'),m={name:"dev/api/comm/comm.md"},i=e("h1",{id:"liteyuki-comm",tabindex:"-1"},[c("liteyuki.comm "),e("a",{class:"header-anchor",href:"#liteyuki-comm","aria-label":'Permalink to "liteyuki.comm"'},"โ€‹")],-1),s=e("p",null,"่ฏฅๆจกๅ—็”จไบŽ่ฝป้›ชไธป่ฟ›็จ‹ๅ’ŒNonebotๅญ่ฟ›็จ‹ไน‹้—ด็š„้€šไฟก ไพ่ต–ๅ…ณ็ณป event -> _ storage -> channel_ rpc -> channel_, storage",-1),n=[i,s];function l(r,d,_,p,h,u){return o(),a("div",null,n)}const v=t(m,[["render",l]]);export{k as __pageData,v as default};

View File

@ -1 +0,0 @@
import{_ as t,c as a,o,j as e,a as r}from"./chunks/framework.C4_mTacX.js";const f=JSON.parse('{"title":"liteyuki.core","description":"","frontmatter":{"title":"liteyuki.core","collapsed":true},"headers":[],"relativePath":"dev/api/core/core.md","filePath":"zh/dev/api/core/core.md","lastUpdated":null}'),c={name:"dev/api/core/core.md"},i=e("h1",{id:"liteyuki-core",tabindex:"-1"},[r("liteyuki.core "),e("a",{class:"header-anchor",href:"#liteyuki-core","aria-label":'Permalink to "liteyuki.core"'},"โ€‹")],-1),s=[i];function l(d,n,p,_,u,h){return o(),a("div",null,s)}const k=t(c,[["render",l]]);export{f as __pageData,k as default};

View File

@ -1 +0,0 @@
import{_ as t,c as a,o,j as e,a as r}from"./chunks/framework.C4_mTacX.js";const f=JSON.parse('{"title":"liteyuki.core","description":"","frontmatter":{"title":"liteyuki.core","collapsed":true},"headers":[],"relativePath":"dev/api/core/core.md","filePath":"zh/dev/api/core/core.md","lastUpdated":null}'),c={name:"dev/api/core/core.md"},i=e("h1",{id:"liteyuki-core",tabindex:"-1"},[r("liteyuki.core "),e("a",{class:"header-anchor",href:"#liteyuki-core","aria-label":'Permalink to "liteyuki.core"'},"โ€‹")],-1),s=[i];function l(d,n,p,_,u,h){return o(),a("div",null,s)}const k=t(c,[["render",l]]);export{f as __pageData,k as default};

View File

@ -1 +0,0 @@
import{_ as t,c as a,o as d,j as e,a as i}from"./chunks/framework.C4_mTacX.js";const f=JSON.parse('{"title":"liteyuki.dev","description":"","frontmatter":{"title":"liteyuki.dev","collapsed":true},"headers":[],"relativePath":"dev/api/dev/dev.md","filePath":"zh/dev/api/dev/dev.md","lastUpdated":null}'),s={name:"dev/api/dev/dev.md"},o=e("h1",{id:"liteyuki-dev",tabindex:"-1"},[i("liteyuki.dev "),e("a",{class:"header-anchor",href:"#liteyuki-dev","aria-label":'Permalink to "liteyuki.dev"'},"โ€‹")],-1),l=e("p",null,"่ฏฅๆจกๅ—็”จไบŽๅญ˜ๆ”พไธ€ไบ›ๅผ€ๅ‘ๅทฅๅ…ท",-1),r=[o,l];function n(c,v,p,_,u,h){return d(),a("div",null,r)}const k=t(s,[["render",n]]);export{f as __pageData,k as default};

View File

@ -1 +0,0 @@
import{_ as t,c as a,o as d,j as e,a as i}from"./chunks/framework.C4_mTacX.js";const f=JSON.parse('{"title":"liteyuki.dev","description":"","frontmatter":{"title":"liteyuki.dev","collapsed":true},"headers":[],"relativePath":"dev/api/dev/dev.md","filePath":"zh/dev/api/dev/dev.md","lastUpdated":null}'),s={name:"dev/api/dev/dev.md"},o=e("h1",{id:"liteyuki-dev",tabindex:"-1"},[i("liteyuki.dev "),e("a",{class:"header-anchor",href:"#liteyuki-dev","aria-label":'Permalink to "liteyuki.dev"'},"โ€‹")],-1),l=e("p",null,"่ฏฅๆจกๅ—็”จไบŽๅญ˜ๆ”พไธ€ไบ›ๅผ€ๅ‘ๅทฅๅ…ท",-1),r=[o,l];function n(c,v,p,_,u,h){return d(),a("div",null,r)}const k=t(s,[["render",n]]);export{f as __pageData,k as default};

View File

@ -1 +0,0 @@
import{_ as s,c as t,o as i,j as e,a}from"./chunks/framework.C4_mTacX.js";const y=JSON.parse('{"title":"liteyuki.message","description":"","frontmatter":{"title":"liteyuki.message","collapsed":true},"headers":[],"relativePath":"dev/api/message/message.md","filePath":"zh/dev/api/message/message.md","lastUpdated":null}'),o={name:"dev/api/message/message.md"},l=e("h1",{id:"liteyuki-message",tabindex:"-1"},[a("liteyuki.message "),e("a",{class:"header-anchor",href:"#liteyuki-message","aria-label":'Permalink to "liteyuki.message"'},"โ€‹")],-1),r=e("p",null,"Copyright (C) 2020-2024 LiteyukiStudio. All Rights Reserved",-1),n=e("p",null,[a("@Time : 2024/8/19 ไธ‹ๅˆ10:44 @Author : snowykami @Email : "),e("a",{href:"mailto:snowykami@outlook.com",target:"_blank",rel:"noreferrer"},"snowykami@outlook.com"),a(" @File : "),e("strong",null,"init"),a(".py.py @Software: PyCharm")],-1),m=[l,r,n];function d(c,p,u,_,g,h){return i(),t("div",null,m)}const f=s(o,[["render",d]]);export{y as __pageData,f as default};

View File

@ -1 +0,0 @@
import{_ as s,c as t,o as i,j as e,a}from"./chunks/framework.C4_mTacX.js";const y=JSON.parse('{"title":"liteyuki.message","description":"","frontmatter":{"title":"liteyuki.message","collapsed":true},"headers":[],"relativePath":"dev/api/message/message.md","filePath":"zh/dev/api/message/message.md","lastUpdated":null}'),o={name:"dev/api/message/message.md"},l=e("h1",{id:"liteyuki-message",tabindex:"-1"},[a("liteyuki.message "),e("a",{class:"header-anchor",href:"#liteyuki-message","aria-label":'Permalink to "liteyuki.message"'},"โ€‹")],-1),r=e("p",null,"Copyright (C) 2020-2024 LiteyukiStudio. All Rights Reserved",-1),n=e("p",null,[a("@Time : 2024/8/19 ไธ‹ๅˆ10:44 @Author : snowykami @Email : "),e("a",{href:"mailto:snowykami@outlook.com",target:"_blank",rel:"noreferrer"},"snowykami@outlook.com"),a(" @File : "),e("strong",null,"init"),a(".py.py @Software: PyCharm")],-1),m=[l,r,n];function d(c,p,u,_,g,h){return i(),t("div",null,m)}const f=s(o,[["render",d]]);export{y as __pageData,f as default};

View File

@ -1,7 +0,0 @@
import{_ as i,c as s,o as t,a9 as a}from"./chunks/framework.C4_mTacX.js";const k=JSON.parse('{"title":"liteyuki.plugin","description":"","frontmatter":{"title":"liteyuki.plugin","collapsed":true},"headers":[],"relativePath":"dev/api/plugin/plugin.md","filePath":"zh/dev/api/plugin/plugin.md","lastUpdated":null}'),n={name:"dev/api/plugin/plugin.md"},e=a(`<h1 id="liteyuki-plugin" tabindex="-1">liteyuki.plugin <a class="header-anchor" href="#liteyuki-plugin" aria-label="Permalink to &quot;liteyuki.plugin&quot;">โ€‹</a></h1><h3 id="func-get-loaded-plugins-dict-str-plugin" tabindex="-1"><em><strong>func</strong></em> <code>get_loaded_plugins() -&gt; dict[str, Plugin]</code> <a class="header-anchor" href="#func-get-loaded-plugins-dict-str-plugin" aria-label="Permalink to &quot;***func*** \`get_loaded_plugins() -&gt; dict[str, Plugin]\`&quot;">โ€‹</a></h3><p><strong>่ฏดๆ˜Ž</strong>: ่Žทๅ–ๅทฒๅŠ ่ฝฝ็š„ๆ’ไปถ</p><p><strong>่ฟ”ๅ›ž</strong>: dict[str, Plugin]: ๆ’ไปถๅญ—ๅ…ธ</p><details><summary><b>ๆบไปฃ็ </b> ๆˆ– <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/plugin/__init__.py#L13" 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_loaded_plugins</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;">, Plugin]:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ่Žทๅ–ๅทฒๅŠ ่ฝฝ็š„ๆ’ไปถ</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Returns:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> dict[str, Plugin]: ๆ’ไปถๅญ—ๅ…ธ</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> _plugins</span></span></code></pre></div></details>`,5),l=[e];function p(d,u,r,h,o,g){return t(),s("div",null,l)}const _=i(n,[["render",p]]);export{k as __pageData,_ as default};

View File

@ -1 +0,0 @@
import{_ as i,c as s,o as t,a9 as a}from"./chunks/framework.C4_mTacX.js";const k=JSON.parse('{"title":"liteyuki.plugin","description":"","frontmatter":{"title":"liteyuki.plugin","collapsed":true},"headers":[],"relativePath":"dev/api/plugin/plugin.md","filePath":"zh/dev/api/plugin/plugin.md","lastUpdated":null}'),n={name:"dev/api/plugin/plugin.md"},e=a("",5),l=[e];function p(d,u,r,h,o,g){return t(),s("div",null,l)}const _=i(n,[["render",p]]);export{k as __pageData,_ as default};

View File

@ -1,8 +0,0 @@
import{_ as i,c as s,o as a,a9 as l}from"./chunks/framework.C4_mTacX.js";const _=JSON.parse('{"title":"liteyuki.plugins.plugin_loader","description":"","frontmatter":{"title":"liteyuki.plugins.plugin_loader","collapsed":true},"headers":[],"relativePath":"dev/api/plugins/plugin_loader/plugin_loader.md","filePath":"zh/dev/api/plugins/plugin_loader/plugin_loader.md","lastUpdated":null}'),n={name:"dev/api/plugins/plugin_loader/plugin_loader.md"},t=l(`<h1 id="liteyuki-plugins-plugin-loader" tabindex="-1">liteyuki.plugins.plugin_loader <a class="header-anchor" href="#liteyuki-plugins-plugin-loader" aria-label="Permalink to &quot;liteyuki.plugins.plugin_loader&quot;">โ€‹</a></h1><p>Copyright (C) 2020-2024 LiteyukiStudio. All Rights Reserved</p><p>@Time : 2024/8/11 ไธ‹ๅˆ10:02 @Author : snowykami @Email : <a href="mailto:snowykami@outlook.com" target="_blank" rel="noreferrer">snowykami@outlook.com</a> @File : <strong>init</strong>.py.py @Software: PyCharm</p><h3 id="func-default-plugins-loader" tabindex="-1"><em><strong>func</strong></em> <code>default_plugins_loader()</code> <a class="header-anchor" href="#func-default-plugins-loader" aria-label="Permalink to &quot;***func*** \`default_plugins_loader()\`&quot;">โ€‹</a></h3><p><strong>่ฏดๆ˜Ž</strong>: ้ป˜่ฎคๆ’ไปถๅŠ ่ฝฝๅ™จ๏ผŒๅบ”ๅœจๅˆๅง‹ๅŒ–ๆ—ถ่ฐƒ็”จ</p><details><summary><b>ๆบไปฃ็ </b> ๆˆ– <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/plugins/plugin_loader/__init__.py#L21" 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;"> default_plugins_loader</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">():</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ้ป˜่ฎคๆ’ไปถๅŠ ่ฝฝๅ™จ๏ผŒๅบ”ๅœจๅˆๅง‹ๅŒ–ๆ—ถ่ฐƒ็”จ</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> for</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> plugin </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">in</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> get_config(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;liteyuki.plugins&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, []):</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> load_plugin(plugin)</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> for</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> plugin_dir </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">in</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> get_config(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;liteyuki.plugin_dirs&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, [</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;src/liteyuki_plugins&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">]):</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> load_plugins(plugin_dir)</span></span></code></pre></div></details>`,6),e=[t];function p(r,h,o,d,k,u){return a(),s("div",null,e)}const c=i(n,[["render",p]]);export{_ as __pageData,c as default};

View File

@ -1 +0,0 @@
import{_ as i,c as s,o as a,a9 as l}from"./chunks/framework.C4_mTacX.js";const _=JSON.parse('{"title":"liteyuki.plugins.plugin_loader","description":"","frontmatter":{"title":"liteyuki.plugins.plugin_loader","collapsed":true},"headers":[],"relativePath":"dev/api/plugins/plugin_loader/plugin_loader.md","filePath":"zh/dev/api/plugins/plugin_loader/plugin_loader.md","lastUpdated":null}'),n={name:"dev/api/plugins/plugin_loader/plugin_loader.md"},t=l("",6),e=[t];function p(r,h,o,d,k,u){return a(),s("div",null,e)}const c=i(n,[["render",p]]);export{_ as __pageData,c as default};

View File

@ -1 +0,0 @@
import{_ as i,c as t,o as s,j as e,a as l}from"./chunks/framework.C4_mTacX.js";const f=JSON.parse('{"title":"liteyuki.plugins","description":"","frontmatter":{"title":"liteyuki.plugins","collapsed":true},"headers":[],"relativePath":"dev/api/plugins/plugins.md","filePath":"zh/dev/api/plugins/plugins.md","lastUpdated":null}'),a={name:"dev/api/plugins/plugins.md"},n=e("h1",{id:"liteyuki-plugins",tabindex:"-1"},[l("liteyuki.plugins "),e("a",{class:"header-anchor",href:"#liteyuki-plugins","aria-label":'Permalink to "liteyuki.plugins"'},"โ€‹")],-1),u=e("p",null,"ๆญคๆจกๅ—ไธบๅ†…็ฝฎๆ’ไปถๆ–‡ไปถๅคน๏ผŒ็”จไบŽๅญ˜ๆ”พๅ†…็ฝฎๆ’ไปถใ€‚ This module is the built-in plugin folder, used to store built-in plugins.",-1),o=[n,u];function p(r,d,c,_,g,h){return s(),t("div",null,o)}const k=i(a,[["render",p]]);export{f as __pageData,k as default};

View File

@ -1 +0,0 @@
import{_ as i,c as t,o as s,j as e,a as l}from"./chunks/framework.C4_mTacX.js";const f=JSON.parse('{"title":"liteyuki.plugins","description":"","frontmatter":{"title":"liteyuki.plugins","collapsed":true},"headers":[],"relativePath":"dev/api/plugins/plugins.md","filePath":"zh/dev/api/plugins/plugins.md","lastUpdated":null}'),a={name:"dev/api/plugins/plugins.md"},n=e("h1",{id:"liteyuki-plugins",tabindex:"-1"},[l("liteyuki.plugins "),e("a",{class:"header-anchor",href:"#liteyuki-plugins","aria-label":'Permalink to "liteyuki.plugins"'},"โ€‹")],-1),u=e("p",null,"ๆญคๆจกๅ—ไธบๅ†…็ฝฎๆ’ไปถๆ–‡ไปถๅคน๏ผŒ็”จไบŽๅญ˜ๆ”พๅ†…็ฝฎๆ’ไปถใ€‚ This module is the built-in plugin folder, used to store built-in plugins.",-1),o=[n,u];function p(r,d,c,_,g,h){return s(),t("div",null,o)}const k=i(a,[["render",p]]);export{f as __pageData,k as default};

View File

@ -1 +0,0 @@
import{_ as e,c as a,o as t,a9 as i}from"./chunks/framework.C4_mTacX.js";const v=JSON.parse('{"title":"liteyuki API","description":"","frontmatter":{"title":"liteyuki API","collapsed":true,"order":100},"headers":[],"relativePath":"en/dev/api/api.md","filePath":"en/dev/api/api.md","lastUpdated":null}'),o={name:"en/dev/api/api.md"},r=i('<h1 id="liteyuki" tabindex="-1">liteyuki <a class="header-anchor" href="#liteyuki" aria-label="Permalink to &quot;liteyuki&quot;">โ€‹</a></h1><p>ๆญคๆจกๅ—ไธบliteyuki็š„ๆก†ๆžถๆ•ดไฝ“</p><p>This module is the overall framework of liteyuki.</p><h3 id="var-version" tabindex="-1">var <code>__version__</code> <a class="header-anchor" href="#var-version" aria-label="Permalink to &quot;var `__version__`&quot;">โ€‹</a></h3><ul><li><p><strong>Description</strong>: ๆต‹่ฏ•็‰ˆๆœฌๅท</p></li><li><p><strong>Default</strong>: <code>&#39;6.3.10&#39;</code></p></li></ul>',5),l=[r];function s(n,_,d,c,p,u){return t(),a("div",null,l)}const f=e(o,[["render",s]]);export{v as __pageData,f as default};

View File

@ -1 +0,0 @@
import{_ as e,c as a,o as t,a9 as i}from"./chunks/framework.C4_mTacX.js";const v=JSON.parse('{"title":"liteyuki API","description":"","frontmatter":{"title":"liteyuki API","collapsed":true,"order":100},"headers":[],"relativePath":"en/dev/api/api.md","filePath":"en/dev/api/api.md","lastUpdated":null}'),o={name:"en/dev/api/api.md"},r=i("",5),l=[r];function s(n,_,d,c,p,u){return t(),a("div",null,l)}const f=e(o,[["render",s]]);export{v as __pageData,f as default};

View File

@ -1,181 +0,0 @@
import{_ as s,c as i,o as a,a9 as n}from"./chunks/framework.C4_mTacX.js";const E=JSON.parse('{"title":"liteyuki.bot","description":"","frontmatter":{"title":"liteyuki.bot","collapsed":true},"headers":[],"relativePath":"en/dev/api/bot/bot.md","filePath":"en/dev/api/bot/bot.md","lastUpdated":null}'),t={name:"en/dev/api/bot/bot.md"},e=n(`<h1 id="liteyuki-bot" tabindex="-1">liteyuki.bot <a class="header-anchor" href="#liteyuki-bot" aria-label="Permalink to &quot;liteyuki.bot&quot;">โ€‹</a></h1><h3 id="class-liteyukibot" tabindex="-1"><em><strong>class</strong></em> <code>LiteyukiBot</code> <a class="header-anchor" href="#class-liteyukibot" aria-label="Permalink to &quot;***class*** \`LiteyukiBot\`&quot;">โ€‹</a></h3><h4 id="func-init-self-kwargs-none" tabindex="-1"><em><strong>func</strong></em> <code>__init__(self, **kwargs) -&gt; None</code> <a class="header-anchor" href="#func-init-self-kwargs-none" aria-label="Permalink to &quot;***func*** \`__init__(self, **kwargs) -&gt; None\`&quot;">โ€‹</a></h4><p><strong>Description</strong>: ๅˆๅง‹ๅŒ–่ฝป้›ชๅฎžไพ‹</p><p><strong>Arguments</strong>:</p><blockquote><ul><li>**kwargs: ้…็ฝฎ</li></ul></blockquote><details><summary><b>Source code</b> or <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/bot/__init__.py#L27" target="_blank">View on 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 style="--shiki-light:#D73A49;--shiki-dark:#F97583;">**</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">kwargs) -&gt; </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">None</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ๅˆๅง‹ๅŒ–่ฝป้›ชๅฎžไพ‹</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Args:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> **kwargs: ้…็ฝฎ</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;ๅธธ่ง„ๆ“ไฝœ&#39;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> print_logo()</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> global</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> _BOT_INSTANCE</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> _BOT_INSTANCE</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> self</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;้…็ฝฎ&#39;</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> self</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] </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> kwargs</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;ๅˆๅง‹ๅŒ–&#39;</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.init(</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">**</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.config)</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> logger.info(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;Liteyuki is initializing...&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;็”Ÿๅ‘ฝๅ‘จๆœŸ็ฎก็†&#39;</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.lifespan </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> Lifespan()</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.process_manager: ProcessManager </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> ProcessManager(</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">lifespan</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.lifespan)</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;ไบ‹ไปถๅพช็Žฏ&#39;</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.loop </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> asyncio.new_event_loop()</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> asyncio.set_event_loop(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.loop)</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.stop_event </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> threading.Event()</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.call_restart_count </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> 0</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;ๅŠ ่ฝฝๆ’ไปถๅŠ ่ฝฝๅ™จ&#39;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> load_plugin(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;liteyuki.plugins.plugin_loader&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span></code></pre></div></details><h4 id="func-run-self" tabindex="-1"><em><strong>func</strong></em> <code>run(self)</code> <a class="header-anchor" href="#func-run-self" aria-label="Permalink to &quot;***func*** \`run(self)\`&quot;">โ€‹</a></h4><p><strong>Description</strong>: ๅค–้ƒจๅฏๅŠจๆŽฅๅฃ</p><details><summary><b>Source code</b> or <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/bot/__init__.py#L66" target="_blank">View on 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;"> run</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self):</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ๅค–้ƒจๅฏๅŠจๆŽฅๅฃ</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.process_manager.start_all()</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> try</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> asyncio.run(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">._run())</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> except</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> KeyboardInterrupt</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> logger.opt(</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">colors</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">True</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">).info(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;&lt;y&gt;Liteyuki is stopping...&lt;/y&gt;&#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;">.stop()</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> logger.opt(</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">colors</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">True</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">).info(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;&lt;y&gt;Liteyuki is stopped...&lt;/y&gt;&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span></code></pre></div></details><h4 id="async-func-keep-alive-self" tabindex="-1"><em><strong>async func</strong></em> <code>keep_alive(self)</code> <a class="header-anchor" href="#async-func-keep-alive-self" aria-label="Permalink to &quot;***async func*** \`keep_alive(self)\`&quot;">โ€‹</a></h4><p><strong>Description</strong>: ไฟๆŒ่ฝป้›ช่ฟ่กŒ</p><details><summary><b>Source code</b> or <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/bot/__init__.py#L78" target="_blank">View on 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;">async</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> def</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> keep_alive</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self):</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ไฟๆŒ่ฝป้›ช่ฟ่กŒ</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> logger.info(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;Liteyuki is keeping alive...&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> try</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> while</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> not</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.stop_event.is_set():</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> await</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> asyncio.sleep(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">0.1</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> except</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> Exception</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> logger.info(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;Liteyuki is exiting...&#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;">.stop()</span></span></code></pre></div></details><h4 id="func-restart-self-delay-int-0" tabindex="-1"><em><strong>func</strong></em> <code>restart(self, delay: int = 0)</code> <a class="header-anchor" href="#func-restart-self-delay-int-0" aria-label="Permalink to &quot;***func*** \`restart(self, delay: int = 0)\`&quot;">โ€‹</a></h4><p><strong>Description</strong>: ้‡ๅฏ่ฝป้›ชๆœฌไฝ“</p><p><strong>Arguments</strong>:</p><blockquote><ul><li>delay (<a href="https://docs.python.org/3/library/functions.html#int" target="_blank" rel="noreferrer"><code>int</code></a>, optional): ๅปถ่ฟŸ้‡ๅฏๆ—ถ้—ด. Defaults to 0.</li></ul></blockquote><details><summary><b>Source code</b> or <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/bot/__init__.py#L90" target="_blank">View on 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;"> restart</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self, delay: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">int</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">):</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ้‡ๅฏ่ฝป้›ชๆœฌไฝ“</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Args:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> delay ([\`int\`](https%3A//docs.python.org/3/library/functions.html#int), optional): ๅปถ่ฟŸ้‡ๅฏๆ—ถ้—ด. Defaults to 0.</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> if</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.call_restart_count </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">&lt;</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> 1</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> executable </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> sys.executable</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> args </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> sys.argv</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> logger.info(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;Restarting LiteyukiBot...&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> time.sleep(delay)</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> if</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> platform.system() </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">==</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;Windows&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> cmd </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;start&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> elif</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> platform.system() </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">==</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;Linux&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> cmd </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;nohup&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> elif</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> platform.system() </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">==</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;Darwin&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> cmd </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;open&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> else</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> cmd </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;nohup&#39;</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.process_manager.terminate_all()</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> threading.Thread(</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">target</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">os.system, </span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">args</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">f</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">{</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">cmd</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">}</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> {</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">executable</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">}</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> {</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39; &#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.join(args)</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">}</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,), </span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">daemon</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">True</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">).start()</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> sys.exit(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">0</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;">.call_restart_count </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">+=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> 1</span></span></code></pre></div></details><h4 id="func-restart-process-self-name-optional-str-none" tabindex="-1"><em><strong>func</strong></em> <code>restart_process(self, name: Optional[str] = None)</code> <a class="header-anchor" href="#func-restart-process-self-name-optional-str-none" aria-label="Permalink to &quot;***func*** \`restart_process(self, name: Optional[str] = None)\`&quot;">โ€‹</a></h4><p><strong>Description</strong>: ๅœๆญข่ฝป้›ช</p><p><strong>Arguments</strong>:</p><blockquote><ul><li>name (<a href="https://docs.python.org/3/library/typing.html#typing.Optional" target="_blank" rel="noreferrer"><code>Optional</code></a>[<a href="https://docs.python.org/3/library/stdtypes.html#str" target="_blank" rel="noreferrer"><code>str</code></a>]): ่ฟ›็จ‹ๅ. Defaults to None.</li></ul></blockquote><details><summary><b>Source code</b> or <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/bot/__init__.py#L115" target="_blank">View on 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;"> restart_process</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self, name: Optional[</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">str</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">]</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;">):</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ๅœๆญข่ฝป้›ช</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Args:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> name ([\`Optional\`](https%3A//docs.python.org/3/library/typing.html#typing.Optional)[[\`str\`](https%3A//docs.python.org/3/library/stdtypes.html#str)]): ่ฟ›็จ‹ๅ. Defaults to None.</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Returns:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> if</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> name </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:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> chan_active </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> get_channel(</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;">name</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">}</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">-active&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> chan_active.send(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">1</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> else</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;"> process_name </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">in</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.process_manager.processes:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> chan_active </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> get_channel(</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;">process_name</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">}</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">-active&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> chan_active.send(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">1</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span></code></pre></div></details><h4 id="func-init-self-args-kwargs" tabindex="-1"><em><strong>func</strong></em> <code>init(self, *args, **kwargs)</code> <a class="header-anchor" href="#func-init-self-args-kwargs" aria-label="Permalink to &quot;***func*** \`init(self, *args, **kwargs)\`&quot;">โ€‹</a></h4><p><strong>Description</strong>: ๅˆๅง‹ๅŒ–่ฝป้›ช, ่‡ชๅŠจ่ฐƒ็”จ</p><p><strong>Arguments</strong>:</p><blockquote><ul><li>*args: ๅ‚ๆ•ฐ</li><li>**kwargs: ๅ…ณ้”ฎๅญ—ๅ‚ๆ•ฐ</li></ul></blockquote><details><summary><b>Source code</b> or <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/bot/__init__.py#L130" target="_blank">View on 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;"> init</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self, </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">args, </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">**</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">kwargs):</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ๅˆๅง‹ๅŒ–่ฝป้›ช, ่‡ชๅŠจ่ฐƒ็”จ</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Args:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> *args: ๅ‚ๆ•ฐ</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> **kwargs: ๅ…ณ้”ฎๅญ—ๅ‚ๆ•ฐ</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.init_logger()</span></span></code></pre></div></details><h4 id="func-init-logger-self" tabindex="-1"><em><strong>func</strong></em> <code>init_logger(self)</code> <a class="header-anchor" href="#func-init-logger-self" aria-label="Permalink to &quot;***func*** \`init_logger(self)\`&quot;">โ€‹</a></h4><p><strong>Description</strong>: ๅˆๅง‹ๅŒ–ๆ—ฅๅฟ—</p><details><summary><b>Source code</b> or <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/bot/__init__.py#L139" target="_blank">View on 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;"> init_logger</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self):</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ๅˆๅง‹ๅŒ–ๆ—ฅๅฟ—</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> init_log(</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">config</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.config)</span></span></code></pre></div></details><h4 id="func-stop-self" tabindex="-1"><em><strong>func</strong></em> <code>stop(self)</code> <a class="header-anchor" href="#func-stop-self" aria-label="Permalink to &quot;***func*** \`stop(self)\`&quot;">โ€‹</a></h4><p><strong>Description</strong>: ๅœๆญข่ฝป้›ช</p><details><summary><b>Source code</b> or <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/bot/__init__.py#L145" target="_blank">View on 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;"> stop</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self):</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ๅœๆญข่ฝป้›ช</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.process_manager.terminate_all()</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.stop_event.set()</span></span></code></pre></div></details><h4 id="func-on-before-start-self-func-lifespan-func-lifespan-func" tabindex="-1"><em><strong>func</strong></em> <code>on_before_start(self, func: LIFESPAN_FUNC) -&gt; LIFESPAN_FUNC</code> <a class="header-anchor" href="#func-on-before-start-self-func-lifespan-func-lifespan-func" aria-label="Permalink to &quot;***func*** \`on_before_start(self, func: LIFESPAN_FUNC) -&gt; LIFESPAN_FUNC\`&quot;">โ€‹</a></h4><p><strong>Description</strong>: ๆณจๅ†ŒๅฏๅŠจๅ‰็š„ๅ‡ฝๆ•ฐ</p><p><strong>Arguments</strong>:</p><blockquote><ul><li>func (<a href="./lifespan.html#var-lifespan-func"><code>LIFESPAN_FUNC</code></a>): ็”Ÿๅ‘ฝๅ‘จๆœŸๅ‡ฝๆ•ฐ</li></ul></blockquote><p><strong>Return</strong>: <a href="./lifespan.html#var-lifespan-func"><code>LIFESPAN_FUNC</code></a>: ็”Ÿๅ‘ฝๅ‘จๆœŸๅ‡ฝๆ•ฐ</p><details><summary><b>Source code</b> or <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/bot/__init__.py#L152" target="_blank">View on 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;"> on_before_start</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self, func: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">LIFESPAN_FUNC</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) -&gt; </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">LIFESPAN_FUNC</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ๆณจๅ†ŒๅฏๅŠจๅ‰็š„ๅ‡ฝๆ•ฐ</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Args:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> func ([\`LIFESPAN_FUNC\`](./lifespan#var-lifespan-func)): ็”Ÿๅ‘ฝๅ‘จๆœŸๅ‡ฝๆ•ฐ</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Returns:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> [\`LIFESPAN_FUNC\`](./lifespan#var-lifespan-func): ็”Ÿๅ‘ฝๅ‘จๆœŸๅ‡ฝๆ•ฐ</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</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;">.lifespan.on_before_start(func)</span></span></code></pre></div></details><h4 id="func-on-after-start-self-func-lifespan-func" tabindex="-1"><em><strong>func</strong></em> <code>on_after_start(self, func: LIFESPAN_FUNC)</code> <a class="header-anchor" href="#func-on-after-start-self-func-lifespan-func" aria-label="Permalink to &quot;***func*** \`on_after_start(self, func: LIFESPAN_FUNC)\`&quot;">โ€‹</a></h4><p><strong>Description</strong>: ๆณจๅ†ŒๅฏๅŠจๅŽ็š„ๅ‡ฝๆ•ฐ</p><p><strong>Arguments</strong>:</p><blockquote><ul><li>func (<a href="./lifespan.html#var-lifespan-func"><code>LIFESPAN_FUNC</code></a>): ็”Ÿๅ‘ฝๅ‘จๆœŸๅ‡ฝๆ•ฐ</li></ul></blockquote><p><strong>Return</strong>: <a href="./lifespan.html#var-lifespan-func"><code>LIFESPAN_FUNC</code></a>: ็”Ÿๅ‘ฝๅ‘จๆœŸๅ‡ฝๆ•ฐ</p><details><summary><b>Source code</b> or <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/bot/__init__.py#L162" target="_blank">View on 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;"> on_after_start</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self, func: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">LIFESPAN_FUNC</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">):</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ๆณจๅ†ŒๅฏๅŠจๅŽ็š„ๅ‡ฝๆ•ฐ</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Args:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> func ([\`LIFESPAN_FUNC\`](./lifespan#var-lifespan-func)): ็”Ÿๅ‘ฝๅ‘จๆœŸๅ‡ฝๆ•ฐ</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Returns:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> [\`LIFESPAN_FUNC\`](./lifespan#var-lifespan-func): ็”Ÿๅ‘ฝๅ‘จๆœŸๅ‡ฝๆ•ฐ</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</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;">.lifespan.on_after_start(func)</span></span></code></pre></div></details><h4 id="func-on-after-shutdown-self-func-lifespan-func" tabindex="-1"><em><strong>func</strong></em> <code>on_after_shutdown(self, func: LIFESPAN_FUNC)</code> <a class="header-anchor" href="#func-on-after-shutdown-self-func-lifespan-func" aria-label="Permalink to &quot;***func*** \`on_after_shutdown(self, func: LIFESPAN_FUNC)\`&quot;">โ€‹</a></h4><p><strong>Description</strong>: ๆณจๅ†ŒๅœๆญขๅŽ็š„ๅ‡ฝๆ•ฐ๏ผšๆœชๅฎž็Žฐ</p><p><strong>Arguments</strong>:</p><blockquote><ul><li>func (<a href="./lifespan.html#var-lifespan-func"><code>LIFESPAN_FUNC</code></a>): ็”Ÿๅ‘ฝๅ‘จๆœŸๅ‡ฝๆ•ฐ</li></ul></blockquote><p><strong>Return</strong>: <a href="./lifespan.html#var-lifespan-func"><code>LIFESPAN_FUNC</code></a>: ็”Ÿๅ‘ฝๅ‘จๆœŸๅ‡ฝๆ•ฐ</p><details><summary><b>Source code</b> or <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/bot/__init__.py#L172" target="_blank">View on 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;"> on_after_shutdown</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self, func: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">LIFESPAN_FUNC</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">):</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ๆณจๅ†ŒๅœๆญขๅŽ็š„ๅ‡ฝๆ•ฐ๏ผšๆœชๅฎž็Žฐ</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Args:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> func ([\`LIFESPAN_FUNC\`](./lifespan#var-lifespan-func)): ็”Ÿๅ‘ฝๅ‘จๆœŸๅ‡ฝๆ•ฐ</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Returns:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> [\`LIFESPAN_FUNC\`](./lifespan#var-lifespan-func): ็”Ÿๅ‘ฝๅ‘จๆœŸๅ‡ฝๆ•ฐ</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</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;">.lifespan.on_after_shutdown(func)</span></span></code></pre></div></details><h4 id="func-on-before-process-shutdown-self-func-process-lifespan-func" tabindex="-1"><em><strong>func</strong></em> <code>on_before_process_shutdown(self, func: PROCESS_LIFESPAN_FUNC)</code> <a class="header-anchor" href="#func-on-before-process-shutdown-self-func-process-lifespan-func" aria-label="Permalink to &quot;***func*** \`on_before_process_shutdown(self, func: PROCESS_LIFESPAN_FUNC)\`&quot;">โ€‹</a></h4><p><strong>Description</strong>: ๆณจๅ†Œ่ฟ›็จ‹ๅœๆญขๅ‰็š„ๅ‡ฝๆ•ฐ๏ผŒไธบๅญ่ฟ›็จ‹ๅœๆญขๆ—ถ่ฐƒ็”จ</p><p><strong>Arguments</strong>:</p><blockquote><ul><li>func (<a href="./lifespan.html#var-process-lifespan-func"><code>PROCESS_LIFESPAN_FUNC</code></a>): ็”Ÿๅ‘ฝๅ‘จๆœŸๅ‡ฝๆ•ฐ</li></ul></blockquote><p><strong>Return</strong>: <a href="./lifespan.html#var-process-lifespan-func"><code>PROCESS_LIFESPAN_FUNC</code></a>: ็”Ÿๅ‘ฝๅ‘จๆœŸๅ‡ฝๆ•ฐ</p><details><summary><b>Source code</b> or <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/bot/__init__.py#L182" target="_blank">View on 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;"> on_before_process_shutdown</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self, func: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">PROCESS_LIFESPAN_FUNC</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">):</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ๆณจๅ†Œ่ฟ›็จ‹ๅœๆญขๅ‰็š„ๅ‡ฝๆ•ฐ๏ผŒไธบๅญ่ฟ›็จ‹ๅœๆญขๆ—ถ่ฐƒ็”จ</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Args:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> func ([\`PROCESS_LIFESPAN_FUNC\`](./lifespan#var-process-lifespan-func)): ็”Ÿๅ‘ฝๅ‘จๆœŸๅ‡ฝๆ•ฐ</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Returns:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> [\`PROCESS_LIFESPAN_FUNC\`](./lifespan#var-process-lifespan-func): ็”Ÿๅ‘ฝๅ‘จๆœŸๅ‡ฝๆ•ฐ</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</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;">.lifespan.on_before_process_shutdown(func)</span></span></code></pre></div></details><h4 id="func-on-before-process-restart-self-func-process-lifespan-func-process-lifespan-func" tabindex="-1"><em><strong>func</strong></em> <code>on_before_process_restart(self, func: PROCESS_LIFESPAN_FUNC) -&gt; PROCESS_LIFESPAN_FUNC</code> <a class="header-anchor" href="#func-on-before-process-restart-self-func-process-lifespan-func-process-lifespan-func" aria-label="Permalink to &quot;***func*** \`on_before_process_restart(self, func: PROCESS_LIFESPAN_FUNC) -&gt; PROCESS_LIFESPAN_FUNC\`&quot;">โ€‹</a></h4><p><strong>Description</strong>: ๆณจๅ†Œ่ฟ›็จ‹้‡ๅฏๅ‰็š„ๅ‡ฝๆ•ฐ๏ผŒไธบๅญ่ฟ›็จ‹้‡ๅฏๆ—ถ่ฐƒ็”จ</p><p><strong>Arguments</strong>:</p><blockquote><ul><li>func (<a href="./lifespan.html#var-process-lifespan-func"><code>PROCESS_LIFESPAN_FUNC</code></a>): ็”Ÿๅ‘ฝๅ‘จๆœŸๅ‡ฝๆ•ฐ</li></ul></blockquote><p><strong>Return</strong>: <a href="./lifespan.html#var-process-lifespan-func"><code>PROCESS_LIFESPAN_FUNC</code></a>: ็”Ÿๅ‘ฝๅ‘จๆœŸๅ‡ฝๆ•ฐ</p><details><summary><b>Source code</b> or <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/bot/__init__.py#L192" target="_blank">View on 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;"> on_before_process_restart</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self, func: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">PROCESS_LIFESPAN_FUNC</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) -&gt; </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">PROCESS_LIFESPAN_FUNC</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ๆณจๅ†Œ่ฟ›็จ‹้‡ๅฏๅ‰็š„ๅ‡ฝๆ•ฐ๏ผŒไธบๅญ่ฟ›็จ‹้‡ๅฏๆ—ถ่ฐƒ็”จ</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Args:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> func ([\`PROCESS_LIFESPAN_FUNC\`](./lifespan#var-process-lifespan-func)): ็”Ÿๅ‘ฝๅ‘จๆœŸๅ‡ฝๆ•ฐ</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Returns:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> [\`PROCESS_LIFESPAN_FUNC\`](./lifespan#var-process-lifespan-func): ็”Ÿๅ‘ฝๅ‘จๆœŸๅ‡ฝๆ•ฐ</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</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;">.lifespan.on_before_process_restart(func)</span></span></code></pre></div></details><h4 id="func-on-after-restart-self-func-lifespan-func" tabindex="-1"><em><strong>func</strong></em> <code>on_after_restart(self, func: LIFESPAN_FUNC)</code> <a class="header-anchor" href="#func-on-after-restart-self-func-lifespan-func" aria-label="Permalink to &quot;***func*** \`on_after_restart(self, func: LIFESPAN_FUNC)\`&quot;">โ€‹</a></h4><p><strong>Description</strong>: ๆณจๅ†Œ้‡ๅฏๅŽ็š„ๅ‡ฝๆ•ฐ๏ผšๆœชๅฎž็Žฐ</p><p><strong>Arguments</strong>:</p><blockquote><ul><li>func (<a href="./lifespan.html#var-lifespan-func"><code>LIFESPAN_FUNC</code></a>): ็”Ÿๅ‘ฝๅ‘จๆœŸๅ‡ฝๆ•ฐ</li></ul></blockquote><p><strong>Return</strong>: <a href="./lifespan.html#var-lifespan-func"><code>LIFESPAN_FUNC</code></a>: ็”Ÿๅ‘ฝๅ‘จๆœŸๅ‡ฝๆ•ฐ</p><details><summary><b>Source code</b> or <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/bot/__init__.py#L203" target="_blank">View on 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;"> on_after_restart</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self, func: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">LIFESPAN_FUNC</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">):</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ๆณจๅ†Œ้‡ๅฏๅŽ็š„ๅ‡ฝๆ•ฐ๏ผšๆœชๅฎž็Žฐ</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Args:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> func ([\`LIFESPAN_FUNC\`](./lifespan#var-lifespan-func)): ็”Ÿๅ‘ฝๅ‘จๆœŸๅ‡ฝๆ•ฐ</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Returns:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> [\`LIFESPAN_FUNC\`](./lifespan#var-lifespan-func): ็”Ÿๅ‘ฝๅ‘จๆœŸๅ‡ฝๆ•ฐ</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</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;">.lifespan.on_after_restart(func)</span></span></code></pre></div></details><h3 id="func-get-bot-liteyukibot" tabindex="-1"><em><strong>func</strong></em> <code>get_bot() -&gt; LiteyukiBot</code> <a class="header-anchor" href="#func-get-bot-liteyukibot" aria-label="Permalink to &quot;***func*** \`get_bot() -&gt; LiteyukiBot\`&quot;">โ€‹</a></h3><p><strong>Description</strong>: ่Žทๅ–่ฝป้›ชๅฎžไพ‹</p><p><strong>Return</strong>: <a href="#class-liteyukibot"><code>LiteyukiBot</code></a>: ่ฝป้›ชๅฎžไพ‹</p><details><summary><b>Source code</b> or <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/bot/__init__.py#L217" target="_blank">View on 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_bot</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">() -&gt; LiteyukiBot:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ่Žทๅ–่ฝป้›ชๅฎžไพ‹</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Returns:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> [\`LiteyukiBot\`](#class-liteyukibot): ่ฝป้›ชๅฎžไพ‹</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> if</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> IS_MAIN_PROCESS</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:#005CC5;--shiki-dark:#79B8FF;"> _BOT_INSTANCE</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> is</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> None</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> raise</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> RuntimeError</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;Liteyuki instance not initialized.&#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:#005CC5;--shiki-dark:#79B8FF;"> _BOT_INSTANCE</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> else</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> raise</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> RuntimeError</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;Can&#39;t get bot instance in sub process.&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span></code></pre></div></details><h3 id="func-get-config-key-str-default-any-none-any" tabindex="-1"><em><strong>func</strong></em> <code>get_config(key: str, default: Any = None) -&gt; Any</code> <a class="header-anchor" href="#func-get-config-key-str-default-any-none-any" aria-label="Permalink to &quot;***func*** \`get_config(key: str, default: Any = None) -&gt; Any\`&quot;">โ€‹</a></h3><p><strong>Description</strong>: ่Žทๅ–้…็ฝฎ</p><p><strong>Arguments</strong>:</p><blockquote><ul><li>key (<a href="https://docs.python.org/3/library/stdtypes.html#str" target="_blank" rel="noreferrer"><code>str</code></a>): ้…็ฝฎ้”ฎ</li><li>default (<a href="https://docs.python.org/3/library/functions.html#any" target="_blank" rel="noreferrer"><code>Any</code></a>, optional): ้ป˜่ฎคๅ€ผ. Defaults to None.</li></ul></blockquote><p><strong>Return</strong>: <a href="https://docs.python.org/3/library/functions.html#any" target="_blank" rel="noreferrer"><code>Any</code></a>: ้…็ฝฎๅ€ผ</p><details><summary><b>Source code</b> or <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/bot/__init__.py#L232" target="_blank">View on 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_config</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(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:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ่Žทๅ–้…็ฝฎ</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Args:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> key ([\`str\`](https%3A//docs.python.org/3/library/stdtypes.html#str)): ้…็ฝฎ้”ฎ</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> default ([\`Any\`](https%3A//docs.python.org/3/library/functions.html#any), optional): ้ป˜่ฎคๅ€ผ. Defaults to None.</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Returns:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> [\`Any\`](https%3A//docs.python.org/3/library/functions.html#any): ้…็ฝฎๅ€ผ</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> get_bot().config.get(key, default)</span></span></code></pre></div></details><h3 id="func-get-config-with-compat-key-str-compat-keys-tuple-str-default-any-none-any" tabindex="-1"><em><strong>func</strong></em> <code>get_config_with_compat(key: str, compat_keys: tuple[str], default: Any = None) -&gt; Any</code> <a class="header-anchor" href="#func-get-config-with-compat-key-str-compat-keys-tuple-str-default-any-none-any" aria-label="Permalink to &quot;***func*** \`get_config_with_compat(key: str, compat_keys: tuple[str], default: Any = None) -&gt; Any\`&quot;">โ€‹</a></h3><p><strong>Description</strong>: ่Žทๅ–้…็ฝฎ๏ผŒๅ…ผๅฎนๆ—ง็‰ˆๆœฌ</p><p><strong>Arguments</strong>:</p><blockquote><ul><li>key (<a href="https://docs.python.org/3/library/stdtypes.html#str" target="_blank" rel="noreferrer"><code>str</code></a>): ้…็ฝฎ้”ฎ</li><li>compat_keys (<a href="https://docs.python.org/3/library/stdtypes.html#tuple" target="_blank" rel="noreferrer"><code>tuple</code></a><a href="https://docs.python.org/3/library/stdtypes.html#str" target="_blank" rel="noreferrer"><code>str</code></a>): ๅ…ผๅฎน้”ฎ</li><li>default (<a href="https://docs.python.org/3/library/functions.html#any" target="_blank" rel="noreferrer"><code>Any</code></a>, optional): ้ป˜่ฎคๅ€ผ. Defaults to None.</li></ul></blockquote><p><strong>Return</strong>: <a href="https://docs.python.org/3/library/functions.html#any" target="_blank" rel="noreferrer"><code>Any</code></a>: ้…็ฝฎๅ€ผ</p><details><summary><b>Source code</b> or <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/bot/__init__.py#L244" target="_blank">View on 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_config_with_compat</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(key: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">str</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, compat_keys: tuple[</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:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ่Žทๅ–้…็ฝฎ๏ผŒๅ…ผๅฎนๆ—ง็‰ˆๆœฌ</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Args:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> key ([\`str\`](https%3A//docs.python.org/3/library/stdtypes.html#str)): ้…็ฝฎ้”ฎ</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> compat_keys ([\`tuple\`](https%3A//docs.python.org/3/library/stdtypes.html#tuple)[\`str\`](https%3A//docs.python.org/3/library/stdtypes.html#str)): ๅ…ผๅฎน้”ฎ</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> default ([\`Any\`](https%3A//docs.python.org/3/library/functions.html#any), optional): ้ป˜่ฎคๅ€ผ. Defaults to None.</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Returns:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> [\`Any\`](https%3A//docs.python.org/3/library/functions.html#any): ้…็ฝฎๅ€ผ</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> if</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> key </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">in</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> get_bot().config:</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> get_bot().config[key]</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> for</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> compat_key </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">in</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> compat_keys:</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> if</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> compat_key </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">in</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> get_bot().config:</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 key &quot;</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">{</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">compat_key</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">}</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot; will be deprecated, use &quot;</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;">&quot; instead.&#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;"> get_bot().config[compat_key]</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> default</span></span></code></pre></div></details>`,86),l=[e];function p(h,k,r,o,d,g){return a(),i("div",null,l)}const y=s(t,[["render",p]]);export{E as __pageData,y as default};

View File

@ -1 +0,0 @@
import{_ as s,c as i,o as a,a9 as n}from"./chunks/framework.C4_mTacX.js";const E=JSON.parse('{"title":"liteyuki.bot","description":"","frontmatter":{"title":"liteyuki.bot","collapsed":true},"headers":[],"relativePath":"en/dev/api/bot/bot.md","filePath":"en/dev/api/bot/bot.md","lastUpdated":null}'),t={name:"en/dev/api/bot/bot.md"},e=n("",86),l=[e];function p(h,k,r,o,d,g){return a(),i("div",null,l)}const y=s(t,[["render",p]]);export{E as __pageData,y as default};

View File

@ -1 +0,0 @@
import{_ as t,c as a,o,j as e,a as c}from"./chunks/framework.C4_mTacX.js";const k=JSON.parse('{"title":"liteyuki.comm","description":"","frontmatter":{"title":"liteyuki.comm","collapsed":true},"headers":[],"relativePath":"en/dev/api/comm/comm.md","filePath":"en/dev/api/comm/comm.md","lastUpdated":null}'),m={name:"en/dev/api/comm/comm.md"},i=e("h1",{id:"liteyuki-comm",tabindex:"-1"},[c("liteyuki.comm "),e("a",{class:"header-anchor",href:"#liteyuki-comm","aria-label":'Permalink to "liteyuki.comm"'},"โ€‹")],-1),n=e("p",null,"่ฏฅๆจกๅ—็”จไบŽ่ฝป้›ชไธป่ฟ›็จ‹ๅ’ŒNonebotๅญ่ฟ›็จ‹ไน‹้—ด็š„้€šไฟก ไพ่ต–ๅ…ณ็ณป event -> _ storage -> channel_ rpc -> channel_, storage",-1),s=[i,n];function l(r,d,_,p,u,h){return o(),a("div",null,s)}const v=t(m,[["render",l]]);export{k as __pageData,v as default};

View File

@ -1 +0,0 @@
import{_ as t,c as a,o,j as e,a as c}from"./chunks/framework.C4_mTacX.js";const k=JSON.parse('{"title":"liteyuki.comm","description":"","frontmatter":{"title":"liteyuki.comm","collapsed":true},"headers":[],"relativePath":"en/dev/api/comm/comm.md","filePath":"en/dev/api/comm/comm.md","lastUpdated":null}'),m={name:"en/dev/api/comm/comm.md"},i=e("h1",{id:"liteyuki-comm",tabindex:"-1"},[c("liteyuki.comm "),e("a",{class:"header-anchor",href:"#liteyuki-comm","aria-label":'Permalink to "liteyuki.comm"'},"โ€‹")],-1),n=e("p",null,"่ฏฅๆจกๅ—็”จไบŽ่ฝป้›ชไธป่ฟ›็จ‹ๅ’ŒNonebotๅญ่ฟ›็จ‹ไน‹้—ด็š„้€šไฟก ไพ่ต–ๅ…ณ็ณป event -> _ storage -> channel_ rpc -> channel_, storage",-1),s=[i,n];function l(r,d,_,p,u,h){return o(),a("div",null,s)}const v=t(m,[["render",l]]);export{k as __pageData,v as default};

View File

@ -1 +0,0 @@
import{_ as t,c as a,o,j as e,a as r}from"./chunks/framework.C4_mTacX.js";const f=JSON.parse('{"title":"liteyuki.core","description":"","frontmatter":{"title":"liteyuki.core","collapsed":true},"headers":[],"relativePath":"en/dev/api/core/core.md","filePath":"en/dev/api/core/core.md","lastUpdated":null}'),c={name:"en/dev/api/core/core.md"},i=e("h1",{id:"liteyuki-core",tabindex:"-1"},[r("liteyuki.core "),e("a",{class:"header-anchor",href:"#liteyuki-core","aria-label":'Permalink to "liteyuki.core"'},"โ€‹")],-1),s=[i];function l(n,d,p,_,u,h){return o(),a("div",null,s)}const k=t(c,[["render",l]]);export{f as __pageData,k as default};

View File

@ -1 +0,0 @@
import{_ as t,c as a,o,j as e,a as r}from"./chunks/framework.C4_mTacX.js";const f=JSON.parse('{"title":"liteyuki.core","description":"","frontmatter":{"title":"liteyuki.core","collapsed":true},"headers":[],"relativePath":"en/dev/api/core/core.md","filePath":"en/dev/api/core/core.md","lastUpdated":null}'),c={name:"en/dev/api/core/core.md"},i=e("h1",{id:"liteyuki-core",tabindex:"-1"},[r("liteyuki.core "),e("a",{class:"header-anchor",href:"#liteyuki-core","aria-label":'Permalink to "liteyuki.core"'},"โ€‹")],-1),s=[i];function l(n,d,p,_,u,h){return o(),a("div",null,s)}const k=t(c,[["render",l]]);export{f as __pageData,k as default};

View File

@ -1 +0,0 @@
import{_ as t,c as a,o as d,j as e,a as i}from"./chunks/framework.C4_mTacX.js";const f=JSON.parse('{"title":"liteyuki.dev","description":"","frontmatter":{"title":"liteyuki.dev","collapsed":true},"headers":[],"relativePath":"en/dev/api/dev/dev.md","filePath":"en/dev/api/dev/dev.md","lastUpdated":null}'),s={name:"en/dev/api/dev/dev.md"},o=e("h1",{id:"liteyuki-dev",tabindex:"-1"},[i("liteyuki.dev "),e("a",{class:"header-anchor",href:"#liteyuki-dev","aria-label":'Permalink to "liteyuki.dev"'},"โ€‹")],-1),l=e("p",null,"่ฏฅๆจกๅ—็”จไบŽๅญ˜ๆ”พไธ€ไบ›ๅผ€ๅ‘ๅทฅๅ…ท",-1),n=[o,l];function r(c,v,p,_,u,h){return d(),a("div",null,n)}const k=t(s,[["render",r]]);export{f as __pageData,k as default};

View File

@ -1 +0,0 @@
import{_ as t,c as a,o as d,j as e,a as i}from"./chunks/framework.C4_mTacX.js";const f=JSON.parse('{"title":"liteyuki.dev","description":"","frontmatter":{"title":"liteyuki.dev","collapsed":true},"headers":[],"relativePath":"en/dev/api/dev/dev.md","filePath":"en/dev/api/dev/dev.md","lastUpdated":null}'),s={name:"en/dev/api/dev/dev.md"},o=e("h1",{id:"liteyuki-dev",tabindex:"-1"},[i("liteyuki.dev "),e("a",{class:"header-anchor",href:"#liteyuki-dev","aria-label":'Permalink to "liteyuki.dev"'},"โ€‹")],-1),l=e("p",null,"่ฏฅๆจกๅ—็”จไบŽๅญ˜ๆ”พไธ€ไบ›ๅผ€ๅ‘ๅทฅๅ…ท",-1),n=[o,l];function r(c,v,p,_,u,h){return d(),a("div",null,n)}const k=t(s,[["render",r]]);export{f as __pageData,k as default};

View File

@ -1 +0,0 @@
import{_ as s,c as t,o as i,j as e,a}from"./chunks/framework.C4_mTacX.js";const y=JSON.parse('{"title":"liteyuki.message","description":"","frontmatter":{"title":"liteyuki.message","collapsed":true},"headers":[],"relativePath":"en/dev/api/message/message.md","filePath":"en/dev/api/message/message.md","lastUpdated":null}'),o={name:"en/dev/api/message/message.md"},l=e("h1",{id:"liteyuki-message",tabindex:"-1"},[a("liteyuki.message "),e("a",{class:"header-anchor",href:"#liteyuki-message","aria-label":'Permalink to "liteyuki.message"'},"โ€‹")],-1),r=e("p",null,"Copyright (C) 2020-2024 LiteyukiStudio. All Rights Reserved",-1),n=e("p",null,[a("@Time : 2024/8/19 ไธ‹ๅˆ10:44 @Author : snowykami @Email : "),e("a",{href:"mailto:snowykami@outlook.com",target:"_blank",rel:"noreferrer"},"snowykami@outlook.com"),a(" @File : "),e("strong",null,"init"),a(".py.py @Software: PyCharm")],-1),m=[l,r,n];function d(c,p,u,_,g,h){return i(),t("div",null,m)}const f=s(o,[["render",d]]);export{y as __pageData,f as default};

View File

@ -1 +0,0 @@
import{_ as s,c as t,o as i,j as e,a}from"./chunks/framework.C4_mTacX.js";const y=JSON.parse('{"title":"liteyuki.message","description":"","frontmatter":{"title":"liteyuki.message","collapsed":true},"headers":[],"relativePath":"en/dev/api/message/message.md","filePath":"en/dev/api/message/message.md","lastUpdated":null}'),o={name:"en/dev/api/message/message.md"},l=e("h1",{id:"liteyuki-message",tabindex:"-1"},[a("liteyuki.message "),e("a",{class:"header-anchor",href:"#liteyuki-message","aria-label":'Permalink to "liteyuki.message"'},"โ€‹")],-1),r=e("p",null,"Copyright (C) 2020-2024 LiteyukiStudio. All Rights Reserved",-1),n=e("p",null,[a("@Time : 2024/8/19 ไธ‹ๅˆ10:44 @Author : snowykami @Email : "),e("a",{href:"mailto:snowykami@outlook.com",target:"_blank",rel:"noreferrer"},"snowykami@outlook.com"),a(" @File : "),e("strong",null,"init"),a(".py.py @Software: PyCharm")],-1),m=[l,r,n];function d(c,p,u,_,g,h){return i(),t("div",null,m)}const f=s(o,[["render",d]]);export{y as __pageData,f as default};

View File

@ -1,7 +0,0 @@
import{_ as i,c as s,o as t,a9 as a}from"./chunks/framework.C4_mTacX.js";const k=JSON.parse('{"title":"liteyuki.plugin","description":"","frontmatter":{"title":"liteyuki.plugin","collapsed":true},"headers":[],"relativePath":"en/dev/api/plugin/plugin.md","filePath":"en/dev/api/plugin/plugin.md","lastUpdated":null}'),n={name:"en/dev/api/plugin/plugin.md"},e=a(`<h1 id="liteyuki-plugin" tabindex="-1">liteyuki.plugin <a class="header-anchor" href="#liteyuki-plugin" aria-label="Permalink to &quot;liteyuki.plugin&quot;">โ€‹</a></h1><h3 id="func-get-loaded-plugins-dict-str-plugin" tabindex="-1"><em><strong>func</strong></em> <code>get_loaded_plugins() -&gt; dict[str, Plugin]</code> <a class="header-anchor" href="#func-get-loaded-plugins-dict-str-plugin" aria-label="Permalink to &quot;***func*** \`get_loaded_plugins() -&gt; dict[str, Plugin]\`&quot;">โ€‹</a></h3><p><strong>Description</strong>: ่Žทๅ–ๅทฒๅŠ ่ฝฝ็š„ๆ’ไปถ</p><p><strong>Return</strong>: dict[str, Plugin]: ๆ’ไปถๅญ—ๅ…ธ</p><details><summary><b>Source code</b> or <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/plugin/__init__.py#L13" target="_blank">View on 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_loaded_plugins</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;">, Plugin]:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ่Žทๅ–ๅทฒๅŠ ่ฝฝ็š„ๆ’ไปถ</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Returns:</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> dict[str, Plugin]: ๆ’ไปถๅญ—ๅ…ธ</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> _plugins</span></span></code></pre></div></details>`,5),l=[e];function p(u,d,r,o,h,g){return t(),s("div",null,l)}const _=i(n,[["render",p]]);export{k as __pageData,_ as default};

View File

@ -1 +0,0 @@
import{_ as i,c as s,o as t,a9 as a}from"./chunks/framework.C4_mTacX.js";const k=JSON.parse('{"title":"liteyuki.plugin","description":"","frontmatter":{"title":"liteyuki.plugin","collapsed":true},"headers":[],"relativePath":"en/dev/api/plugin/plugin.md","filePath":"en/dev/api/plugin/plugin.md","lastUpdated":null}'),n={name:"en/dev/api/plugin/plugin.md"},e=a("",5),l=[e];function p(u,d,r,o,h,g){return t(),s("div",null,l)}const _=i(n,[["render",p]]);export{k as __pageData,_ as default};

View File

@ -1,8 +0,0 @@
import{_ as i,c as s,o as a,a9 as l}from"./chunks/framework.C4_mTacX.js";const _=JSON.parse('{"title":"liteyuki.plugins.plugin_loader","description":"","frontmatter":{"title":"liteyuki.plugins.plugin_loader","collapsed":true},"headers":[],"relativePath":"en/dev/api/plugins/plugin_loader/plugin_loader.md","filePath":"en/dev/api/plugins/plugin_loader/plugin_loader.md","lastUpdated":null}'),n={name:"en/dev/api/plugins/plugin_loader/plugin_loader.md"},e=l(`<h1 id="liteyuki-plugins-plugin-loader" tabindex="-1">liteyuki.plugins.plugin_loader <a class="header-anchor" href="#liteyuki-plugins-plugin-loader" aria-label="Permalink to &quot;liteyuki.plugins.plugin_loader&quot;">โ€‹</a></h1><p>Copyright (C) 2020-2024 LiteyukiStudio. All Rights Reserved</p><p>@Time : 2024/8/11 ไธ‹ๅˆ10:02 @Author : snowykami @Email : <a href="mailto:snowykami@outlook.com" target="_blank" rel="noreferrer">snowykami@outlook.com</a> @File : <strong>init</strong>.py.py @Software: PyCharm</p><h3 id="func-default-plugins-loader" tabindex="-1"><em><strong>func</strong></em> <code>default_plugins_loader()</code> <a class="header-anchor" href="#func-default-plugins-loader" aria-label="Permalink to &quot;***func*** \`default_plugins_loader()\`&quot;">โ€‹</a></h3><p><strong>Description</strong>: ้ป˜่ฎคๆ’ไปถๅŠ ่ฝฝๅ™จ๏ผŒๅบ”ๅœจๅˆๅง‹ๅŒ–ๆ—ถ่ฐƒ็”จ</p><details><summary><b>Source code</b> or <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/plugins/plugin_loader/__init__.py#L21" target="_blank">View on 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;"> default_plugins_loader</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">():</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ้ป˜่ฎคๆ’ไปถๅŠ ่ฝฝๅ™จ๏ผŒๅบ”ๅœจๅˆๅง‹ๅŒ–ๆ—ถ่ฐƒ็”จ</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;&quot;&quot;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> for</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> plugin </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">in</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> get_config(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;liteyuki.plugins&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, []):</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> load_plugin(plugin)</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> for</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> plugin_dir </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">in</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> get_config(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;liteyuki.plugin_dirs&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, [</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;src/liteyuki_plugins&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">]):</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> load_plugins(plugin_dir)</span></span></code></pre></div></details>`,6),t=[e];function p(r,o,h,d,k,u){return a(),s("div",null,t)}const c=i(n,[["render",p]]);export{_ as __pageData,c as default};

View File

@ -1 +0,0 @@
import{_ as i,c as s,o as a,a9 as l}from"./chunks/framework.C4_mTacX.js";const _=JSON.parse('{"title":"liteyuki.plugins.plugin_loader","description":"","frontmatter":{"title":"liteyuki.plugins.plugin_loader","collapsed":true},"headers":[],"relativePath":"en/dev/api/plugins/plugin_loader/plugin_loader.md","filePath":"en/dev/api/plugins/plugin_loader/plugin_loader.md","lastUpdated":null}'),n={name:"en/dev/api/plugins/plugin_loader/plugin_loader.md"},e=l("",6),t=[e];function p(r,o,h,d,k,u){return a(),s("div",null,t)}const c=i(n,[["render",p]]);export{_ as __pageData,c as default};

View File

@ -1 +0,0 @@
import{_ as i,c as t,o as s,j as e,a as l}from"./chunks/framework.C4_mTacX.js";const f=JSON.parse('{"title":"liteyuki.plugins","description":"","frontmatter":{"title":"liteyuki.plugins","collapsed":true},"headers":[],"relativePath":"en/dev/api/plugins/plugins.md","filePath":"en/dev/api/plugins/plugins.md","lastUpdated":null}'),n={name:"en/dev/api/plugins/plugins.md"},a=e("h1",{id:"liteyuki-plugins",tabindex:"-1"},[l("liteyuki.plugins "),e("a",{class:"header-anchor",href:"#liteyuki-plugins","aria-label":'Permalink to "liteyuki.plugins"'},"โ€‹")],-1),u=e("p",null,"ๆญคๆจกๅ—ไธบๅ†…็ฝฎๆ’ไปถๆ–‡ไปถๅคน๏ผŒ็”จไบŽๅญ˜ๆ”พๅ†…็ฝฎๆ’ไปถใ€‚ This module is the built-in plugin folder, used to store built-in plugins.",-1),o=[a,u];function p(r,d,c,_,g,h){return s(),t("div",null,o)}const k=i(n,[["render",p]]);export{f as __pageData,k as default};

View File

@ -1 +0,0 @@
import{_ as i,c as t,o as s,j as e,a as l}from"./chunks/framework.C4_mTacX.js";const f=JSON.parse('{"title":"liteyuki.plugins","description":"","frontmatter":{"title":"liteyuki.plugins","collapsed":true},"headers":[],"relativePath":"en/dev/api/plugins/plugins.md","filePath":"en/dev/api/plugins/plugins.md","lastUpdated":null}'),n={name:"en/dev/api/plugins/plugins.md"},a=e("h1",{id:"liteyuki-plugins",tabindex:"-1"},[l("liteyuki.plugins "),e("a",{class:"header-anchor",href:"#liteyuki-plugins","aria-label":'Permalink to "liteyuki.plugins"'},"โ€‹")],-1),u=e("p",null,"ๆญคๆจกๅ—ไธบๅ†…็ฝฎๆ’ไปถๆ–‡ไปถๅคน๏ผŒ็”จไบŽๅญ˜ๆ”พๅ†…็ฝฎๆ’ไปถใ€‚ This module is the built-in plugin folder, used to store built-in plugins.",-1),o=[a,u];function p(r,d,c,_,g,h){return s(),t("div",null,o)}const k=i(n,[["render",p]]);export{f as __pageData,k as default};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Some files were not shown because too many files have changed in this diff Show More