2024-08-29 13:53:08 +08:00
<!doctype html>
< html lang = "en-US" data-theme = "light" >
< head >
< meta charset = "utf-8" / >
< meta name = "viewport" content = "width=device-width,initial-scale=1" / >
< meta name = "generator" content = "VuePress 2.0.0-rc.9" / >
< meta name = "theme" content = "VuePress Theme Hope 2.0.0-rc.32" / >
< style >
html {
background: var(--bg-color, #fff);
}
html[data-theme="dark"] {
background: var(--bg-color, #1d1e1f);
}
body {
background: var(--bg-color);
}
< / style >
< script >
const userMode = localStorage.getItem("vuepress-theme-hope-scheme");
const systemDarkMode =
window.matchMedia & &
window.matchMedia("(prefers-color-scheme: dark)").matches;
if (userMode === "dark" || (userMode !== "light" & & systemDarkMode)) {
document.documentElement.setAttribute("data-theme", "dark");
}
< / script >
2024-08-31 16:18:25 +08:00
< link rel = "alternate" hreflang = "zh-cn" href = "https://vuepress-theme-hope-docs-demo.netlify.app/dev/api/bot/" > < meta property = "og:url" content = "https://vuepress-theme-hope-docs-demo.netlify.app/en/dev/api/bot/" > < meta property = "og:site_name" content = "LiteyukiBot" > < meta property = "og:title" content = "liteyuki.bot" > < meta property = "og:description" content = "liteyuki.bot class LiteyukiBot def __init__(self, *args, **kwargs) -> None Description: 初始化轻雪实例 Arguments: *args: **kwargs: 配置 Source code or View on GitHub async def _run(self)..." > < meta property = "og:type" content = "article" > < meta property = "og:locale" content = "en-US" > < meta property = "og:locale:alternate" content = "zh-CN" > < meta property = "og:updated_time" content = "2024-08-29T06:19:39.000Z" > < meta property = "article:modified_time" content = "2024-08-29T06:19:39.000Z" > < script type = "application/ld+json" > { "@context" : "https://schema.org" , "@type" : "Article" , "headline" : "liteyuki.bot" , "image" : [ "" ] , "dateModified" : "2024-08-29T06:19:39.000Z" , "author" : [ ] } < / script > < script src = "/js/en/get_data.js" type = "module" > < / script > < script src = "/js/style.js" type = "module" > < / script > < link rel = "icon" href = "https://cdn.liteyuki.icu/favicon.ico" > < link rel = "stylesheet" href = "https://cdn.bootcdn.net/ajax/libs/firacode/6.2.0/fira_code.min.css" > < meta name = "viewport" content = "width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" > < title > liteyuki.bot | LiteyukiBot< / title > < meta name = "description" content = "liteyuki.bot class LiteyukiBot def __init__(self, *args, **kwargs) -> None Description: 初始化轻雪实例 Arguments: *args: **kwargs: 配置 Source code or View on GitHub async def _run(self)..." >
2024-08-29 13:53:08 +08:00
< link rel = "preload" href = "/assets/style-DI-mIFA3.css" as = "style" > < link rel = "stylesheet" href = "/assets/style-DI-mIFA3.css" >
2024-08-31 16:18:25 +08:00
< link rel = "modulepreload" href = "/assets/app-BvUYPzLF.js" > < link rel = "modulepreload" href = "/assets/index.html-ygr2B5Hx.js" >
< link rel = "prefetch" href = "/assets/index.html-BuVzZahe.js" as = "script" > < link rel = "prefetch" href = "/assets/index.html-BWq0JmC5.js" as = "script" > < link rel = "prefetch" href = "/assets/config.html-C9Vec8JG.js" as = "script" > < link rel = "prefetch" href = "/assets/fandq.html-C6_PLmfQ.js" as = "script" > < link rel = "prefetch" href = "/assets/install.html-D-pvP4Ph.js" as = "script" > < link rel = "prefetch" href = "/assets/index.html-B9ww7C7k.js" as = "script" > < link rel = "prefetch" href = "/assets/dev_comm.html-C56nlQMU.js" as = "script" > < link rel = "prefetch" href = "/assets/dev_lyfunc.html-C1XTFqll.js" as = "script" > < link rel = "prefetch" href = "/assets/dev_lyplugin.html-CGgYv8n2.js" as = "script" > < link rel = "prefetch" href = "/assets/dev_resource_pack.html-CRK0bOA-.js" as = "script" > < link rel = "prefetch" href = "/assets/index.html-DrO5-BCE.js" as = "script" > < link rel = "prefetch" href = "/assets/index.html-tfUKbZ1k.js" as = "script" > < link rel = "prefetch" href = "/assets/plugin.html-Cobx5Uaa.js" as = "script" > < link rel = "prefetch" href = "/assets/resource.html-DhvdqldF.js" as = "script" > < link rel = "prefetch" href = "/assets/index.html-CQ4pxv5K.js" as = "script" > < link rel = "prefetch" href = "/assets/agreement.html-V3LLKIyX.js" as = "script" > < link rel = "prefetch" href = "/assets/basic_command.html-DJ71k_YO.js" as = "script" > < link rel = "prefetch" href = "/assets/extra_command.html-BmEWADfI.js" as = "script" > < link rel = "prefetch" href = "/assets/index.html-Dz2wKZJV.js" as = "script" > < link rel = "prefetch" href = "/assets/config.html-CETySTgR.js" as = "script" > < link rel = "prefetch" href = "/assets/exception.html-BaaOTESh.js" as = "script" > < link rel = "prefetch" href = "/assets/log.html-BoVO7s7A.js" as = "script" > < link rel = "prefetch" href = "/assets/mkdoc.html-B6zX7-XO.js" as = "script" > < link rel = "prefetch" href = "/assets/utils.html-BoBT4z_Z.js" as = "script" > < link rel = "prefetch" href = "/assets/index.html-DwpZsILE.js" as = "script" > < link rel = "prefetch" href = "/assets/config.html-DBl1_ICy.js" as = "script" > < link rel = "prefetch" href = "/assets/fandq.html-XIWwTvBg.js" as = "script" > < link rel = "prefetch" href = "/assets/install.html-CnU8ryas.js" as = "script" > < link rel = "prefetch" href = "/assets/index.html-tZZQUn5a.js" as = "script" > < link rel = "prefetch" href = "/assets/dev_comm.html-DToCVXYg.js" as = "script" > < link rel = "prefetch" href = "/assets/dev_lyfunc.html-Br37Fkum.js" as = "script" > < link rel = "prefetch" href = "/assets/dev_lyplugin.html-BBK6lK5w.js" as = "script" > < link rel = "prefetch" href = "/assets/dev_resource_pack.html-VsSVQztU.js" as = "script" > < link rel = "prefetch" href = "/assets/index.html-CWnyYFiQ.js" as = "script" > < link rel = "prefetch" href = "/assets/plugin.html-CPiszvKE.js" as = "script" > < link rel = "prefetch" href = "/assets/resource.html-B7HGH0TJ.js" as = "script" > < link rel = "prefetch" href = "/assets/index.html-PIvO5Ock.js" as = "script" > < link rel = "prefetch" href = "/assets/agreement.html-NKn9sD4A.js" as = "script" > < link rel = "prefetch" href = "/assets/basic_command.html-BJCYSaAG.js" as = "script" > < link rel = "prefetch" href = "/assets/extra_command.html-JJndBT_y.js" as = "script" > < link rel = "prefetch" href = "/assets/index.html-B6HJK1bp.js" as = "script" > < link rel = "prefetch" href = "/assets/lifespan.html-BfsbaAoc.js" as = "script" > < link rel = "prefetch" href = "/assets/index.html-YFjwgsch.js" as = "script" > < link rel = "prefetch" href = "/assets/channel.html-CHrIqluM.js" as = "script" > < link rel = "prefetch" href = "/assets/event.html-CEpYcxX2.js" as = "script" > < link rel = "prefetch" href = "/assets/rpc.html-Dj7i743Z.js" as = "script" > < link rel = "prefetch" href = "/assets/socks_channel.html-C5KIBKFT.js" as = "script" > < link rel = "prefetch" href = "/assets/storage.html-Bm1tJAi2.js" as = "script" > < link rel = "prefetch" href = "/assets/index.html-CGWpmojP.js" as = "script" > < link rel = "prefetch" href = "/assets/manager.html-D_9ITmj3.js" as = "script" > < link rel = "prefetch" href = "/assets/index.html-DYgVAvZV.js" as = "script" > < link rel = "prefetch" href = "/assets/observer.html-DvLhUcl9.js" as = "script" > < link rel = "prefetch" href = "/assets/plugin.html-CeT36pIe.js" as = "script" > < link rel = "prefetch" href = "/assets/index.html-BAfwa9sW.js" as = "script" > < link rel = "prefetch" href = "/assets/event.html-CuyYp9c-.js" as = "script" > < link rel = "prefetch" href = "/assets/matcher.html-BhA4-npt
2024-08-29 13:53:08 +08:00
< / head >
< body >
2024-08-31 16:18:25 +08:00
< div id = "app" > <!-- [ --> <!-- [ --> <!-- [ --> < span tabindex = "-1" > < / span > < a href = "#main-content" class = "vp-skip-link sr-only" > Skip to main content< / a > <!-- ] --> < div class = "theme-container has-toc" > <!-- [ --> < header id = "navbar" class = "vp-navbar" > < div class = "vp-navbar-start" > < button type = "button" class = "vp-toggle-sidebar-button" title = "Toggle Sidebar" > < span class = "icon" > < / span > < / button > <!-- [ --> <!-- --> <!-- ] --> <!-- [ --> < a class = "route-link vp-brand" href = "/en/" > < img class = "vp-nav-logo" src = "https://cdn.liteyuki.icu/static/img/liteyuki_icon_640.png" alt > <!-- --> < span class = "vp-site-name hide-in-pad" > LiteyukiBot< / span > < / a > <!-- ] --> <!-- [ --> <!-- --> <!-- ] --> < / div > < div class = "vp-navbar-center" > <!-- [ --> <!-- --> <!-- ] --> <!-- [ --> < nav class = "vp-nav-links" > < div class = "nav-item hide-in-mobile" > < a class = "route-link nav-link" href = "/en/" aria-label = "Home" > < span class = "font-icon icon fa-fw fa-sm fas fa-home" style = "" > < / span > Home<!-- --> < / a > < / div > < div class = "nav-item hide-in-mobile" > < a class = "route-link nav-link" href = "/en/deploy/" aria-label = "Deploy" > <!-- --> Deploy<!-- --> < / a > < / div > < div class = "nav-item hide-in-mobile" > < a class = "route-link nav-link" href = "/en/usage/" aria-label = "Usage" > <!-- --> Usage<!-- --> < / a > < / div > < div class = "nav-item hide-in-mobile" > < a class = "route-link nav-link" href = "/en/store/" aria-label = "Extensions" > <!-- --> Extensions<!-- --> < / a > < / div > < div class = "nav-item hide-in-mobile" > < a class = "route-link nav-link active" href = "/en/dev/" aria-label = "Contribute" > <!-- --> Contribute<!-- --> < / a > < / div > < / nav > <!-- ] --> <!-- [ --> <!-- --> <!-- ] --> < / div > < div class = "vp-navbar-end" > <!-- [ --> <!-- --> <!-- ] --> <!-- [ --> < div class = "nav-item" > < div class = "dropdown-wrapper i18n-dropdown" > < button type = "button" class = "dropdown-title" aria-label = "Select language" > <!-- [ --> < svg xmlns = "http://www.w3.org/2000/svg" class = "icon i18n-icon" viewBox = "0 0 1024 1024" fill = "currentColor" aria-label = "i18n icon" style = "width:1rem;height:1rem;vertical-align:middle;" > < path d = "M379.392 460.8 494.08 575.488l-42.496 102.4L307.2 532.48 138.24 701.44l-71.68-72.704L234.496 460.8l-45.056-45.056c-27.136-27.136-51.2-66.56-66.56-108.544h112.64c7.68 14.336 16.896 27.136 26.112 35.84l45.568 46.08 45.056-45.056C382.976 312.32 409.6 247.808 409.6 204.8H0V102.4h256V0h102.4v102.4h256v102.4H512c0 70.144-37.888 161.28-87.04 210.944L378.88 460.8zM576 870.4 512 1024H409.6l256-614.4H768l256 614.4H921.6l-64-153.6H576zM618.496 768h196.608L716.8 532.48 618.496 768z" > < / path > < / svg > <!-- ] --> < span class = "arrow" > < / span > < ul class = "nav-dropdown" > < li class = "dropdown-item" > < a class = "route-link nav-link" href = "/dev/api/bot/" aria-label = "简体中文" > <!-- --> 简体中文<!-- --> < / a > < / li > < li class = "dropdown-item" > < a class = "route-link nav-link active" href = "/en/dev/api/bot/" aria-label = "English" > <!-- --> English<!-- --> < / a > < / li > < / ul > < / button > < / div > < / div > < div class = "nav-item vp-repo" > < a class = "vp-repo-link" href = "https://github.com/LiteyukiStudio/LiteyukiBot" target = "_blank" rel = "noopener noreferrer" aria-label = "GitHub" > < svg xmlns = "http://www.w3.org/2000/svg" class = "icon github-icon" viewBox = "0 0 1024 1024" fill = "currentColor" aria-label = "github icon" style = "width:1.25rem;height:1.25rem;vertical-align:middle;" > < path d = "M511.957 21 . 333C241 . 024 21 . 333 21 . 333 240 . 981 21 . 333 512c0 216 . 832 140 . 544 400 . 725 335 . 574 465 . 664 24 . 49 4 . 395 32 . 256-10 . 07 32 . 256-23 . 083 0-11 . 69 . 256-44 . 245 0-85 . 205-136 . 448 29 . 61-164 . 736-64 . 64-164 . 736-64 . 64-22 . 315-56 . 704-54 . 4-71 . 765-54 . 4-71 . 765-44 . 587-30 . 464 3 . 285-29 . 824 3 . 285-29 . 824 49 . 195 3 . 413 75 . 179 50 . 517 75 . 179 50 . 517 43 . 776 75 . 008 114 . 816 53 . 333 142 . 762 40 . 79 4 . 523-31 . 66 17 . 152-53 . 377 31 . 19-65 . 537-108 . 971-12 . 458-223 . 488-54 . 485-223 . 488-242 . 602 0-53 . 547 19 . 114-97 . 323 50 . 517-131 . 67-5 . 035-12 . 33-21 . 93-62 . 293 4 . 779-129 . 834 0 0 41 . 258-13 . 184 134 . 912 50 . 346a469 . 803 469 . 803 0 0 1 122 . 88-16 . 554c41 . 642 . 213 83 . 626 5 . 632 122 . 88 16 . 554 93 . 653-63 . 488 134 . 784-50 . 346 134 . 784-50 . 346 26 . 752 67 . 541 9 . 898 117 . 504 4 . 864 129 . 834 31 . 402 34 . 347 50 . 474 78 . 123 50 . 474 131 . 67 0 188 . 586-114 . 73 230 . 016-224 . 042 242 . 09 17 . 578 15 . 232 33 . 578 44 . 672 33 . 578 90 . 454v135 . 85c0 13 . 142 7 . 936 27 . 606 32 . 854 22 . 87C862 . 25 912 . 597 1002 . 667 728 . 747 1002 . 667 512c0-2
2024-08-29 13:53:08 +08:00
< span class = "token triple-quoted-string string" > " " "
初始化轻雪实例
Args:
*args:
**kwargs: 配置
" " " < / span >
< span class = "token string" > ' 常规操作' < / span >
print_logo< span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span >
< span class = "token keyword" > global< / span > _BOT_INSTANCE
_BOT_INSTANCE < span class = "token operator" > =< / span > self
< span class = "token string" > ' 配置' < / span >
self< span class = "token punctuation" > .< / span > config< span class = "token punctuation" > :< / span > < span class = "token builtin" > dict< / span > < span class = "token punctuation" > [< / span > < span class = "token builtin" > str< / span > < span class = "token punctuation" > ,< / span > Any< span class = "token punctuation" > ]< / span > < span class = "token operator" > =< / span > kwargs
< span class = "token string" > ' 初始化' < / span >
self< span class = "token punctuation" > .< / span > init< span class = "token punctuation" > (< / span > < span class = "token operator" > **< / span > self< span class = "token punctuation" > .< / span > config< span class = "token punctuation" > )< / span >
logger< span class = "token punctuation" > .< / span > info< span class = "token punctuation" > (< / span > < span class = "token string" > ' Liteyuki is initializing...' < / span > < span class = "token punctuation" > )< / span >
< span class = "token string" > ' 生命周期管理' < / span >
self< span class = "token punctuation" > .< / span > lifespan < span class = "token operator" > =< / span > Lifespan< span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span >
self< span class = "token punctuation" > .< / span > process_manager< span class = "token punctuation" > :< / span > ProcessManager < span class = "token operator" > =< / span > ProcessManager< span class = "token punctuation" > (< / span > lifespan< span class = "token operator" > =< / span > self< span class = "token punctuation" > .< / span > lifespan< span class = "token punctuation" > )< / span >
< span class = "token string" > ' 事件循环' < / span >
self< span class = "token punctuation" > .< / span > loop < span class = "token operator" > =< / span > asyncio< span class = "token punctuation" > .< / span > new_event_loop< span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span >
asyncio< span class = "token punctuation" > .< / span > set_event_loop< span class = "token punctuation" > (< / span > self< span class = "token punctuation" > .< / span > loop< span class = "token punctuation" > )< / span >
self< span class = "token punctuation" > .< / span > stop_event < span class = "token operator" > =< / span > threading< span class = "token punctuation" > .< / span > Event< span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span >
self< span class = "token punctuation" > .< / span > call_restart_count < span class = "token operator" > =< / span > < span class = "token number" > 0< / span >
< span class = "token string" > ' 加载插件加载器' < / span >
load_plugin< span class = "token punctuation" > (< / span > < span class = "token string" > ' liteyuki.plugins.plugin_loader' < / span > < span class = "token punctuation" > )< / span >
< span class = "token string" > ' 信号处理' < / span >
signal< span class = "token punctuation" > .< / span > signal< span class = "token punctuation" > (< / span > signal< span class = "token punctuation" > .< / span > SIGINT< span class = "token punctuation" > ,< / span > self< span class = "token punctuation" > .< / span > _handle_exit< span class = "token punctuation" > )< / span >
signal< span class = "token punctuation" > .< / span > signal< span class = "token punctuation" > (< / span > signal< span class = "token punctuation" > .< / span > SIGTERM< span class = "token punctuation" > ,< / span > self< span class = "token punctuation" > .< / span > _handle_exit< span class = "token punctuation" > )< / span >
atexit< span class = "token punctuation" > .< / span > register< span class = "token punctuation" > (< / span > self< span class = "token punctuation" > .< / span > process_manager< span class = "token punctuation" > .< / span > terminate_all< span class = "token punctuation" > )< / span >
2024-08-31 16:18:25 +08:00
< / code > < / pre > < div class = "line-numbers" aria-hidden = "true" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < / details > < h4 id = "async-def-run-self" tabindex = "-1" > < a class = "header-anchor" href = "#async-def-run-self" > < span > < em > < strong > async def< / strong > < / em > < code > _run(self)< / code > < / span > < / a > < / h4 > < p > < strong > Description< / strong > : 启动逻辑< / p > < details > < summary > < b > Source code< / b > or < a href = "https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/bot/__init__.py#L65" target = "_blank" > View on GitHub< / a > < / summary > < div class = "language-python line-numbers-mode" data-ext = "py" data-title = "py" > < pre class = "language-python" > < code > < span class = "token keyword" > async< / span > < span class = "token keyword" > def< / span > < span class = "token function" > _run< / span > < span class = "token punctuation" > (< / span > self< span class = "token punctuation" > )< / span > < span class = "token punctuation" > :< / span >
2024-08-29 13:53:08 +08:00
< span class = "token triple-quoted-string string" > " " "
启动逻辑
" " " < / span >
< span class = "token keyword" > await< / span > self< span class = "token punctuation" > .< / span > lifespan< span class = "token punctuation" > .< / span > before_start< span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span >
< span class = "token keyword" > await< / span > self< span class = "token punctuation" > .< / span > process_manager< span class = "token punctuation" > .< / span > start_all< span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span >
< span class = "token keyword" > await< / span > self< span class = "token punctuation" > .< / span > lifespan< span class = "token punctuation" > .< / span > after_start< span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span >
< span class = "token keyword" > await< / span > self< span class = "token punctuation" > .< / span > keep_alive< span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span >
2024-08-31 16:18:25 +08:00
< / code > < / pre > < div class = "line-numbers" aria-hidden = "true" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < / details > < h4 id = "def-run-self" tabindex = "-1" > < a class = "header-anchor" href = "#def-run-self" > < span > < em > < strong > def< / strong > < / em > < code > run(self)< / code > < / span > < / a > < / h4 > < p > < strong > Description< / strong > : 外部启动接口< / p > < details > < summary > < b > Source code< / b > or < a href = "https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/bot/__init__.py#L74" target = "_blank" > View on GitHub< / a > < / summary > < div class = "language-python line-numbers-mode" data-ext = "py" data-title = "py" > < pre class = "language-python" > < code > < span class = "token keyword" > def< / span > < span class = "token function" > run< / span > < span class = "token punctuation" > (< / span > self< span class = "token punctuation" > )< / span > < span class = "token punctuation" > :< / span >
2024-08-29 13:53:08 +08:00
< span class = "token triple-quoted-string string" > " " "
外部启动接口
" " " < / span >
< span class = "token keyword" > try< / span > < span class = "token punctuation" > :< / span >
asyncio< span class = "token punctuation" > .< / span > run< span class = "token punctuation" > (< / span > self< span class = "token punctuation" > .< / span > _run< span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span >
< span class = "token keyword" > except< / span > KeyboardInterrupt< span class = "token punctuation" > :< / span >
logger< span class = "token punctuation" > .< / span > info< span class = "token punctuation" > (< / span > < span class = "token string" > ' Liteyuki is stopping...' < / span > < span class = "token punctuation" > )< / span >
2024-08-31 16:18:25 +08:00
< / code > < / pre > < div class = "line-numbers" aria-hidden = "true" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < / details > < h4 id = "async-def-keep-alive-self" tabindex = "-1" > < a class = "header-anchor" href = "#async-def-keep-alive-self" > < span > < em > < strong > async def< / strong > < / em > < code > keep_alive(self)< / code > < / span > < / a > < / h4 > < p > < strong > Description< / strong > : 保持轻雪运行< / p > < details > < summary > < b > Source code< / b > or < a href = "https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/bot/__init__.py#L83" target = "_blank" > View on GitHub< / a > < / summary > < div class = "language-python line-numbers-mode" data-ext = "py" data-title = "py" > < pre class = "language-python" > < code > < span class = "token keyword" > async< / span > < span class = "token keyword" > def< / span > < span class = "token function" > keep_alive< / span > < span class = "token punctuation" > (< / span > self< span class = "token punctuation" > )< / span > < span class = "token punctuation" > :< / span >
2024-08-29 13:53:08 +08:00
< span class = "token triple-quoted-string string" > " " "
保持轻雪运行
Returns:
" " " < / span >
< span class = "token keyword" > try< / span > < span class = "token punctuation" > :< / span >
< span class = "token keyword" > while< / span > < span class = "token keyword" > not< / span > self< span class = "token punctuation" > .< / span > stop_event< span class = "token punctuation" > .< / span > is_set< span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > :< / span >
time< span class = "token punctuation" > .< / span > sleep< span class = "token punctuation" > (< / span > < span class = "token number" > 0.5< / span > < span class = "token punctuation" > )< / span >
< span class = "token keyword" > except< / span > KeyboardInterrupt< span class = "token punctuation" > :< / span >
logger< span class = "token punctuation" > .< / span > info< span class = "token punctuation" > (< / span > < span class = "token string" > ' Liteyuki is stopping...' < / span > < span class = "token punctuation" > )< / span >
self< span class = "token punctuation" > .< / span > stop< span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span >
2024-08-31 16:18:25 +08:00
< / code > < / pre > < div class = "line-numbers" aria-hidden = "true" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < / details > < h4 id = "def-handle-exit-self-signum-frame" tabindex = "-1" > < a class = "header-anchor" href = "#def-handle-exit-self-signum-frame" > < span > < em > < strong > def< / strong > < / em > < code > _handle_exit(self, signum, frame)< / code > < / span > < / a > < / h4 > < p > < strong > Description< / strong > : 信号处理< / p > < p > < strong > Arguments< / strong > :< / p > < blockquote > < ul > < li > signum:< / li > < li > frame:< / li > < / ul > < / blockquote > < details > < summary > < b > Source code< / b > or < a href = "https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/bot/__init__.py#L96" target = "_blank" > View on GitHub< / a > < / summary > < div class = "language-python line-numbers-mode" data-ext = "py" data-title = "py" > < pre class = "language-python" > < code > < span class = "token keyword" > def< / span > < span class = "token function" > _handle_exit< / span > < span class = "token punctuation" > (< / span > self< span class = "token punctuation" > ,< / span > signum< span class = "token punctuation" > ,< / span > frame< span class = "token punctuation" > )< / span > < span class = "token punctuation" > :< / span >
2024-08-29 13:53:08 +08:00
< span class = "token triple-quoted-string string" > " " "
信号处理
Args:
signum:
frame:
Returns:
" " " < / span >
logger< span class = "token punctuation" > .< / span > info< span class = "token punctuation" > (< / span > < span class = "token string" > ' Received signal, stopping all processes.' < / span > < span class = "token punctuation" > )< / span >
self< span class = "token punctuation" > .< / span > stop< span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span >
sys< span class = "token punctuation" > .< / span > exit< span class = "token punctuation" > (< / span > < span class = "token number" > 0< / span > < span class = "token punctuation" > )< / span >
2024-08-31 16:18:25 +08:00
< / code > < / pre > < div class = "line-numbers" aria-hidden = "true" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < / details > < h4 id = "def-restart-self-delay-int-0" tabindex = "-1" > < a class = "header-anchor" href = "#def-restart-self-delay-int-0" > < span > < em > < strong > def< / strong > < / em > < code > restart(self, delay: int = 0)< / code > < / span > < / a > < / h4 > < p > < strong > Description< / strong > : 重启轻雪本体< / p > < details > < summary > < b > Source code< / b > or < a href = "https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/bot/__init__.py#L110" target = "_blank" > View on GitHub< / a > < / summary > < div class = "language-python line-numbers-mode" data-ext = "py" data-title = "py" > < pre class = "language-python" > < code > < span class = "token keyword" > def< / span > < span class = "token function" > restart< / span > < span class = "token punctuation" > (< / span > self< span class = "token punctuation" > ,< / span > delay< span class = "token punctuation" > :< / span > < span class = "token builtin" > int< / span > < span class = "token operator" > =< / span > < span class = "token number" > 0< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > :< / span >
2024-08-29 13:53:08 +08:00
< span class = "token triple-quoted-string string" > " " "
重启轻雪本体
Returns:
" " " < / span >
< span class = "token keyword" > if< / span > self< span class = "token punctuation" > .< / span > call_restart_count < span class = "token operator" > < < / span > < span class = "token number" > 1< / span > < span class = "token punctuation" > :< / span >
executable < span class = "token operator" > =< / span > sys< span class = "token punctuation" > .< / span > executable
args < span class = "token operator" > =< / span > sys< span class = "token punctuation" > .< / span > argv
logger< span class = "token punctuation" > .< / span > info< span class = "token punctuation" > (< / span > < span class = "token string" > ' Restarting LiteyukiBot...' < / span > < span class = "token punctuation" > )< / span >
time< span class = "token punctuation" > .< / span > sleep< span class = "token punctuation" > (< / span > delay< span class = "token punctuation" > )< / span >
< span class = "token keyword" > if< / span > platform< span class = "token punctuation" > .< / span > system< span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span > < span class = "token operator" > ==< / span > < span class = "token string" > ' Windows' < / span > < span class = "token punctuation" > :< / span >
cmd < span class = "token operator" > =< / span > < span class = "token string" > ' start' < / span >
< span class = "token keyword" > elif< / span > platform< span class = "token punctuation" > .< / span > system< span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span > < span class = "token operator" > ==< / span > < span class = "token string" > ' Linux' < / span > < span class = "token punctuation" > :< / span >
cmd < span class = "token operator" > =< / span > < span class = "token string" > ' nohup' < / span >
< span class = "token keyword" > elif< / span > platform< span class = "token punctuation" > .< / span > system< span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span > < span class = "token operator" > ==< / span > < span class = "token string" > ' Darwin' < / span > < span class = "token punctuation" > :< / span >
cmd < span class = "token operator" > =< / span > < span class = "token string" > ' open' < / span >
< span class = "token keyword" > else< / span > < span class = "token punctuation" > :< / span >
cmd < span class = "token operator" > =< / span > < span class = "token string" > ' nohup' < / span >
self< span class = "token punctuation" > .< / span > process_manager< span class = "token punctuation" > .< / span > terminate_all< span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span >
threading< span class = "token punctuation" > .< / span > Thread< span class = "token punctuation" > (< / span > target< span class = "token operator" > =< / span > os< span class = "token punctuation" > .< / span > system< span class = "token punctuation" > ,< / span > args< span class = "token operator" > =< / span > < span class = "token punctuation" > (< / span > < span class = "token string-interpolation" > < span class = "token string" > f" < / span > < span class = "token interpolation" > < span class = "token punctuation" > {< / span > cmd< span class = "token punctuation" > }< / span > < / span > < span class = "token string" > < / span > < span class = "token interpolation" > < span class = "token punctuation" > {< / span > executable< span class = "token punctuation" > }< / span > < / span > < span class = "token string" > < / span > < span class = "token interpolation" > < span class = "token punctuation" > {< / span > < span class = "token string" > ' ' < / span > < span class = "token punctuation" > .< / span > join< span class = "token punctuation" > (< / span > args< span class = "token punctuation" > )< / span > < span class = "token punctuation" > }< / span > < / span > < span class = "token string" > " < / span > < / span > < span class = "token punctuation" > ,< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > .< / span > start< span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span >
sys< span class = "token punctuation" > .< / span > exit< span class = "token punctuation" > (< / span > < span class = "token number" > 0< / span > < span class = "token punctuation" > )< / span >
self< span class = "token punctuation" > .< / span > call_restart_count < span class = "token operator" > +=< / span > < span class = "token number" > 1< / span >
2024-08-31 16:18:25 +08:00
< / code > < / pre > < div class = "line-numbers" aria-hidden = "true" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < / details > < h4 id = "def-restart-process-self-name-optional-str-none" tabindex = "-1" > < a class = "header-anchor" href = "#def-restart-process-self-name-optional-str-none" > < span > < em > < strong > def< / strong > < / em > < code > restart_process(self, name: Optional[str] = None)< / code > < / span > < / a > < / h4 > < p > < strong > Description< / strong > : 停止轻雪< / p > < p > < strong > Arguments< / strong > :< / p > < blockquote > < ul > < li > name: 进程名称, 默认为None, 所有进程< / li > < / ul > < / blockquote > < details > < summary > < b > Source code< / b > or < a href = "https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/bot/__init__.py#L135" target = "_blank" > View on GitHub< / a > < / summary > < div class = "language-python line-numbers-mode" data-ext = "py" data-title = "py" > < pre class = "language-python" > < code > < span class = "token keyword" > def< / span > < span class = "token function" > restart_process< / span > < span class = "token punctuation" > (< / span > self< span class = "token punctuation" > ,< / span > name< span class = "token punctuation" > :< / span > Optional< span class = "token punctuation" > [< / span > < span class = "token builtin" > str< / span > < span class = "token punctuation" > ]< / span > < span class = "token operator" > =< / span > < span class = "token boolean" > None< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > :< / span >
2024-08-29 13:53:08 +08:00
< span class = "token triple-quoted-string string" > " " "
停止轻雪
Args:
name: 进程名称, 默认为None, 所有进程
Returns:
" " " < / span >
< span class = "token keyword" > if< / span > name < span class = "token keyword" > is< / span > < span class = "token keyword" > not< / span > < span class = "token boolean" > None< / span > < span class = "token punctuation" > :< / span >
chan_active < span class = "token operator" > =< / span > get_channel< span class = "token punctuation" > (< / span > < span class = "token string-interpolation" > < span class = "token string" > f' < / span > < span class = "token interpolation" > < span class = "token punctuation" > {< / span > name< span class = "token punctuation" > }< / span > < / span > < span class = "token string" > -active' < / span > < / span > < span class = "token punctuation" > )< / span >
chan_active< span class = "token punctuation" > .< / span > send< span class = "token punctuation" > (< / span > < span class = "token number" > 1< / span > < span class = "token punctuation" > )< / span >
< span class = "token keyword" > else< / span > < span class = "token punctuation" > :< / span >
< span class = "token keyword" > for< / span > process_name < span class = "token keyword" > in< / span > self< span class = "token punctuation" > .< / span > process_manager< span class = "token punctuation" > .< / span > processes< span class = "token punctuation" > :< / span >
chan_active < span class = "token operator" > =< / span > get_channel< span class = "token punctuation" > (< / span > < span class = "token string-interpolation" > < span class = "token string" > f' < / span > < span class = "token interpolation" > < span class = "token punctuation" > {< / span > process_name< span class = "token punctuation" > }< / span > < / span > < span class = "token string" > -active' < / span > < / span > < span class = "token punctuation" > )< / span >
chan_active< span class = "token punctuation" > .< / span > send< span class = "token punctuation" > (< / span > < span class = "token number" > 1< / span > < span class = "token punctuation" > )< / span >
2024-08-31 16:18:25 +08:00
< / code > < / pre > < div class = "line-numbers" aria-hidden = "true" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < / details > < h4 id = "def-init-self-args-kwargs" tabindex = "-1" > < a class = "header-anchor" href = "#def-init-self-args-kwargs" > < span > < em > < strong > def< / strong > < / em > < code > init(self, *args, **kwargs)< / code > < / span > < / a > < / h4 > < p > < strong > Description< / strong > : 初始化轻雪, 自动调用< / p > < details > < summary > < b > Source code< / b > or < a href = "https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/bot/__init__.py#L150" target = "_blank" > View on GitHub< / a > < / summary > < div class = "language-python line-numbers-mode" data-ext = "py" data-title = "py" > < pre class = "language-python" > < code > < span class = "token keyword" > def< / span > < span class = "token function" > init< / span > < span class = "token punctuation" > (< / span > self< span class = "token punctuation" > ,< / span > < span class = "token operator" > *< / span > args< span class = "token punctuation" > ,< / span > < span class = "token operator" > **< / span > kwargs< span class = "token punctuation" > )< / span > < span class = "token punctuation" > :< / span >
2024-08-29 13:53:08 +08:00
< span class = "token triple-quoted-string string" > " " "
初始化轻雪, 自动调用
Returns:
" " " < / span >
self< span class = "token punctuation" > .< / span > init_logger< span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span >
2024-08-31 16:18:25 +08:00
< / code > < / pre > < div class = "line-numbers" aria-hidden = "true" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < / details > < h4 id = "def-init-logger-self" tabindex = "-1" > < a class = "header-anchor" href = "#def-init-logger-self" > < span > < em > < strong > def< / strong > < / em > < code > init_logger(self)< / code > < / span > < / a > < / h4 > < details > < summary > < b > Source code< / b > or < a href = "https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/bot/__init__.py#L158" target = "_blank" > View on GitHub< / a > < / summary > < div class = "language-python line-numbers-mode" data-ext = "py" data-title = "py" > < pre class = "language-python" > < code > < span class = "token keyword" > def< / span > < span class = "token function" > init_logger< / span > < span class = "token punctuation" > (< / span > self< span class = "token punctuation" > )< / span > < span class = "token punctuation" > :< / span >
2024-08-29 13:53:08 +08:00
init_log< span class = "token punctuation" > (< / span > config< span class = "token operator" > =< / span > self< span class = "token punctuation" > .< / span > config< span class = "token punctuation" > )< / span >
2024-08-31 16:18:25 +08:00
< / code > < / pre > < div class = "line-numbers" aria-hidden = "true" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < / details > < h4 id = "def-stop-self" tabindex = "-1" > < a class = "header-anchor" href = "#def-stop-self" > < span > < em > < strong > def< / strong > < / em > < code > stop(self)< / code > < / span > < / a > < / h4 > < p > < strong > Description< / strong > : 停止轻雪< / p > < details > < summary > < b > Source code< / b > or < a href = "https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/bot/__init__.py#L162" target = "_blank" > View on GitHub< / a > < / summary > < div class = "language-python line-numbers-mode" data-ext = "py" data-title = "py" > < pre class = "language-python" > < code > < span class = "token keyword" > def< / span > < span class = "token function" > stop< / span > < span class = "token punctuation" > (< / span > self< span class = "token punctuation" > )< / span > < span class = "token punctuation" > :< / span >
2024-08-29 13:53:08 +08:00
< span class = "token triple-quoted-string string" > " " "
停止轻雪
Returns:
" " " < / span >
self< span class = "token punctuation" > .< / span > stop_event< span class = "token punctuation" > .< / span > < span class = "token builtin" > set< / span > < span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span >
self< span class = "token punctuation" > .< / span > loop< span class = "token punctuation" > .< / span > stop< span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span >
2024-08-31 16:18:25 +08:00
< / code > < / pre > < div class = "line-numbers" aria-hidden = "true" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < / details > < h4 id = "def-on-before-start-self-func-lifespan-func" tabindex = "-1" > < a class = "header-anchor" href = "#def-on-before-start-self-func-lifespan-func" > < span > < em > < strong > def< / strong > < / em > < code > on_before_start(self, func: LIFESPAN_FUNC)< / code > < / span > < / a > < / h4 > < p > < strong > Description< / strong > : 注册启动前的函数< / p > < p > < strong > Arguments< / strong > :< / p > < blockquote > < ul > < li > func:< / li > < / ul > < / blockquote > < details > < summary > < b > Source code< / b > or < a href = "https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/bot/__init__.py#L171" target = "_blank" > View on GitHub< / a > < / summary > < div class = "language-python line-numbers-mode" data-ext = "py" data-title = "py" > < pre class = "language-python" > < code > < span class = "token keyword" > def< / span > < span class = "token function" > on_before_start< / span > < span class = "token punctuation" > (< / span > self< span class = "token punctuation" > ,< / span > func< span class = "token punctuation" > :< / span > LIFESPAN_FUNC< span class = "token punctuation" > )< / span > < span class = "token punctuation" > :< / span >
2024-08-29 13:53:08 +08:00
< span class = "token triple-quoted-string string" > " " "
注册启动前的函数
Args:
func:
Returns:
" " " < / span >
< span class = "token keyword" > return< / span > self< span class = "token punctuation" > .< / span > lifespan< span class = "token punctuation" > .< / span > on_before_start< span class = "token punctuation" > (< / span > func< span class = "token punctuation" > )< / span >
2024-08-31 16:18:25 +08:00
< / code > < / pre > < div class = "line-numbers" aria-hidden = "true" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < / details > < h4 id = "def-on-after-start-self-func-lifespan-func" tabindex = "-1" > < a class = "header-anchor" href = "#def-on-after-start-self-func-lifespan-func" > < span > < em > < strong > def< / strong > < / em > < code > on_after_start(self, func: LIFESPAN_FUNC)< / code > < / span > < / a > < / h4 > < p > < strong > Description< / strong > : 注册启动后的函数< / p > < p > < strong > Arguments< / strong > :< / p > < blockquote > < ul > < li > func:< / li > < / ul > < / blockquote > < details > < summary > < b > Source code< / b > or < a href = "https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/bot/__init__.py#L182" target = "_blank" > View on GitHub< / a > < / summary > < div class = "language-python line-numbers-mode" data-ext = "py" data-title = "py" > < pre class = "language-python" > < code > < span class = "token keyword" > def< / span > < span class = "token function" > on_after_start< / span > < span class = "token punctuation" > (< / span > self< span class = "token punctuation" > ,< / span > func< span class = "token punctuation" > :< / span > LIFESPAN_FUNC< span class = "token punctuation" > )< / span > < span class = "token punctuation" > :< / span >
2024-08-29 13:53:08 +08:00
< span class = "token triple-quoted-string string" > " " "
注册启动后的函数
Args:
func:
Returns:
" " " < / span >
< span class = "token keyword" > return< / span > self< span class = "token punctuation" > .< / span > lifespan< span class = "token punctuation" > .< / span > on_after_start< span class = "token punctuation" > (< / span > func< span class = "token punctuation" > )< / span >
2024-08-31 16:18:25 +08:00
< / code > < / pre > < div class = "line-numbers" aria-hidden = "true" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < / details > < h4 id = "def-on-after-shutdown-self-func-lifespan-func" tabindex = "-1" > < a class = "header-anchor" href = "#def-on-after-shutdown-self-func-lifespan-func" > < span > < em > < strong > def< / strong > < / em > < code > on_after_shutdown(self, func: LIFESPAN_FUNC)< / code > < / span > < / a > < / h4 > < p > < strong > Description< / strong > : 注册停止后的函数:未实现< / p > < p > < strong > Arguments< / strong > :< / p > < blockquote > < ul > < li > func:< / li > < / ul > < / blockquote > < details > < summary > < b > Source code< / b > or < a href = "https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/bot/__init__.py#L193" target = "_blank" > View on GitHub< / a > < / summary > < div class = "language-python line-numbers-mode" data-ext = "py" data-title = "py" > < pre class = "language-python" > < code > < span class = "token keyword" > def< / span > < span class = "token function" > on_after_shutdown< / span > < span class = "token punctuation" > (< / span > self< span class = "token punctuation" > ,< / span > func< span class = "token punctuation" > :< / span > LIFESPAN_FUNC< span class = "token punctuation" > )< / span > < span class = "token punctuation" > :< / span >
2024-08-29 13:53:08 +08:00
< span class = "token triple-quoted-string string" > " " "
注册停止后的函数:未实现
Args:
func:
Returns:
" " " < / span >
< span class = "token keyword" > return< / span > self< span class = "token punctuation" > .< / span > lifespan< span class = "token punctuation" > .< / span > on_after_shutdown< span class = "token punctuation" > (< / span > func< span class = "token punctuation" > )< / span >
2024-08-31 16:18:25 +08:00
< / code > < / pre > < div class = "line-numbers" aria-hidden = "true" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < / details > < h4 id = "def-on-before-process-shutdown-self-func-lifespan-func" tabindex = "-1" > < a class = "header-anchor" href = "#def-on-before-process-shutdown-self-func-lifespan-func" > < span > < em > < strong > def< / strong > < / em > < code > on_before_process_shutdown(self, func: LIFESPAN_FUNC)< / code > < / span > < / a > < / h4 > < p > < strong > Description< / strong > : 注册进程停止前的函数,为子进程停止时调用< / p > < p > < strong > Arguments< / strong > :< / p > < blockquote > < ul > < li > func:< / li > < / ul > < / blockquote > < details > < summary > < b > Source code< / b > or < a href = "https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/bot/__init__.py#L204" target = "_blank" > View on GitHub< / a > < / summary > < div class = "language-python line-numbers-mode" data-ext = "py" data-title = "py" > < pre class = "language-python" > < code > < span class = "token keyword" > def< / span > < span class = "token function" > on_before_process_shutdown< / span > < span class = "token punctuation" > (< / span > self< span class = "token punctuation" > ,< / span > func< span class = "token punctuation" > :< / span > LIFESPAN_FUNC< span class = "token punctuation" > )< / span > < span class = "token punctuation" > :< / span >
2024-08-29 13:53:08 +08:00
< span class = "token triple-quoted-string string" > " " "
注册进程停止前的函数,为子进程停止时调用
Args:
func:
Returns:
" " " < / span >
< span class = "token keyword" > return< / span > self< span class = "token punctuation" > .< / span > lifespan< span class = "token punctuation" > .< / span > on_before_process_shutdown< span class = "token punctuation" > (< / span > func< span class = "token punctuation" > )< / span >
2024-08-31 16:18:25 +08:00
< / code > < / pre > < div class = "line-numbers" aria-hidden = "true" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < / details > < h4 id = "def-on-before-process-restart-self-func-lifespan-func" tabindex = "-1" > < a class = "header-anchor" href = "#def-on-before-process-restart-self-func-lifespan-func" > < span > < em > < strong > def< / strong > < / em > < code > on_before_process_restart(self, func: LIFESPAN_FUNC)< / code > < / span > < / a > < / h4 > < p > < strong > Description< / strong > : 注册进程重启前的函数,为子进程重启时调用< / p > < p > < strong > Arguments< / strong > :< / p > < blockquote > < ul > < li > func:< / li > < / ul > < / blockquote > < details > < summary > < b > Source code< / b > or < a href = "https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/bot/__init__.py#L215" target = "_blank" > View on GitHub< / a > < / summary > < div class = "language-python line-numbers-mode" data-ext = "py" data-title = "py" > < pre class = "language-python" > < code > < span class = "token keyword" > def< / span > < span class = "token function" > on_before_process_restart< / span > < span class = "token punctuation" > (< / span > self< span class = "token punctuation" > ,< / span > func< span class = "token punctuation" > :< / span > LIFESPAN_FUNC< span class = "token punctuation" > )< / span > < span class = "token punctuation" > :< / span >
2024-08-29 13:53:08 +08:00
< span class = "token triple-quoted-string string" > " " "
注册进程重启前的函数,为子进程重启时调用
Args:
func:
Returns:
" " " < / span >
< span class = "token keyword" > return< / span > self< span class = "token punctuation" > .< / span > lifespan< span class = "token punctuation" > .< / span > on_before_process_restart< span class = "token punctuation" > (< / span > func< span class = "token punctuation" > )< / span >
2024-08-31 16:18:25 +08:00
< / code > < / pre > < div class = "line-numbers" aria-hidden = "true" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < / details > < h4 id = "def-on-after-restart-self-func-lifespan-func" tabindex = "-1" > < a class = "header-anchor" href = "#def-on-after-restart-self-func-lifespan-func" > < span > < em > < strong > def< / strong > < / em > < code > on_after_restart(self, func: LIFESPAN_FUNC)< / code > < / span > < / a > < / h4 > < p > < strong > Description< / strong > : 注册重启后的函数:未实现< / p > < p > < strong > Arguments< / strong > :< / p > < blockquote > < ul > < li > func:< / li > < / ul > < / blockquote > < details > < summary > < b > Source code< / b > or < a href = "https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/bot/__init__.py#L227" target = "_blank" > View on GitHub< / a > < / summary > < div class = "language-python line-numbers-mode" data-ext = "py" data-title = "py" > < pre class = "language-python" > < code > < span class = "token keyword" > def< / span > < span class = "token function" > on_after_restart< / span > < span class = "token punctuation" > (< / span > self< span class = "token punctuation" > ,< / span > func< span class = "token punctuation" > :< / span > LIFESPAN_FUNC< span class = "token punctuation" > )< / span > < span class = "token punctuation" > :< / span >
2024-08-29 13:53:08 +08:00
< span class = "token triple-quoted-string string" > " " "
注册重启后的函数:未实现
Args:
func:
Returns:
" " " < / span >
< span class = "token keyword" > return< / span > self< span class = "token punctuation" > .< / span > lifespan< span class = "token punctuation" > .< / span > on_after_restart< span class = "token punctuation" > (< / span > func< span class = "token punctuation" > )< / span >
2024-08-31 16:18:25 +08:00
< / code > < / pre > < div class = "line-numbers" aria-hidden = "true" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < / details > < h3 id = "def-get-bot-liteyukibot" tabindex = "-1" > < a class = "header-anchor" href = "#def-get-bot-liteyukibot" > < span > < em > < strong > def< / strong > < / em > < code > get_bot() -> LiteyukiBot< / code > < / span > < / a > < / h3 > < p > < strong > Description< / strong > : 获取轻雪实例< / p > < p > < strong > Return< / strong > : LiteyukiBot: 当前的轻雪实例< / p > < details > < summary > < b > Source code< / b > or < a href = "https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/bot/__init__.py#L242" target = "_blank" > View on GitHub< / a > < / summary > < div class = "language-python line-numbers-mode" data-ext = "py" data-title = "py" > < pre class = "language-python" > < code > < span class = "token keyword" > def< / span > < span class = "token function" > get_bot< / span > < span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span > < span class = "token operator" > -< / span > < span class = "token operator" > > < / span > LiteyukiBot< span class = "token punctuation" > :< / span >
< span class = "token triple-quoted-string string" > " " "
获取轻雪实例
Returns:
LiteyukiBot: 当前的轻雪实例
" " " < / span >
< span class = "token keyword" > if< / span > IS_MAIN_PROCESS< span class = "token punctuation" > :< / span >
< span class = "token keyword" > if< / span > _BOT_INSTANCE < span class = "token keyword" > is< / span > < span class = "token boolean" > None< / span > < span class = "token punctuation" > :< / span >
< span class = "token keyword" > raise< / span > RuntimeError< span class = "token punctuation" > (< / span > < span class = "token string" > ' Liteyuki instance not initialized.' < / span > < span class = "token punctuation" > )< / span >
< span class = "token keyword" > return< / span > _BOT_INSTANCE
< span class = "token keyword" > else< / span > < span class = "token punctuation" > :< / span >
< span class = "token keyword" > raise< / span > RuntimeError< span class = "token punctuation" > (< / span > < span class = "token string" > " Can' t get bot instance in sub process." < / span > < span class = "token punctuation" > )< / span >
< / code > < / pre > < div class = "line-numbers" aria-hidden = "true" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < / details > < h3 id = "def-get-config-key-str-default-any-none-any" tabindex = "-1" > < a class = "header-anchor" href = "#def-get-config-key-str-default-any-none-any" > < span > < em > < strong > def< / strong > < / em > < code > get_config(key: str, default: Any = None) -> Any< / code > < / span > < / a > < / h3 > < p > < strong > Description< / strong > : 获取配置< / p > < p > < strong > Arguments< / strong > :< / p > < blockquote > < ul > < li > key: 配置键< / li > < li > default: 默认值< / li > < / ul > < / blockquote > < p > < strong > Return< / strong > : Any: 配置值< / p > < details > < summary > < b > Source code< / b > or < a href = "https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/bot/__init__.py#L258" target = "_blank" > View on GitHub< / a > < / summary > < div class = "language-python line-numbers-mode" data-ext = "py" data-title = "py" > < pre class = "language-python" > < code > < span class = "token keyword" > def< / span > < span class = "token function" > get_config< / span > < span class = "token punctuation" > (< / span > key< span class = "token punctuation" > :< / span > < span class = "token builtin" > str< / span > < span class = "token punctuation" > ,< / span > default< span class = "token punctuation" > :< / span > Any< span class = "token operator" > =< / span > < span class = "token boolean" > None< / span > < span class = "token punctuation" > )< / span > < span class = "token operator" > -< / span > < span class = "token operator" > > < / span > Any< span class = "token punctuation" > :< / span >
< span class = "token triple-quoted-string string" > " " "
获取配置
Args:
key: 配置键
default: 默认值
Returns:
Any: 配置值
" " " < / span >
< span class = "token keyword" > return< / span > get_bot< span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > .< / span > config< span class = "token punctuation" > .< / span > get< span class = "token punctuation" > (< / span > key< span class = "token punctuation" > ,< / span > default< span class = "token punctuation" > )< / span >
< / code > < / pre > < div class = "line-numbers" aria-hidden = "true" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < / details > < h3 id = "def-get-config-with-compat-key-str-compat-keys-tuple-str-default-any-none-any" tabindex = "-1" > < a class = "header-anchor" href = "#def-get-config-with-compat-key-str-compat-keys-tuple-str-default-any-none-any" > < span > < em > < strong > def< / strong > < / em > < code > get_config_with_compat(key: str, compat_keys: tuple[str], default: Any = None) -> Any< / code > < / span > < / a > < / h3 > < p > < strong > Description< / strong > : 获取配置,兼容旧版本< / p > < p > < strong > Arguments< / strong > :< / p > < blockquote > < ul > < li > key: 配置键< / li > < li > compat_keys: 兼容键< / li > < li > default: 默认值< / li > < / ul > < / blockquote > < p > < strong > Return< / strong > : Any: 配置值< / p > < details > < summary > < b > Source code< / b > or < a href = "https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/bot/__init__.py#L271" target = "_blank" > View on GitHub< / a > < / summary > < div class = "language-python line-numbers-mode" data-ext = "py" data-title = "py" > < pre class = "language-python" > < code > < span class = "token keyword" > def< / span > < span class = "token function" > get_config_with_compat< / span > < span class = "token punctuation" > (< / span > key< span class = "token punctuation" > :< / span > < span class = "token builtin" > str< / span > < span class = "token punctuation" > ,< / span > compat_keys< span class = "token punctuation" > :< / span > < span class = "token builtin" > tuple< / span > < span class = "token punctuation" > [< / span > < span class = "token builtin" > str< / span > < span class = "token punctuation" > ]< / span > < span class = "token punctuation" > ,< / span > default< span class = "token punctuation" > :< / span > Any< span class = "token operator" > =< / span > < span class = "token boolean" > None< / span > < span class = "token punctuation" > )< / span > < span class = "token operator" > -< / span > < span class = "token operator" > > < / span > Any< span class = "token punctuation" > :< / span >
< span class = "token triple-quoted-string string" > " " "
获取配置,兼容旧版本
Args:
key: 配置键
compat_keys: 兼容键
default: 默认值
Returns:
Any: 配置值
" " " < / span >
< span class = "token keyword" > if< / span > key < span class = "token keyword" > in< / span > get_bot< span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > .< / span > config< span class = "token punctuation" > :< / span >
< span class = "token keyword" > return< / span > get_bot< span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > .< / span > config< span class = "token punctuation" > [< / span > key< span class = "token punctuation" > ]< / span >
< span class = "token keyword" > for< / span > compat_key < span class = "token keyword" > in< / span > compat_keys< span class = "token punctuation" > :< / span >
< span class = "token keyword" > if< / span > compat_key < span class = "token keyword" > in< / span > get_bot< span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > .< / span > config< span class = "token punctuation" > :< / span >
logger< span class = "token punctuation" > .< / span > warning< span class = "token punctuation" > (< / span > < span class = "token string-interpolation" > < span class = "token string" > f' Config key " < / span > < span class = "token interpolation" > < span class = "token punctuation" > {< / span > compat_key< span class = "token punctuation" > }< / span > < / span > < span class = "token string" > " will be deprecated, use " < / span > < span class = "token interpolation" > < span class = "token punctuation" > {< / span > key< span class = "token punctuation" > }< / span > < / span > < span class = "token string" > " instead.' < / span > < / span > < span class = "token punctuation" > )< / span >
< span class = "token keyword" > return< / span > get_bot< span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > .< / span > config< span class = "token punctuation" > [< / span > compat_key< span class = "token punctuation" > ]< / span >
< span class = "token keyword" > return< / span > default
< / code > < / pre > < div class = "line-numbers" aria-hidden = "true" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < / details > < h3 id = "def-print-logo" tabindex = "-1" > < a class = "header-anchor" href = "#def-print-logo" > < span > < em > < strong > def< / strong > < / em > < code > print_logo()< / code > < / span > < / a > < / h3 > < details > < summary > < b > Source code< / b > or < a href = "https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/bot/__init__.py#L291" target = "_blank" > View on GitHub< / a > < / summary > < div class = "language-python line-numbers-mode" data-ext = "py" data-title = "py" > < pre class = "language-python" > < code > < span class = "token keyword" > def< / span > < span class = "token function" > print_logo< / span > < span class = "token punctuation" > (< / span > < span class = "token punctuation" > )< / span > < span class = "token punctuation" > :< / span >
< span class = "token keyword" > print< / span > < span class = "token punctuation" > (< / span > < span class = "token string" > ' \x1b[34m' < / span > < span class = "token operator" > +< / span > < span class = "token string" > ' \n __ ______ ________ ________ __ __ __ __ __ __ ______ \n / | / |/ |/ |/ \\ / |/ | / |/ | / |/ |\n $$ | $$$$$$/ $$$$$$$$/ $$$$$$$$/ $$ \\ /$$/ $$ | $$ |$$ | /$$/ $$$$$$/ \n $$ | $$ | $$ | $$ |__ $$ \\/$$/ $$ | $$ |$$ |/$$/ $$ | \n $$ | $$ | $$ | $$ | $$ $$/ $$ | $$ |$$ $$< $$ | \n $$ | $$ | $$ | $$$$$/ $$$$/ $$ | $$ |$$$$$ \\ $$ | \n $$ |_____ _$$ |_ $$ | $$ |_____ $$ | $$ \\__$$ |$$ |$$ \\ _$$ |_ \n $$ |/ $$ | $$ | $$ | $$ | $$ $$/ $$ | $$ |/ $$ |\n $$$$$$$$/ $$$$$$/ $$/ $$$$$$$$/ $$/ $$$$$$/ $$/ $$/ $$$$$$/ \n ' < / span > < span class = "token operator" > +< / span > < span class = "token string" > ' \x1b[0m' < / span > < span class = "token punctuation" > )< / span >
< / code > < / pre > < div class = "line-numbers" aria-hidden = "true" > < div class = "line-number" > < / div > < div class = "line-number" > < / div > < / div > < / div > < / details > < / div > <!-- [ --> <!-- --> <!-- ] --> < footer class = "page-meta" > < div class = "meta-item edit-link" > < a href = "https://github.com/LiteyukiStudio/LiteyukiBot/edit/main/docs/en/dev/api/bot/README.md" rel = "noopener noreferrer" target = "_blank" aria-label = "在 GitHub 上编辑" class = "nav-link label" > <!-- [ --> < svg xmlns = "http://www.w3.org/2000/svg" class = "icon edit-icon" viewBox = "0 0 1024 1024" fill = "currentColor" aria-label = "edit icon" > < path d = "M430.818 653.65a60.46 60.46 0 0 1-50.96-93.281l71.69-114.012 7.773-10.365L816.038 80.138A60.46 60.46 0 0 1 859.225 62a60.46 60.46 0 0 1 43.186 18.138l43.186 43.186a60.46 60.46 0 0 1 0 86.373L588.879 565.55l-8.637 8.637-117.466 68.234a60.46 60.46 0 0 1-31.958 11.229z" > < / path > < path d = "M728.802 962H252.891A190.883 190.883 0 0 1 62.008 771.98V296.934a190.883 190.883 0 0 1 190.883-192.61h267.754a60.46 60.46 0 0 1 0 120.92H252.891a69.962 69.962 0 0 0-69.098 69.099V771.98a69.962 69.962 0 0 0 69.098 69.098h475.911A69.962 69.962 0 0 0 797.9 771.98V503.363a60.46 60.46 0 1 1 120.922 0V771.98A190.883 190.883 0 0 1 728.802 962z" > < / path > < / svg > <!-- ] --> 在 GitHub 上编辑< span > < svg class = "external-link-icon" xmlns = "http://www.w3.org/2000/svg" aria-hidden = "true" focusable = "false" x = "0px" y = "0px" viewBox = "0 0 100 100" width = "15" height = "15" > < path fill = "currentColor" d = "M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z" > < / path > < polygon fill = "currentColor" points = "45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9" > < / polygon > < / svg > < span class = "external-link-icon-sr-only" > open in new window< / span > < / span > <!-- --> < / a > < / div > < div class = "meta-item git-info" > <!-- --> < div class = "contributors" > < span class = "label" > Contributors: < / span > <!-- [ --> <!-- [ --> < span class = "contributor" title = "email: snowykami@outlook.com" > snowy< / span > <!-- ] --> <!-- ] --> < / div > < / div > < / footer > < nav class = "vp-page-nav" > <!-- --> < a class = "route-link nav-link next" href = "/en/dev/api/bot/lifespan.html" aria-label = "liteyuki.bot.lifespan" > < div class = "hint" > Next< span class = "arrow end" > < / span > < / div > < div class = "link" > liteyuki.bot.lifespan<!-- --> < / div > < / a > < / nav > < div id = "vp-comment" class = "giscus-wrapper input-top" style = "display:block;" > < svg xmlns = "http://www.w3.org/2000/svg" width = "32" height = "32" preserveAspectRatio = "xMidYMid" viewBox = "0 0 100 100" > < circle cx = "28" cy = "75" r = "11" fill = "currentColor" > < animate attributeName = "fill-opacity" begin = "0s" dur = "1s" keyTimes = "0;0.2;1" repeatCount = "indefinite" values = "0;1;1" > < / animate > < / circle > < path fill = "none" stroke = "#88baf0" stroke-width = "10" d = "M28 47a28 28 0 0 1 28 28" > < animate attributeName = "stroke-opacity" begin = "0.1s" dur = "1s" keyTimes = "0;0.2;1" repeatCount = "indefinite" values = "0;1;1" > < / animate > < / path > < path fill = "none" stroke = "#88baf0" stroke-width = "10" d = "M28 25a50 50 0 0 1 50 50" > < animate attributeName = "stroke-opacity" begin = "0.2s" dur = "1s" keyTimes = "0;0.2;1" repeatCount = "indefinite" values = "0;1;1" > < / animate > < / path > < / svg > < / div > <!-- [ --> <!-- --> <!-- ] --> <!-- ] --> < / main > <!-- ] --> < footer class = "vp-footer-wrapper" > < div class = "vp-footer" > LiteyukiBot< / div > < div class = "vp-copyright" > Copyright © 2024 SnowyKami < / div > < / footer > < / div > <!-- ] --> <!-- [ --> <!-- --> <!-- ] --> <!-- ] --> < / div >
< script type = "module" src = "/assets/app-BvUYPzLF.js" defer > < / script >
2024-08-29 13:53:08 +08:00
< / body >
< / html >