2025-01-26 11:07:43 +00:00
<!DOCTYPE html>
< html lang = "en-US" dir = "ltr" >
< head >
< meta charset = "utf-8" >
< meta name = "viewport" content = "width=device-width,initial-scale=1" >
< title > caller | Marsho AI< / title >
< meta name = "description" content = "Kawaii, Intelligent and Easy to Extend" >
< meta name = "generator" content = "VitePress v1.6.3" >
2025-02-08 15:30:40 +00:00
< link rel = "preload stylesheet" href = "/assets/style.3fMz-wjd.css" as = "style" >
2025-01-26 11:07:43 +00:00
< link rel = "preload stylesheet" href = "/vp-icons.css" as = "style" >
2025-02-08 15:30:40 +00:00
< script type = "module" src = "/assets/app.DB2-4pOg.js" > < / script >
2025-01-26 11:07:43 +00:00
< link rel = "preload" href = "/assets/inter-roman-latin.Di8DUHzh.woff2" as = "font" type = "font/woff2" crossorigin = "" >
2025-02-08 15:30:40 +00:00
< link rel = "modulepreload" href = "/assets/chunks/theme.B1VGcao-.js" >
< link rel = "modulepreload" href = "/assets/chunks/framework.CTVYQtO4.js" >
< link rel = "modulepreload" href = "/assets/en_dev_api_plugin_func_call_caller.md.D1KaE3UC.lean.js" >
2025-01-26 11:07:43 +00:00
< link rel = "icon" type = "image/x-icon" href = "/favicon.ico" >
< script id = "check-dark-mode" > ( ( ) => { const e = localStorage . getItem ( "vitepress-theme-appearance" ) || "auto" , a = window . matchMedia ( "(prefers-color-scheme: dark)" ) . matches ; ( ! e || e === "auto" ? a : e === "dark" ) && document . documentElement . classList . add ( "dark" ) } ) ( ) ; < / script >
< script id = "check-mac-os" > document . documentElement . classList . toggle ( "mac" , /Mac|iPhone|iPod|iPad/i . test ( navigator . platform ) ) ; < / script >
< / head >
< body >
2025-02-08 15:30:40 +00:00
< div id = "app" > < div class = "Layout" data-v-f2ef7826 > <!-- [ --> <!-- ] --> <!-- [ --> < span tabindex = "-1" data-v-81e21773 > < / span > < a href = "#VPContent" class = "VPSkipLink visually-hidden" data-v-81e21773 > Skip to content< / a > <!-- ] --> <!-- --> < header class = "VPNav" data-v-f2ef7826 data-v-438f8bce > < div class = "VPNavBar" data-v-438f8bce data-v-7997f19d > < div class = "wrapper" data-v-7997f19d > < div class = "container" data-v-7997f19d > < div class = "title" data-v-7997f19d > < div class = "VPNavBarTitle has-sidebar" data-v-7997f19d data-v-8f2b86e4 > < a class = "title" href = "/en/" data-v-8f2b86e4 > <!-- [ --> <!-- ] --> <!-- [ --> <!-- [ --> <!-- [ --> < img class = "VPImage dark logo" src = "/marsho-full.svg" alt = "Marsho Logo" data-v-b5ae02ee > <!-- ] --> <!-- [ --> < img class = "VPImage light logo" src = "/marsho-full.svg" alt = "Marsho Logo" data-v-b5ae02ee > <!-- ] --> <!-- ] --> <!-- ] --> < span data-v-8f2b86e4 > Marsho AI< / span > <!-- [ --> <!-- ] --> < / a > < / div > < / div > < div class = "content" data-v-7997f19d > < div class = "content-body" data-v-7997f19d > <!-- [ --> <!-- ] --> < div class = "VPNavBarSearch search" data-v-7997f19d > <!-- --> < / div > < nav aria-labelledby = "main-nav-aria-label" class = "VPNavBarMenu menu" data-v-7997f19d data-v-ec41fe23 > < span id = "main-nav-aria-label" class = "visually-hidden" data-v-ec41fe23 > Main Navigation < / span > <!-- [ --> <!-- [ --> < a class = "VPLink link VPNavBarMenuLink" href = "/en" tabindex = "0" data-v-ec41fe23 data-v-711b3800 > <!-- [ --> < span data-v-711b3800 > Home< / span > <!-- ] --> < / a > <!-- ] --> <!-- [ --> < a class = "VPLink link VPNavBarMenuLink" href = "/en/start/install" tabindex = "0" data-v-ec41fe23 data-v-711b3800 > <!-- [ --> < span data-v-711b3800 > Usage< / span > <!-- ] --> < / a > <!-- ] --> <!-- [ --> < a class = "VPLink link VPNavBarMenuLink" href = "/en/dev/extension" tabindex = "0" data-v-ec41fe23 data-v-711b3800 > <!-- [ --> < span data-v-711b3800 > Develop< / span > <!-- ] --> < / a > <!-- ] --> <!-- ] --> < / nav > < div class = "VPFlyout VPNavBarTranslations translations" data-v-7997f19d data-v-e4f4561d data-v-7089f475 > < button type = "button" class = "button" aria-haspopup = "true" aria-expanded = "false" aria-label = "Language" data-v-7089f475 > < span class = "text" data-v-7089f475 > < span class = "vpi-languages option-icon" data-v-7089f475 > < / span > <!-- --> < span class = "vpi-chevron-down text-icon" data-v-7089f475 > < / span > < / span > < / button > < div class = "menu" data-v-7089f475 > < div class = "VPMenu" data-v-7089f475 data-v-30cc7172 > <!-- --> <!-- [ --> <!-- [ --> < div class = "items" data-v-e4f4561d > < p class = "title" data-v-e4f4561d > English< / p > <!-- [ --> < div class = "VPMenuLink" data-v-e4f4561d data-v-acd6ccb4 > < a class = "VPLink link" href = "/dev/api/plugin/func_call/caller" data-v-acd6ccb4 > <!-- [ --> < span data-v-acd6ccb4 > 简体中文< / span > <!-- ] --> < / a > < / div > < div class = "VPMenuLink" data-v-e4f4561d data-v-acd6ccb4 > < a class = "VPLink link" href = "/ja/dev/api/plugin/func_call/caller" data-v-acd6ccb4 > <!-- [ --> < span data-v-acd6ccb4 > 日本語< / span > <!-- ] --> < / a > < / div > <!-- ] --> < / div > <!-- ] --> <!-- ] --> < / div > < / div > < / div > < div class = "VPNavBarAppearance appearance" data-v-7997f19d data-v-7f088f89 > < button class = "VPSwitch VPSwitchAppearance" type = "button" role = "switch" title aria-checked = "false" data-v-7f088f89 data-v-aedb97ac data-v-4cf15231 > < span class = "check" data-v-4cf15231 > < span class = "icon" data-v-4cf15231 > <!-- [ --> < span class = "vpi-sun sun" data-v-aedb97ac > < / span > < span class = "vpi-moon moon" data-v-aedb97ac > < / span > <!-- ] --> < / span > < / span > < / button > < / div > < div class = "VPSocialLinks VPNavBarSocialLinks social-links" data-v-7997f19d data-v-b364c366 data-v-605e17f0 > <!-- [ --> < a class = "VPSocialLink no-icon" href = "https://github.com/LiteyukiStudio/nonebot-plugin-marshoai" aria-label = "github" target = "_blank" rel = "noopener" data-v-605e17f0 data-v-bff34bab > < span class = "vpi-social-github" > < / span > < / a > < a class = "VPSocialLink no-icon" href = "https://git.liteyuki.icu/LiteyukiStudio/nonebot-plugin-marshoai" aria-label target = "_blank" rel = "noopener" data-v-605e17f0 data-v-bff34bab > < svg t = "1725391346807" class = "icon" viewBox = "0 0 1025 1024" version = "1.1" xmlns = "http://www.w3.org/2000/svg" p-id = "5067" width = "256" height = "256" > < path d = "M1004.692673 466 . 396616l-447 . 094409-447 . 073929c-25 . 743103-25 . 763582-67 . 501405-25 . 763582-93 . 264987 0l-103 . 873521 103 . 873521 78 . 171378 78 . 17
2025-01-26 11:07:43 +00:00
< span class = "line" > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / 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:#D73A49;--shiki-dark:#F97583;" > =< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > name< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > ' 函数名称' < / span > < / span >
< span class = "line" > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > ._description < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > =< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > description< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > ' 函数描述' < / span > < / span >
< span class = "line" > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > ._func_type < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > =< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > func_type< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > ' 函数类型' < / span > < / span >
< span class = "line" > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .no_module_name < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > =< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > no_module_name< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > ' 是否不包含模块名' < / span > < / span >
< span class = "line" > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > ._plugin: Plugin < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > |< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > None< / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > =< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > None< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > ' 所属插件对象,装饰时声明' < / span > < / span >
< span class = "line" > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .func: < / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > ASYNC_FUNCTION_CALL_FUNC< / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > |< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > None< / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > =< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > None< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > ' 函数对象' < / span > < / span >
< span class = "line" > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .module_name: < / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > str< / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > =< / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > ' ' < / span > < / span >
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > ' 模块名,仅为父级模块名,不一定是插件顶级模块名' < / span > < / span >
< span class = "line" > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > ._parameters: dict[< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > str< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > , Any] < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > =< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > {}< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > ' 声明参数' < / span > < / span >
< span class = "line" > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .di: SessionContextDepends < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > =< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > SessionContextDepends()< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > ' 依赖注入的参数信息' < / span > < / span >
< span class = "line" > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .default: dict[< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > str< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > , Any] < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > =< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > {}< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > ' 默认值' < / span > < / span >
< span class = "line" > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .ctx: SessionContext < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > |< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > None< / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > =< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > None< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > ._permission: Permission < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > |< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > None< / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > =< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > None< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > ._rule: Rule < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > |< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > None< / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > =< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > None< / span > < / span > < / code > < / pre > < / div > < / details > < hr > < h4 id = "func-params-self-kwargs-any-caller" tabindex = "-1" > < em > < strong > func< / strong > < / em > < code > params(self, **kwargs: Any) -> Caller< / code > < a class = "header-anchor" href = "#func-params-self-kwargs-any-caller" aria-label = "Permalink to "***func*** `params(self, **kwargs: Any) -> Caller`"" > < / a > < / h4 > < details > < summary > < b > Source code< / b > or < a href = "https://github.com/LiteyukiStudio/nonebot-plugin-marshoai/tree/main/nonebot_plugin_marshoai/plugin/func_call/caller.py#L55" 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;" > params< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > (self, < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > **< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > kwargs: Any) -> < / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > ' Caller' < / 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;" > ._parameters.update(kwargs)< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > return< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < / span > < / code > < / pre > < / div > < / details > < hr > < h4 id = "func-permission-self-permission-permission-caller" tabindex = "-1" > < em > < strong > func< / strong > < / em > < code > permission(self, permission: Permission) -> Caller< / code > < a class = "header-anchor" href = "#func-permission-self-permission-permission-caller" aria-label = "Permalink to "***func*** `permission(self, permission: Permission) -> Caller`"" > < / a > < / h4 > < details > < summary > < b > Source code< / b > or < a href = "https://github.com/LiteyukiStudio/nonebot-plugin-marshoai/tree/main/nonebot_plugin_marshoai/plugin/func_call/caller.py#L59" 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;" > permission< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > (self, permission: Permission) -> < / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > ' Caller' < / 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;" > ._permission < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > =< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > ._permission < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > or< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > permission< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > return< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < / span > < / code > < / pre > < / div > < / details > < hr > < h4 id = "async-func-pre-check-self-tuple-bool-str" tabindex = "-1" > < em > < strong > async func< / strong > < / em > < code > pre_check(self) -> tuple[bool, str]< / code > < a class = "header-anchor" href = "#async-func-pre-check-self-tuple-bool-str" aria-label = "Permalink to "***async func*** `pre_check(self) -> tuple[bool, str]`"" > < / a > < / h4 > < details > < summary > < b > Source code< / b > or < a href = "https://github.com/LiteyukiStudio/nonebot-plugin-marshoai/tree/main/nonebot_plugin_marshoai/plugin/func_call/caller.py#L63" target = "_blank" > View on GitHub< / a > < / summary > < div class = "language-python vp-adaptive-theme" > < button title = "Copy Code" class = "copy" > < / button > < span class = "lang" > python< / span > < pre class = "shiki shiki-themes github-light github-dark vp-code" tabindex = "0" > < code > < span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > async< / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > def< / span > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > pre_check< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > (self) -> tuple[< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > bool< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > , < / 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:#D73A49;--shiki-dark:#F97583;" > if< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .ctx < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > is< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > None< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > :< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > return< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > (< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > False< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > , < / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > ' 上下文为空' < / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > )< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > if< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .ctx.bot < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > is< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > None< / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > or< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .ctx.event < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > is< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > None< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > :< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > return< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > (< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > False< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > , < / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > ' Context is None' < / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > )< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > if< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > ._permission < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > and< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > (< / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > not< / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > await< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > ._permission(< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .ctx.bot, < / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .ctx.event)):< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > return< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > (< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > False< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > , < / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > ' 告诉用户 Permission Denied 权限不足' < / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > )< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > if< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .ctx.state < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > is< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > None< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > :< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > return< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > (< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > False< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > , < / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > ' State is None' < / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > )< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > if< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > ._rule < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > and< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > (< / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > not< / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > await< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > ._rule(< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .ctx.bot, < / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .ctx.event, < / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .ctx.state)):< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > return< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > (< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > False< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > , < / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > ' 告诉用户 Rule Denied 规则不匹配' < / 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;" > (< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > True< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > , < / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > ' ' < / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > )< / span > < / span > < / code > < / pre > < / div > < / details > < hr > < h4 id = "func-rule-self-rule-rule-caller" tabindex = "-1" > < em > < strong > func< / strong > < / em > < code > rule(self, rule: Rule) -> Caller< / code > < a class = "header-anchor" href = "#func-rule-self-rule-rule-caller" aria-label = "Permalink to "***func*** `rule(self, rule: Rule) -> Caller`"" > < / a > < / h4 > < details > < summary > < b > Source code< / b > or < a href = "https://github.com/LiteyukiStudio/nonebot-plugin-marshoai/tree/main/nonebot_plugin_marshoai/plugin/func_call/caller.py#L82" 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;" > rule< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > (self, rule: Rule) -> < / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > ' Caller' < / 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;" > ._rule < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > =< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > ._rule < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > and< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > rule< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > return< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < / span > < / code > < / pre > < / div > < / details > < hr > < h4 id = "func-name-self-name-str-caller" tabindex = "-1" > < em > < strong > func< / strong > < / em > < code > name(self, name: str) -> Caller< / code > < a class = "header-anchor" href = "#func-name-self-name-str-caller" aria-label = "Permalink to "***func*** `name(self, name: str) -> Caller`"" > < / a > < / h4 > < p > < strong > Description< / strong > : 设置函数名称< / p > < p > < strong > Arguments< / strong > :< / p > < blockquote > < ul > < li > name (str): 函数名称< / li > < / ul > < / blockquote > < p > < strong > Return< / strong > : Caller: Caller对象< / p > < details > < summary > < b > Source code< / b > or < a href = "https://github.com/LiteyukiStudio/nonebot-plugin-marshoai/tree/main/nonebot_plugin_marshoai/plugin/func_call/caller.py#L86" 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;" > name< / 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 style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > ' Caller' < / 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;" > ._name < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > =< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > name< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > return< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < / span > < / code > < / pre > < / div > < / details > < hr > < h4 id = "func-description-self-description-str-caller" tabindex = "-1" > < em > < strong > func< / strong > < / em > < code > description(self, description: str) -> Caller< / code > < a class = "header-anchor" href = "#func-description-self-description-str-caller" aria-label = "Permalink to "***func*** `description(self, description: str) -> Caller`"" > < / a > < / h4 > < details > < summary > < b > Source code< / b > or < a href = "https://github.com/LiteyukiStudio/nonebot-plugin-marshoai/tree/main/nonebot_plugin_marshoai/plugin/func_call/caller.py#L98" 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;" > description< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > (self, description: < / 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;" > ' Caller' < / 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;" > ._description < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > =< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > description< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > return< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < / span > < / code > < / pre > < / div > < / details > < hr > < h4 id = "func-self-func-f-f" tabindex = "-1" > < em > < strong > func< / strong > < / em > < code > self () func: F => F< / code > < a class = "header-anchor" href = "#func-self-func-f-f" aria-label = "Permalink to "***func*** `self () func: F => F`"" > < / a > < / h4 > < p > < strong > Description< / strong > : 装饰函数, 注册为一个可被AI调用的function call函数< / p > < p > < strong > Arguments< / strong > :< / p > < blockquote > < ul > < li > func (F): 函数对象< / li > < / ul > < / blockquote > < p > < strong > Return< / strong > : F: 函数对象< / p > < details > < summary > < b > Source code< / b > or < a href = "https://github.com/LiteyukiStudio/nonebot-plugin-marshoai/tree/main/nonebot_plugin_marshoai/plugin/func_call/caller.py#L102" target = "_blank" > View on GitHub< / a > < / summary > < div class = "language-python vp-adaptive-theme" > < button title = "Copy Code" class = "copy" > < / button > < span class = "lang" > python< / span > < pre class = "shiki shiki-themes github-light github-dark vp-code" tabindex = "0" > < code > < span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > def< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > __call__< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > (self, func: F) -> F:< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > global< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > _caller_data< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > if< / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > not< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > ._name:< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > ._name < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > =< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > func.< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > __name__< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > sig < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > =< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > inspect.signature(func)< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > for< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > name, param < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > in< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > sig.parameters.items():< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > if< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > issubclass< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > (param.annotation, Event) < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > or< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > isinstance< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > (param.annotation, Event):< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .di.event < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > =< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > name< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > if< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > issubclass< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > (param.annotation, Caller) < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > or< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > isinstance< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > (param.annotation, Caller):< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .di.caller < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > =< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > name< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > if< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > issubclass< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > (param.annotation, Bot) < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > or< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > isinstance< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > (param.annotation, Bot):< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .di.bot < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > =< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > name< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > if< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > issubclass< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > (param.annotation, Matcher) < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > or< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > isinstance< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > (param.annotation, Matcher):< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .di.matcher < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > =< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > name< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > if< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > param.annotation < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > ==< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > T_State:< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .di.state < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > =< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > name< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > for< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > name, param < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > in< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > sig.parameters.items():< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > if< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > param.default < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > is< / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > not< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > inspect.Parameter.empty:< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .default[name] < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > =< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > param.default< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > if< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > is_coroutine_callable(func):< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .func < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > =< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > func< / 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:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .func < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > =< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > async_wrap(func)< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > if< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > (module < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > :=< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > inspect.getmodule(func)):< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > module_name < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > =< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > module.< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > __name__< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .split(< / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > ' .' < / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > )[< / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > -< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > 1< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > ]< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > else< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > :< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > module_name < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > =< / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > ' ' < / span > < / span >
< span class = "line" > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .module_name < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > =< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > module_name< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > _caller_data[< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .aifc_name] < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > =< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > logger.opt(< / span > < span style = "--shiki-light:#E36209;--shiki-dark:#FFAB70;" > colors< / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > =< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > True< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > ).debug(< / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > f< / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > ' < y> 加载函数 < / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > {self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .full_name< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > }< / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > : < / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > {self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > ._description< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > }< / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > < /y> ' < / 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;" > func< / span > < / span > < / code > < / pre > < / div > < / details > < hr > < h4 id = "func-data-self-dict-str-any" tabindex = "-1" > < em > < strong > func< / strong > < / em > < code > data(self) -> dict[str, Any]< / code > < a class = "header-anchor" href = "#func-data-self-dict-str-any" aria-label = "Permalink to "***func*** `data(self) -> dict[str, Any]`"" > < / a > < / h4 > < p > < strong > Return< / strong > : dict[str, Any]: 函数的json数据< / p > < details > < summary > < b > Source code< / b > or < a href = "https://github.com/LiteyukiStudio/nonebot-plugin-marshoai/tree/main/nonebot_plugin_marshoai/plugin/func_call/caller.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;" > data< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > (self) -> 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;" > properties < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > =< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > {key: value.data() < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > for< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > key, value < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > in< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > ._parameters.items()}< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > if< / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > not< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > properties:< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > properties[< / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > ' placeholder' < / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > ] < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > =< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > {< / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > ' type' < / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > : < / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > ' string' < / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > , < / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > ' description' < / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > : < / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > ' 占位符,用于显示在对话框中' < / 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;" > {< / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > ' type' < / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > : < / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > ._func_type, < / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > ' function' < / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > : {< / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > ' name' < / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > : < / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .aifc_name, < / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > ' description' < / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > : < / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > ._description, < / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > ' parameters' < / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > : {< / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > ' type' < / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > : < / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > ' object' < / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > , < / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > ' properties' < / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > : properties}, < / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > ' required' < / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > : [key < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > for< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > key, value < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > in< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > ._parameters.items() < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > if< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > value.default < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > is< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > None< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > ]}}< / span > < / span > < / code > < / pre > < / div > < / details > < hr > < h4 id = "func-set-ctx-self-ctx-sessioncontext-none" tabindex = "-1" > < em > < strong > func< / strong > < / em > < code > set_ctx(self, ctx: SessionContext) -> None< / code > < a class = "header-anchor" href = "#func-set-ctx-self-ctx-sessioncontext-none" aria-label = "Permalink to "***func*** `set_ctx(self, ctx: SessionContext) -> None`"" > < / a > < / h4 > < p > < strong > Description< / strong > : 设置依赖注入上下文< / p > < p > < strong > Arguments< / strong > :< / p > < blockquote > < ul > < li > ctx (SessionContext): 依赖注入上下文< / li > < / ul > < / blockquote > < details > < summary > < b > Source code< / b > or < a href = "https://github.com/LiteyukiStudio/nonebot-plugin-marshoai/tree/main/nonebot_plugin_marshoai/plugin/func_call/caller.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;" > set_ctx< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > (self, ctx: SessionContext) -> < / 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;" > ctx.caller < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > =< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .ctx < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > =< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > ctx< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > for< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > type_name, arg_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;" > .di.model_dump().items():< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > if< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > arg_name:< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .default[arg_name] < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > =< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > ctx.< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > __getattribute__< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > (type_name)< / span > < / span > < / code > < / pre > < / div > < / details > < hr > < h4 id = "func-with-ctx-self-ctx-sessioncontext-caller" tabindex = "-1" > < em > < strong > func< / strong > < / em > < code > with_ctx(self, ctx: SessionContext) -> Caller< / code > < a class = "header-anchor" href = "#func-with-ctx-self-ctx-sessioncontext-caller" aria-label = "Permalink to "***func*** `with_ctx(self, ctx: SessionContext) -> Caller`"" > < / a > < / h4 > < p > < strong > Description< / strong > : 设置依赖注入上下文< / p > < p > < strong > Arguments< / strong > :< / p > < blockquote > < ul > < li > ctx (SessionContext): 依赖注入上下文< / li > < / ul > < / blockquote > < p > < strong > Return< / strong > : Caller: Caller对象< / p > < details > < summary > < b > Source code< / b > or < a href = "https://github.com/LiteyukiStudio/nonebot-plugin-marshoai/tree/main/nonebot_plugin_marshoai/plugin/func_call/caller.py#L204" 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;" > with_ctx< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > (self, ctx: SessionContext) -> < / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > ' Caller' < / 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;" > .set_ctx(ctx)< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > return< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < / span > < / code > < / pre > < / div > < / details > < hr > < h4 id = "async-func-call-self-args-any-kwargs-any-any" tabindex = "-1" > < em > < strong > async func< / strong > < / em > < code > call(self, *args: Any, **kwargs: Any) -> Any< / code > < a class = "header-anchor" href = "#async-func-call-self-args-any-kwargs-any-any" aria-label = "Permalink to "***async func*** `call(self, *args: Any, **kwargs: Any) -> Any`"" > < / a > < / h4 > < p > < strong > Description< / strong > : 调用函数< / p > < p > < strong > Return< / strong > : Any: 函数返回值< / p > < details > < summary > < b > Source code< / b > or < a href = "https://github.com/LiteyukiStudio/nonebot-plugin-marshoai/tree/main/nonebot_plugin_marshoai/plugin/func_call/caller.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:#D73A49;--shiki-dark:#F97583;" > async< / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > def< / span > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > call< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > (self, < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > *< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > args: Any, < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > **< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > kwargs: Any) -> Any:< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > y, r < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > =< / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > await< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .pre_check()< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > if< / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > not< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > y:< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > logger.debug(< / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > f< / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > ' Function < / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > {self< / 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;" > pre_check failed: < / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > {< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > r< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > }< / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > ' < / 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;" > r< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > if< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .func < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > is< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > None< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > :< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > raise< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > ValueError< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > (< / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > ' 未注册函数对象' < / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > )< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > for< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > name, value < / 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;" > .default.items():< / 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:#24292E;--shiki-dark:#E1E4E8;" > kwargs:< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > kwargs[name] < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > =< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > value< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > return< / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > await< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .func(< / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > *< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > args, < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > **< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > kwargs)< / span > < / span > < / code > < / pre > < / div > < / details > < hr > < p > < a href = "https://docs.python.org/3/library/functions.html#property" target = "_blank" rel = "noreferrer" > < code > @property< / code > < / a > < / p > < h4 id = "func-short-name-self-str" tabindex = "-1" > < em > < strong > func< / strong > < / em > < code > short_name(self) -> str< / code > < a class = "header-anchor" href = "#func-short-name-self-str" aria-label = "Permalink to "***func*** `short_name(self) -> str`"" > < / a > < / h4 > < p > < strong > Description< / strong > : 函数本名< / p > < details > < summary > < b > Source code< / b > or < a href = "https://github.com/LiteyukiStudio/nonebot-plugin-marshoai/tree/main/nonebot_plugin_marshoai/plugin/func_call/caller.py#L243" 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;" > @< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > property< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > def< / span > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > short_name< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > (self) -> < / 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:#D73A49;--shiki-dark:#F97583;" > return< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > ._name.split(< / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > ' .' < / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > )[< / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > -< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > 1< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > ]< / span > < / span > < / code > < / pre > < / div > < / details > < hr > < p > < a href = "https://docs.python.org/3/library/functions.html#property" target = "_blank" rel = "noreferrer" > < code > @property< / code > < / a > < / p > < h4 id = "func-aifc-name-self-str" tabindex = "-1" > < em > < strong > func< / strong > < / em > < code > aifc_name(self) -> str< / code > < a class = "header-anchor" href = "#func-aifc-name-self-str" aria-label = "Permalink to "***func*** `aifc_name(self) -> str`"" > < / a > < / h4 > < p > < strong > Description< / strong > : AI调用名, 没有点< / p > < details > < summary > < b > Source code< / b > or < a href = "https://github.com/LiteyukiStudio/nonebot-plugin-marshoai/tree/main/nonebot_plugin_marshoai/plugin/func_call/caller.py#L248" 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;" > @< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > property< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > def< / span > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > aifc_name< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > (self) -> < / 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:#D73A49;--shiki-dark:#F97583;" > if< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .no_module_name:< / 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;" > ._name< / 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;" > .full_name.replace(< / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > ' .' < / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > , < / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > ' -' < / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > )< / span > < / span > < / code > < / pre > < / div > < / details > < hr > < p > < a href = "https://docs.python.org/3/library/functions.html#property" target = "_blank" rel = "noreferrer" > < code > @property< / code > < / a > < / p > < h4 id = "func-full-name-self-str" tabindex = "-1" > < em > < strong > func< / strong > < / em > < code > full_name(self) -> str< / code > < a class = "header-anchor" href = "#func-full-name-self-str" aria-label = "Permalink to "***func*** `full_name(self) -> str`"" > < / a > < / h4 > < p > < strong > Description< / strong > : 完整名< / p > < details > < summary > < b > Source code< / b > or < a href = "https://github.com/LiteyukiStudio/nonebot-plugin-marshoai/tree/main/nonebot_plugin_marshoai/plugin/func_call/caller.py#L255" 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;" > @< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > property< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > def< / span > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > full_name< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > (self) -> < / 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:#D73A49;--shiki-dark:#F97583;" > return< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .module_name < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > +< / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > ' .' < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > +< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > ._name< / span > < / span > < / code > < / pre > < / div > < / details > < hr > < p > < a href = "https://docs.python.org/3/library/functions.html#property" target = "_blank" rel = "noreferrer" > < code > @property< / code > < / a > < / p > < h4 id = "func-short-info-self-str" tabindex = "-1" > < em > < strong > func< / strong > < / em > < code > short_info(self) -> str< / code > < a class = "header-anchor" href = "#func-short-info-self-str" aria-label = "Permalink to "***func*** `short_info(self) -> str`"" > < / a > < / h4 > < details > < summary > < b > Source code< / b > or < a href = "https://github.com/LiteyukiStudio/nonebot-plugin-marshoai/tree/main/nonebot_plugin_marshoai/plugin/func_call/caller.py#L260" 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;" > @< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > property< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > def< / span > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > short_info< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > (self) -> < / 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:#D73A49;--shiki-dark:#F97583;" > return< / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > f< / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > ' < / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > {self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > .full_name< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > }< / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > (< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > {self< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > ._description< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > }< / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > )' < / span > < / span > < / code > < / pre > < / div > < / details > < hr > < h3 id = "func-on-function-call-name-str-description-str-none-none-func-type-str-function-no-module-name-bool-false-caller" tabindex = "-1" > < em > < strong > func< / strong > < / em > < code > on_function_call(name: str = ' ' , description: str | None = None, func_type: str = ' function' , no_module_name: bool = False) -> Caller< / code > < a class = "header-anchor" href = "#func-on-function-call-name-str-description-str-none-none-func-type-str-function-no-module-name-bool-false-caller" aria-label = "Permalink to "***func*** `on_function_call(name: str = '', description: str | None = None, func_type: str = 'function', no_module_name: bool = False) -> Caller`"" > < / a > < / h3 > < p > < strong > Arguments< / strong > :< / p > < blockquote > < ul > < li > name: 函数名称, 若为空则从函数的__name__属性获取< / li > < li > description: 函数描述, 若为None则从函数的docstring中获取< / li > < li > func_type: 函数类型, 默认为function, 若要注册为 Moonshot AI 的内置函数则为builtin_function< / li > < li > no_module_name: 是否不包含模块名,当注册为 Moonshot AI 的内置函数时为True< / li > < / ul > < / blockquote > < p > < strong > Return< / strong > : Caller: Caller对象< / p > < details > < summary > < b > Source code< / b > or < a href = "https://github.com/LiteyukiStudio/nonebot-plugin-marshoai/tree/main/nonebot_plugin_marshoai/plugin/func_call/caller.py#L264" target = "_blank" > View on GitHub< / a > < / summary > < div class = "language-python vp-adaptive-theme" > < button title = "Copy Code" class = "copy" > < / button > < span class = "lang" > python< / span > < pre class = "shiki shiki-themes github-light github-dark vp-code" tabindex = "0" > < code > < span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > def< / span > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > on_function_call< / 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:#D73A49;--shiki-dark:#F97583;" > =< / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > ' ' < / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > , description: < / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > str< / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > |< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > None< / 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;" > , func_type: < / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > str< / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > =< / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > ' function' < / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > , no_module_name: < / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > bool< / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > =< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > False< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > ) -> Caller:< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > caller < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > =< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > Caller(< / span > < span style = "--shiki-light:#E36209;--shiki-dark:#FFAB70;" > name< / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > =< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > name, < / span > < span style = "--shiki-light:#E36209;--shiki-dark:#FFAB70;" > description< / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > =< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > description, < / span > < span style = "--shiki-light:#E36209;--shiki-dark:#FFAB70;" > func_type< / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > =< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > func_type, < / span > < span style = "--shiki-light:#E36209;--shiki-dark:#FFAB70;" > no_module_name< / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > =< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > no_module_name)< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > return< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > caller< / span > < / span > < / code > < / pre > < / div > < / details > < hr > < h3 id = "func-get-function-calls-dict-str-caller" tabindex = "-1" > < em > < strong > func< / strong > < / em > < code > get_function_calls() -> dict[str, Caller]< / code > < a class = "header-anchor" href = "#func-get-function-calls-dict-str-caller" aria-label = "Permalink to "***func*** `get_function_calls() -> dict[str, Caller]`"" > < / a > < / h3 > < p > < strong > Description< / strong > : 获取所有已注册的function call函数< / p > < p > < strong > Return< / strong > : dict[str, Caller]: 所有已注册的function call函数< / p > < details > < summary > < b > Source code< / b > or < a href = "https://github.com/LiteyukiStudio/nonebot-plugin-marshoai/tree/main/nonebot_plugin_marshoai/plugin/func_call/caller.py#L290" 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_function_calls< / 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;" > , Caller]:< / span > < / span >
2025-02-08 15:30:40 +00:00
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > return< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > _caller_data< / span > < / span > < / code > < / pre > < / div > < / details > < / div > < / div > < / main > < footer class = "VPDocFooter" data-v-d9ad38ba data-v-abb507f0 > <!-- [ --> <!-- ] --> < div class = "edit-info" data-v-abb507f0 > < div class = "edit-link" data-v-abb507f0 > < a class = "VPLink link vp-external-link-icon no-icon edit-link-button" href = "https://github.com/LiteyukiStudio/nonebot-plugin-marshoai/tree/main/nonebot_plugin_marshoai//plugin/func_call/caller.py" target = "_blank" rel = "noreferrer" data-v-abb507f0 > <!-- [ --> < span class = "vpi-square-pen edit-link-icon" data-v-abb507f0 > < / span > Edit this page<!-- ] --> < / a > < / div > <!-- --> < / div > < nav class = "prev-next" aria-labelledby = "doc-footer-aria-label" data-v-abb507f0 > < span class = "visually-hidden" id = "doc-footer-aria-label" data-v-abb507f0 > Pager< / span > < div class = "pager" data-v-abb507f0 > < a class = "VPLink link pager-link prev" href = "/en/dev/api/plugin/func_call/index" data-v-abb507f0 > <!-- [ --> < span class = "desc" data-v-abb507f0 > Prev< / span > < span class = "title" data-v-abb507f0 > func_call< / span > <!-- ] --> < / a > < / div > < div class = "pager" data-v-abb507f0 > < a class = "VPLink link pager-link next" href = "/en/dev/api/plugin/func_call/" data-v-abb507f0 > <!-- [ --> < span class = "desc" data-v-abb507f0 > Next< / span > < span class = "title" data-v-abb507f0 > index< / span > <!-- ] --> < / a > < / div > < / nav > < / footer > <!-- [ --> <!-- ] --> < / div > < / div > < / div > <!-- [ --> <!-- ] --> < / div > < / div > < footer class = "VPFooter has-sidebar" data-v-f2ef7826 data-v-1f3d8ce5 > < div class = "container" data-v-1f3d8ce5 > < p class = "message" data-v-1f3d8ce5 > The document is being improved. Suggestions are welcome.< / p > < p class = "copyright" data-v-1f3d8ce5 > © 2024 < a href = "https://liteyuki.icu" target = "_blank" > Liteyuki Studio< / a > < / p > < / div > < / footer > <!-- [ --> <!-- ] --> < / div > < / div >
2025-02-10 15:54:55 +00:00
< script > w i n d o w . _ _ V P _ H A S H _ M A P _ _ = J S O N . p a r s e ( " { \ " d e v _ a p i _ a z u r e . m d \ " : \ " B 8 - f 9 F U H \ " , \ " d e v _ a p i _ a z u r e _ o n e b o t . m d \ " : \ " A F 0 8 d y d V \ " , \ " d e v _ a p i _ c o n f i g . m d \ " : \ " C f e 3 T 7 7 C \ " , \ " d e v _ a p i _ c o n s t a n t s . m d \ " : \ " C z o d S z E x \ " , \ " d e v _ a p i _ d e a l _ l a t e x . m d \ " : \ " T C 9 a c X C k \ " , \ " d e v _ a p i _ d e v . m d \ " : \ " x t Z B f v C K \ " , \ " d e v _ a p i _ h o o k s . m d \ " : \ " O e x 5 O s b q \ " , \ " d e v _ a p i _ h u n y u a n . m d \ " : \ " c w j z N k K 4 \ " , \ " d e v _ a p i _ i n d e x . m d \ " : \ " C m - - m - d j \ " , \ " d e v _ a p i _ i n s t a n c e s . m d \ " : \ " D W I b F 7 z d \ " , \ " d e v _ a p i _ m a r s h o . m d \ " : \ " D J n i A O Y m \ " , \ " d e v _ a p i _ m a r s h o _ o n e b o t . m d \ " : \ " C K X l p K 6 h \ " , \ " d e v _ a p i _ m e t a d a t a . m d \ " : \ " g X V Q s f b 6 \ " , \ " d e v _ a p i _ m o d e l s . m d \ " : \ " C b w 0 S n o S \ " , \ " d e v _ a p i _ o b s e r v e r . m d \ " : \ " D J a 7 E Q I J \ " , \ " d e v _ a p i _ p l u g i n _ f u n c _ c a l l _ c a l l e r . m d \ " : \ " C h d L I n 4 2 \ " , \ " d e v _ a p i _ p l u g i n _ f u n c _ c a l l _ i n d e x . m d \ " : \ " B Y a O 0 Y M f \ " , \ " d e v _ a p i _ p l u g i n _ f u n c _ c a l l _ m o d e l s . m d \ " : \ " B q D L H q 4 8 \ " , \ " d e v _ a p i _ p l u g i n _ f u n c _ c a l l _ p a r a m s . m d \ " : \ " 5 f F v 6 5 N o \ " , \ " d e v _ a p i _ p l u g i n _ f u n c _ c a l l _ u t i l s . m d \ " : \ " C c 0 6 p g c e \ " , \ " d e v _ a p i _ p l u g i n _ i n d e x . m d \ " : \ " D 1 c v 5 B d t \ " , \ " d e v _ a p i _ p l u g i n _ l o a d . m d \ " : \ " B T h u u e 9 - \ " , \ " d e v _ a p i _ p l u g i n _ m o d e l s . m d \ " : \ " C M G e D M N V \ " , \ " d e v _ a p i _ p l u g i n _ r e g i s t e r . m d \ " : \ " B c H W k y _ t \ " , \ " d e v _ a p i _ p l u g i n _ t y p i n g . m d \ " : \ " B v z c c 0 i 7 \ " , \ " d e v _ a p i _ p l u g i n _ u t i l s . m d \ " : \ " C 8 C 6 0 o h 0 \ " , \ " d e v _ a p i _ p l u g i n s _ b u i l t i n _ t o o l s _ c h a t . m d \ " : \ " E Y z B k M 7 q \ " , \ " d e v _ a p i _ p l u g i n s _ b u i l t i n _ t o o l s _ f i l e _ i o . m d \ " : \ " D 8 s t O 3 5 2 \ " , \ " d e v _ a p i _ p l u g i n s _ b u i l t i n _ t o o l s _ i n d e x . m d \ " : \ " B Z H Q 5 N N H \ " , \ " d e v _ a p i _ p l u g i n s _ b u i l t i n _ t o o l s _ l i t e y u k i . m d \ " : \ " D i K m n k x A \ " , \ " d e v _ a p i _ p l u g i n s _ b u i l t i n _ t o o l s _ m a n a g e r . m d \ " : \ " W 6 8 6 7 J U V \ " , \ " d e v _ a p i _ p l u g i n s _ b u i l t i n _ t o o l s _ n e t w o r k . m d \ " : \ " C N U P u s y d \ " , \ " d e v _ a p i _ p l u g i n s _ b u i l t i n _ t o o l s _ u t i l s . m d \ " : \ " D D n R S z z R \ " , \ " d e v _ a p i _ p l u g i n s _ m a r s h o a i _ b a n g u m i _ i n d e x . m d \ " : \ " B L o o t i n Z \ " , \ " d e v _ a p i _ p l u g i n s _ m a r s h o a i _ b a s i c _ i n d e x . m d \ " : \ " m H S C u j g c \ " , \ " d e v _ a p i _ p l u g i n s _ t e s t _ m a r s h o a i _ b a s i c _ i n d e x . m d \ " : \ " B i 6 J 7 R _ z \ " , \ " d e v _ a p i _ p l u g i n s _ t e s t _ m a r s h o a i _ m e m o r y _ c o m m a n d . m d \ " : \ " C w 7 G m c D 9 \ " , \ " d e v _ a p i _ p l u g i n s _ t e s t _ m a r s h o a i _ m e m o r y _ c o n f i g . m d \ " : \ " D v F L a x 4 1 \ " , \ " d e v _ a p i _ p l u g i n s _ t e s t _ m a r s h o a i _ m e m o r y _ i n d e x . m d \ " : \ " j u 9 E 5 a 1 x \ " , \ " d e v _ a p i _ p l u g i n s _ t e s t _ r a n d o m _ n u m b e r _ g e n e r a t o r . m d \ " : \ " C z K w N N 4 y \ " , \ " d e v _ a p i _ p l u g i n s _ t e s t _ s n o w y k a m i _ t e s t p l u g i n _ i n d e x . m d \ " : \ " U D P C - U c 5 \ " , \ " d e v _ a p i _ p l u g i n s _ t e s t _ w e a t h e r _ d e m o . m d \ " : \ " - 1 K D L 3 o N \ " , \ " d e v _ a p i _ p l u g i n s _ t w i s u k i _ m e g a k i t s _ i n d e x . m d \ " : \ " S J w j K 6 i r \ " , \ " d e v _ a p i _ p l u g i n s _ t w i s u k i _ m e g a k i t s _ m k _ m o r s e _ c o d e . m d \ " : \ " B i g B H 9 6 X \ " , \ " d e v _ a p i _ p l u g i n s _ t w i s u k i _ m e g a k i t s _ m k _ n y a _ c o d e . m d \ " : \ " C 6 N 9 g A 9 1 \ " , \ " d e v _ a p i _ p l u g i n s _ t w i s u k i _ p e t c a t _ i n d e x . m d \ " : \ " C y r V K k 9 d \ " , \ " d e v _ a p i _ p l u g i n s _ t w i s u k i _ p e t c a t _ p c _ c a t . m d \ " : \ " C w 1 - J a s b \ " , \ " d e v _ a p i _ p l u g i n s _ t w i s u k i _ p e t c a t _ p c _ i n f o . m d \ " : \ " H i n y s 1 n W \ " , \ " d e v _ a p i _ p l u g i n s _ t w i s u k i _ p e t c a t _ p c _ s h o p . m d \ " : \ " B 1 e 0 Z S x F \ " , \ " d e v _ a p i _ p l u g i n s _ t w i s u k i _ p e t c a t _ p c _ t o k e n . m d \ " : \ " i G 6 4 f H 2 l \ " , \ " d e v _ a p i _ t o o l s _ m a r s h o a i _ b a n g u m i _ i n d e x . m d \ " : \ " D u z e 3 T V P \ " , \ " d e v _ a p i _ t o o l s _ m a r s h o a i _ b a s i c _ i n d e x . m d \ " : \ " B M k A 9 a f b \ " , \ " d e v _ a p i _ t o o l s _ m a r s h o a i _ m e g a k i t s _ i n d e x . m d \ " : \ " D 4 8 x E W t 6 \ " , \ " d e v _ a p i _ t o o l s _ m a r s h o a i _ m e g a k i t s _ m k _ c o m m o n . m d \ " : \ " o R u E Y C j m \ " , \ " d e v _ a p i _ t o o l s _ m a r s h o a i _ m e g a k i t s _ m k _ i n f o . m d \ " : \ " D W 5 E c 5 c n \ " , \ " d e v _ a p i _ t o o l s _ m a r s h o a i _ m e g a k i t s _ m k _ m o r s e _ c o d e . m d \ " : \ " C m k x A t 5 6 \ " , \ " d e v _ a p i _ t o o l s _ m a r s h o a i _ m e g a k i t s _ m k _ n y a _ c o d e . m d \ " : \ " B Q A d - _ l 9 \ " , \ " d e v _ a p i _ t o o l s _ m a r s h o a i _ m e m o r y _ i n d e x . m d \ " : \ " 9 y O j T t r q \ " , \ " d e v _ a p i _ t o o l s _ m a r s h o a i _ m e o g i r l _ i n d e x . m d \ " : \ " B l c R o 3 X U \ " , \ " d e v _ a p i _ t o o l s _ m a r s h o a i _ m e o g i r l _ m g _ i n f o . m d \ " : \ " C a y 9 k O B k \ " , \ " d e v _ a p i _ t o o l s _ m a r s h o a i _ m e o g i r l _ m g _ i n t r o d u c e . m d \ " : \ " d L 8 Y u _ O 0 \ " , \ " d e v _ a p i _ t o o l s _ m a r s h o a i _ m e o g i r l _ m g _ s e a r c h . m d \ " : \ " D r 7 z V 1 4 D \ " , \ " d e v _ a p i _ t o o l s _ w i p _ m a r s h o a i _ m e m o r y _ i n d e x . m d \ " : \ " C 1 s n 4 q Q D \ " , \ " d e v _ a p i _ u t i l . m d \ " : \ " b Y 3 K - Z 4 6 \ " , \ " d e v _ a p i _ u t i l _ h u n y u a n . m d \ " : \ " B c Y u 4 B N L \ " , \ " d e v _ e x t e n s i o n . m d \ " : \ " D f I b M 0 K e \ " , \ " d e v _ i n d e x . m d \ " : \ " B b Z 4 w G t m \ " , \ " d e v _ p r o j e c t . m d \ " : \ " C I 3 g Y p Y z \ " , \ " e n _ d e v _ a p i _ a z u r e . m d \ " : \ " D T 1 u z Y n u \ " , \ " e n _ d e v _ a p i _ a z u r e _ o n e b o t . m d \ " : \ " C I a 2 e H T t \ " , \ " e n _ d e v _ a p i _ c o n f i g . m d \ " : \ " D G p Q D 4 5 h \ " , \ " e n _ d e v _ a p i _ c o n s t a n t s . m d \ " : \ " s X F t r M z 7 \ " , \ " e n _ d e v _ a p i _ d e a l _ l a t e x . m d \ " : \ " B U 7 z m m Q G \ " , \ " e n _ d e v _ a p i _ d e v . m d \ " : \ " C I c P V 2 3 r \ " , \ " e n _ d e v _ a p i _ h o o k s . m d \ " : \ " 9 n K s u t J k \ " , \ " e n _ d e v _ a p i _ h u n y u a n . m d \ " : \ " B V j Q M b d k \ " , \ " e n _ d e v _ a p i _ i n d e x . m d \ " : \ " D I B c H O 1 C \ " , \ " e n _ d e v _ a p i _ i n s t a n c e s . m d \ " : \ " U v 5 r I R O F \ " , \ " e n _ d e v _ a p i _ m a r s h o . m d \ " : \ " H O p L N n B x \ " , \ " e n _ d e v _ a p i _ m a r s h o _ o n e b o t . m d \ " : \ " C v _ 1 b x x 2 \ " , \ " e n _ d e v _ a p i _ m e t a d a t a . m d \ " : \ " 8 d 7 R n g M Y \ " , \ " e n _ d e v _ a p i _ m o d e l s . m d \ " : \ " C M I k 6 d n q \ " , \ " e n _ d e v _ a p i _ o b s e r v e r . m d \ " : \ " B w A s q P F r \ " , \ " e n _ d e v _ a
2025-01-26 11:07:43 +00:00
< / body >
< / html >