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

This commit is contained in:
2024-09-01 03:05:47 +00:00
parent ac09d6d7f8
commit 2054b1de73
125 changed files with 491 additions and 499 deletions

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{t as p}from"./chunks/theme.DMsbUqIP.js";import{U as o,a8 as u,a9 as l,aa as c,ab as f,ac as d,ad as m,ae as h,af as g,ag as A,ah as y,d as P,u as v,y as C,x as b,ai as w,aj as E,ak as R,al as S}from"./chunks/framework.BZiUP1E-.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 C(()=>{b(()=>{document.documentElement.lang=a.value,document.documentElement.dir=t.value})}),e.value.router.prefetchLinks&&w(),E(),R(),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{t as p}from"./chunks/theme.C9vwXBrT.js";import{U as o,a8 as u,a9 as l,aa as c,ab as f,ac as d,ad as m,ae as h,af as g,ag as A,ah as y,d as P,u as v,y as C,x as b,ai as w,aj as E,ak as R,al as S}from"./chunks/framework.BZiUP1E-.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 C(()=>{b(()=>{document.documentElement.lang=a.value,document.documentElement.dir=t.value})}),e.value.router.prefetchLinks&&w(),E(),R(),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

@ -88,7 +88,7 @@ import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.BZiUP1E-.js";const o
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">._on_sub_receive_func_ids.append(_func_id)</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> _func_id </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">+=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> 1</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> func</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> decorator</span></span></code></pre></div></details><h3 id="var-active-channel" tabindex="-1">var <code>active_channel</code> <a class="header-anchor" href="#var-active-channel" aria-label="Permalink to &quot;var \`active_channel\`&quot;">โ€‹</a></h3><ul><li><p><strong>่ฏดๆ˜Ž</strong>: ๅญ่ฟ›็จ‹ๅฏ็”จ็š„ไธปๅŠจๅ’Œ่ขซๅŠจ้€š้“</p></li><li><p><strong>็ฑปๅž‹</strong>: <code>Channel</code></p></li><li><p><strong>้ป˜่ฎคๅ€ผ</strong>: <code>Channel(name=&#39;active_channel&#39;)</code></p></li></ul><h3 id="var-passive-channel" tabindex="-1">var <code>passive_channel</code> <a class="header-anchor" href="#var-passive-channel" aria-label="Permalink to &quot;var \`passive_channel\`&quot;">โ€‹</a></h3><ul><li><p><strong>่ฏดๆ˜Ž</strong>: ่ขซๅŠจ้€š้“</p></li><li><p><strong>็ฑปๅž‹</strong>: <code>Channel</code></p></li><li><p><strong>้ป˜่ฎคๅ€ผ</strong>: <code>Channel(name=&#39;passive_channel&#39;)</code></p></li></ul><h3 id="var-publish-channel" tabindex="-1">var <code>publish_channel</code> <a class="header-anchor" href="#var-publish-channel" aria-label="Permalink to &quot;var \`publish_channel\`&quot;">โ€‹</a></h3><ul><li><p><strong>่ฏดๆ˜Ž</strong>: ้€š้“ไผ ้€’้€š้“๏ผŒไธป่ฟ›็จ‹ๅˆ›ๅปบๅ•ไพ‹๏ผŒๅญ่ฟ›็จ‹ๅˆๅง‹ๅŒ–ๆ—ถๅฎžไพ‹ๅŒ–</p></li><li><p><strong>็ฑปๅž‹</strong>: <code>Channel[tuple[str, dict[str, Any]]]</code></p></li><li><p><strong>้ป˜่ฎคๅ€ผ</strong>: <code>Channel(name=&#39;publish_channel&#39;)</code></p></li></ul><h3 id="var-channel-deliver-active-channel" tabindex="-1">var <code>channel_deliver_active_channel</code> <a class="header-anchor" href="#var-channel-deliver-active-channel" aria-label="Permalink to &quot;var \`channel_deliver_active_channel\`&quot;">โ€‹</a></h3><ul><li><p><strong>่ฏดๆ˜Ž</strong>: ้€š้“ไผ ้€’้€š้“๏ผŒไธป่ฟ›็จ‹ๅˆ›ๅปบๅ•ไพ‹๏ผŒๅญ่ฟ›็จ‹ๅˆๅง‹ๅŒ–ๆ—ถๅฎžไพ‹ๅŒ–</p></li><li><p><strong>็ฑปๅž‹</strong>: <code>Channel[Channel[Any]]</code></p></li><li><p><strong>้ป˜่ฎคๅ€ผ</strong>: <code>NO_DEFAULT</code></p></li></ul><h3 id="var-channel-deliver-passive-channel" tabindex="-1">var <code>channel_deliver_passive_channel</code> <a class="header-anchor" href="#var-channel-deliver-passive-channel" aria-label="Permalink to &quot;var \`channel_deliver_passive_channel\`&quot;">โ€‹</a></h3><ul><li><p><strong>่ฏดๆ˜Ž</strong>: ่ขซๅŠจ้€š้“ไผ ้€’้€š้“</p></li><li><p><strong>็ฑปๅž‹</strong>: <code>Channel[tuple[str, dict[str, Any]]]</code></p></li><li><p><strong>้ป˜่ฎคๅ€ผ</strong>: <code>NO_DEFAULT</code></p></li></ul><h3 id="func-set-channel-name-str-channel-channel" tabindex="-1"><em><strong>func</strong></em> <code>set_channel(name: str, channel: Channel)</code> <a class="header-anchor" href="#func-set-channel-name-str-channel-channel" aria-label="Permalink to &quot;***func*** \`set_channel(name: str, channel: Channel)\`&quot;">โ€‹</a></h3><p><strong>่ฏดๆ˜Ž</strong>: ่ฎพ็ฝฎ้€š้“ๅฎžไพ‹</p><p><strong>ๅ‚ๆ•ฐ</strong>:</p><blockquote><ul><li>name (<a href="https://docs.python.org/3/library/stdtypes.html#str" target="_blank" rel="noreferrer"><code>str</code></a>): ้€š้“ๅ็งฐ</li><li>channel (<a href="#class-channel-generic-t"><code>Channel</code></a>): ้€š้“ๅฎžไพ‹</li></ul></blockquote><details><summary><b>ๆบไปฃ็ </b> ๆˆ– <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/comm/channel.py#L242" 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;"> set_channel</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(name: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">str</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, channel: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;Channel&#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;"> decorator</span></span></code></pre></div></details><h3 id="var-active-channel" tabindex="-1">var <code>active_channel</code> <a class="header-anchor" href="#var-active-channel" aria-label="Permalink to &quot;var \`active_channel\`&quot;">โ€‹</a></h3><ul><li><p><strong>่ฏดๆ˜Ž</strong>: ๅญ่ฟ›็จ‹ๅฏ็”จ็š„ไธปๅŠจๅ’Œ่ขซๅŠจ้€š้“</p></li><li><p><strong>็ฑปๅž‹</strong>: <code>Channel</code></p></li><li><p><strong>้ป˜่ฎคๅ€ผ</strong>: <code>Channel(name=&#39;active_channel&#39;)</code></p></li></ul><h3 id="var-passive-channel" tabindex="-1">var <code>passive_channel</code> <a class="header-anchor" href="#var-passive-channel" aria-label="Permalink to &quot;var \`passive_channel\`&quot;">โ€‹</a></h3><ul><li><p><strong>่ฏดๆ˜Ž</strong>: ่ขซๅŠจ้€š้“</p></li><li><p><strong>็ฑปๅž‹</strong>: <code>Channel</code></p></li><li><p><strong>้ป˜่ฎคๅ€ผ</strong>: <code>Channel(name=&#39;passive_channel&#39;)</code></p></li></ul><h3 id="var-publish-channel" tabindex="-1">var <code>publish_channel</code> <a class="header-anchor" href="#var-publish-channel" aria-label="Permalink to &quot;var \`publish_channel\`&quot;">โ€‹</a></h3><ul><li><p><strong>่ฏดๆ˜Ž</strong>: ้€š้“ไผ ้€’้€š้“๏ผŒไธป่ฟ›็จ‹ๅˆ›ๅปบๅ•ไพ‹๏ผŒๅญ่ฟ›็จ‹ๅˆๅง‹ๅŒ–ๆ—ถๅฎžไพ‹ๅŒ–</p></li><li><p><strong>็ฑปๅž‹</strong>: <code>Channel[tuple[str, dict[str, Any]]]</code></p></li><li><p><strong>้ป˜่ฎคๅ€ผ</strong>: <code>Channel(name=&#39;publish_channel&#39;)</code></p></li></ul><h3 id="var-channel-deliver-active-channel" tabindex="-1">var <code>channel_deliver_active_channel</code> <a class="header-anchor" href="#var-channel-deliver-active-channel" aria-label="Permalink to &quot;var \`channel_deliver_active_channel\`&quot;">โ€‹</a></h3><ul><li><p><strong>่ฏดๆ˜Ž</strong>: ้€š้“ไผ ้€’้€š้“๏ผŒไธป่ฟ›็จ‹ๅˆ›ๅปบๅ•ไพ‹๏ผŒๅญ่ฟ›็จ‹ๅˆๅง‹ๅŒ–ๆ—ถๅฎžไพ‹ๅŒ–</p></li><li><p><strong>็ฑปๅž‹</strong>: <code>Channel[Channel[Any]]</code></p></li><li><p><strong>้ป˜่ฎคๅ€ผ</strong>: <code>NO_DEFAULT</code></p></li></ul><h3 id="var-channel-deliver-passive-channel" tabindex="-1">var <code>channel_deliver_passive_channel</code> <a class="header-anchor" href="#var-channel-deliver-passive-channel" aria-label="Permalink to &quot;var \`channel_deliver_passive_channel\`&quot;">โ€‹</a></h3><ul><li><p><strong>่ฏดๆ˜Ž</strong>: ่ขซๅŠจ้€š้“ไผ ้€’้€š้“</p></li><li><p><strong>็ฑปๅž‹</strong>: <code>Channel[tuple[str, dict[str, Any]]]</code></p></li><li><p><strong>้ป˜่ฎคๅ€ผ</strong>: <code>NO_DEFAULT</code></p></li></ul><h3 id="func-set-channel-name-str-channel-channel" tabindex="-1"><em><strong>func</strong></em> <code>set_channel(name: str, channel: Channel)</code> <a class="header-anchor" href="#func-set-channel-name-str-channel-channel" aria-label="Permalink to &quot;***func*** \`set_channel(name: str, channel: Channel)\`&quot;">โ€‹</a></h3><p><strong>่ฏดๆ˜Ž</strong>: ่ฎพ็ฝฎ้€š้“ๅฎžไพ‹</p><p><strong>ๅ‚ๆ•ฐ</strong>:</p><blockquote><ul><li>name (<a href="https://docs.python.org/3/library/stdtypes.html#str" target="_blank" rel="noreferrer"><code>str</code></a>): ้€š้“ๅ็งฐ</li><li>channel (<a href="#class-channel-generic-t"><code>Channel</code></a>): ้€š้“ๅฎžไพ‹</li></ul></blockquote><details><summary><b>ๆบไปฃ็ </b> ๆˆ– <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/comm/channel.py#L226" 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;"> set_channel</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(name: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">str</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, channel: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;Channel&#39;</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>
@ -102,14 +102,14 @@ import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.BZiUP1E-.js";const o
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> raise</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> ValueError</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;">&#39;Channel </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;"> already exists&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> _channel[name] </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> channel</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;"> channel_deliver_passive_channel.send((</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;set_channel&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, {</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;name&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: name, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;channel_&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: channel}))</span></span></code></pre></div></details><h3 id="func-set-channels-channels-dict-str-channel" tabindex="-1"><em><strong>func</strong></em> <code>set_channels(channels: dict[str, Channel])</code> <a class="header-anchor" href="#func-set-channels-channels-dict-str-channel" aria-label="Permalink to &quot;***func*** \`set_channels(channels: dict[str, Channel])\`&quot;">โ€‹</a></h3><p><strong>่ฏดๆ˜Ž</strong>: ่ฎพ็ฝฎ้€š้“ๅฎžไพ‹</p><p><strong>ๅ‚ๆ•ฐ</strong>:</p><blockquote><ul><li>channels (<a href="https://docs.python.org/3/library/stdtypes.html#dict" target="_blank" rel="noreferrer"><code>dict</code></a>[<a href="https://docs.python.org/3/library/stdtypes.html#str" target="_blank" rel="noreferrer"><code>str</code></a>, <a href="#class-channel-generic-t"><code>Channel</code></a>]): ้€š้“ๅฎžไพ‹</li></ul></blockquote><details><summary><b>ๆบไปฃ็ </b> ๆˆ– <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/comm/channel.py#L268" 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;"> set_channels</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(channels: dict[</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">str</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;Channel&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">]):</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> channel_deliver_passive_channel.send((</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;set_channel&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, {</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;name&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: name, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;channel_&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: channel}))</span></span></code></pre></div></details><h3 id="func-set-channels-channels-dict-str-channel" tabindex="-1"><em><strong>func</strong></em> <code>set_channels(channels: dict[str, Channel])</code> <a class="header-anchor" href="#func-set-channels-channels-dict-str-channel" aria-label="Permalink to &quot;***func*** \`set_channels(channels: dict[str, Channel])\`&quot;">โ€‹</a></h3><p><strong>่ฏดๆ˜Ž</strong>: ่ฎพ็ฝฎ้€š้“ๅฎžไพ‹</p><p><strong>ๅ‚ๆ•ฐ</strong>:</p><blockquote><ul><li>channels (<a href="https://docs.python.org/3/library/stdtypes.html#dict" target="_blank" rel="noreferrer"><code>dict</code></a>[<a href="https://docs.python.org/3/library/stdtypes.html#str" target="_blank" rel="noreferrer"><code>str</code></a>, <a href="#class-channel-generic-t"><code>Channel</code></a>]): ้€š้“ๅฎžไพ‹</li></ul></blockquote><details><summary><b>ๆบไปฃ็ </b> ๆˆ– <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/comm/channel.py#L252" 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;"> set_channels</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(channels: dict[</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">str</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;Channel&#39;</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;"> channels ([\`dict\`](https%3A//docs.python.org/3/library/stdtypes.html#dict)[[\`str\`](https%3A//docs.python.org/3/library/stdtypes.html#str), [\`Channel\`](#class-channel-generic-t)]): ้€š้“ๅฎžไพ‹</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;"> name, channel </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">in</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> channels.items():</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> set_channel(name, channel)</span></span></code></pre></div></details><h3 id="func-get-channel-name-str-channel" tabindex="-1"><em><strong>func</strong></em> <code>get_channel(name: str) -&gt; Channel</code> <a class="header-anchor" href="#func-get-channel-name-str-channel" aria-label="Permalink to &quot;***func*** \`get_channel(name: str) -&gt; Channel\`&quot;">โ€‹</a></h3><p><strong>่ฏดๆ˜Ž</strong>: ่Žทๅ–้€š้“ๅฎžไพ‹</p><p><strong>ๅ‚ๆ•ฐ</strong>:</p><blockquote><ul><li>name (<a href="https://docs.python.org/3/library/stdtypes.html#str" target="_blank" rel="noreferrer"><code>str</code></a>): ้€š้“ๅ็งฐ</li></ul></blockquote><p><strong>่ฟ”ๅ›ž</strong>: <a href="#class-channel-generic-t"><code>Channel</code></a>: ้€š้“ๅฎžไพ‹</p><details><summary><b>ๆบไปฃ็ </b> ๆˆ– <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/comm/channel.py#L278" 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_channel</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(name: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">str</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) -&gt; </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;Channel&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> set_channel(name, channel)</span></span></code></pre></div></details><h3 id="func-get-channel-name-str-channel" tabindex="-1"><em><strong>func</strong></em> <code>get_channel(name: str) -&gt; Channel</code> <a class="header-anchor" href="#func-get-channel-name-str-channel" aria-label="Permalink to &quot;***func*** \`get_channel(name: str) -&gt; Channel\`&quot;">โ€‹</a></h3><p><strong>่ฏดๆ˜Ž</strong>: ่Žทๅ–้€š้“ๅฎžไพ‹</p><p><strong>ๅ‚ๆ•ฐ</strong>:</p><blockquote><ul><li>name (<a href="https://docs.python.org/3/library/stdtypes.html#str" target="_blank" rel="noreferrer"><code>str</code></a>): ้€š้“ๅ็งฐ</li></ul></blockquote><p><strong>่ฟ”ๅ›ž</strong>: <a href="#class-channel-generic-t"><code>Channel</code></a>: ้€š้“ๅฎžไพ‹</p><details><summary><b>ๆบไปฃ็ </b> ๆˆ– <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/comm/channel.py#L262" 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_channel</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(name: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">str</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) -&gt; </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;Channel&#39;</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>
@ -122,7 +122,7 @@ import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.BZiUP1E-.js";const o
<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;"> recv_chan </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> Channel[Channel[Any]](</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;recv_chan&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> channel_deliver_passive_channel.send((</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;get_channel&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, {</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;name&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: name, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;recv_chan&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: recv_chan}))</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> recv_chan.receive()</span></span></code></pre></div></details><h3 id="func-get-channels-dict-str-channel" tabindex="-1"><em><strong>func</strong></em> <code>get_channels() -&gt; dict[str, Channel]</code> <a class="header-anchor" href="#func-get-channels-dict-str-channel" aria-label="Permalink to &quot;***func*** \`get_channels() -&gt; dict[str, Channel]\`&quot;">โ€‹</a></h3><p><strong>่ฏดๆ˜Ž</strong>: ่Žทๅ–้€š้“ๅฎžไพ‹ไปฌ</p><p><strong>่ฟ”ๅ›ž</strong>: <a href="https://docs.python.org/3/library/stdtypes.html#dict" target="_blank" rel="noreferrer"><code>dict</code></a>[<a href="https://docs.python.org/3/library/stdtypes.html#str" target="_blank" rel="noreferrer"><code>str</code></a>, <a href="#class-channel-generic-t"><code>Channel</code></a>]: ้€š้“ๅฎžไพ‹</p><details><summary><b>ๆบไปฃ็ </b> ๆˆ– <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/comm/channel.py#L303" 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_channels</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;">, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;Channel&#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;"> recv_chan.receive()</span></span></code></pre></div></details><h3 id="func-get-channels-dict-str-channel" tabindex="-1"><em><strong>func</strong></em> <code>get_channels() -&gt; dict[str, Channel]</code> <a class="header-anchor" href="#func-get-channels-dict-str-channel" aria-label="Permalink to &quot;***func*** \`get_channels() -&gt; dict[str, Channel]\`&quot;">โ€‹</a></h3><p><strong>่ฏดๆ˜Ž</strong>: ่Žทๅ–้€š้“ๅฎžไพ‹ไปฌ</p><p><strong>่ฟ”ๅ›ž</strong>: <a href="https://docs.python.org/3/library/stdtypes.html#dict" target="_blank" rel="noreferrer"><code>dict</code></a>[<a href="https://docs.python.org/3/library/stdtypes.html#str" target="_blank" rel="noreferrer"><code>str</code></a>, <a href="#class-channel-generic-t"><code>Channel</code></a>]: ้€š้“ๅฎžไพ‹</p><details><summary><b>ๆบไปฃ็ </b> ๆˆ– <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/comm/channel.py#L287" 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_channels</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;">, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;Channel&#39;</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;"> Returns:</span></span>
@ -133,13 +133,13 @@ import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.BZiUP1E-.js";const o
<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;"> recv_chan </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> Channel[dict[</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">str</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, Channel[Any]]](</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;recv_chan&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> channel_deliver_passive_channel.send((</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;get_channels&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, {</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;recv_chan&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: recv_chan}))</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> recv_chan.receive()</span></span></code></pre></div></details><h3 id="var-channel-deliver-active-channel-1" tabindex="-1">var <code>channel_deliver_active_channel</code> <a class="header-anchor" href="#var-channel-deliver-active-channel-1" aria-label="Permalink to &quot;var \`channel_deliver_active_channel\`&quot;">โ€‹</a></h3><ul><li><p><strong>่ฏดๆ˜Ž</strong>: ไธปๅŠจ้€š้“ไผ ้€’้€š้“</p></li><li><p><strong>้ป˜่ฎคๅ€ผ</strong>: <code>Channel(name=&#39;channel_deliver_active_channel&#39;)</code></p></li></ul><h3 id="var-channel-deliver-passive-channel-1" tabindex="-1">var <code>channel_deliver_passive_channel</code> <a class="header-anchor" href="#var-channel-deliver-passive-channel-1" aria-label="Permalink to &quot;var \`channel_deliver_passive_channel\`&quot;">โ€‹</a></h3><ul><li><p><strong>่ฏดๆ˜Ž</strong>: ่ขซๅŠจ้€š้“ไผ ้€’้€š้“</p></li><li><p><strong>้ป˜่ฎคๅ€ผ</strong>: <code>Channel(name=&#39;channel_deliver_passive_channel&#39;)</code></p></li></ul><p><code>@channel_deliver_passive_channel.on_receive(filter_func=lambda data: data[0] == &#39;set_channel&#39;)</code></p><h3 id="func-on-set-channel-data-tuple-str-dict-str-any" tabindex="-1"><em><strong>func</strong></em> <code>on_set_channel(data: tuple[str, dict[str, Any]])</code> <a class="header-anchor" href="#func-on-set-channel-data-tuple-str-dict-str-any" aria-label="Permalink to &quot;***func*** \`on_set_channel(data: tuple[str, dict[str, Any]])\`&quot;">โ€‹</a></h3><details><summary><b>ๆบไปฃ็ </b> ๆˆ– <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/comm/channel.py#L225" 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:#6F42C1;--shiki-dark:#B392F0;">@channel_deliver_passive_channel.on_receive</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">filter_func</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=lambda</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> data: data[</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">] </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">==</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;set_channel&#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;"> recv_chan.receive()</span></span></code></pre></div></details><h3 id="var-channel-deliver-active-channel-1" tabindex="-1">var <code>channel_deliver_active_channel</code> <a class="header-anchor" href="#var-channel-deliver-active-channel-1" aria-label="Permalink to &quot;var \`channel_deliver_active_channel\`&quot;">โ€‹</a></h3><ul><li><p><strong>่ฏดๆ˜Ž</strong>: ไธปๅŠจ้€š้“ไผ ้€’้€š้“</p></li><li><p><strong>้ป˜่ฎคๅ€ผ</strong>: <code>Channel(name=&#39;channel_deliver_active_channel&#39;)</code></p></li></ul><h3 id="var-channel-deliver-passive-channel-1" tabindex="-1">var <code>channel_deliver_passive_channel</code> <a class="header-anchor" href="#var-channel-deliver-passive-channel-1" aria-label="Permalink to &quot;var \`channel_deliver_passive_channel\`&quot;">โ€‹</a></h3><ul><li><p><strong>่ฏดๆ˜Ž</strong>: ่ขซๅŠจ้€š้“ไผ ้€’้€š้“</p></li><li><p><strong>้ป˜่ฎคๅ€ผ</strong>: <code>Channel(name=&#39;channel_deliver_passive_channel&#39;)</code></p></li></ul><p><code>@channel_deliver_passive_channel.on_receive(filter_func=lambda data: data[0] == &#39;set_channel&#39;)</code></p><h3 id="func-on-set-channel-data-tuple-str-dict-str-any" tabindex="-1"><em><strong>func</strong></em> <code>on_set_channel(data: tuple[str, dict[str, Any]])</code> <a class="header-anchor" href="#func-on-set-channel-data-tuple-str-dict-str-any" aria-label="Permalink to &quot;***func*** \`on_set_channel(data: tuple[str, dict[str, Any]])\`&quot;">โ€‹</a></h3><details><summary><b>ๆบไปฃ็ </b> ๆˆ– <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/comm/channel.py#L209" 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:#6F42C1;--shiki-dark:#B392F0;">@channel_deliver_passive_channel.on_receive</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">filter_func</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=lambda</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> data: data[</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">] </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">==</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;set_channel&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">def</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> on_set_channel</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(data: tuple[</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">str</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, dict[</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">str</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, Any]]):</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> name, channel </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> (data[</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">1</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">][</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;name&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">], data[</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">1</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">][</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;channel_&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">])</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> set_channel(name, channel)</span></span></code></pre></div></details><p><code>@channel_deliver_passive_channel.on_receive(filter_func=lambda data: data[0] == &#39;get_channel&#39;)</code></p><h3 id="func-on-get-channel-data-tuple-str-dict-str-any" tabindex="-1"><em><strong>func</strong></em> <code>on_get_channel(data: tuple[str, dict[str, Any]])</code> <a class="header-anchor" href="#func-on-get-channel-data-tuple-str-dict-str-any" aria-label="Permalink to &quot;***func*** \`on_get_channel(data: tuple[str, dict[str, Any]])\`&quot;">โ€‹</a></h3><details><summary><b>ๆบไปฃ็ </b> ๆˆ– <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/comm/channel.py#L231" 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:#6F42C1;--shiki-dark:#B392F0;">@channel_deliver_passive_channel.on_receive</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">filter_func</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=lambda</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> data: data[</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">] </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">==</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;get_channel&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> set_channel(name, channel)</span></span></code></pre></div></details><p><code>@channel_deliver_passive_channel.on_receive(filter_func=lambda data: data[0] == &#39;get_channel&#39;)</code></p><h3 id="func-on-get-channel-data-tuple-str-dict-str-any" tabindex="-1"><em><strong>func</strong></em> <code>on_get_channel(data: tuple[str, dict[str, Any]])</code> <a class="header-anchor" href="#func-on-get-channel-data-tuple-str-dict-str-any" aria-label="Permalink to &quot;***func*** \`on_get_channel(data: tuple[str, dict[str, Any]])\`&quot;">โ€‹</a></h3><details><summary><b>ๆบไปฃ็ </b> ๆˆ– <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/comm/channel.py#L215" 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:#6F42C1;--shiki-dark:#B392F0;">@channel_deliver_passive_channel.on_receive</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">filter_func</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=lambda</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> data: data[</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">] </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">==</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;get_channel&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">def</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> on_get_channel</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(data: tuple[</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">str</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, dict[</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">str</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, Any]]):</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> name, recv_chan </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> (data[</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">1</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">][</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;name&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">], data[</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">1</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">][</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;recv_chan&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">])</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> recv_chan.send(get_channel(name))</span></span></code></pre></div></details><p><code>@channel_deliver_passive_channel.on_receive(filter_func=lambda data: data[0] == &#39;get_channels&#39;)</code></p><h3 id="func-on-get-channels-data-tuple-str-dict-str-any" tabindex="-1"><em><strong>func</strong></em> <code>on_get_channels(data: tuple[str, dict[str, Any]])</code> <a class="header-anchor" href="#func-on-get-channels-data-tuple-str-dict-str-any" aria-label="Permalink to &quot;***func*** \`on_get_channels(data: tuple[str, dict[str, Any]])\`&quot;">โ€‹</a></h3><details><summary><b>ๆบไปฃ็ </b> ๆˆ– <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/comm/channel.py#L237" 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:#6F42C1;--shiki-dark:#B392F0;">@channel_deliver_passive_channel.on_receive</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">filter_func</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=lambda</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> data: data[</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">] </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">==</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;get_channels&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> recv_chan.send(get_channel(name))</span></span></code></pre></div></details><p><code>@channel_deliver_passive_channel.on_receive(filter_func=lambda data: data[0] == &#39;get_channels&#39;)</code></p><h3 id="func-on-get-channels-data-tuple-str-dict-str-any" tabindex="-1"><em><strong>func</strong></em> <code>on_get_channels(data: tuple[str, dict[str, Any]])</code> <a class="header-anchor" href="#func-on-get-channels-data-tuple-str-dict-str-any" aria-label="Permalink to &quot;***func*** \`on_get_channels(data: tuple[str, dict[str, Any]])\`&quot;">โ€‹</a></h3><details><summary><b>ๆบไปฃ็ </b> ๆˆ– <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/comm/channel.py#L221" 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:#6F42C1;--shiki-dark:#B392F0;">@channel_deliver_passive_channel.on_receive</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">filter_func</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=lambda</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> data: data[</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">] </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">==</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;get_channels&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">def</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> on_get_channels</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(data: tuple[</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">str</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, dict[</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">str</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, Any]]):</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> recv_chan </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> data[</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">1</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">][</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;recv_chan&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">]</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> recv_chan.send(get_channels())</span></span></code></pre></div></details>`,82),t=[e];function h(p,k,r,d,c,E){return a(),i("div",null,t)}const y=s(l,[["render",h]]);export{o as __pageData,y as default};

View File

@ -10,9 +10,7 @@ import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.BZiUP1E-.js";const y
<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;"> ๅฏนๅค–ๅฏๅŠจๆ–นๆณ•๏ผŒๅฏๅŠจๆ‰€ๆœ‰่ฟ›็จ‹๏ผŒๅˆ›ๅปบasyncio task</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;"> [asyncio.create_task(chan.start_receive_loop()) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">for</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> chan </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">in</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> get_channels().values()]</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> [asyncio.create_task(sm.start_receive_loop()) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">for</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> sm </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">in</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> [shared_memory]]</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> [asyncio.create_task(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">._run_process(name)) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">for</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> 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;">.targets]</span></span></code></pre></div></details><h4 id="func-add-target-self-name-str-target-target-func-args-tuple-kwargs-none" tabindex="-1"><em><strong>func</strong></em> <code>add_target(self, name: str, target: TARGET_FUNC, args: tuple = (), kwargs = None)</code> <a class="header-anchor" href="#func-add-target-self-name-str-target-target-func-args-tuple-kwargs-none" aria-label="Permalink to &quot;***func*** \`add_target(self, name: str, target: TARGET_FUNC, args: tuple = (), kwargs = None)\`&quot;">โ€‹</a></h4><p><strong>่ฏดๆ˜Ž</strong>: ๆทปๅŠ ่ฟ›็จ‹</p><p><strong>ๅ‚ๆ•ฐ</strong>:</p><blockquote><ul><li>name: ่ฟ›็จ‹ๅ๏ผŒ็”จไบŽ่Žทๅ–ๅ’Œๅ”ฏไธ€ๆ ‡่ฏ†</li><li>target: ่ฟ›็จ‹ๅ‡ฝๆ•ฐ</li><li>args: ่ฟ›็จ‹ๅ‡ฝๆ•ฐๅ‚ๆ•ฐ</li><li>kwargs: ่ฟ›็จ‹ๅ‡ฝๆ•ฐๅ…ณ้”ฎๅญ—ๅ‚ๆ•ฐ๏ผŒ้€šๅธธไผš้ป˜่ฎคไผ ๅ…ฅchan_activeๅ’Œchan_passive</li></ul></blockquote><details><summary><b>ๆบไปฃ็ </b> ๆˆ– <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/core/manager.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;"> add_target</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self, name: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">str</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, target: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">TARGET_FUNC</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, args: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">tuple</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(), kwargs</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:#24292E;--shiki-dark:#E1E4E8;"> [asyncio.create_task(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">._run_process(name)) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">for</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> 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;">.targets]</span></span></code></pre></div></details><h4 id="func-add-target-self-name-str-target-target-func-args-tuple-kwargs-none" tabindex="-1"><em><strong>func</strong></em> <code>add_target(self, name: str, target: TARGET_FUNC, args: tuple = (), kwargs = None)</code> <a class="header-anchor" href="#func-add-target-self-name-str-target-target-func-args-tuple-kwargs-none" aria-label="Permalink to &quot;***func*** \`add_target(self, name: str, target: TARGET_FUNC, args: tuple = (), kwargs = None)\`&quot;">โ€‹</a></h4><p><strong>่ฏดๆ˜Ž</strong>: ๆทปๅŠ ่ฟ›็จ‹</p><p><strong>ๅ‚ๆ•ฐ</strong>:</p><blockquote><ul><li>name: ่ฟ›็จ‹ๅ๏ผŒ็”จไบŽ่Žทๅ–ๅ’Œๅ”ฏไธ€ๆ ‡่ฏ†</li><li>target: ่ฟ›็จ‹ๅ‡ฝๆ•ฐ</li><li>args: ่ฟ›็จ‹ๅ‡ฝๆ•ฐๅ‚ๆ•ฐ</li><li>kwargs: ่ฟ›็จ‹ๅ‡ฝๆ•ฐๅ…ณ้”ฎๅญ—ๅ‚ๆ•ฐ๏ผŒ้€šๅธธไผš้ป˜่ฎคไผ ๅ…ฅchan_activeๅ’Œchan_passive</li></ul></blockquote><details><summary><b>ๆบไปฃ็ </b> ๆˆ– <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/core/manager.py#L137" 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;"> add_target</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self, name: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">str</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, target: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">TARGET_FUNC</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, args: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">tuple</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(), kwargs</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>
@ -26,9 +24,9 @@ import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.BZiUP1E-.js";const y
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> chan_active: Channel </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> Channel(</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">name</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</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_passive: Channel </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> Channel(</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">name</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</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;">-passive&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> channel_deliver </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> ChannelDeliver(</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">active</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">chan_active, </span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">passive</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">chan_passive, </span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">channel_deliver_active</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">channel_deliver_active_channel, </span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">channel_deliver_passive</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">channel_deliver_passive_channel, </span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">publish</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">publish_channel)</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.targets[name] </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> (_delivery_channel_wrapper, (target, channel_deliver, shared_memory, </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">args), kwargs)</span></span></code></pre></div></details><h4 id="func-join-all-self" tabindex="-1"><em><strong>func</strong></em> <code>join_all(self)</code> <a class="header-anchor" href="#func-join-all-self" aria-label="Permalink to &quot;***func*** \`join_all(self)\`&quot;">โ€‹</a></h4><details><summary><b>ๆบไปฃ็ </b> ๆˆ– <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/core/manager.py#L164" 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;"> join_all</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self):</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.targets[name] </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> (_delivery_channel_wrapper, (target, channel_deliver, shared_memory, </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">args), kwargs)</span></span></code></pre></div></details><h4 id="func-join-all-self" tabindex="-1"><em><strong>func</strong></em> <code>join_all(self)</code> <a class="header-anchor" href="#func-join-all-self" aria-label="Permalink to &quot;***func*** \`join_all(self)\`&quot;">โ€‹</a></h4><details><summary><b>ๆบไปฃ็ </b> ๆˆ– <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/core/manager.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;"> join_all</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self):</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> for</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> name, process </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;">.targets:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> process.join()</span></span></code></pre></div></details><h4 id="func-terminate-self-name-str" tabindex="-1"><em><strong>func</strong></em> <code>terminate(self, name: str)</code> <a class="header-anchor" href="#func-terminate-self-name-str" aria-label="Permalink to &quot;***func*** \`terminate(self, name: str)\`&quot;">โ€‹</a></h4><p><strong>่ฏดๆ˜Ž</strong>: ็ปˆๆญข่ฟ›็จ‹ๅนถไปŽ่ฟ›็จ‹ๅญ—ๅ…ธไธญๅˆ ้™ค</p><p><strong>ๅ‚ๆ•ฐ</strong>:</p><blockquote><ul><li>name:</li></ul></blockquote><details><summary><b>ๆบไปฃ็ </b> ๆˆ– <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/core/manager.py#L168" 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;"> terminate</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self, name: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">str</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">):</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> process.join()</span></span></code></pre></div></details><h4 id="func-terminate-self-name-str" tabindex="-1"><em><strong>func</strong></em> <code>terminate(self, name: str)</code> <a class="header-anchor" href="#func-terminate-self-name-str" aria-label="Permalink to &quot;***func*** \`terminate(self, name: str)\`&quot;">โ€‹</a></h4><p><strong>่ฏดๆ˜Ž</strong>: ็ปˆๆญข่ฟ›็จ‹ๅนถไปŽ่ฟ›็จ‹ๅญ—ๅ…ธไธญๅˆ ้™ค</p><p><strong>ๅ‚ๆ•ฐ</strong>:</p><blockquote><ul><li>name:</li></ul></blockquote><details><summary><b>ๆบไปฃ็ </b> ๆˆ– <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/core/manager.py#L166" 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;"> terminate</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self, name: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">str</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>
@ -45,9 +43,9 @@ import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.BZiUP1E-.js";const y
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> process.join(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">TIMEOUT</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:#24292E;--shiki-dark:#E1E4E8;"> process.is_alive():</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> process.kill()</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> logger.success(</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">f</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;Process </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;"> terminated.&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span></code></pre></div></details><h4 id="func-terminate-all-self" tabindex="-1"><em><strong>func</strong></em> <code>terminate_all(self)</code> <a class="header-anchor" href="#func-terminate-all-self" aria-label="Permalink to &quot;***func*** \`terminate_all(self)\`&quot;">โ€‹</a></h4><details><summary><b>ๆบไปฃ็ </b> ๆˆ– <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/core/manager.py#L187" 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;"> terminate_all</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self):</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> logger.success(</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">f</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;Process </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;"> terminated.&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span></code></pre></div></details><h4 id="func-terminate-all-self" tabindex="-1"><em><strong>func</strong></em> <code>terminate_all(self)</code> <a class="header-anchor" href="#func-terminate-all-self" aria-label="Permalink to &quot;***func*** \`terminate_all(self)\`&quot;">โ€‹</a></h4><details><summary><b>ๆบไปฃ็ </b> ๆˆ– <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/core/manager.py#L185" 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;"> terminate_all</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self):</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> for</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> 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;">.targets:</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.terminate(name)</span></span></code></pre></div></details><h4 id="func-is-process-alive-self-name-str-bool" tabindex="-1"><em><strong>func</strong></em> <code>is_process_alive(self, name: str) -&gt; bool</code> <a class="header-anchor" href="#func-is-process-alive-self-name-str-bool" aria-label="Permalink to &quot;***func*** \`is_process_alive(self, name: str) -&gt; bool\`&quot;">โ€‹</a></h4><p><strong>่ฏดๆ˜Ž</strong>: ๆฃ€ๆŸฅ่ฟ›็จ‹ๆ˜ฏๅฆๅญ˜ๆดป</p><p><strong>ๅ‚ๆ•ฐ</strong>:</p><blockquote><ul><li>name:</li></ul></blockquote><details><summary><b>ๆบไปฃ็ </b> ๆˆ– <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/core/manager.py#L191" 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;"> is_process_alive</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self, name: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">str</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) -&gt; </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">bool</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;">.terminate(name)</span></span></code></pre></div></details><h4 id="func-is-process-alive-self-name-str-bool" tabindex="-1"><em><strong>func</strong></em> <code>is_process_alive(self, name: str) -&gt; bool</code> <a class="header-anchor" href="#func-is-process-alive-self-name-str-bool" aria-label="Permalink to &quot;***func*** \`is_process_alive(self, name: str) -&gt; bool\`&quot;">โ€‹</a></h4><p><strong>่ฏดๆ˜Ž</strong>: ๆฃ€ๆŸฅ่ฟ›็จ‹ๆ˜ฏๅฆๅญ˜ๆดป</p><p><strong>ๅ‚ๆ•ฐ</strong>:</p><blockquote><ul><li>name:</li></ul></blockquote><details><summary><b>ๆบไปฃ็ </b> ๆˆ– <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/core/manager.py#L189" 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;"> is_process_alive</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self, name: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">str</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) -&gt; </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">bool</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>
@ -58,4 +56,4 @@ import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.BZiUP1E-.js";const y
<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;">not</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;">.targets:</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;Process </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;"> not found.&#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;"> self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.processes[name].is_alive()</span></span></code></pre></div></details>`,31),l=[t];function h(p,k,r,d,E,g){return a(),i("div",null,l)}const o=s(e,[["render",h]]);export{y as __pageData,o as default};
<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;">.processes[name].is_alive()</span></span></code></pre></div></details>`,31),l=[t];function h(p,k,r,d,g,E){return a(),i("div",null,l)}const o=s(e,[["render",h]]);export{y as __pageData,o as default};

View File

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

View File

@ -88,7 +88,7 @@ import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.BZiUP1E-.js";const g
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">._on_sub_receive_func_ids.append(_func_id)</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> _func_id </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">+=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> 1</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> func</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> decorator</span></span></code></pre></div></details><h3 id="var-active-channel" tabindex="-1">var <code>active_channel</code> <a class="header-anchor" href="#var-active-channel" aria-label="Permalink to &quot;var \`active_channel\`&quot;">โ€‹</a></h3><ul><li><p><strong>Description</strong>: ๅญ่ฟ›็จ‹ๅฏ็”จ็š„ไธปๅŠจๅ’Œ่ขซๅŠจ้€š้“</p></li><li><p><strong>Type</strong>: <code>Channel</code></p></li><li><p><strong>Default</strong>: <code>Channel(name=&#39;active_channel&#39;)</code></p></li></ul><h3 id="var-passive-channel" tabindex="-1">var <code>passive_channel</code> <a class="header-anchor" href="#var-passive-channel" aria-label="Permalink to &quot;var \`passive_channel\`&quot;">โ€‹</a></h3><ul><li><p><strong>Description</strong>: ่ขซๅŠจ้€š้“</p></li><li><p><strong>Type</strong>: <code>Channel</code></p></li><li><p><strong>Default</strong>: <code>Channel(name=&#39;passive_channel&#39;)</code></p></li></ul><h3 id="var-publish-channel" tabindex="-1">var <code>publish_channel</code> <a class="header-anchor" href="#var-publish-channel" aria-label="Permalink to &quot;var \`publish_channel\`&quot;">โ€‹</a></h3><ul><li><p><strong>Description</strong>: ้€š้“ไผ ้€’้€š้“๏ผŒไธป่ฟ›็จ‹ๅˆ›ๅปบๅ•ไพ‹๏ผŒๅญ่ฟ›็จ‹ๅˆๅง‹ๅŒ–ๆ—ถๅฎžไพ‹ๅŒ–</p></li><li><p><strong>Type</strong>: <code>Channel[tuple[str, dict[str, Any]]]</code></p></li><li><p><strong>Default</strong>: <code>Channel(name=&#39;publish_channel&#39;)</code></p></li></ul><h3 id="var-channel-deliver-active-channel" tabindex="-1">var <code>channel_deliver_active_channel</code> <a class="header-anchor" href="#var-channel-deliver-active-channel" aria-label="Permalink to &quot;var \`channel_deliver_active_channel\`&quot;">โ€‹</a></h3><ul><li><p><strong>Description</strong>: ้€š้“ไผ ้€’้€š้“๏ผŒไธป่ฟ›็จ‹ๅˆ›ๅปบๅ•ไพ‹๏ผŒๅญ่ฟ›็จ‹ๅˆๅง‹ๅŒ–ๆ—ถๅฎžไพ‹ๅŒ–</p></li><li><p><strong>Type</strong>: <code>Channel[Channel[Any]]</code></p></li><li><p><strong>Default</strong>: <code>NO_DEFAULT</code></p></li></ul><h3 id="var-channel-deliver-passive-channel" tabindex="-1">var <code>channel_deliver_passive_channel</code> <a class="header-anchor" href="#var-channel-deliver-passive-channel" aria-label="Permalink to &quot;var \`channel_deliver_passive_channel\`&quot;">โ€‹</a></h3><ul><li><p><strong>Description</strong>: ่ขซๅŠจ้€š้“ไผ ้€’้€š้“</p></li><li><p><strong>Type</strong>: <code>Channel[tuple[str, dict[str, Any]]]</code></p></li><li><p><strong>Default</strong>: <code>NO_DEFAULT</code></p></li></ul><h3 id="func-set-channel-name-str-channel-channel" tabindex="-1"><em><strong>func</strong></em> <code>set_channel(name: str, channel: Channel)</code> <a class="header-anchor" href="#func-set-channel-name-str-channel-channel" aria-label="Permalink to &quot;***func*** \`set_channel(name: str, channel: Channel)\`&quot;">โ€‹</a></h3><p><strong>Description</strong>: ่ฎพ็ฝฎ้€š้“ๅฎžไพ‹</p><p><strong>Arguments</strong>:</p><blockquote><ul><li>name (<a href="https://docs.python.org/3/library/stdtypes.html#str" target="_blank" rel="noreferrer"><code>str</code></a>): ้€š้“ๅ็งฐ</li><li>channel (<a href="#class-channel-generic-t"><code>Channel</code></a>): ้€š้“ๅฎžไพ‹</li></ul></blockquote><details><summary><b>Source code</b> or <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/comm/channel.py#L242" 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;"> set_channel</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(name: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">str</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, channel: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;Channel&#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;"> decorator</span></span></code></pre></div></details><h3 id="var-active-channel" tabindex="-1">var <code>active_channel</code> <a class="header-anchor" href="#var-active-channel" aria-label="Permalink to &quot;var \`active_channel\`&quot;">โ€‹</a></h3><ul><li><p><strong>Description</strong>: ๅญ่ฟ›็จ‹ๅฏ็”จ็š„ไธปๅŠจๅ’Œ่ขซๅŠจ้€š้“</p></li><li><p><strong>Type</strong>: <code>Channel</code></p></li><li><p><strong>Default</strong>: <code>Channel(name=&#39;active_channel&#39;)</code></p></li></ul><h3 id="var-passive-channel" tabindex="-1">var <code>passive_channel</code> <a class="header-anchor" href="#var-passive-channel" aria-label="Permalink to &quot;var \`passive_channel\`&quot;">โ€‹</a></h3><ul><li><p><strong>Description</strong>: ่ขซๅŠจ้€š้“</p></li><li><p><strong>Type</strong>: <code>Channel</code></p></li><li><p><strong>Default</strong>: <code>Channel(name=&#39;passive_channel&#39;)</code></p></li></ul><h3 id="var-publish-channel" tabindex="-1">var <code>publish_channel</code> <a class="header-anchor" href="#var-publish-channel" aria-label="Permalink to &quot;var \`publish_channel\`&quot;">โ€‹</a></h3><ul><li><p><strong>Description</strong>: ้€š้“ไผ ้€’้€š้“๏ผŒไธป่ฟ›็จ‹ๅˆ›ๅปบๅ•ไพ‹๏ผŒๅญ่ฟ›็จ‹ๅˆๅง‹ๅŒ–ๆ—ถๅฎžไพ‹ๅŒ–</p></li><li><p><strong>Type</strong>: <code>Channel[tuple[str, dict[str, Any]]]</code></p></li><li><p><strong>Default</strong>: <code>Channel(name=&#39;publish_channel&#39;)</code></p></li></ul><h3 id="var-channel-deliver-active-channel" tabindex="-1">var <code>channel_deliver_active_channel</code> <a class="header-anchor" href="#var-channel-deliver-active-channel" aria-label="Permalink to &quot;var \`channel_deliver_active_channel\`&quot;">โ€‹</a></h3><ul><li><p><strong>Description</strong>: ้€š้“ไผ ้€’้€š้“๏ผŒไธป่ฟ›็จ‹ๅˆ›ๅปบๅ•ไพ‹๏ผŒๅญ่ฟ›็จ‹ๅˆๅง‹ๅŒ–ๆ—ถๅฎžไพ‹ๅŒ–</p></li><li><p><strong>Type</strong>: <code>Channel[Channel[Any]]</code></p></li><li><p><strong>Default</strong>: <code>NO_DEFAULT</code></p></li></ul><h3 id="var-channel-deliver-passive-channel" tabindex="-1">var <code>channel_deliver_passive_channel</code> <a class="header-anchor" href="#var-channel-deliver-passive-channel" aria-label="Permalink to &quot;var \`channel_deliver_passive_channel\`&quot;">โ€‹</a></h3><ul><li><p><strong>Description</strong>: ่ขซๅŠจ้€š้“ไผ ้€’้€š้“</p></li><li><p><strong>Type</strong>: <code>Channel[tuple[str, dict[str, Any]]]</code></p></li><li><p><strong>Default</strong>: <code>NO_DEFAULT</code></p></li></ul><h3 id="func-set-channel-name-str-channel-channel" tabindex="-1"><em><strong>func</strong></em> <code>set_channel(name: str, channel: Channel)</code> <a class="header-anchor" href="#func-set-channel-name-str-channel-channel" aria-label="Permalink to &quot;***func*** \`set_channel(name: str, channel: Channel)\`&quot;">โ€‹</a></h3><p><strong>Description</strong>: ่ฎพ็ฝฎ้€š้“ๅฎžไพ‹</p><p><strong>Arguments</strong>:</p><blockquote><ul><li>name (<a href="https://docs.python.org/3/library/stdtypes.html#str" target="_blank" rel="noreferrer"><code>str</code></a>): ้€š้“ๅ็งฐ</li><li>channel (<a href="#class-channel-generic-t"><code>Channel</code></a>): ้€š้“ๅฎžไพ‹</li></ul></blockquote><details><summary><b>Source code</b> or <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/comm/channel.py#L226" 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;"> set_channel</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(name: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">str</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, channel: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;Channel&#39;</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>
@ -102,14 +102,14 @@ import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.BZiUP1E-.js";const g
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> raise</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> ValueError</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;">&#39;Channel </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;"> already exists&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> _channel[name] </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> channel</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;"> channel_deliver_passive_channel.send((</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;set_channel&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, {</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;name&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: name, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;channel_&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: channel}))</span></span></code></pre></div></details><h3 id="func-set-channels-channels-dict-str-channel" tabindex="-1"><em><strong>func</strong></em> <code>set_channels(channels: dict[str, Channel])</code> <a class="header-anchor" href="#func-set-channels-channels-dict-str-channel" aria-label="Permalink to &quot;***func*** \`set_channels(channels: dict[str, Channel])\`&quot;">โ€‹</a></h3><p><strong>Description</strong>: ่ฎพ็ฝฎ้€š้“ๅฎžไพ‹</p><p><strong>Arguments</strong>:</p><blockquote><ul><li>channels (<a href="https://docs.python.org/3/library/stdtypes.html#dict" target="_blank" rel="noreferrer"><code>dict</code></a>[<a href="https://docs.python.org/3/library/stdtypes.html#str" target="_blank" rel="noreferrer"><code>str</code></a>, <a href="#class-channel-generic-t"><code>Channel</code></a>]): ้€š้“ๅฎžไพ‹</li></ul></blockquote><details><summary><b>Source code</b> or <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/comm/channel.py#L268" 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;"> set_channels</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(channels: dict[</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">str</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;Channel&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">]):</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> channel_deliver_passive_channel.send((</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;set_channel&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, {</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;name&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: name, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;channel_&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: channel}))</span></span></code></pre></div></details><h3 id="func-set-channels-channels-dict-str-channel" tabindex="-1"><em><strong>func</strong></em> <code>set_channels(channels: dict[str, Channel])</code> <a class="header-anchor" href="#func-set-channels-channels-dict-str-channel" aria-label="Permalink to &quot;***func*** \`set_channels(channels: dict[str, Channel])\`&quot;">โ€‹</a></h3><p><strong>Description</strong>: ่ฎพ็ฝฎ้€š้“ๅฎžไพ‹</p><p><strong>Arguments</strong>:</p><blockquote><ul><li>channels (<a href="https://docs.python.org/3/library/stdtypes.html#dict" target="_blank" rel="noreferrer"><code>dict</code></a>[<a href="https://docs.python.org/3/library/stdtypes.html#str" target="_blank" rel="noreferrer"><code>str</code></a>, <a href="#class-channel-generic-t"><code>Channel</code></a>]): ้€š้“ๅฎžไพ‹</li></ul></blockquote><details><summary><b>Source code</b> or <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/comm/channel.py#L252" 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;"> set_channels</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(channels: dict[</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">str</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;Channel&#39;</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;"> channels ([\`dict\`](https%3A//docs.python.org/3/library/stdtypes.html#dict)[[\`str\`](https%3A//docs.python.org/3/library/stdtypes.html#str), [\`Channel\`](#class-channel-generic-t)]): ้€š้“ๅฎžไพ‹</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;"> name, channel </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">in</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> channels.items():</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> set_channel(name, channel)</span></span></code></pre></div></details><h3 id="func-get-channel-name-str-channel" tabindex="-1"><em><strong>func</strong></em> <code>get_channel(name: str) -&gt; Channel</code> <a class="header-anchor" href="#func-get-channel-name-str-channel" aria-label="Permalink to &quot;***func*** \`get_channel(name: str) -&gt; Channel\`&quot;">โ€‹</a></h3><p><strong>Description</strong>: ่Žทๅ–้€š้“ๅฎžไพ‹</p><p><strong>Arguments</strong>:</p><blockquote><ul><li>name (<a href="https://docs.python.org/3/library/stdtypes.html#str" target="_blank" rel="noreferrer"><code>str</code></a>): ้€š้“ๅ็งฐ</li></ul></blockquote><p><strong>Return</strong>: <a href="#class-channel-generic-t"><code>Channel</code></a>: ้€š้“ๅฎžไพ‹</p><details><summary><b>Source code</b> or <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/comm/channel.py#L278" 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_channel</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(name: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">str</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) -&gt; </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;Channel&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> set_channel(name, channel)</span></span></code></pre></div></details><h3 id="func-get-channel-name-str-channel" tabindex="-1"><em><strong>func</strong></em> <code>get_channel(name: str) -&gt; Channel</code> <a class="header-anchor" href="#func-get-channel-name-str-channel" aria-label="Permalink to &quot;***func*** \`get_channel(name: str) -&gt; Channel\`&quot;">โ€‹</a></h3><p><strong>Description</strong>: ่Žทๅ–้€š้“ๅฎžไพ‹</p><p><strong>Arguments</strong>:</p><blockquote><ul><li>name (<a href="https://docs.python.org/3/library/stdtypes.html#str" target="_blank" rel="noreferrer"><code>str</code></a>): ้€š้“ๅ็งฐ</li></ul></blockquote><p><strong>Return</strong>: <a href="#class-channel-generic-t"><code>Channel</code></a>: ้€š้“ๅฎžไพ‹</p><details><summary><b>Source code</b> or <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/comm/channel.py#L262" 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_channel</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(name: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">str</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) -&gt; </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;Channel&#39;</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>
@ -122,7 +122,7 @@ import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.BZiUP1E-.js";const g
<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;"> recv_chan </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> Channel[Channel[Any]](</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;recv_chan&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> channel_deliver_passive_channel.send((</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;get_channel&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, {</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;name&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: name, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;recv_chan&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: recv_chan}))</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> recv_chan.receive()</span></span></code></pre></div></details><h3 id="func-get-channels-dict-str-channel" tabindex="-1"><em><strong>func</strong></em> <code>get_channels() -&gt; dict[str, Channel]</code> <a class="header-anchor" href="#func-get-channels-dict-str-channel" aria-label="Permalink to &quot;***func*** \`get_channels() -&gt; dict[str, Channel]\`&quot;">โ€‹</a></h3><p><strong>Description</strong>: ่Žทๅ–้€š้“ๅฎžไพ‹ไปฌ</p><p><strong>Return</strong>: <a href="https://docs.python.org/3/library/stdtypes.html#dict" target="_blank" rel="noreferrer"><code>dict</code></a>[<a href="https://docs.python.org/3/library/stdtypes.html#str" target="_blank" rel="noreferrer"><code>str</code></a>, <a href="#class-channel-generic-t"><code>Channel</code></a>]: ้€š้“ๅฎžไพ‹</p><details><summary><b>Source code</b> or <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/comm/channel.py#L303" 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_channels</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;">, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;Channel&#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;"> recv_chan.receive()</span></span></code></pre></div></details><h3 id="func-get-channels-dict-str-channel" tabindex="-1"><em><strong>func</strong></em> <code>get_channels() -&gt; dict[str, Channel]</code> <a class="header-anchor" href="#func-get-channels-dict-str-channel" aria-label="Permalink to &quot;***func*** \`get_channels() -&gt; dict[str, Channel]\`&quot;">โ€‹</a></h3><p><strong>Description</strong>: ่Žทๅ–้€š้“ๅฎžไพ‹ไปฌ</p><p><strong>Return</strong>: <a href="https://docs.python.org/3/library/stdtypes.html#dict" target="_blank" rel="noreferrer"><code>dict</code></a>[<a href="https://docs.python.org/3/library/stdtypes.html#str" target="_blank" rel="noreferrer"><code>str</code></a>, <a href="#class-channel-generic-t"><code>Channel</code></a>]: ้€š้“ๅฎžไพ‹</p><details><summary><b>Source code</b> or <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/comm/channel.py#L287" 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_channels</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;">, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;Channel&#39;</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;"> Returns:</span></span>
@ -133,13 +133,13 @@ import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.BZiUP1E-.js";const g
<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;"> recv_chan </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> Channel[dict[</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">str</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, Channel[Any]]](</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;recv_chan&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> channel_deliver_passive_channel.send((</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;get_channels&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, {</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;recv_chan&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: recv_chan}))</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> recv_chan.receive()</span></span></code></pre></div></details><h3 id="var-channel-deliver-active-channel-1" tabindex="-1">var <code>channel_deliver_active_channel</code> <a class="header-anchor" href="#var-channel-deliver-active-channel-1" aria-label="Permalink to &quot;var \`channel_deliver_active_channel\`&quot;">โ€‹</a></h3><ul><li><p><strong>Description</strong>: ไธปๅŠจ้€š้“ไผ ้€’้€š้“</p></li><li><p><strong>Default</strong>: <code>Channel(name=&#39;channel_deliver_active_channel&#39;)</code></p></li></ul><h3 id="var-channel-deliver-passive-channel-1" tabindex="-1">var <code>channel_deliver_passive_channel</code> <a class="header-anchor" href="#var-channel-deliver-passive-channel-1" aria-label="Permalink to &quot;var \`channel_deliver_passive_channel\`&quot;">โ€‹</a></h3><ul><li><p><strong>Description</strong>: ่ขซๅŠจ้€š้“ไผ ้€’้€š้“</p></li><li><p><strong>Default</strong>: <code>Channel(name=&#39;channel_deliver_passive_channel&#39;)</code></p></li></ul><p><code>@channel_deliver_passive_channel.on_receive(filter_func=lambda data: data[0] == &#39;set_channel&#39;)</code></p><h3 id="func-on-set-channel-data-tuple-str-dict-str-any" tabindex="-1"><em><strong>func</strong></em> <code>on_set_channel(data: tuple[str, dict[str, Any]])</code> <a class="header-anchor" href="#func-on-set-channel-data-tuple-str-dict-str-any" aria-label="Permalink to &quot;***func*** \`on_set_channel(data: tuple[str, dict[str, Any]])\`&quot;">โ€‹</a></h3><details><summary><b>Source code</b> or <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/comm/channel.py#L225" 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:#6F42C1;--shiki-dark:#B392F0;">@channel_deliver_passive_channel.on_receive</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">filter_func</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=lambda</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> data: data[</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">] </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">==</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;set_channel&#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;"> recv_chan.receive()</span></span></code></pre></div></details><h3 id="var-channel-deliver-active-channel-1" tabindex="-1">var <code>channel_deliver_active_channel</code> <a class="header-anchor" href="#var-channel-deliver-active-channel-1" aria-label="Permalink to &quot;var \`channel_deliver_active_channel\`&quot;">โ€‹</a></h3><ul><li><p><strong>Description</strong>: ไธปๅŠจ้€š้“ไผ ้€’้€š้“</p></li><li><p><strong>Default</strong>: <code>Channel(name=&#39;channel_deliver_active_channel&#39;)</code></p></li></ul><h3 id="var-channel-deliver-passive-channel-1" tabindex="-1">var <code>channel_deliver_passive_channel</code> <a class="header-anchor" href="#var-channel-deliver-passive-channel-1" aria-label="Permalink to &quot;var \`channel_deliver_passive_channel\`&quot;">โ€‹</a></h3><ul><li><p><strong>Description</strong>: ่ขซๅŠจ้€š้“ไผ ้€’้€š้“</p></li><li><p><strong>Default</strong>: <code>Channel(name=&#39;channel_deliver_passive_channel&#39;)</code></p></li></ul><p><code>@channel_deliver_passive_channel.on_receive(filter_func=lambda data: data[0] == &#39;set_channel&#39;)</code></p><h3 id="func-on-set-channel-data-tuple-str-dict-str-any" tabindex="-1"><em><strong>func</strong></em> <code>on_set_channel(data: tuple[str, dict[str, Any]])</code> <a class="header-anchor" href="#func-on-set-channel-data-tuple-str-dict-str-any" aria-label="Permalink to &quot;***func*** \`on_set_channel(data: tuple[str, dict[str, Any]])\`&quot;">โ€‹</a></h3><details><summary><b>Source code</b> or <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/comm/channel.py#L209" 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:#6F42C1;--shiki-dark:#B392F0;">@channel_deliver_passive_channel.on_receive</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">filter_func</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=lambda</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> data: data[</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">] </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">==</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;set_channel&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">def</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> on_set_channel</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(data: tuple[</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">str</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, dict[</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">str</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, Any]]):</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> name, channel </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> (data[</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">1</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">][</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;name&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">], data[</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">1</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">][</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;channel_&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">])</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> set_channel(name, channel)</span></span></code></pre></div></details><p><code>@channel_deliver_passive_channel.on_receive(filter_func=lambda data: data[0] == &#39;get_channel&#39;)</code></p><h3 id="func-on-get-channel-data-tuple-str-dict-str-any" tabindex="-1"><em><strong>func</strong></em> <code>on_get_channel(data: tuple[str, dict[str, Any]])</code> <a class="header-anchor" href="#func-on-get-channel-data-tuple-str-dict-str-any" aria-label="Permalink to &quot;***func*** \`on_get_channel(data: tuple[str, dict[str, Any]])\`&quot;">โ€‹</a></h3><details><summary><b>Source code</b> or <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/comm/channel.py#L231" 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:#6F42C1;--shiki-dark:#B392F0;">@channel_deliver_passive_channel.on_receive</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">filter_func</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=lambda</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> data: data[</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">] </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">==</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;get_channel&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> set_channel(name, channel)</span></span></code></pre></div></details><p><code>@channel_deliver_passive_channel.on_receive(filter_func=lambda data: data[0] == &#39;get_channel&#39;)</code></p><h3 id="func-on-get-channel-data-tuple-str-dict-str-any" tabindex="-1"><em><strong>func</strong></em> <code>on_get_channel(data: tuple[str, dict[str, Any]])</code> <a class="header-anchor" href="#func-on-get-channel-data-tuple-str-dict-str-any" aria-label="Permalink to &quot;***func*** \`on_get_channel(data: tuple[str, dict[str, Any]])\`&quot;">โ€‹</a></h3><details><summary><b>Source code</b> or <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/comm/channel.py#L215" 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:#6F42C1;--shiki-dark:#B392F0;">@channel_deliver_passive_channel.on_receive</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">filter_func</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=lambda</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> data: data[</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">] </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">==</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;get_channel&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">def</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> on_get_channel</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(data: tuple[</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">str</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, dict[</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">str</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, Any]]):</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> name, recv_chan </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> (data[</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">1</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">][</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;name&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">], data[</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">1</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">][</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;recv_chan&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">])</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> recv_chan.send(get_channel(name))</span></span></code></pre></div></details><p><code>@channel_deliver_passive_channel.on_receive(filter_func=lambda data: data[0] == &#39;get_channels&#39;)</code></p><h3 id="func-on-get-channels-data-tuple-str-dict-str-any" tabindex="-1"><em><strong>func</strong></em> <code>on_get_channels(data: tuple[str, dict[str, Any]])</code> <a class="header-anchor" href="#func-on-get-channels-data-tuple-str-dict-str-any" aria-label="Permalink to &quot;***func*** \`on_get_channels(data: tuple[str, dict[str, Any]])\`&quot;">โ€‹</a></h3><details><summary><b>Source code</b> or <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/comm/channel.py#L237" 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:#6F42C1;--shiki-dark:#B392F0;">@channel_deliver_passive_channel.on_receive</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">filter_func</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=lambda</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> data: data[</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">] </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">==</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;get_channels&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> recv_chan.send(get_channel(name))</span></span></code></pre></div></details><p><code>@channel_deliver_passive_channel.on_receive(filter_func=lambda data: data[0] == &#39;get_channels&#39;)</code></p><h3 id="func-on-get-channels-data-tuple-str-dict-str-any" tabindex="-1"><em><strong>func</strong></em> <code>on_get_channels(data: tuple[str, dict[str, Any]])</code> <a class="header-anchor" href="#func-on-get-channels-data-tuple-str-dict-str-any" aria-label="Permalink to &quot;***func*** \`on_get_channels(data: tuple[str, dict[str, Any]])\`&quot;">โ€‹</a></h3><details><summary><b>Source code</b> or <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/comm/channel.py#L221" 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:#6F42C1;--shiki-dark:#B392F0;">@channel_deliver_passive_channel.on_receive</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">filter_func</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=lambda</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> data: data[</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">] </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">==</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;get_channels&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">def</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> on_get_channels</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(data: tuple[</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">str</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, dict[</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">str</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, Any]]):</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> recv_chan </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> data[</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">1</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">][</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;recv_chan&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">]</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> recv_chan.send(get_channels())</span></span></code></pre></div></details>`,82),t=[l];function h(p,k,r,d,c,E){return a(),i("div",null,t)}const y=s(e,[["render",h]]);export{g as __pageData,y as default};

View File

@ -10,9 +10,7 @@ import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.BZiUP1E-.js";const o
<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;"> ๅฏนๅค–ๅฏๅŠจๆ–นๆณ•๏ผŒๅฏๅŠจๆ‰€ๆœ‰่ฟ›็จ‹๏ผŒๅˆ›ๅปบasyncio task</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;"> [asyncio.create_task(chan.start_receive_loop()) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">for</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> chan </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">in</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> get_channels().values()]</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> [asyncio.create_task(sm.start_receive_loop()) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">for</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> sm </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">in</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> [shared_memory]]</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> [asyncio.create_task(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">._run_process(name)) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">for</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> 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;">.targets]</span></span></code></pre></div></details><h4 id="func-add-target-self-name-str-target-target-func-args-tuple-kwargs-none" tabindex="-1"><em><strong>func</strong></em> <code>add_target(self, name: str, target: TARGET_FUNC, args: tuple = (), kwargs = None)</code> <a class="header-anchor" href="#func-add-target-self-name-str-target-target-func-args-tuple-kwargs-none" aria-label="Permalink to &quot;***func*** \`add_target(self, name: str, target: TARGET_FUNC, args: tuple = (), kwargs = None)\`&quot;">โ€‹</a></h4><p><strong>Description</strong>: ๆทปๅŠ ่ฟ›็จ‹</p><p><strong>Arguments</strong>:</p><blockquote><ul><li>name: ่ฟ›็จ‹ๅ๏ผŒ็”จไบŽ่Žทๅ–ๅ’Œๅ”ฏไธ€ๆ ‡่ฏ†</li><li>target: ่ฟ›็จ‹ๅ‡ฝๆ•ฐ</li><li>args: ่ฟ›็จ‹ๅ‡ฝๆ•ฐๅ‚ๆ•ฐ</li><li>kwargs: ่ฟ›็จ‹ๅ‡ฝๆ•ฐๅ…ณ้”ฎๅญ—ๅ‚ๆ•ฐ๏ผŒ้€šๅธธไผš้ป˜่ฎคไผ ๅ…ฅchan_activeๅ’Œchan_passive</li></ul></blockquote><details><summary><b>Source code</b> or <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/core/manager.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;"> add_target</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self, name: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">str</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, target: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">TARGET_FUNC</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, args: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">tuple</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(), kwargs</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:#24292E;--shiki-dark:#E1E4E8;"> [asyncio.create_task(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">._run_process(name)) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">for</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> 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;">.targets]</span></span></code></pre></div></details><h4 id="func-add-target-self-name-str-target-target-func-args-tuple-kwargs-none" tabindex="-1"><em><strong>func</strong></em> <code>add_target(self, name: str, target: TARGET_FUNC, args: tuple = (), kwargs = None)</code> <a class="header-anchor" href="#func-add-target-self-name-str-target-target-func-args-tuple-kwargs-none" aria-label="Permalink to &quot;***func*** \`add_target(self, name: str, target: TARGET_FUNC, args: tuple = (), kwargs = None)\`&quot;">โ€‹</a></h4><p><strong>Description</strong>: ๆทปๅŠ ่ฟ›็จ‹</p><p><strong>Arguments</strong>:</p><blockquote><ul><li>name: ่ฟ›็จ‹ๅ๏ผŒ็”จไบŽ่Žทๅ–ๅ’Œๅ”ฏไธ€ๆ ‡่ฏ†</li><li>target: ่ฟ›็จ‹ๅ‡ฝๆ•ฐ</li><li>args: ่ฟ›็จ‹ๅ‡ฝๆ•ฐๅ‚ๆ•ฐ</li><li>kwargs: ่ฟ›็จ‹ๅ‡ฝๆ•ฐๅ…ณ้”ฎๅญ—ๅ‚ๆ•ฐ๏ผŒ้€šๅธธไผš้ป˜่ฎคไผ ๅ…ฅchan_activeๅ’Œchan_passive</li></ul></blockquote><details><summary><b>Source code</b> or <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/core/manager.py#L137" 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;"> add_target</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self, name: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">str</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, target: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">TARGET_FUNC</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, args: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">tuple</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(), kwargs</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>
@ -26,9 +24,9 @@ import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.BZiUP1E-.js";const o
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> chan_active: Channel </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> Channel(</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">name</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</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_passive: Channel </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> Channel(</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">name</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</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;">-passive&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> channel_deliver </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> ChannelDeliver(</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">active</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">chan_active, </span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">passive</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">chan_passive, </span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">channel_deliver_active</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">channel_deliver_active_channel, </span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">channel_deliver_passive</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">channel_deliver_passive_channel, </span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">publish</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">publish_channel)</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.targets[name] </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> (_delivery_channel_wrapper, (target, channel_deliver, shared_memory, </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">args), kwargs)</span></span></code></pre></div></details><h4 id="func-join-all-self" tabindex="-1"><em><strong>func</strong></em> <code>join_all(self)</code> <a class="header-anchor" href="#func-join-all-self" aria-label="Permalink to &quot;***func*** \`join_all(self)\`&quot;">โ€‹</a></h4><details><summary><b>Source code</b> or <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/core/manager.py#L164" 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;"> join_all</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self):</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.targets[name] </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> (_delivery_channel_wrapper, (target, channel_deliver, shared_memory, </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">args), kwargs)</span></span></code></pre></div></details><h4 id="func-join-all-self" tabindex="-1"><em><strong>func</strong></em> <code>join_all(self)</code> <a class="header-anchor" href="#func-join-all-self" aria-label="Permalink to &quot;***func*** \`join_all(self)\`&quot;">โ€‹</a></h4><details><summary><b>Source code</b> or <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/core/manager.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;"> join_all</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self):</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> for</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> name, process </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;">.targets:</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> process.join()</span></span></code></pre></div></details><h4 id="func-terminate-self-name-str" tabindex="-1"><em><strong>func</strong></em> <code>terminate(self, name: str)</code> <a class="header-anchor" href="#func-terminate-self-name-str" aria-label="Permalink to &quot;***func*** \`terminate(self, name: str)\`&quot;">โ€‹</a></h4><p><strong>Description</strong>: ็ปˆๆญข่ฟ›็จ‹ๅนถไปŽ่ฟ›็จ‹ๅญ—ๅ…ธไธญๅˆ ้™ค</p><p><strong>Arguments</strong>:</p><blockquote><ul><li>name:</li></ul></blockquote><details><summary><b>Source code</b> or <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/core/manager.py#L168" 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;"> terminate</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self, name: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">str</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">):</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> process.join()</span></span></code></pre></div></details><h4 id="func-terminate-self-name-str" tabindex="-1"><em><strong>func</strong></em> <code>terminate(self, name: str)</code> <a class="header-anchor" href="#func-terminate-self-name-str" aria-label="Permalink to &quot;***func*** \`terminate(self, name: str)\`&quot;">โ€‹</a></h4><p><strong>Description</strong>: ็ปˆๆญข่ฟ›็จ‹ๅนถไปŽ่ฟ›็จ‹ๅญ—ๅ…ธไธญๅˆ ้™ค</p><p><strong>Arguments</strong>:</p><blockquote><ul><li>name:</li></ul></blockquote><details><summary><b>Source code</b> or <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/core/manager.py#L166" 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;"> terminate</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self, name: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">str</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>
@ -45,9 +43,9 @@ import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.BZiUP1E-.js";const o
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> process.join(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">TIMEOUT</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:#24292E;--shiki-dark:#E1E4E8;"> process.is_alive():</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> process.kill()</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> logger.success(</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">f</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;Process </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;"> terminated.&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span></code></pre></div></details><h4 id="func-terminate-all-self" tabindex="-1"><em><strong>func</strong></em> <code>terminate_all(self)</code> <a class="header-anchor" href="#func-terminate-all-self" aria-label="Permalink to &quot;***func*** \`terminate_all(self)\`&quot;">โ€‹</a></h4><details><summary><b>Source code</b> or <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/core/manager.py#L187" 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;"> terminate_all</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self):</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> logger.success(</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">f</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;Process </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;"> terminated.&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span></code></pre></div></details><h4 id="func-terminate-all-self" tabindex="-1"><em><strong>func</strong></em> <code>terminate_all(self)</code> <a class="header-anchor" href="#func-terminate-all-self" aria-label="Permalink to &quot;***func*** \`terminate_all(self)\`&quot;">โ€‹</a></h4><details><summary><b>Source code</b> or <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/core/manager.py#L185" 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;"> terminate_all</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self):</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> for</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> 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;">.targets:</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.terminate(name)</span></span></code></pre></div></details><h4 id="func-is-process-alive-self-name-str-bool" tabindex="-1"><em><strong>func</strong></em> <code>is_process_alive(self, name: str) -&gt; bool</code> <a class="header-anchor" href="#func-is-process-alive-self-name-str-bool" aria-label="Permalink to &quot;***func*** \`is_process_alive(self, name: str) -&gt; bool\`&quot;">โ€‹</a></h4><p><strong>Description</strong>: ๆฃ€ๆŸฅ่ฟ›็จ‹ๆ˜ฏๅฆๅญ˜ๆดป</p><p><strong>Arguments</strong>:</p><blockquote><ul><li>name:</li></ul></blockquote><details><summary><b>Source code</b> or <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/core/manager.py#L191" 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;"> is_process_alive</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self, name: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">str</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) -&gt; </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">bool</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;">.terminate(name)</span></span></code></pre></div></details><h4 id="func-is-process-alive-self-name-str-bool" tabindex="-1"><em><strong>func</strong></em> <code>is_process_alive(self, name: str) -&gt; bool</code> <a class="header-anchor" href="#func-is-process-alive-self-name-str-bool" aria-label="Permalink to &quot;***func*** \`is_process_alive(self, name: str) -&gt; bool\`&quot;">โ€‹</a></h4><p><strong>Description</strong>: ๆฃ€ๆŸฅ่ฟ›็จ‹ๆ˜ฏๅฆๅญ˜ๆดป</p><p><strong>Arguments</strong>:</p><blockquote><ul><li>name:</li></ul></blockquote><details><summary><b>Source code</b> or <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/core/manager.py#L189" 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;"> is_process_alive</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(self, name: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">str</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) -&gt; </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">bool</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>
@ -58,4 +56,4 @@ import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.BZiUP1E-.js";const o
<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;">not</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;">.targets:</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;Process </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;"> not found.&#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;"> self</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.processes[name].is_alive()</span></span></code></pre></div></details>`,31),l=[t];function h(p,k,r,d,E,g){return a(),i("div",null,l)}const y=s(e,[["render",h]]);export{o as __pageData,y as default};
<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;">.processes[name].is_alive()</span></span></code></pre></div></details>`,31),l=[t];function h(p,k,r,d,g,E){return a(),i("div",null,l)}const y=s(e,[["render",h]]);export{o as __pageData,y as default};

View File

@ -1 +1 @@
import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.BZiUP1E-.js";const o=JSON.parse('{"title":"liteyuki.core.manager","description":"","frontmatter":{"title":"liteyuki.core.manager"},"headers":[],"relativePath":"en/dev/api/core/manager.md","filePath":"en/dev/api/core/manager.md","lastUpdated":1725101868000}'),e={name:"en/dev/api/core/manager.md"},t=n("",31),l=[t];function h(p,k,r,d,E,g){return a(),i("div",null,l)}const y=s(e,[["render",h]]);export{o as __pageData,y as default};
import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.BZiUP1E-.js";const o=JSON.parse('{"title":"liteyuki.core.manager","description":"","frontmatter":{"title":"liteyuki.core.manager"},"headers":[],"relativePath":"en/dev/api/core/manager.md","filePath":"en/dev/api/core/manager.md","lastUpdated":1725101868000}'),e={name:"en/dev/api/core/manager.md"},t=n("",31),l=[t];function h(p,k,r,d,g,E){return a(),i("div",null,l)}const y=s(e,[["render",h]]);export{o as __pageData,y 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

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