From 52ae0f6218291597b88fbd6951beca12808376d4 Mon Sep 17 00:00:00 2001 From: HibiKier <775757368@qq.com> Date: Fri, 16 Aug 2024 21:18:07 +0800 Subject: [PATCH] s --- 404.html | 8 +- assets/css/0.styles.3af13d03.css | 10 - assets/css/0.styles.59531e0d.css | 10 + assets/fonts/iconfont.938fa69e.woff | Bin 0 -> 11476 bytes assets/fonts/iconfont.ecabaf00.ttf | Bin 0 -> 17648 bytes assets/img/search.72b0ff46.svg | 7 - assets/js/1.10ffbede.js | 8 - assets/js/1.b44cf5e5.js | 8 + assets/js/10.1bc41e7e.js | 1 - assets/js/10.a9b863f1.js | 1 + assets/js/11.1c71471c.js | 1 + assets/js/11.33e2c0fc.js | 1 - assets/js/12.93513eda.js | 1 + assets/js/12.dcad0bdb.js | 1 - assets/js/13.5f4e1919.js | 1 + assets/js/13.e4c4fd17.js | 1 - assets/js/14.2830f64c.js | 1 - assets/js/14.4dbfb302.js | 1 + assets/js/15.10b775c3.js | 1 + assets/js/15.fee026ac.js | 1 - assets/js/16.a5afb636.js | 1 + assets/js/16.bde6b38b.js | 1 - assets/js/17.4bb3a5b9.js | 1 + assets/js/17.f29f3e31.js | 1 - assets/js/18.4aca870b.js | 1 + assets/js/18.e818a6ac.js | 1 - assets/js/19.45b73dcb.js | 1 - assets/js/19.995862c6.js | 1 + assets/js/20.2cd233f4.js | 1 + assets/js/20.4da056d2.js | 1 - assets/js/21.1c80d565.js | 1 + assets/js/21.953ab592.js | 1 - assets/js/22.0bdf6c54.js | 1 - assets/js/22.c06fad17.js | 1 + assets/js/23.3280fe28.js | 1 - assets/js/23.deae5185.js | 1 + assets/js/24.0a3aa4af.js | 1 - assets/js/24.30ad7117.js | 1 + assets/js/25.58fb2299.js | 1 + assets/js/25.a874b11e.js | 1 - assets/js/26.aa18fa76.js | 1 + assets/js/26.ad82a000.js | 1 - assets/js/27.b7539040.js | 1 + assets/js/27.f8536418.js | 1 - assets/js/28.99a667cd.js | 1 - assets/js/28.b4ff306c.js | 1 + assets/js/29.983a5a43.js | 1 - assets/js/29.b05410ee.js | 1 + assets/js/3.2b1c97fb.js | 1 + assets/js/3.a9dcdb28.js | 1 - assets/js/30.0d8b8c8d.js | 1 + assets/js/30.45c14c49.js | 1 - assets/js/31.37fbd56e.js | 1 + assets/js/31.b64c8c2a.js | 1 - assets/js/32.70a30328.js | 1 + assets/js/32.c0c1ea04.js | 1 - assets/js/33.0c356f3c.js | 1 - assets/js/33.1dffedc1.js | 1 + assets/js/34.21d81a5d.js | 1 - assets/js/34.27682a2e.js | 1 + assets/js/35.704678d8.js | 1 + assets/js/35.c984a944.js | 1 - assets/js/36.298bcf90.js | 1 + assets/js/36.4dc0596a.js | 1 - assets/js/37.6bad247a.js | 1 + assets/js/37.e0f88dca.js | 1 - assets/js/38.3746fe4a.js | 1 - assets/js/38.48cb871d.js | 1 + assets/js/39.9e7b52c5.js | 1 + assets/js/39.bcc8e7b6.js | 1 - assets/js/4.682beda7.js | 1 - assets/js/4.a204b62c.js | 1 + assets/js/40.02805295.js | 1 + assets/js/40.b73ff2e9.js | 1 - assets/js/41.203e0629.js | 1 + assets/js/41.a97c74e6.js | 1 - assets/js/42.a28142bc.js | 1 + assets/js/42.da549470.js | 1 - assets/js/43.37aa8929.js | 1 + assets/js/43.ec225ed7.js | 1 - assets/js/44.ae409f72.js | 1 + assets/js/44.fd021a6d.js | 1 - assets/js/45.087e2595.js | 1 - assets/js/45.473586fc.js | 1 + assets/js/46.0d5eedf6.js | 1 - assets/js/46.d0b8b81e.js | 1 + assets/js/47.efc7b6ea.js | 1 - assets/js/48.0ea34501.js | 1 - assets/js/49.77e4f78d.js | 1 - assets/js/5.5eec42b2.js | 1 - assets/js/5.a639ca96.js | 1 + assets/js/6.45f432e0.js | 1 - assets/js/6.addc78d6.js | 1 + assets/js/7.1ebf8c89.js | 1 - assets/js/7.fc210c39.js | 1 + assets/js/8.1694a43b.js | 1 - assets/js/8.ab8f7e89.js | 1 + assets/js/9.08c70013.js | 1 + assets/js/9.8a00c9a2.js | 1 - assets/js/app.0a26dea3.js | 80 +++ assets/js/app.9a6bfcf8.js | 95 ---- blogs/about.html | 32 +- categories/index.html | 30 +- docs/api_doc/group.html | 38 +- docs/api_doc/plugins.html | 34 +- docs/api_doc/request.html | 38 +- docs/api_doc/system.html | 34 +- docs/development_doc/depends.html | 30 +- docs/development_doc/plugins.html | 34 +- docs/development_doc/shop_handle.html | 38 +- docs/development_doc/task_control.html | 38 +- docs/development_doc/utils.html | 34 +- docs/faq/index.html | 30 +- .../help_doc/basic_plugins/admin_plugins.html | 38 +- .../basic_plugins/common_plugins.html | 38 +- .../help_doc/basic_plugins/other_plugins.html | 38 +- docs/help_doc/basic_plugins/shop_plugins.html | 38 +- .../basic_plugins/superuser_plugins.html | 38 +- docs/help_doc/configs.html | 74 +-- docs/help_doc/index.html | 34 +- docs/help_doc/plugins_index.html | 38 +- .../public_plugins/admin_plugins.html | 42 +- .../common_plugins/common_plugins.html | 38 +- .../draw_card_plugins/draw_card_plugins.html | 38 +- .../game_plugins/game_plugins.html | 38 +- .../genshin_plugins/genshin_plugins.html | 38 +- .../other_plugins/other_plugins.html | 34 +- .../pic_plugins/pic_plugins.html | 38 +- .../public_plugins/superuser_plugins.html | 38 +- .../utils_plugins/utils_plugins.html | 38 +- docs/index.html | 65 --- docs/installation_doc/index.html | 34 +- docs/installation_doc/install_gocq.html | 74 --- docs/installation_doc/install_webui.html | 79 --- docs/installation_doc/install_zhenxun.html | 105 ---- docs/installation_doc/psql_ubuntu.html | 38 +- docs/installation_doc/psql_win.html | 40 +- docs/installation_doc/qq.html | 69 +++ docs/installation_doc/screen.html | 75 +++ docs/installation_doc/start_.html | 75 --- docs/installation_doc/webui.html | 146 +++++ docs/installation_doc/zhenxun.html | 121 +++++ docs/update_log/index.html | 32 +- index.html | 40 +- service-worker.js | 509 ------------------ tag/index.html | 30 +- timeline/index.html | 30 +- 147 files changed, 1206 insertions(+), 1761 deletions(-) delete mode 100644 assets/css/0.styles.3af13d03.css create mode 100644 assets/css/0.styles.59531e0d.css create mode 100644 assets/fonts/iconfont.938fa69e.woff create mode 100644 assets/fonts/iconfont.ecabaf00.ttf delete mode 100644 assets/img/search.72b0ff46.svg delete mode 100644 assets/js/1.10ffbede.js create mode 100644 assets/js/1.b44cf5e5.js delete mode 100644 assets/js/10.1bc41e7e.js create mode 100644 assets/js/10.a9b863f1.js create mode 100644 assets/js/11.1c71471c.js delete mode 100644 assets/js/11.33e2c0fc.js create mode 100644 assets/js/12.93513eda.js delete mode 100644 assets/js/12.dcad0bdb.js create mode 100644 assets/js/13.5f4e1919.js delete mode 100644 assets/js/13.e4c4fd17.js delete mode 100644 assets/js/14.2830f64c.js create mode 100644 assets/js/14.4dbfb302.js create mode 100644 assets/js/15.10b775c3.js delete mode 100644 assets/js/15.fee026ac.js create mode 100644 assets/js/16.a5afb636.js delete mode 100644 assets/js/16.bde6b38b.js create mode 100644 assets/js/17.4bb3a5b9.js delete mode 100644 assets/js/17.f29f3e31.js create mode 100644 assets/js/18.4aca870b.js delete mode 100644 assets/js/18.e818a6ac.js delete mode 100644 assets/js/19.45b73dcb.js create mode 100644 assets/js/19.995862c6.js create mode 100644 assets/js/20.2cd233f4.js delete mode 100644 assets/js/20.4da056d2.js create mode 100644 assets/js/21.1c80d565.js delete mode 100644 assets/js/21.953ab592.js delete mode 100644 assets/js/22.0bdf6c54.js create mode 100644 assets/js/22.c06fad17.js delete mode 100644 assets/js/23.3280fe28.js create mode 100644 assets/js/23.deae5185.js delete mode 100644 assets/js/24.0a3aa4af.js create mode 100644 assets/js/24.30ad7117.js create mode 100644 assets/js/25.58fb2299.js delete mode 100644 assets/js/25.a874b11e.js create mode 100644 assets/js/26.aa18fa76.js delete mode 100644 assets/js/26.ad82a000.js create mode 100644 assets/js/27.b7539040.js delete mode 100644 assets/js/27.f8536418.js delete mode 100644 assets/js/28.99a667cd.js create mode 100644 assets/js/28.b4ff306c.js delete mode 100644 assets/js/29.983a5a43.js create mode 100644 assets/js/29.b05410ee.js create mode 100644 assets/js/3.2b1c97fb.js delete mode 100644 assets/js/3.a9dcdb28.js create mode 100644 assets/js/30.0d8b8c8d.js delete mode 100644 assets/js/30.45c14c49.js create mode 100644 assets/js/31.37fbd56e.js delete mode 100644 assets/js/31.b64c8c2a.js create mode 100644 assets/js/32.70a30328.js delete mode 100644 assets/js/32.c0c1ea04.js delete mode 100644 assets/js/33.0c356f3c.js create mode 100644 assets/js/33.1dffedc1.js delete mode 100644 assets/js/34.21d81a5d.js create mode 100644 assets/js/34.27682a2e.js create mode 100644 assets/js/35.704678d8.js delete mode 100644 assets/js/35.c984a944.js create mode 100644 assets/js/36.298bcf90.js delete mode 100644 assets/js/36.4dc0596a.js create mode 100644 assets/js/37.6bad247a.js delete mode 100644 assets/js/37.e0f88dca.js delete mode 100644 assets/js/38.3746fe4a.js create mode 100644 assets/js/38.48cb871d.js create mode 100644 assets/js/39.9e7b52c5.js delete mode 100644 assets/js/39.bcc8e7b6.js delete mode 100644 assets/js/4.682beda7.js create mode 100644 assets/js/4.a204b62c.js create mode 100644 assets/js/40.02805295.js delete mode 100644 assets/js/40.b73ff2e9.js create mode 100644 assets/js/41.203e0629.js delete mode 100644 assets/js/41.a97c74e6.js create mode 100644 assets/js/42.a28142bc.js delete mode 100644 assets/js/42.da549470.js create mode 100644 assets/js/43.37aa8929.js delete mode 100644 assets/js/43.ec225ed7.js create mode 100644 assets/js/44.ae409f72.js delete mode 100644 assets/js/44.fd021a6d.js delete mode 100644 assets/js/45.087e2595.js create mode 100644 assets/js/45.473586fc.js delete mode 100644 assets/js/46.0d5eedf6.js create mode 100644 assets/js/46.d0b8b81e.js delete mode 100644 assets/js/47.efc7b6ea.js delete mode 100644 assets/js/48.0ea34501.js delete mode 100644 assets/js/49.77e4f78d.js delete mode 100644 assets/js/5.5eec42b2.js create mode 100644 assets/js/5.a639ca96.js delete mode 100644 assets/js/6.45f432e0.js create mode 100644 assets/js/6.addc78d6.js delete mode 100644 assets/js/7.1ebf8c89.js create mode 100644 assets/js/7.fc210c39.js delete mode 100644 assets/js/8.1694a43b.js create mode 100644 assets/js/8.ab8f7e89.js create mode 100644 assets/js/9.08c70013.js delete mode 100644 assets/js/9.8a00c9a2.js create mode 100644 assets/js/app.0a26dea3.js delete mode 100644 assets/js/app.9a6bfcf8.js delete mode 100644 docs/index.html delete mode 100644 docs/installation_doc/install_gocq.html delete mode 100644 docs/installation_doc/install_webui.html delete mode 100644 docs/installation_doc/install_zhenxun.html create mode 100644 docs/installation_doc/qq.html create mode 100644 docs/installation_doc/screen.html delete mode 100644 docs/installation_doc/start_.html create mode 100644 docs/installation_doc/webui.html create mode 100644 docs/installation_doc/zhenxun.html delete mode 100644 service-worker.js diff --git a/404.html b/404.html index 3d033b08a..e7bad0803 100644 --- a/404.html +++ b/404.html @@ -9,11 +9,11 @@ - - + + -
- +
+ diff --git a/assets/css/0.styles.3af13d03.css b/assets/css/0.styles.3af13d03.css deleted file mode 100644 index e6c68b3b9..000000000 --- a/assets/css/0.styles.3af13d03.css +++ /dev/null @@ -1,10 +0,0 @@ -.medium-zoom-overlay{z-index:100}.medium-zoom-overlay~img{z-index:101}html{scroll-behavior:smooth}div[class][class*=language-]:before{right:70px}.v-copy-code-btn[data-v-a4cb51ca]{cursor:pointer;color:hsla(0,0%,54.9%,.8);transition:color .1s;position:absolute;z-index:3;top:.8em;right:15px;font-size:.75rem}.v-copy-code-btn[data-v-a4cb51ca]:hover{color:#8c8c8c}.hero h1[data-v-c6073ba8],.hero p[data-v-c6073ba8]{color:#50e3c2}.hero[data-v-c6073ba8]{background-size:cover;background-attachment:fixed;width:100%;height:100%;position:fixed}.back-to-ceiling[data-v-c6073ba8]{background-color:#fff;background-color:var(--background-color);box-shadow:0 1px 6px 0 rgba(0,0,0,.2);box-shadow:var(--box-shadow);position:fixed;display:inline-block;text-align:center;cursor:pointer}.back-to-ceiling[data-v-c6073ba8]::hover{background:#d5dbe7}.back-to-ceiling .icon[data-v-c6073ba8]{position:absolute;top:0;bottom:0;left:0;right:0;margin:auto;width:26px;height:26px;fill:#3eaf7c}.fade-enter-active[data-v-c6073ba8],.fade-leave-active[data-v-c6073ba8]{transition:all .5s}.fade-enter[data-v-c6073ba8],.fade-leave-to[data-v-c6073ba8]{opacity:0;transform:translateY(120px)}.hero h1[data-v-d48f4d20],.hero p[data-v-d48f4d20]{color:#50e3c2}.hero[data-v-d48f4d20]{background-size:cover;background-attachment:fixed;width:100%;height:100%;position:fixed}#loader-wrapper[data-v-d48f4d20]{height:100vh;width:100vw;background:#fff;background:var(--background-color)}#loader-wrapper .loader-main[data-v-d48f4d20]{position:fixed;width:120px;height:50px;top:45%;left:50%;z-index:555;transform:translate(-50%)}#loader-wrapper .loader-main div[data-v-d48f4d20]:nth-child(2){-webkit-animation:pacman-balls-data-v-d48f4d20 1s linear 0s infinite;animation:pacman-balls-data-v-d48f4d20 1s linear 0s infinite}#loader-wrapper .loader-main div[data-v-d48f4d20]:nth-child(3){-webkit-animation:pacman-balls-data-v-d48f4d20 1s linear .33s infinite;animation:pacman-balls-data-v-d48f4d20 1s linear .33s infinite}#loader-wrapper .loader-main div[data-v-d48f4d20]:nth-child(4){-webkit-animation:pacman-balls-data-v-d48f4d20 1s linear .66s infinite;animation:pacman-balls-data-v-d48f4d20 1s linear .66s infinite}#loader-wrapper .loader-main div[data-v-d48f4d20]:nth-child(5){-webkit-animation:pacman-balls-data-v-d48f4d20 1s linear .99s infinite;animation:pacman-balls-data-v-d48f4d20 1s linear .99s infinite}#loader-wrapper .loader-main div[data-v-d48f4d20]:first-of-type{width:0;height:0;border:25px solid #3eaf7c;border-right-color:transparent;border-radius:25px;-webkit-animation:rotate_pacman_half_up-data-v-d48f4d20 .5s 0s infinite;animation:rotate_pacman_half_up-data-v-d48f4d20 .5s 0s infinite}#loader-wrapper .loader-main div[data-v-d48f4d20]:nth-child(2){width:0;height:0;border:25px solid #3eaf7c;border-right-color:transparent;border-radius:25px;-webkit-animation:rotate_pacman_half_down-data-v-d48f4d20 .5s 0s infinite;animation:rotate_pacman_half_down-data-v-d48f4d20 .5s 0s infinite;margin-top:-50px}#loader-wrapper .loader-main div[data-v-d48f4d20]:nth-child(3),#loader-wrapper .loader-main div[data-v-d48f4d20]:nth-child(4),#loader-wrapper .loader-main div[data-v-d48f4d20]:nth-child(5),#loader-wrapper .loader-main div[data-v-d48f4d20]:nth-child(6){background-color:#3eaf7c;width:15px;height:15px;border-radius:100%;margin:2px;width:10px;height:10px;position:absolute;transform:translateY(-6.25px);top:25px;left:100px}#loader-wrapper .title[data-v-d48f4d20]{margin:8rem auto 2rem;font-size:30px}#loader-wrapper .description[data-v-d48f4d20],#loader-wrapper .title[data-v-d48f4d20]{text-align:center;color:#242424;color:var(--text-color);box-sizing:border-box;padding:0 10px;text-shadow:0 2px 10px rgba(0,0,0,.2)}#loader-wrapper .description[data-v-d48f4d20]{margin:auto;font-size:22px}@-webkit-keyframes pacman-balls-data-v-d48f4d20{75%{opacity:.7}to{transform:translate(-100px,-6.25px)}}@keyframes pacman-balls-data-v-d48f4d20{75%{opacity:.7}to{transform:translate(-100px,-6.25px)}}@-webkit-keyframes rotate_pacman_half_up-data-v-d48f4d20{0%{transform:rotate(270deg)}50%{transform:rotate(1turn)}to{transform:rotate(270deg)}}@keyframes rotate_pacman_half_up-data-v-d48f4d20{0%{transform:rotate(270deg)}50%{transform:rotate(1turn)}to{transform:rotate(270deg)}}@-webkit-keyframes rotate_pacman_half_down-data-v-d48f4d20{0%{transform:rotate(90deg)}50%{transform:rotate(0deg)}to{transform:rotate(90deg)}}@keyframes rotate_pacman_half_down-data-v-d48f4d20{0%{transform:rotate(90deg)}50%{transform:rotate(0deg)}to{transform:rotate(90deg)}}.hero h1[data-v-094d08e4],.hero p[data-v-094d08e4]{color:#50e3c2}.hero[data-v-094d08e4]{background-size:cover;background-attachment:fixed;width:100%;height:100%;position:fixed}.pagation[data-v-094d08e4]{font-weight:700;text-align:center;color:#888;color:var(--text-color);margin:20px auto 0;background:#f2f2f2;background:var(--background-color)}.pagation .pagation-list[data-v-094d08e4]{font-size:0;line-height:50px;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.pagation .pagation-list span[data-v-094d08e4]{font-size:14px}.pagation .pagation-list span.jump[data-v-094d08e4],.pagation .pagation-list span.jumpinp input[data-v-094d08e4]{box-shadow:var(--box-shadow);border:1px solid var(--border-color)!important;border:1px solid #ccc}.pagation .pagation-list span.jump[data-v-094d08e4]{padding:5px 8px;border-radius:4px;cursor:pointer;margin-left:5px}.pagation .pagation-list span.jumpinp input[data-v-094d08e4]{width:55px;height:26px;background-color:var(--background-color);font-size:13px;border-radius:4px;text-align:center;outline:none}.pagation .pagation-list span.bgprimary[data-v-094d08e4]{cursor:default;color:#fff;background:#3eaf7c;border-color:#3eaf7c}.pagation .pagation-list span.ellipsis[data-v-094d08e4]{padding:0 8px}.pagation .pagation-list span.jumppoint[data-v-094d08e4]{margin:0 10px 0 30px}.valine-wrapper #valine.v .vbtn{color:#2c3e50;color:var(--text-color);border:1px solid #eaecef;border-color:var(--border-color)}.valine-wrapper #valine.v .vbtn:hover{color:#3eaf7c;border-color:#3eaf7c}.valine-wrapper #valine.v .vwrap{background:rgba(27,31,35,.05);background:var(--code-color);border:1px solid #eaecef;border-color:var(--border-color)}.valine-wrapper #valine.v .vwrap .vheader .vinput{border-bottom:1px dashed var(--border-color)}.valine-wrapper #valine.v .vwrap .vheader .vinput:focus{border-bottom-color:#3eaf7c}.valine-wrapper #valine.v .vwrap .vheader .vinput:-internal-autofill-selected{background-color:var(--code-color)!important}.valine-wrapper #valine.v .vinfo{padding-left:.6rem}.valine-wrapper #valine.v .vcard .vquote{margin-left:0;border-left:none}.valine-wrapper #valine.v .vcard .vimg{width:2.8rem;height:2.8rem;border-radius:.25rem;border:none}.valine-wrapper #valine.v .vcard .vhead .vnick{color:#3eaf7c}.valine-wrapper #valine.v .vcard .vhead .vnick:before{background:#3eaf7c}.valine-wrapper #valine.v .vh{border-bottom:none}.valine-wrapper #valine.v .vh .vhead .vsys{color:#3eaf7c;color:var(--text-color);background:rgba(27,31,35,.05);background:var(--code-color)}.valine-wrapper #valine.v .vh .vmeta{margin-bottom:1rem}.valine-wrapper #valine.v .vh .vmeta .vat{margin-right:.3rem;background:rgba(27,31,35,.05);background:var(--code-color);border-radius:.25rem;padding:0 .4rem;color:var(--text-color);border:1px solid #eaecef;border-color:var(--border-color)}.valine-wrapper #valine.v .vh .vmeta .vat:hover{color:#3eaf7c;border-color:#3eaf7c}.valine-wrapper #valine.v .vh .vcontent{background:rgba(27,31,35,.05);background:var(--code-color);border-radius:.25rem;margin:0 .3rem;padding:.1rem .6rem .05rem}.valine-wrapper #valine.v .vh .vcontent p .at{color:#3eaf7c}.valine-wrapper #valine.v .vh .vcontent.expand:before{z-index:1;background:linear-gradient(180deg,hsla(0,0%,100%,0),#fff);background:linear-gradient(180deg,hsla(0,0%,100%,0),var(--background-color))}.valine-wrapper #valine.v .vh .vcontent.expand:after{color:#3eaf7c;color:var(--text-color);background:#fff;background:var(--background-color)}.valine-wrapper #valine.v .info{padding-right:.6rem}.valine-wrapper #valine.v .vbtn,.valine-wrapper #valine.v code,.valine-wrapper #valine.v pre{background:var(--background-color);color:var(--text-color)}.valine-wrapper #valine.v a{color:#3eaf7c}.valine-wrapper #valine.v a:before{background:#3eaf7c} - -/*! - * vssue - A vue-powered issue-based comment plugin - * - * @version v1.4.8 - * @link https://vssue.js.org - * @license MIT - * @copyright 2018-2021 meteorlxy - */.vssue{color:#2c3e50}@media screen and (max-width:576px){.vssue .vssue-new-comment .vssue-new-comment-body{margin-left:60px}}@media screen and (min-width:577px){.vssue .vssue-new-comment .vssue-new-comment-body{margin-left:70px}}@media screen and (max-width:576px){.vssue .vssue-new-comment .vssue-new-comment-footer{text-align:center}.vssue .vssue-new-comment .vssue-new-comment-footer .vssue-new-comment-operations{margin-top:10px}}@media screen and (min-width:577px){.vssue .vssue-new-comment .vssue-new-comment-footer{margin-left:70px;text-align:right}.vssue .vssue-new-comment .vssue-new-comment-footer .vssue-current-user{float:left}}@media screen and (max-width:576px){.vssue .vssue-comments .vssue-comment .vssue-comment-body{margin-left:60px}}@media screen and (min-width:577px){.vssue .vssue-comments .vssue-comment .vssue-comment-body{margin-left:70px}}@media screen and (max-width:576px){.vssue .vssue-pagination{flex-direction:column;justify-content:center;text-align:center}}@media screen and (max-width:576px){.vssue .vssue-pagination .vssue-pagination-page{margin-top:10px}}@media screen and (min-width:577px){.vssue .vssue-pagination .vssue-pagination-page{text-align:right}}.markdown-body .tab-size[data-tab-size="1"]{-o-tab-size:1}.markdown-body .tab-size[data-tab-size="2"]{-o-tab-size:2}.markdown-body .tab-size[data-tab-size="3"]{-o-tab-size:3}.markdown-body .tab-size[data-tab-size="4"]{-o-tab-size:4}.markdown-body .tab-size[data-tab-size="5"]{-o-tab-size:5}.markdown-body .tab-size[data-tab-size="6"]{-o-tab-size:6}.markdown-body .tab-size[data-tab-size="7"]{-o-tab-size:7}.markdown-body .tab-size[data-tab-size="8"]{-o-tab-size:8}.markdown-body .tab-size[data-tab-size="9"]{-o-tab-size:9}.markdown-body .tab-size[data-tab-size="10"]{-o-tab-size:10}.markdown-body .tab-size[data-tab-size="11"]{-o-tab-size:11}.markdown-body .tab-size[data-tab-size="12"]{-o-tab-size:12}@font-face{font-family:octicons-link;src:url(data:font/woff;charset=utf-8;base64,d09GRgABAAAAAAZwABAAAAAACFQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEU0lHAAAGaAAAAAgAAAAIAAAAAUdTVUIAAAZcAAAACgAAAAoAAQAAT1MvMgAAAyQAAABJAAAAYFYEU3RjbWFwAAADcAAAAEUAAACAAJThvmN2dCAAAATkAAAABAAAAAQAAAAAZnBnbQAAA7gAAACyAAABCUM+8IhnYXNwAAAGTAAAABAAAAAQABoAI2dseWYAAAFsAAABPAAAAZwcEq9taGVhZAAAAsgAAAA0AAAANgh4a91oaGVhAAADCAAAABoAAAAkCA8DRGhtdHgAAAL8AAAADAAAAAwGAACfbG9jYQAAAsAAAAAIAAAACABiATBtYXhwAAACqAAAABgAAAAgAA8ASm5hbWUAAAToAAABQgAAAlXu73sOcG9zdAAABiwAAAAeAAAAME3QpOBwcmVwAAAEbAAAAHYAAAB/aFGpk3jaTY6xa8JAGMW/O62BDi0tJLYQincXEypYIiGJjSgHniQ6umTsUEyLm5BV6NDBP8Tpts6F0v+k/0an2i+itHDw3v2+9+DBKTzsJNnWJNTgHEy4BgG3EMI9DCEDOGEXzDADU5hBKMIgNPZqoD3SilVaXZCER3/I7AtxEJLtzzuZfI+VVkprxTlXShWKb3TBecG11rwoNlmmn1P2WYcJczl32etSpKnziC7lQyWe1smVPy/Lt7Kc+0vWY/gAgIIEqAN9we0pwKXreiMasxvabDQMM4riO+qxM2ogwDGOZTXxwxDiycQIcoYFBLj5K3EIaSctAq2kTYiw+ymhce7vwM9jSqO8JyVd5RH9gyTt2+J/yUmYlIR0s04n6+7Vm1ozezUeLEaUjhaDSuXHwVRgvLJn1tQ7xiuVv/ocTRF42mNgZGBgYGbwZOBiAAFGJBIMAAizAFoAAABiAGIAznjaY2BkYGAA4in8zwXi+W2+MjCzMIDApSwvXzC97Z4Ig8N/BxYGZgcgl52BCSQKAA3jCV8CAABfAAAAAAQAAEB42mNgZGBg4f3vACQZQABIMjKgAmYAKEgBXgAAeNpjYGY6wTiBgZWBg2kmUxoDA4MPhGZMYzBi1AHygVLYQUCaawqDA4PChxhmh/8ODDEsvAwHgMKMIDnGL0x7gJQCAwMAJd4MFwAAAHjaY2BgYGaA4DAGRgYQkAHyGMF8NgYrIM3JIAGVYYDT+AEjAwuDFpBmA9KMDEwMCh9i/v8H8sH0/4dQc1iAmAkALaUKLgAAAHjaTY9LDsIgEIbtgqHUPpDi3gPoBVyRTmTddOmqTXThEXqrob2gQ1FjwpDvfwCBdmdXC5AVKFu3e5MfNFJ29KTQT48Ob9/lqYwOGZxeUelN2U2R6+cArgtCJpauW7UQBqnFkUsjAY/kOU1cP+DAgvxwn1chZDwUbd6CFimGXwzwF6tPbFIcjEl+vvmM/byA48e6tWrKArm4ZJlCbdsrxksL1AwWn/yBSJKpYbq8AXaaTb8AAHja28jAwOC00ZrBeQNDQOWO//sdBBgYGRiYWYAEELEwMTE4uzo5Zzo5b2BxdnFOcALxNjA6b2ByTswC8jYwg0VlNuoCTWAMqNzMzsoK1rEhNqByEyerg5PMJlYuVueETKcd/89uBpnpvIEVomeHLoMsAAe1Id4AAAAAAAB42oWQT07CQBTGv0JBhagk7HQzKxca2sJCE1hDt4QF+9JOS0nbaaYDCQfwCJ7Au3AHj+LO13FMmm6cl7785vven0kBjHCBhfpYuNa5Ph1c0e2Xu3jEvWG7UdPDLZ4N92nOm+EBXuAbHmIMSRMs+4aUEd4Nd3CHD8NdvOLTsA2GL8M9PODbcL+hD7C1xoaHeLJSEao0FEW14ckxC+TU8TxvsY6X0eLPmRhry2WVioLpkrbp84LLQPGI7c6sOiUzpWIWS5GzlSgUzzLBSikOPFTOXqly7rqx0Z1Q5BAIoZBSFihQYQOOBEdkCOgXTOHA07HAGjGWiIjaPZNW13/+lm6S9FT7rLHFJ6fQbkATOG1j2OFMucKJJsxIVfQORl+9Jyda6Sl1dUYhSCm1dyClfoeDve4qMYdLEbfqHf3O/AdDumsjAAB42mNgYoAAZQYjBmyAGYQZmdhL8zLdDEydARfoAqIAAAABAAMABwAKABMAB///AA8AAQAAAAAAAAAAAAAAAAABAAAAAA==) format("woff")}.markdown-body .octicon{display:inline-block;fill:currentColor;vertical-align:text-bottom}.markdown-body .anchor{float:left;line-height:1;margin-left:-20px;padding-right:4px}.markdown-body .anchor:focus{outline:none}.markdown-body h1 .octicon-link,.markdown-body h2 .octicon-link,.markdown-body h3 .octicon-link,.markdown-body h4 .octicon-link,.markdown-body h5 .octicon-link,.markdown-body h6 .octicon-link{color:#1b1f23;vertical-align:middle;visibility:hidden}.markdown-body h1:hover .anchor,.markdown-body h2:hover .anchor,.markdown-body h3:hover .anchor,.markdown-body h4:hover .anchor,.markdown-body h5:hover .anchor,.markdown-body h6:hover .anchor{text-decoration:none}.markdown-body h1:hover .anchor .octicon-link,.markdown-body h2:hover .anchor .octicon-link,.markdown-body h3:hover .anchor .octicon-link,.markdown-body h4:hover .anchor .octicon-link,.markdown-body h5:hover .anchor .octicon-link,.markdown-body h6:hover .anchor .octicon-link{visibility:visible}.markdown-body{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;color:#24292e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;font-size:16px;line-height:1.5;word-wrap:break-word}.markdown-body .pl-c{color:#6a737d}.markdown-body .pl-c1,.markdown-body .pl-s .pl-v{color:#005cc5}.markdown-body .pl-e,.markdown-body .pl-en{color:#6f42c1}.markdown-body .pl-s .pl-s1,.markdown-body .pl-smi{color:#24292e}.markdown-body .pl-ent{color:#22863a}.markdown-body .pl-k{color:#d73a49}.markdown-body .pl-pds,.markdown-body .pl-s,.markdown-body .pl-s .pl-pse .pl-s1,.markdown-body .pl-sr,.markdown-body .pl-sr .pl-cce,.markdown-body .pl-sr .pl-sra,.markdown-body .pl-sr .pl-sre{color:#032f62}.markdown-body .pl-smw,.markdown-body .pl-v{color:#e36209}.markdown-body .pl-bu{color:#b31d28}.markdown-body .pl-ii{background-color:#b31d28;color:#fafbfc}.markdown-body .pl-c2{background-color:#d73a49;color:#fafbfc}.markdown-body .pl-c2:before{content:"^M"}.markdown-body .pl-sr .pl-cce{color:#22863a;font-weight:700}.markdown-body .pl-ml{color:#735c0f}.markdown-body .pl-mh,.markdown-body .pl-mh .pl-en,.markdown-body .pl-ms{color:#005cc5;font-weight:700}.markdown-body .pl-mi{color:#24292e;font-style:italic}.markdown-body .pl-mb{color:#24292e;font-weight:700}.markdown-body .pl-md{background-color:#ffeef0;color:#b31d28}.markdown-body .pl-mi1{background-color:#f0fff4;color:#22863a}.markdown-body .pl-mc{background-color:#ffebda;color:#e36209}.markdown-body .pl-mi2{background-color:#005cc5;color:#f6f8fa}.markdown-body .pl-mdr{color:#6f42c1;font-weight:700}.markdown-body .pl-ba{color:#586069}.markdown-body .pl-sg{color:#959da5}.markdown-body .pl-corl{color:#032f62;text-decoration:underline}.markdown-body details{display:block}.markdown-body summary{display:list-item}.markdown-body a{background-color:transparent}.markdown-body a:active,.markdown-body a:hover{outline-width:0}.markdown-body strong{font-weight:inherit;font-weight:bolder}.markdown-body h1{margin:.67em 0}.markdown-body img{border-style:none}.markdown-body code,.markdown-body kbd,.markdown-body pre{font-family:monospace,monospace;font-size:1em}.markdown-body hr{box-sizing:content-box;overflow:visible}.markdown-body input{font:inherit;margin:0;overflow:visible}.markdown-body [type=checkbox]{box-sizing:border-box;padding:0}.markdown-body *{box-sizing:border-box}.markdown-body input{font-family:inherit;font-size:inherit;line-height:inherit}.markdown-body a{color:#0366d6;text-decoration:none}.markdown-body a:hover{text-decoration:underline}.markdown-body strong{font-weight:600}.markdown-body hr{background:transparent;border-bottom:1px solid #dfe2e5;height:0;margin:15px 0;overflow:hidden}.markdown-body hr:after,.markdown-body hr:before{content:"";display:table}.markdown-body hr:after{clear:both}.markdown-body table{border-collapse:collapse;border-spacing:0}.markdown-body td,.markdown-body th{padding:0}.markdown-body details summary{cursor:pointer}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-bottom:0;margin-top:0}.markdown-body h1{font-size:32px}.markdown-body h1,.markdown-body h2{font-weight:600}.markdown-body h2{font-size:24px}.markdown-body h3{font-size:20px}.markdown-body h3,.markdown-body h4{font-weight:600}.markdown-body h4{font-size:16px}.markdown-body h5{font-size:14px}.markdown-body h5,.markdown-body h6{font-weight:600}.markdown-body h6{font-size:12px}.markdown-body p{margin-bottom:10px;margin-top:0}.markdown-body blockquote{margin:0}.markdown-body ol,.markdown-body ul{margin-bottom:0;margin-top:0;padding-left:0}.markdown-body ol ol,.markdown-body ul ol{list-style-type:lower-roman}.markdown-body ol ol ol,.markdown-body ol ul ol,.markdown-body ul ol ol,.markdown-body ul ul ol{list-style-type:lower-alpha}.markdown-body dd{margin-left:0}.markdown-body code,.markdown-body pre{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:12px}.markdown-body pre{margin-bottom:0;margin-top:0}.markdown-body input::-webkit-inner-spin-button,.markdown-body input::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin:0}.markdown-body .border{border:1px solid #e1e4e8!important}.markdown-body .border-0{border:0!important}.markdown-body .border-bottom{border-bottom:1px solid #e1e4e8!important}.markdown-body .rounded-1{border-radius:3px!important}.markdown-body .bg-white{background-color:#fff!important}.markdown-body .bg-gray-light{background-color:#fafbfc!important}.markdown-body .text-gray-light{color:#6a737d!important}.markdown-body .mb-0{margin-bottom:0!important}.markdown-body .my-2{margin-bottom:8px!important;margin-top:8px!important}.markdown-body .py-0{padding-bottom:0!important;padding-top:0!important}.markdown-body .py-2{padding-bottom:8px!important;padding-top:8px!important}.markdown-body .pl-3,.markdown-body .px-3{padding-left:16px!important}.markdown-body .px-3{padding-right:16px!important}.markdown-body .f6{font-size:12px!important}.markdown-body .lh-condensed{line-height:1.25!important}.markdown-body .text-bold{font-weight:600!important}.markdown-body:after,.markdown-body:before{content:"";display:table}.markdown-body:after{clear:both}.markdown-body>:first-child{margin-top:0!important}.markdown-body>:last-child{margin-bottom:0!important}.markdown-body a:not([href]){color:inherit;text-decoration:none}.markdown-body blockquote,.markdown-body dl,.markdown-body ol,.markdown-body p,.markdown-body pre,.markdown-body table,.markdown-body ul{margin-bottom:16px;margin-top:0}.markdown-body hr{background-color:#e1e4e8;border:0;height:.25em;margin:24px 0;padding:0}.markdown-body blockquote{border-left:.25em solid #dfe2e5;color:#6a737d;padding:0 1em}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body kbd{border:1px solid #c6cbd1;border-bottom-color:#959da5;box-shadow:inset 0 -1px 0 #959da5;font-size:11px}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{font-weight:600;line-height:1.25;margin-bottom:16px;margin-top:24px}.markdown-body h1{font-size:2em}.markdown-body h1,.markdown-body h2{border-bottom:1px solid #eaecef;padding-bottom:.3em}.markdown-body h2{font-size:1.5em}.markdown-body h3{font-size:1.25em}.markdown-body h4{font-size:1em}.markdown-body h5{font-size:.875em}.markdown-body h6{color:#6a737d;font-size:.85em}.markdown-body ol,.markdown-body ul{padding-left:2em}.markdown-body ol ol,.markdown-body ol ul,.markdown-body ul ol,.markdown-body ul ul{margin-bottom:0;margin-top:0}.markdown-body li{word-wrap:break-all}.markdown-body li>p{margin-top:16px}.markdown-body li+li{margin-top:.25em}.markdown-body dl{padding:0}.markdown-body dl dt{font-size:1em;font-style:italic;font-weight:600;margin-top:16px;padding:0}.markdown-body dl dd{margin-bottom:16px;padding:0 16px}.markdown-body table{display:block;overflow:auto;width:100%}.markdown-body table th{font-weight:600}.markdown-body table td,.markdown-body table th{border:1px solid #dfe2e5;padding:6px 13px}.markdown-body table tr{background-color:#fff;border-top:1px solid #c6cbd1}.markdown-body table tr:nth-child(2n){background-color:#f6f8fa}.markdown-body img{background-color:#fff;box-sizing:content-box;max-width:100%}.markdown-body img[align=right]{padding-left:20px}.markdown-body img[align=left]{padding-right:20px}.markdown-body code{background-color:rgba(27,31,35,.05);border-radius:3px;font-size:85%;margin:0;padding:.2em .4em}.markdown-body pre{word-wrap:normal}.markdown-body pre>code{background:transparent;border:0;font-size:100%;margin:0;padding:0;white-space:pre;word-break:normal}.markdown-body .highlight{margin-bottom:16px}.markdown-body .highlight pre{margin-bottom:0;word-break:normal}.markdown-body .highlight pre,.markdown-body pre{background-color:#f6f8fa;border-radius:3px;font-size:85%;line-height:1.45;overflow:auto;padding:16px}.markdown-body pre code{background-color:transparent;border:0;display:inline;line-height:inherit;margin:0;max-width:auto;overflow:visible;padding:0;word-wrap:normal}.markdown-body .commit-tease-sha{color:#444d56;display:inline-block;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:90%}.markdown-body .blob-wrapper{border-bottom-left-radius:3px;border-bottom-right-radius:3px;overflow-x:auto;overflow-y:hidden}.markdown-body .blob-wrapper-embedded{max-height:240px;overflow-y:auto}.markdown-body .blob-num{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;color:rgba(27,31,35,.3);cursor:pointer;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:12px;line-height:20px;min-width:50px;padding-left:10px;padding-right:10px;text-align:right;user-select:none;vertical-align:top;white-space:nowrap;width:1%}.markdown-body .blob-num:hover{color:rgba(27,31,35,.6)}.markdown-body .blob-num:before{content:attr(data-line-number)}.markdown-body .blob-code{line-height:20px;padding-left:10px;padding-right:10px;position:relative;vertical-align:top}.markdown-body .blob-code-inner{color:#24292e;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:12px;overflow:visible;white-space:pre;word-wrap:normal}.markdown-body .pl-token.active,.markdown-body .pl-token:hover{background:#ffea7f;cursor:pointer}.markdown-body kbd{background-color:#fafbfc;border:1px solid #d1d5da;border-bottom-color:#c6cbd1;border-radius:3px;box-shadow:inset 0 -1px 0 #c6cbd1;color:#444d56;display:inline-block;font:11px SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;line-height:10px;padding:3px 5px;vertical-align:middle}.markdown-body :checked+.radio-label{border-color:#0366d6;position:relative;z-index:1}.markdown-body .tab-size[data-tab-size="1"]{-moz-tab-size:1;tab-size:1}.markdown-body .tab-size[data-tab-size="2"]{-moz-tab-size:2;tab-size:2}.markdown-body .tab-size[data-tab-size="3"]{-moz-tab-size:3;tab-size:3}.markdown-body .tab-size[data-tab-size="4"]{-moz-tab-size:4;tab-size:4}.markdown-body .tab-size[data-tab-size="5"]{-moz-tab-size:5;tab-size:5}.markdown-body .tab-size[data-tab-size="6"]{-moz-tab-size:6;tab-size:6}.markdown-body .tab-size[data-tab-size="7"]{-moz-tab-size:7;tab-size:7}.markdown-body .tab-size[data-tab-size="8"]{-moz-tab-size:8;tab-size:8}.markdown-body .tab-size[data-tab-size="9"]{-moz-tab-size:9;tab-size:9}.markdown-body .tab-size[data-tab-size="10"]{-moz-tab-size:10;tab-size:10}.markdown-body .tab-size[data-tab-size="11"]{-moz-tab-size:11;tab-size:11}.markdown-body .tab-size[data-tab-size="12"]{-moz-tab-size:12;tab-size:12}.markdown-body .task-list-item{list-style-type:none}.markdown-body .task-list-item+.task-list-item{margin-top:3px}.markdown-body .task-list-item input{margin:0 .2em .25em -1.6em;vertical-align:middle}.markdown-body hr{border-bottom-color:#eee}.markdown-body .pl-0{padding-left:0!important}.markdown-body .pl-1{padding-left:4px!important}.markdown-body .pl-2{padding-left:8px!important}.markdown-body .pl-3{padding-left:16px!important}.markdown-body .pl-4{padding-left:24px!important}.markdown-body .pl-5{padding-left:32px!important}.markdown-body .pl-6{padding-left:40px!important}.markdown-body .pl-7{padding-left:48px!important}.markdown-body .pl-8{padding-left:64px!important}.markdown-body .pl-9{padding-left:80px!important}.markdown-body .pl-10{padding-left:96px!important}.markdown-body .pl-11{padding-left:112px!important}.markdown-body .pl-12{padding-left:128px!important}.clearfix:after,.vssue .vssue-new-comment .vssue-new-comment-footer:after{display:block;clear:both;content:""}.vssue{width:100%;color:#242424;font-size:16px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;padding:10px}.vssue .vssue-button{outline:none;cursor:pointer;padding:10px 20px;font-size:1.05;font-weight:700;color:#3eaf7c;background-color:transparent;border:2px solid #3eaf7c;border-radius:10px}.vssue .vssue-button:disabled{cursor:not-allowed;color:#eaecef;border-color:#eaecef}.vssue .vssue-button:disabled .vssue-icon{fill:#eaecef}.vssue .vssue-button:not(:disabled).vssue-button-default{color:#a3aab1;border-color:#a3aab1}.vssue .vssue-button:not(:disabled).vssue-button-primary{color:#3eaf7c;border-color:#3eaf7c}.vssue .vssue-icon{width:1em;height:1em;vertical-align:-.15em;fill:#3eaf7c;overflow:hidden}.vssue .vssue-icon-loading{-webkit-animation:vssue-keyframe-rotation 1s linear infinite;animation:vssue-keyframe-rotation 1s linear infinite}@-webkit-keyframes vssue-keyframe-rotation{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes vssue-keyframe-rotation{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.vssue .fade-appear-active,.vssue .fade-enter-active{transition:all .3s ease}.vssue .fade-leave-active{transition:all .3s cubic-bezier(1,.5,.8,1)}.vssue .fade-appear,.vssue .fade-enter,.vssue .fade-leave-to{opacity:0}.vssue .vssue-notice{position:relative;z-index:100;transform:translateY(-11px)}.vssue .vssue-notice .vssue-alert{position:absolute;z-index:101;cursor:pointer;top:0;padding:10px 20px;width:100%;color:#3eaf7c;border:2px solid #c3ead8;border-radius:5px;background-color:#f5fbf8}.vssue .vssue-notice .vssue-progress{position:absolute;top:0;left:0;height:2px;background-color:#3eaf7c}.vssue .vssue-status{text-align:center;padding-top:20px;padding-bottom:10px;color:#3eaf7c}.vssue .vssue-status .vssue-icon{font-size:1.4em}.vssue .vssue-status .vssue-status-info{margin-top:10px;margin-bottom:10px}.vssue .vssue-header{padding-bottom:10px;border-bottom:1px solid #eaecef;margin-bottom:10px;overflow:hidden}.vssue .vssue-header .vssue-header-powered-by{float:right}.vssue .vssue-new-comment{border-bottom:1px solid #eaecef;margin-top:10px;margin-bottom:10px}.vssue .vssue-new-comment .vssue-comment-avatar{float:left;width:50px;height:50px}.vssue .vssue-new-comment .vssue-comment-avatar img{width:50px;height:50px}.vssue .vssue-new-comment .vssue-comment-avatar .vssue-icon{cursor:pointer;padding:5px;font-size:50px;fill:#757f8a}.vssue .vssue-new-comment .vssue-new-comment-body{position:relative}@media screen and (max-width:719px){.vssue .vssue-new-comment .vssue-new-comment-body{margin-left:60px}}@media screen and (min-width:720px){.vssue .vssue-new-comment .vssue-new-comment-body{margin-left:70px}}.vssue .vssue-new-comment .vssue-new-comment-body .vssue-new-comment-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.vssue .vssue-new-comment .vssue-new-comment-footer{margin-top:10px;margin-bottom:10px}.vssue .vssue-new-comment .vssue-new-comment-footer .vssue-current-user{color:#a3aab1}.vssue .vssue-new-comment .vssue-new-comment-footer .vssue-current-user .vssue-logout{cursor:pointer;text-decoration:underline;color:#a3aab1;font-weight:400}@media screen and (max-width:719px){.vssue .vssue-new-comment .vssue-new-comment-footer{text-align:center}.vssue .vssue-new-comment .vssue-new-comment-footer .vssue-new-comment-operations{margin-top:10px}}@media screen and (min-width:720px){.vssue .vssue-new-comment .vssue-new-comment-footer{margin-left:70px;text-align:right}.vssue .vssue-new-comment .vssue-new-comment-footer .vssue-current-user{float:left}}.vssue .vssue-new-comment .vssue-new-comment-input{resize:none;outline:none;width:100%;padding:15px;font-size:16px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;background-color:#f5fbf8;border:1px solid #eaecef;border-radius:5px}.vssue .vssue-new-comment .vssue-new-comment-input:disabled{cursor:not-allowed;background-color:#f0f2f4}.vssue .vssue-new-comment .vssue-new-comment-input:focus{background-color:#fff;border-color:#9adbbe;box-shadow:0 0 1px 1px #9adbbe}.vssue .vssue-new-comment .vssue-new-comment-input::-moz-placeholder{color:#a3aab1}.vssue .vssue-new-comment .vssue-new-comment-input:-ms-input-placeholder{color:#a3aab1}.vssue .vssue-new-comment .vssue-new-comment-input::placeholder{color:#a3aab1}.vssue .vssue-comments .vssue-comment{margin:15px 0}.vssue .vssue-comments .vssue-comment.vssue-comment-edit-mode .vssue-comment-main{border-color:#9adbbe;box-shadow:0 0 1px 1px #9adbbe}.vssue .vssue-comments .vssue-comment.vssue-comment-disabled{pointer-events:none}.vssue .vssue-comments .vssue-comment.vssue-comment-disabled .vssue-comment-body{background-color:#f9f9fa}.vssue .vssue-comments .vssue-comment .vssue-comment-avatar{float:left;width:50px;height:50px}.vssue .vssue-comments .vssue-comment .vssue-comment-avatar img{width:50px;height:50px}@media screen and (max-width:719px){.vssue .vssue-comments .vssue-comment .vssue-comment-body{margin-left:60px}}@media screen and (min-width:720px){.vssue .vssue-comments .vssue-comment .vssue-comment-body{margin-left:70px}}.vssue .vssue-comments .vssue-comment .vssue-comment-header{padding:10px 15px;overflow:hidden;border-top-left-radius:5px;border-top-right-radius:5px;border:1px solid #eaecef;border-bottom:none}.vssue .vssue-comments .vssue-comment .vssue-comment-header .vssue-comment-created-at{float:right;cursor:default;color:#a3aab1}.vssue .vssue-comments .vssue-comment .vssue-comment-main{padding:15px;border:1px solid #eaecef}.vssue .vssue-comments .vssue-comment .vssue-comment-main .vssue-edit-comment-input{resize:none;outline:none;border:none;width:100%;background:transparent}.vssue .vssue-comments .vssue-comment .vssue-comment-footer{padding:10px 15px;overflow:hidden;border-bottom-left-radius:5px;border-bottom-right-radius:5px;border:1px solid #eaecef;border-top:none}.vssue .vssue-comments .vssue-comment .vssue-comment-footer .vssue-comment-hint{cursor:default;color:#a3aab1}.vssue .vssue-comments .vssue-comment .vssue-comment-footer .vssue-comment-reactions .vssue-comment-reaction{cursor:pointer;display:inline-block;margin-right:8px;color:#3eaf7c}.vssue .vssue-comments .vssue-comment .vssue-comment-footer .vssue-comment-operations{float:right;color:#3eaf7c}.vssue .vssue-comments .vssue-comment .vssue-comment-footer .vssue-comment-operations .vssue-comment-operation{cursor:pointer;margin-left:8px}.vssue .vssue-comments .vssue-comment .vssue-comment-footer .vssue-comment-operations .vssue-comment-operation.vssue-comment-operation-muted{color:#a3aab1}.vssue .vssue-comments .vssue-comment .vssue-comment-footer .vssue-comment-operations .vssue-comment-operation.vssue-comment-operation-muted .vssue-icon{fill:#a3aab1}.vssue .vssue-pagination{cursor:default;display:flex;padding:5px;color:#a3aab1}@media screen and (max-width:719px){.vssue .vssue-pagination{flex-direction:column;justify-content:center;text-align:center}}.vssue .vssue-pagination .vssue-pagination-loading,.vssue .vssue-pagination .vssue-pagination-page,.vssue .vssue-pagination .vssue-pagination-per-page{flex:1}@media screen and (max-width:719px){.vssue .vssue-pagination .vssue-pagination-page{margin-top:10px}}@media screen and (min-width:720px){.vssue .vssue-pagination .vssue-pagination-page{text-align:right}}.vssue .vssue-pagination .vssue-pagination-select{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #9adbbe;padding-left:.2rem;padding-right:1rem;background-color:transparent;background-image:url("data:image/svg+xml;charset=utf8,%3Csvg class='icon' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cstyle/%3E%3C/defs%3E%3Cpath d='M676.395 432.896a21.333 21.333 0 0 0-30.166 0L511.061 568.021 377.728 434.645a21.333 21.333 0 0 0-30.165 30.166l148.394 148.48a21.419 21.419 0 0 0 30.208 0l150.23-150.187a21.333 21.333 0 0 0 0-30.208'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:100%}.vssue .vssue-pagination .vssue-pagination-select:disabled{cursor:not-allowed}.vssue .vssue-pagination .vssue-pagination-select:focus{background-color:#fff;box-shadow:0 0 .2px .2px #9adbbe}.vssue .vssue-pagination .vssue-pagination-link{display:inline-block;min-width:1em;text-align:center}.vssue .vssue-pagination .vssue-pagination-link.disabled{pointer-events:none}.vssue .vssue-pagination .vssue-pagination-link:not(.disabled){color:#3eaf7c;font-weight:500;cursor:pointer}.vssue,.vssue *{box-sizing:border-box}.vssue :not(.vssue-comment-content) a{cursor:pointer;font-weight:500;color:#3eaf7c;text-decoration:none}.vssue :not(.vssue-comment-content) hr{display:block;height:1px;border:0;border-top:1px solid #eaecef;margin:1.2rem 0;padding:0}.vssue-wrapper.vssue{color:#2c3e50;color:var(--text-color)}.vssue-wrapper.vssue .vssue-new-comment{border-bottom:1px solid #eaecef;border-bottom:1px solid var(--border-color)}.vssue-wrapper.vssue .vssue-new-comment .vssue-new-comment-input:disabled{background-color:#fff;background-color:var(--background-color);border:1px solid #eaecef;border:1px solid var(--border-color)}.vssue-wrapper.vssue .vssue-new-comment .vssue-new-comment-footer .vssue-current-user{color:#2c3e50;color:var(--text-color)}.vssue-wrapper.vssue .vssue-header{border-bottom:1px solid #eaecef;border-bottom:1px solid var(--border-color)}.vssue-wrapper.vssue .vssue-comments .vssue-pagination .vssue-pagination-per-page .vssue-pagination-select{color:var(--text-color)}.vssue-wrapper.vssue .vssue-comments .vssue-comment .vssue-comment-body .vssue-comment-footer,.vssue-wrapper.vssue .vssue-comments .vssue-comment .vssue-comment-body .vssue-comment-header,.vssue-wrapper.vssue .vssue-comments .vssue-comment .vssue-comment-body .vssue-comment-main{border:none}.vssue-wrapper.vssue .vssue-comments .vssue-comment .vssue-comment-body .vssue-comment-footer,.vssue-wrapper.vssue .vssue-comments .vssue-comment .vssue-comment-body .vssue-comment-main{background:var(--code-color)}.vssue-wrapper.vssue .vssue-comments .vssue-comment .vssue-comment-body .vssue-comment-footer{border-top:2px solid var(--background-color)}.vssue-wrapper.vssue .vssue-comments .vssue-comment .vssue-comment-avatar img{width:2.8rem;height:2.8rem;border-radius:.25rem}.vssue-wrapper.vssue .markdown-body{color:var(--text-color)}#nprogress{pointer-events:none}#nprogress .bar{background:#3eaf7c;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #3eaf7c,0 0 5px #3eaf7c;opacity:1;transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border-color:#3eaf7c transparent transparent #3eaf7c;border-style:solid;border-width:2px;border-radius:50%;-webkit-animation:nprogress-spinner .4s linear infinite;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@-webkit-keyframes nprogress-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.v-notification__group[data-v-03751380]{width:330px;padding:14px 26px;border-radius:8px;box-sizing:border-box;border:1px solid #ebeef5;background-color:#fff;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);margin-bottom:1rem}.v-notification__title[data-v-03751380]{font-weight:700;font-size:16px;color:#303133;margin:0;border:none}.v-notification__content[data-v-03751380]{font-size:14px;line-height:21px;margin:6px 0 0;color:#606266;text-align:justify}.v-notification__content p[data-v-03751380]{margin:0}.slide-fade-enter-active[data-v-03751380],.slide-fade-leave-active[data-v-03751380]{transition:opacity .3s,transform .3s,left .3s,right .3s,top .4s,bottom .3s}.slide-fade-enter[data-v-03751380]{transform:translateX(calc(100% + 1rem));opacity:0}.slide-fade-leave-to[data-v-03751380]{opacity:0}.alert-list{display:flex;flex-direction:column;position:fixed;top:4rem;right:1rem;overflow:hidden;z-index:100}.icon.outbound{color:#aaa;display:inline-block;vertical-align:middle;position:relative;top:-1px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.home{padding:3.6rem 2rem 0;max-width:960px;margin:0 auto}.home .hero{text-align:center}.home .hero h1{display:block;font-size:2.5rem;color:var(--text-color)}.home .hero .action,.home .hero .description,.home .hero h1{margin:1.8rem auto}.home .hero .description{font-size:1.6rem;line-height:1.3;color:var(--text-color)}.home .hero .action-button{display:inline-block;font-size:1.2rem;color:#fff;background-color:#3eaf7c;padding:.2rem 1.2rem;border-radius:.25rem;transition:background-color .1s ease;box-sizing:border-box}.home .hero .action-button:hover{background-color:#4abf8a}.home .features{border-top:1px solid var(--border-color);padding:1.2rem 0;margin-top:2.5rem;display:flex;flex-wrap:wrap;align-items:flex-start;align-content:stretch;justify-content:space-between}.home .feature{flex-grow:1;flex-basis:30%;max-width:30%;transition:all .5s;color:var(--text-color)}.home .feature h2{font-size:1.6rem;font-weight:500;border-bottom:none;padding-bottom:0}.home .feature:hover{transform:scale(1.05)}@media (max-width:719px){.home .features{flex-direction:column}.home .feature{max-width:100%;padding:0 2.5rem}}@media (max-width:419px){.home{padding-left:1.5rem;padding-right:1.5rem}.home .hero img{max-height:210px;margin:2rem auto 1.2rem}.home .hero h1{font-size:2rem}.home .hero .action,.home .hero .description,.home .hero h1{margin:1.2rem auto}.home .hero .description{font-size:1.2rem}.home .hero .action-button{font-size:1rem;padding:.6rem 1.2rem}.home .feature h2{font-size:1.25rem}}.hero h1[data-v-08862138],.hero p[data-v-08862138]{color:#50e3c2}.hero[data-v-08862138]{background-size:cover;background-attachment:fixed;width:100%;height:100%;position:fixed}.badge[data-v-08862138]{display:inline-block;font-size:14px;height:18px;line-height:18px;border-radius:.25rem;padding:0 6px;color:#fff}.badge.green[data-v-08862138],.badge.tip[data-v-08862138],.badge[data-v-08862138]{background-color:#42b983}.badge.error[data-v-08862138]{background-color:#da5961}.badge.warn[data-v-08862138],.badge.warning[data-v-08862138],.badge.yellow[data-v-08862138]{background-color:#e7c000}.badge+.badge[data-v-08862138]{margin-left:5px}.sw-update-popup[data-v-fec8b358]{position:fixed;right:1em;bottom:1em;padding:1em;border:1px solid #3eaf7c;border-radius:3px;background:#fff;box-shadow:0 4px 16px rgba(0,0,0,.5);text-align:center;z-index:3}.sw-update-popup>button[data-v-fec8b358]{margin-top:.5em;padding:.25em 2em}.sw-update-popup-enter-active[data-v-fec8b358],.sw-update-popup-leave-active[data-v-fec8b358]{transition:opacity .3s,transform .3s}.sw-update-popup-enter[data-v-fec8b358],.sw-update-popup-leave-to[data-v-fec8b358]{opacity:0;transform:translateY(50%) scale(.5)}.search-box{display:inline-block;position:relative;margin-right:1rem}.search-box input{cursor:text;width:10rem;height:2rem;color:#5b5b5b;display:inline-block;border:1px solid #cfd4db;border-radius:.4rem;font-size:.9rem;line-height:2rem;padding:0 .5rem 0 2rem;outline:none;transition:all .2s ease;background:#fff url(/zhenxun_bot/assets/img/search.72b0ff46.svg) .6rem .5rem no-repeat;background-size:1rem}.search-box input:focus{cursor:auto;border-color:#3eaf7c;width:15rem}.search-box .suggestions{list-style-type:none;display:block;overflow:auto;background:#fff;width:30rem;max-height:35rem;position:absolute;top:1.5rem;border:1px solid #cfd4db;padding:.4rem;border-radius:.3rem}.search-box .suggestions.align-right{right:0}.search-box .suggestion{line-height:1.4;padding:.6rem 1rem;cursor:pointer}.search-box .suggestion a{white-space:normal;color:#717171}.search-box .suggestion a em{color:#3eaf7c;font-weight:700;font-style:normal}.search-box .suggestion a .suggestion__title{font-weight:600;color:#242424;display:block;padding-bottom:.4rem}.search-box .suggestion a .suggestion__text{font-size:.9em}.search-box .suggestion.focused{background-color:#f1faf6}@media (max-width:959px){.search-box input{cursor:pointer;width:0;border-color:transparent;position:relative}.search-box input:focus{cursor:text;left:0;width:10rem}}@media (-ms-high-contrast:none){.search-box input{height:2rem}}@media (max-width:959px) and (min-width:719px){.search-box .suggestions{left:0}}@media (max-width:719px){.search-box{margin-right:0}.search-box input{left:1rem}.search-box .suggestions{right:0}}@media (max-width:419px){.search-box .suggestions{width:calc(100vw - 4rem)}.search-box input:focus{width:8rem}}.highlighted{color:#3eaf7c}.sidebar-button{cursor:pointer;display:none;width:1.25rem;height:1.25rem;position:absolute;padding:.6rem;top:.6rem;left:1rem}.sidebar-button .icon{display:block;width:1.25rem;height:1.25rem}@media (max-width:719px){.sidebar-button{display:block}}.dropdown-enter,.dropdown-leave-to{height:0!important}.dropdown-wrapper{cursor:pointer}.dropdown-wrapper .dropdown-title{display:block}.dropdown-wrapper .dropdown-title:hover{border-color:transparent}.dropdown-wrapper .dropdown-title .arrow{vertical-align:middle;margin-top:-1px;margin-left:.4rem}.dropdown-wrapper .nav-dropdown .dropdown-item{color:inherit;line-height:1.7rem}.dropdown-wrapper .nav-dropdown .dropdown-item h4{margin:.45rem 0 0;border-top:1px solid var(--border-color);padding:.45rem 1.5rem 0 1.25rem}.dropdown-wrapper .nav-dropdown .dropdown-item .dropdown-subitem-wrapper{padding:0;list-style:none}.dropdown-wrapper .nav-dropdown .dropdown-item .dropdown-subitem-wrapper .dropdown-subitem{font-size:.9em}.dropdown-wrapper .nav-dropdown .dropdown-item a{display:block;line-height:1.7rem;position:relative;border-bottom:none;font-weight:400;margin-bottom:0;padding:0 1.5rem 0 1.25rem}.dropdown-wrapper .nav-dropdown .dropdown-item a.router-link-active,.dropdown-wrapper .nav-dropdown .dropdown-item a:hover{color:#3eaf7c}.dropdown-wrapper .nav-dropdown .dropdown-item a.router-link-active:after{content:"";width:0;height:0;border-left:5px solid #3eaf7c;border-top:3px solid transparent;border-bottom:3px solid transparent;position:absolute;top:calc(50% - 2px);left:9px}.dropdown-wrapper .nav-dropdown .dropdown-item:first-child h4{margin-top:0;padding-top:0;border-top:0}@media (max-width:719px){.dropdown-wrapper.open .dropdown-title{margin-bottom:.5rem}.dropdown-wrapper .nav-dropdown{transition:height .1s ease-out;overflow:hidden}.dropdown-wrapper .nav-dropdown .dropdown-item h4{border-top:0;margin-top:0;padding-top:0}.dropdown-wrapper .nav-dropdown .dropdown-item>a,.dropdown-wrapper .nav-dropdown .dropdown-item h4{font-size:15px;line-height:2rem}.dropdown-wrapper .nav-dropdown .dropdown-item .dropdown-subitem{font-size:14px;padding-left:1rem}}@media (min-width:719px){.dropdown-wrapper{height:1.8rem}.dropdown-wrapper:hover .nav-dropdown{display:block!important}.dropdown-wrapper .dropdown-title .arrow{border-left:4px solid transparent;border-right:4px solid transparent;border-top:6px solid var(--text-color-sub);border-bottom:0}.dropdown-wrapper .nav-dropdown{display:none;height:auto!important;box-sizing:border-box;max-height:calc(100vh - 2.7rem);overflow-y:auto;position:absolute;top:100%;right:0;background-color:var(--background-color);padding:.6rem 0;box-shadow:var(--box-shadow);text-align:left;border-radius:.25rem;white-space:nowrap;margin:0}}.nav-links{display:inline-block}.nav-links a{line-height:1.4rem;color:var(--text-color)}.nav-links a.router-link-active,.nav-links a.router-link-active .iconfont,.nav-links a:hover,.nav-links a:hover .iconfont{color:#3eaf7c}.nav-links .nav-item{position:relative;display:inline-block;margin-left:1.5rem;line-height:2rem}.nav-links .nav-item:first-child{margin-left:0}.nav-links .repo-link{margin-left:1.5rem}@media (max-width:719px){.nav-links .nav-item,.nav-links .repo-link{margin-left:0}}@media (min-width:719px){.nav-item>a:not(.external).router-link-active,.nav-item>a:not(.external):hover{margin-bottom:-2px}}.mode-options{background-color:var(--background-color);min-width:125px;margin:0;padding:1em;box-shadow:var(--box-shadow);border-radius:.25rem}.mode-options .title{margin-top:0;margin-bottom:.6rem;font-weight:700;color:var(--text-color)}.mode-options .color-mode-options{display:flex;flex-wrap:wrap}.mode-options .color-mode-options li{flex:1;text-align:center;font-size:12px;color:var(--text-color);line-height:18px;padding:3px 6px;border-top:1px solid #666;border-bottom:1px solid #666;background-color:var(--background-color);cursor:pointer}.mode-options .color-mode-options li.dark{border-radius:.25rem 0 0 .25rem;border-left:1px solid #666}.mode-options .color-mode-options li.light{border-radius:0 .25rem .25rem 0;border-right:1px solid #666}.mode-options .color-mode-options li.active{background-color:#3eaf7c;color:#fff}.mode-options .color-mode-options li:not(.active){border-right:1px solid #666}.color-picker{position:relative;margin-right:1em;cursor:pointer}.color-picker .color-button{align-items:center;height:100%}.color-picker .color-button .iconfont{font-size:1.4rem;color:#3eaf7c}.color-picker .color-picker-menu{position:absolute;top:40px;left:50%;z-index:150}.color-picker .color-picker-menu ul{list-style-type:none;margin:0;padding:0}@media (max-width:719px){.color-picker{margin-right:1rem}.color-picker .color-picker-menu{left:calc(50% - 35px)}.color-picker .color-picker-menu:before{left:calc(50% + 35px)}}.navbar{padding:.7rem 1.5rem;line-height:2.2rem;box-shadow:var(--box-shadow);background:var(--background-color)}.navbar a,.navbar img,.navbar span{display:inline-block}.navbar .logo{height:2.2rem;min-width:2.2rem;margin-right:.8rem;vertical-align:top;border-radius:50%}.navbar .site-name{font-size:1.2rem;font-weight:600;color:var(--text-color);position:relative}.navbar .links{padding-left:1.5rem;box-sizing:border-box;white-space:nowrap;font-size:.9rem;position:absolute;right:1.5rem;top:.7rem;display:flex;background-color:var(--background-color)}.navbar .links .search-box{flex:0 0 auto;vertical-align:top}@media (max-width:719px){.navbar{padding-left:4rem}.navbar .can-hide{display:none}.navbar .links{padding-left:.2rem}}.hero h1[data-v-125939b4],.hero p[data-v-125939b4]{color:#50e3c2}.hero[data-v-125939b4]{background-size:cover;background-attachment:fixed;width:100%;height:100%;position:fixed}.tags[data-v-125939b4]{margin:30px 0}.tags span[data-v-125939b4]{vertical-align:middle;margin:4px 4px 10px;padding:4px 8px;display:inline-block;cursor:pointer;border-radius:.25rem;background:#fff;color:#fff;line-height:13px;font-size:13px;box-shadow:var(--box-shadow);transition:all .5s}.tags span[data-v-125939b4]:hover{transform:scale(1.04)}.tags span.active[data-v-125939b4]{transform:scale(1.2)}.hero h1[data-v-7e691180],.hero p[data-v-7e691180]{color:#50e3c2}.hero[data-v-7e691180]{background-size:cover;background-attachment:fixed;width:100%;height:100%;position:fixed}.friend-link-wrapper[data-v-7e691180]{position:relative;margin:30px 0}.friend-link-wrapper .friend-link-item[data-v-7e691180]{position:relative;vertical-align:middle;margin:4px 4px 10px;padding:4px 8px 4px 20px;line-height:20px;display:inline-block;cursor:default;border-radius:.25rem;font-size:13px;box-shadow:var(--box-shadow);transition:all .5s}.friend-link-wrapper .friend-link-item .list-style[data-v-7e691180]{position:absolute;left:.4rem;top:0;bottom:0;margin:auto;display:block;width:.4rem;height:.4rem;border-radius:.1rem;background:#3eaf7c;content:""}.friend-link-wrapper .friend-link-item .popup-window-wrapper[data-v-7e691180]{display:none}.friend-link-wrapper .friend-link-item .popup-window-wrapper .popup-window[data-v-7e691180]{position:absolute;display:flex;background:var(--background-color);box-shadow:var(--box-shadow);border-radius:.25rem;box-sizing:border-box;padding:.8rem 1rem;width:280px}.friend-link-wrapper .friend-link-item .popup-window-wrapper .popup-window .logo[data-v-7e691180]{margin-right:.4rem;width:2rem;height:2rem;flex:0 0 2rem;border-radius:.25rem;overflow:hidden}.friend-link-wrapper .friend-link-item .popup-window-wrapper .popup-window .logo img[data-v-7e691180]{width:2rem;height:2rem}.friend-link-wrapper .friend-link-item .popup-window-wrapper .popup-window .info[data-v-7e691180]{flex:0 0 85%;width:85%}.friend-link-wrapper .friend-link-item .popup-window-wrapper .popup-window .info .title[data-v-7e691180]{display:flex;align-items:center;justify-content:space-between;height:2rem}.friend-link-wrapper .friend-link-item .popup-window-wrapper .popup-window .info .title h4[data-v-7e691180]{margin:.2rem 0;flex:0 0 86%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.friend-link-wrapper .friend-link-item .popup-window-wrapper .popup-window .info .title .btn-go[data-v-7e691180]{width:1.4rem;height:1.2rem;border-radius:.25rem;font-size:12px;color:#fff;text-align:center;line-height:1.2rem;cursor:pointer;transition:all .5s}.friend-link-wrapper .friend-link-item .popup-window-wrapper .popup-window .info .title .btn-go[data-v-7e691180]:hover{transform:scale(1.1)}.fade-enter-active[data-v-7e691180],.fade-leave-active[data-v-7e691180]{transition:opacity .5s}.fade-enter[data-v-7e691180],.fade-leave-to[data-v-7e691180]{opacity:0}.hero h1[data-v-1ff7123e],.hero p[data-v-1ff7123e]{color:#50e3c2}.hero[data-v-1ff7123e]{background-size:cover;background-attachment:fixed;width:100%;height:100%;position:fixed}.iconfont[data-v-1ff7123e]{display:inline-block;line-height:1.5rem}.iconfont[data-v-1ff7123e]:not(:last-child){margin-right:1rem}.iconfont span[data-v-1ff7123e]{margin-left:.5rem}.tags .tag-item[data-v-1ff7123e]{font-family:Ubuntu,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;cursor:pointer}.tags .tag-item.active[data-v-1ff7123e],.tags .tag-item[data-v-1ff7123e]:hover{color:#3eaf7c}@media (max-width:719px){.tags[data-v-1ff7123e]{display:block;margin-left:0!important}}.hero h1[data-v-ff2c8be0],.hero p[data-v-ff2c8be0]{color:#50e3c2}.hero[data-v-ff2c8be0]{background-size:cover;background-attachment:fixed;width:100%;height:100%;position:fixed}.abstract-item[data-v-ff2c8be0]{position:relative;margin:0 auto 20px;padding:16px 20px;width:100%;overflow:hidden;border-radius:.25rem;box-shadow:var(--box-shadow);box-sizing:border-box;transition:all .3s;background-color:var(--background-color);cursor:pointer}.abstract-item>[data-v-ff2c8be0]{pointer-events:auto}.abstract-item .reco-sticky[data-v-ff2c8be0]{position:absolute;top:0;left:0;display:inline-block;color:#3eaf7c;font-size:2.4rem}.abstract-item[data-v-ff2c8be0]:hover{box-shadow:var(--box-shadow-hover)}.abstract-item .title[data-v-ff2c8be0]{position:relative;font-size:1.28rem;line-height:46px;display:inline-block}.abstract-item .title a[data-v-ff2c8be0]{color:var(--text-color)}.abstract-item .title .reco-lock[data-v-ff2c8be0]{font-size:1.28rem;color:#3eaf7c}.abstract-item .title[data-v-ff2c8be0]:after{content:"";position:absolute;width:100%;height:2px;bottom:0;left:0;background-color:#3eaf7c;visibility:hidden;transform:scaleX(0);transition:.3s ease-in-out}.abstract-item .title:hover a[data-v-ff2c8be0]{color:#3eaf7c}.abstract-item .title[data-v-ff2c8be0]:hover:after{visibility:visible;transform:scaleX(1)}.abstract-item .tags .tag-item.active[data-v-ff2c8be0],.abstract-item .tags .tag-item[data-v-ff2c8be0]:hover{color:#3eaf7c}@media (max-width:719px){.tags[data-v-ff2c8be0]{display:block;margin-top:1rem;margin-left:0!important}}.sidebar-group{background:var(--background-color)}.sidebar-group .sidebar-group{padding-left:.5em}.sidebar-group:not(.collapsable) .sidebar-heading:not(.clickable){cursor:auto;color:var(--text-color)}.sidebar-group.is-sub-group{padding-left:0}.sidebar-group.is-sub-group>.sidebar-heading{font-size:.95em;line-height:1.4;font-weight:400;padding-left:2rem}.sidebar-group.is-sub-group>.sidebar-heading:not(.clickable){opacity:.5}.sidebar-group.is-sub-group>.sidebar-group-items{padding-left:1rem}.sidebar-group.is-sub-group>.sidebar-group-items>li>.sidebar-link{font-size:.95em;border-left:none}.sidebar-group.depth-2>.sidebar-heading{border-left:none}.sidebar-heading{position:relative;color:var(--text-color);transition:color .15s ease;cursor:pointer;font-size:1em;font-weight:500;padding:.35rem 1.5rem .35rem 1.25rem;width:100%;box-sizing:border-box;margin:0}.sidebar-heading.open,.sidebar-heading:hover{color:#3eaf7c}.sidebar-heading .arrow{position:absolute;top:0;bottom:0;right:1em;margin:auto}.sidebar-heading.clickable.active{font-weight:600;color:#3eaf7c;border-left-color:#3eaf7c}.sidebar-heading.clickable:hover{color:#3eaf7c}.sidebar-group-items{transition:height .1s ease-out;font-size:.95em;overflow:hidden}.hero h1[data-v-5a259143],.hero p[data-v-5a259143]{color:#50e3c2}.hero[data-v-5a259143]{background-size:cover;background-attachment:fixed;width:100%;height:100%;position:fixed}.abstract-wrapper[data-v-5a259143]{width:100%}.hero h1[data-v-828910c6],.hero p[data-v-828910c6]{color:#50e3c2}.hero[data-v-828910c6]{background-size:cover;background-attachment:fixed;width:100%;height:100%;position:fixed}.personal-info-wrapper .personal-img[data-v-828910c6]{display:block;margin:2rem auto 1rem;width:6rem;height:6rem;border-radius:50%}.personal-info-wrapper .name[data-v-828910c6]{font-size:1rem;text-align:center;color:var(--text-color)}.personal-info-wrapper .num[data-v-828910c6]{display:flex;margin:0 auto 1rem;width:80%}.personal-info-wrapper .num>div[data-v-828910c6]{text-align:center;flex:0 0 50%}.personal-info-wrapper .num>div[data-v-828910c6]:first-child{border-right:1px solid #333}.personal-info-wrapper .num>div h3[data-v-828910c6]{line-height:auto;margin:0 0 .6rem;color:var(--text-color)}.personal-info-wrapper .num>div h6[data-v-828910c6]{line-height:auto;color:var(--text-color);margin:0}.personal-info-wrapper .social-links[data-v-828910c6]{box-sizing:border-box;display:flex;flex-wrap:wrap;padding:10px}.personal-info-wrapper .social-links .social-item[data-v-828910c6]{width:39px;height:36px;line-height:36px;text-align:center;list-style:none;transition:transform .3s}.personal-info-wrapper .social-links .social-item[data-v-828910c6]:hover{transform:scale(1.08)}.personal-info-wrapper .social-links .social-item i[data-v-828910c6]{cursor:pointer;font-size:22px}.home-blog{padding:0;margin:0 auto}.home-blog .hero{margin:3.6rem auto 0;position:relative;box-sizing:border-box;padding:0 20px;height:100vh;display:flex;align-items:center;justify-content:center}.home-blog .hero .hero-img{max-width:300px;margin:0 auto 1.5rem}.home-blog .hero h1{display:block;margin:0 auto 1.8rem;font-size:2.5rem}.home-blog .hero .description{margin:1.8rem auto;font-size:1.6rem;line-height:1.3}.home-blog .home-blog-wrapper{display:flex;align-items:flex-start;margin:20px auto 0;padding:0 20px;max-width:1126px}.home-blog .home-blog-wrapper .blog-list{flex:auto;width:0}.home-blog .home-blog-wrapper .blog-list .abstract-wrapper .abstract-item:last-child{margin-bottom:0}.home-blog .home-blog-wrapper .info-wrapper{position:-webkit-sticky;position:sticky;top:70px;overflow:hidden;transition:all .3s;margin-left:15px;flex:0 0 300px;height:auto;box-shadow:var(--box-shadow);border-radius:.25rem;box-sizing:border-box;padding:0 15px;background:var(--background-color)}.home-blog .home-blog-wrapper .info-wrapper:hover{box-shadow:var(--box-shadow-hover)}.home-blog .home-blog-wrapper .info-wrapper h4{color:var(--text-color)}.home-blog .home-blog-wrapper .info-wrapper .category-wrapper{list-style:none;padding-left:0}.home-blog .home-blog-wrapper .info-wrapper .category-wrapper .category-item{margin-bottom:.4rem;padding:.4rem .8rem;transition:all .5s;border-radius:.25rem;box-shadow:var(--box-shadow);background-color:var(--background-color)}.home-blog .home-blog-wrapper .info-wrapper .category-wrapper .category-item:hover{transform:scale(1.04)}.home-blog .home-blog-wrapper .info-wrapper .category-wrapper .category-item:hover a{color:#3eaf7c}.home-blog .home-blog-wrapper .info-wrapper .category-wrapper .category-item a{display:flex;justify-content:space-between;align-items:center;color:var(--text-color)}.home-blog .home-blog-wrapper .info-wrapper .category-wrapper .category-item a .post-num{width:1.6rem;height:1.6rem;text-align:center;line-height:1.6rem;border-radius:.25rem;background:#eee;font-size:13px;color:#fff}@media (max-width:719px){.home-blog .hero{height:450px}.home-blog .hero img{max-height:210px;margin:2rem auto 1.2rem}.home-blog .hero h1{margin:0 auto 1.8rem;font-size:2rem}.home-blog .hero .description{font-size:1.2rem}.home-blog .hero .action-button{font-size:1rem;padding:.6rem 1.2rem}.home-blog .home-blog-wrapper{display:block!important}.home-blog .home-blog-wrapper .blog-list{width:auto}.home-blog .home-blog-wrapper .info-wrapper{margin-left:0}.home-blog .home-blog-wrapper .info-wrapper .personal-info-wrapper{display:none}}@media (max-width:419px){.home-blog .hero{height:450px}.home-blog .hero img{max-height:210px;margin:2rem auto 1.2rem}.home-blog .hero h1{margin:0 auto 1.8rem;font-size:2rem}.home-blog .hero .description{font-size:1.2rem}.home-blog .hero .action-button{font-size:1rem;padding:.6rem 1.2rem}.home-blog .home-blog-wrapper{display:block!important}.home-blog .home-blog-wrapper .blog-list{width:auto}.home-blog .home-blog-wrapper .info-wrapper{margin-left:0}.home-blog .home-blog-wrapper .info-wrapper .personal-info-wrapper{display:none}}.hero h1[data-v-70334359],.hero p[data-v-70334359]{color:#50e3c2}.hero[data-v-70334359]{background-size:cover;background-attachment:fixed;width:100%;height:100%;position:fixed}.sub-sidebar-wrapper[data-v-70334359]{width:12rem;padding-left:0;list-style:none;font-size:12px}.sub-sidebar-wrapper li[data-v-70334359]{padding:.2rem 0;cursor:pointer;border-left:1px solid var(--border-color)}.sub-sidebar-wrapper li a[data-v-70334359]{padding:.35rem 1rem .35rem 0;color:var(--text-color)}.sub-sidebar-wrapper li:hover a[data-v-70334359]{color:#3eaf7c}.sub-sidebar-wrapper li.active[data-v-70334359]{border-left:1px solid #3eaf7c}.sub-sidebar-wrapper li.active a[data-v-70334359]{color:#3eaf7c}.sub-sidebar-wrapper li.level-1[data-v-70334359]{padding-left:.4rem}.sub-sidebar-wrapper li.level-2[data-v-70334359]{padding-left:.9rem}.sub-sidebar-wrapper li.level-3[data-v-70334359]{padding-left:1.5rem}.page-nav,.page .comments-wrapper,.page .page-edit{max-width:860px;margin:0 auto;padding:2rem 2.5rem}@media (max-width:959px){.page-nav,.page .comments-wrapper,.page .page-edit{padding:2rem}}@media (max-width:419px){.page-nav,.page .comments-wrapper,.page .page-edit{padding:1.5rem}}.page{position:relative;padding-top:5rem;padding-bottom:2rem;padding-right:14rem;display:block}.page .side-bar{position:fixed;top:10rem;bottom:10rem;right:2rem;overflow-y:scroll}.page .side-bar::-webkit-scrollbar{width:0;height:0}.page .page-title{max-width:860px;margin:0 auto;padding:1rem 2.5rem;color:var(--text-color)}.page .theme-reco-content h2{position:relative;padding-left:.8rem}.page .theme-reco-content h2:before{position:absolute;left:0;top:3.5rem;display:block;height:1.8rem;content:"";border-left:5px solid #3eaf7c}.page .page-edit{padding-top:1rem;padding-bottom:1rem;overflow:auto}.page .page-edit .edit-link{display:inline-block}.page .page-edit .edit-link a{color:#3eaf7c;margin-right:.25rem}.page .page-edit .last-updated{float:right;font-size:.9em}.page .page-edit .last-updated .prefix{font-weight:500;color:#3eaf7c}.page .page-edit .last-updated .time{font-weight:400;color:#aaa}.page-nav{padding-top:1rem;padding-bottom:0}.page-nav .inner{min-height:2rem;margin-top:0;border-top:1px solid var(--border-color);padding-top:1rem;overflow:auto}.page-nav .next{float:right}@media (max-width:719px){.page{padding-right:0}.page .side-bar{display:none}.page .page-title{padding:0 1rem}.page .page-edit .edit-link{margin-bottom:.5rem}.page .page-edit .last-updated{font-size:.8em;float:none;text-align:left}}.hero h1[data-v-0a3fd326],.hero p[data-v-0a3fd326]{color:#50e3c2}.hero[data-v-0a3fd326]{background-size:cover;background-attachment:fixed;width:100%;height:100%;position:fixed}.footer-wrapper[data-v-0a3fd326]{padding:1.5rem 2.5rem;border-top:1px solid var(--border-color);text-align:center;color:#5b5b5b}.footer-wrapper a[data-v-0a3fd326]{font-size:14px}.footer-wrapper>span[data-v-0a3fd326]{margin-left:1rem}.footer-wrapper>span>i[data-v-0a3fd326]{margin-right:.5rem}.footer-wrapper .cyber-security img[data-v-0a3fd326]{margin-right:.5rem;width:20px;height:20px;vertical-align:middle}.footer-wrapper .cyber-security a[data-v-0a3fd326]{vertical-align:middle}@media (max-width:719px){.footer[data-v-0a3fd326]{text-align:left!important}.footer>span[data-v-0a3fd326]{display:block;margin-left:0;line-height:2rem}}.sidebar .sidebar-sub-headers{padding-left:1.5rem;font-size:.95em}.sidebar-sub-headers a.sidebar-link{margin:0 1rem 0 .6rem}a.sidebar-link{font-size:1em;font-weight:400;display:block!important;color:var(--text-color);padding:.35rem 1rem .35rem 2.25rem;line-height:1.7;background:var(--background-color);box-sizing:border-box}a.sidebar-link:hover{color:#3eaf7c}a.sidebar-link.active{font-weight:600;color:#3eaf7c;background:var(--default-color-8);border-right:3px solid #3eaf7c}.sidebar-sub-headers a.sidebar-link{padding-top:.25rem;padding-bottom:.25rem;border-left:none}.sidebar-sub-headers a.sidebar-link.active{font-weight:500;background:transparent;color:#3eaf7c}.sidebar.sidebar::-webkit-scrollbar{width:0;height:0}.sidebar .personal-info-wrapper{display:none}.sidebar ul{padding:0;margin:0;list-style-type:none}.sidebar ul.sidebar-links>li{background:#3eaf7c}.sidebar a{display:inline-block}.sidebar .nav-links{display:none;border-bottom:1px solid var(--border-color);padding:.5rem 0 .75rem}.sidebar .nav-links a{font-weight:600}.sidebar .nav-links .nav-item,.sidebar .nav-links .repo-link{display:block;line-height:1.25rem;font-size:1.1em;padding:.5rem 0 .5rem 1.5rem}.sidebar>.sidebar-links{padding:1.5rem 0}.sidebar>.sidebar-links>li>a.sidebar-link{font-size:1em;line-height:1.7;font-weight:500}.sidebar>.sidebar-links>li:not(:first-child){margin-top:.75rem}@media (max-width:719px){.sidebar .nav-links,.sidebar .personal-info-wrapper{display:block}.sidebar .nav-links .dropdown-wrapper .nav-dropdown .dropdown-item a.router-link-active:after{top:calc(1rem - 2px)}.sidebar>.sidebar-links{padding:1rem 0}}.hero h1[data-v-4e82dffc],.hero p[data-v-4e82dffc]{color:#50e3c2}.hero[data-v-4e82dffc]{background-size:cover;background-attachment:fixed;width:100%;height:100%;position:fixed}.password-shadow[data-v-4e82dffc]{overflow:hidden;position:relative;background:#fff;background:var(--background-color);box-sizing:border-box}.password-shadow .title[data-v-4e82dffc]{margin:8rem auto 2rem;width:100%;font-size:30px}.password-shadow .description[data-v-4e82dffc],.password-shadow .title[data-v-4e82dffc]{text-align:center;box-sizing:border-box;text-shadow:0 2px 4px rgba(0,0,0,.1);color:#242424;color:var(--text-color)}.password-shadow .description[data-v-4e82dffc]{margin:0 auto 6rem;font-size:22px;padding:0 10px}.password-shadow .inputBox[data-v-4e82dffc]{position:absolute;top:40%;left:0;right:0;margin:auto;display:block;max-width:700px;height:100px;background:#3eaf7c;border-radius:.25rem;padding-left:20px;box-sizing:border-box;opacity:.9}.password-shadow .inputBox input[data-v-4e82dffc]{width:570px;height:100%;border:none;padding:0 0 0 5px;color:#fff;background:none;outline:none;position:absolute;bottom:0;left:20px;opacity:0;font-size:50px}.password-shadow .inputBox input[data-v-4e82dffc]:focus{opacity:1}.password-shadow .inputBox input:focus~span[data-v-4e82dffc]{transform:translateY(-80px);color:#3eaf7c;font-size:30px;opacity:.8}.password-shadow .inputBox input:focus~button[data-v-4e82dffc]{opacity:1;width:100px}.password-shadow .inputBox span[data-v-4e82dffc]{width:200px;height:100%;display:block;position:absolute;line-height:100px;top:0;left:20px;color:#fff;cursor:text;transition:.5s;transform-origin:left top;font-size:30px}.password-shadow .inputBox button[data-v-4e82dffc]{overflow:hidden;width:0;height:98px;border-radius:.25rem;position:absolute;background:var(--background-color);right:1px;top:1px;border:0;padding:0;color:#3eaf7c;font-size:18px;outline:none;cursor:pointer;opacity:0;transition:.5s;z-index:1}.password-shadow .footer[data-v-4e82dffc]{position:absolute;left:0;right:0;bottom:10%;padding:2.5rem;text-align:center;color:#5b5b5b}.password-shadow .footer>span[data-v-4e82dffc]{margin-left:1rem}.password-shadow .footer>span>i[data-v-4e82dffc]{margin-right:.5rem}@media (max-width:719px){.password-shadow .inputBox[data-v-4e82dffc]{max-width:700px;height:60px;background:#3eaf7c;border-radius:.25rem;position:absolute;left:0;right:0;top:43%;margin:auto 20px;padding-left:0;box-sizing:border-box;opacity:.9}.password-shadow .inputBox input[data-v-4e82dffc]{width:60%;height:100%;border:none;padding:0 0 0 5px;color:#fff;background:none;outline:none;position:absolute;bottom:0;opacity:0;font-size:30px}.password-shadow .inputBox input[data-v-4e82dffc]:focus{opacity:1}.password-shadow .inputBox input:focus~span[data-v-4e82dffc]{transform:translateY(-60px);color:#3eaf7c;font-size:20px;opacity:.8}.password-shadow .inputBox input:focus~button[data-v-4e82dffc]{opacity:1;width:60px}.password-shadow .inputBox span[data-v-4e82dffc]{width:200px;height:100%;display:block;position:absolute;line-height:60px;top:0;left:20px;color:#fff;cursor:text;transition:.5s;transform-origin:left top;font-size:20px}.password-shadow .inputBox button[data-v-4e82dffc]{width:0;height:58px;border-radius:.25rem;position:absolute;right:1px;top:1px;border:0;padding:0;background:#fff;color:#3eaf7c;font-size:18px;outline:none;cursor:pointer;opacity:0;transition:.5s;z-index:1}.password-shadow .footer[data-v-4e82dffc]{margin-left:0}}@media (max-width:959px){.password-shadow .footer[data-v-4e82dffc]{margin-left:0}}.hero h1[data-v-1156296a],.hero p[data-v-1156296a]{color:#50e3c2}.hero[data-v-1156296a]{background-size:cover;background-attachment:fixed;width:100%;height:100%;position:fixed}.theme-container .loading-wrapper[data-v-1156296a]{position:absolute;z-index:22;top:0;bottom:0;left:0;right:0;margin:auto}.theme-container .password-wrapper-out[data-v-1156296a]{position:absolute;z-index:21;top:0;bottom:0;left:0;right:0;margin:auto}.theme-container .password-wrapper-in[data-v-1156296a]{position:absolute;z-index:8;top:0;bottom:0;left:0;right:0}.theme-container .hide[data-v-1156296a]{height:100vh;overflow:hidden;opacity:0}.fade-enter-active[data-v-1156296a],.fade-leave-active[data-v-1156296a]{transition:opacity .5s ease-in-out .5s}.fade-enter[data-v-1156296a],.fade-leave-to[data-v-1156296a]{opacity:0}.content__default code{color:#505050;padding:.25rem .5rem;margin:0;font-size:.85em;background-color:var(--code-color);border-radius:3px}.content__default code .token.deleted{color:#ec5975}.content__default code .token.inserted{color:#3eaf7c}.content__default pre,.content__default pre[class*=language-]{line-height:1.4;padding:1.25rem 1.5rem;margin:.85rem 0;background-color:#282c34;border-radius:6px;overflow:auto}.content__default pre[class*=language-] code,.content__default pre code{color:#fff;padding:0;background-color:transparent;border-radius:0}div[class*=language-]{position:relative;background-color:#282c34;border-radius:6px}div[class*=language-] .highlight-lines{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;padding-top:1.3rem;position:absolute;top:0;left:0;width:100%;line-height:1.4}div[class*=language-] .highlight-lines .highlighted{background-color:rgba(0,0,0,.66)}div[class*=language-] pre,div[class*=language-] pre[class*=language-]{background:transparent;position:relative;z-index:1}div[class*=language-]:before{position:absolute;z-index:3;top:.8em;right:1em;font-size:.75rem;color:hsla(0,0%,100%,.4)}div[class*=language-]:not(.line-numbers-mode) .line-numbers-wrapper{display:none}div[class*=language-].line-numbers-mode .highlight-lines .highlighted{position:relative}div[class*=language-].line-numbers-mode .highlight-lines .highlighted:before{content:" ";position:absolute;z-index:3;left:0;top:0;display:block;width:2.5rem;height:100%;background-color:rgba(0,0,0,.66)}div[class*=language-].line-numbers-mode pre{padding-left:3.5rem;vertical-align:middle}div[class*=language-].line-numbers-mode .line-numbers-wrapper{position:absolute;top:0;width:2.5rem;text-align:center;color:hsla(0,0%,100%,.3);padding:1.25rem 0;line-height:1.4}div[class*=language-].line-numbers-mode .line-numbers-wrapper .line-number,div[class*=language-].line-numbers-mode .line-numbers-wrapper br{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}div[class*=language-].line-numbers-mode .line-numbers-wrapper .line-number{position:relative;z-index:4;font-size:.85em}div[class*=language-].line-numbers-mode:after{content:"";position:absolute;z-index:2;top:0;left:0;width:2.5rem;height:100%;border-radius:6px 0 0 6px;border-right:1px solid rgba(0,0,0,.66);background-color:#282c34}div[class~=language-js]:before{content:"js"}div[class~=language-ts]:before{content:"ts"}div[class~=language-html]:before{content:"html"}div[class~=language-md]:before{content:"md"}div[class~=language-vue]:before{content:"vue"}div[class~=language-css]:before{content:"css"}div[class~=language-sass]:before{content:"sass"}div[class~=language-scss]:before{content:"scss"}div[class~=language-less]:before{content:"less"}div[class~=language-stylus]:before{content:"stylus"}div[class~=language-go]:before{content:"go"}div[class~=language-java]:before{content:"java"}div[class~=language-c]:before{content:"c"}div[class~=language-sh]:before{content:"sh"}div[class~=language-yaml]:before{content:"yaml"}div[class~=language-py]:before{content:"py"}div[class~=language-docker]:before{content:"docker"}div[class~=language-dockerfile]:before{content:"dockerfile"}div[class~=language-makefile]:before{content:"makefile"}div[class~=language-javascript]:before{content:"js"}div[class~=language-typescript]:before{content:"ts"}div[class~=language-markup]:before{content:"html"}div[class~=language-markdown]:before{content:"md"}div[class~=language-json]:before{content:"json"}div[class~=language-ruby]:before{content:"rb"}div[class~=language-python]:before{content:"py"}div[class~=language-bash]:before{content:"sh"}div[class~=language-php]:before{content:"php"}.custom-block .custom-block-title{font-weight:600;margin-bottom:-.4rem}.custom-block.danger,.custom-block.tip,.custom-block.warning{padding:.1rem 1.5rem;border-left-width:.5rem;border-left-style:solid;margin:1rem 0}.custom-block.tip{background-color:var(--code-color);border-color:#67cc86}.custom-block.tip .title{color:#67cc86}.custom-block.warning{background-color:var(--code-color);border-color:#fb9b5f}.custom-block.warning .title{color:#fb9b5f}.custom-block.danger{background-color:var(--code-color);border-color:#f26d6d}.custom-block.danger .title{color:#f26d6d}.custom-block.right{color:rgba(0,0,0,.4);font-size:.9rem;text-align:right}.custom-block.theorem{margin:1rem 0;padding:.1rem 1.5rem;border-radius:.4rem;background-color:var(--code-color)}.custom-block.theorem .title{font-weight:700}.custom-block.details{display:block;position:relative;border-radius:2px;margin:1em 0;padding:1rem;background-color:var(--code-color)}.custom-block.details h4{margin-top:0}.custom-block.details figure:last-child,.custom-block.details p:last-child{margin-bottom:0;padding-bottom:0}.custom-block.details summary{outline:none;cursor:pointer}.arrow{display:inline-block;width:0;height:0}.arrow.up{border-bottom:6px solid var(--text-color-sub)}.arrow.down,.arrow.up{border-left:4px solid transparent;border-right:4px solid transparent}.arrow.down{border-top:6px solid var(--text-color-sub)}.arrow.right{border-left:6px solid var(--text-color-sub)}.arrow.left,.arrow.right{border-top:4px solid transparent;border-bottom:4px solid transparent}.arrow.left{border-right:6px solid var(--text-color-sub)}.content__default:not(.custom){max-width:860px;margin:0 auto;padding:2rem 2.5rem}@media (max-width:959px){.content__default:not(.custom){padding:2rem}}@media (max-width:419px){.content__default:not(.custom){padding:1.5rem}}.table-of-contents .badge{vertical-align:middle}body,html{padding:0;margin:0}body{font-family:Ubuntu,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:15px;color:var(--text-color);background-color:var(--background-color)}.page,.password-wrapper-in{overflow-x:hidden;margin-left:18rem}.navbar{z-index:20;right:0;height:3.6rem;box-sizing:border-box}.navbar,.sidebar-mask{position:fixed;top:0;left:0}.sidebar-mask{z-index:9;width:100vw;height:100vh;display:none;background-color:rgba(0,0,0,.65)}.sidebar{font-size:16px;background-color:var(--background-color);width:18rem;position:fixed;z-index:10;margin:0;top:3.6rem;left:0;bottom:0;box-sizing:border-box;border-right:1px solid var(--border-color);overflow-y:auto}.content__default:not(.custom) a:hover{text-decoration:underline}.content__default:not(.custom) p.demo{padding:1rem 1.5rem;border:1px solid #ddd;border-radius:4px}.content__default:not(.custom) img{max-width:100%}.content__default:not(.custom) :first-child{margin-top:0}.content__default.custom{padding:0;margin:0}.abstract img,.content__default.custom img{max-width:100%}a{font-weight:500;text-decoration:none}a,p a code{color:#3eaf7c}p a code{font-weight:400}kbd{background:#eee;border:.15rem solid #ddd;border-bottom:.25rem solid #ddd;border-radius:.15rem;padding:0 .15em}blockquote{font-size:.9rem;color:#999;border-left:.25rem solid #999;background-color:var(--code-color);margin:.5rem 0;padding:.25rem 0 .25rem 1rem}blockquote>p{margin:0}ol,ul{padding-left:1.2em}strong{font-weight:600}h1,h2,h3,h4,h5,h6{font-weight:500;line-height:1.25}.content__default:not(.custom)>h1,.content__default:not(.custom)>h2,.content__default:not(.custom)>h3,.content__default:not(.custom)>h4,.content__default:not(.custom)>h5,.content__default:not(.custom)>h6{margin-top:-1.5rem;padding-top:3.6rem;margin-bottom:1rem}.content__default:not(.custom)>h1:first-child,.content__default:not(.custom)>h2:first-child,.content__default:not(.custom)>h3:first-child,.content__default:not(.custom)>h4:first-child,.content__default:not(.custom)>h5:first-child,.content__default:not(.custom)>h6:first-child{margin-top:-3.5rem}h1{font-size:1.6rem}h2{font-size:1.4rem}h3{font-size:1.2rem}a.header-anchor{font-size:.85em;float:left;margin-left:-.87em;padding-right:.23em;margin-top:.125em;opacity:0}a.header-anchor:hover{text-decoration:none}.line-number,code,kbd{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}ol,p,ul{line-height:2.2}hr{border:0;border-top:1px solid var(--border-color)}table{border-collapse:collapse;margin:1rem 0;display:block;overflow-x:auto}tr{border-top:1px solid var(--border-color)}tr:nth-child(2n){background-color:var(--code-color)}td,th{border:1px solid var(--border-color);padding:.6em 1em}.theme-container.sidebar-open .sidebar-mask{display:block}.theme-container.no-navbar .content__default:not(.custom)>h1,.theme-container.no-navbar h2,.theme-container.no-navbar h3,.theme-container.no-navbar h4,.theme-container.no-navbar h5,.theme-container.no-navbar h6{margin-top:1.5rem;padding-top:0}.theme-container.no-navbar .sidebar{top:0}@media (min-width:720px){.theme-container.no-sidebar .sidebar{display:none}.theme-container.no-sidebar .page,.theme-container.no-sidebar .password-wrapper-in{margin-left:0}}@media (max-width:959px){.sidebar{font-size:15px;width:14.76rem}.page,.password-wrapper-in{margin-left:14.76rem}}@media (max-width:719px){.sidebar{top:0;padding-top:3.6rem;transform:translateX(-100%);transition:transform .2s ease}.page,.password-wrapper-in{margin-left:0}.theme-container.sidebar-open .sidebar{transform:translateX(0)}.theme-container.no-navbar .sidebar{padding-top:0}.password-shadow{padding-left:0}}@media (max-width:419px){h1{font-size:1.9rem}.content__default div[class*=language-]{margin:.85rem -1.5rem;border-radius:0}}.iconfont{font-family:iconfont,Ubuntu,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif!important;font-size:13px;color:var(--text-color-sub)}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-thumb:vertical{height:5px;background-color:#3eaf7c}::-webkit-scrollbar-thumb:horizontal{width:5px;background-color:#3eaf7c}.vuepress-flowchart{overflow:auto}.sw-update-popup{border-radius:.25rem!important;box-shadow:var(--box-shadow)!important;color:var(--text-color)!important;background:var(--background-color)!important;border:none!important}.sw-update-popup>button{background:#3eaf7c;border-radius:.25rem;color:#fff;-webkit-tap-highlight-color:rgba(0,0,0,0);border:none}.hero h1,.hero p{color:#50e3c2}.hero{background-size:cover;background-attachment:fixed;width:100%;height:100%;position:fixed}.content{margin:4rem auto 0;max-width:800px;padding:0 2rem}.mod_404 .desc .desc_link{display:inline-block;background:#424242!important;color:#fff;padding:6px 20px!important;text-decoration:none!important;border-radius:4px}@media screen and (max-width:720px){.mod_404 .desc{margin:50px 0}.mod_404 .wrapper{margin:0!important;padding-top:20px}}.hero h1[data-v-1cc33d31],.hero p[data-v-1cc33d31]{color:#50e3c2}.hero[data-v-1cc33d31]{background-size:cover;background-attachment:fixed;width:100%;height:100%;position:fixed}.categories-wrapper[data-v-1cc33d31]{max-width:860px;margin:0 auto;padding:4.6rem 2.5rem 0}.categories-wrapper .category-wrapper[data-v-1cc33d31]{list-style:none;padding-left:0}.categories-wrapper .category-wrapper .category-item[data-v-1cc33d31]{vertical-align:middle;margin:4px 8px 10px;display:inline-block;cursor:pointer;border-radius:.25rem;font-size:13px;box-shadow:var(--box-shadow);transition:all .5s;background-color:var(--background-color)}.categories-wrapper .category-wrapper .category-item.active[data-v-1cc33d31],.categories-wrapper .category-wrapper .category-item[data-v-1cc33d31]:hover{background:#3eaf7c}.categories-wrapper .category-wrapper .category-item.active a span.category-name[data-v-1cc33d31],.categories-wrapper .category-wrapper .category-item:hover a span.category-name[data-v-1cc33d31]{color:#fff}.categories-wrapper .category-wrapper .category-item.active a span.category-name .post-num[data-v-1cc33d31],.categories-wrapper .category-wrapper .category-item:hover a span.category-name .post-num[data-v-1cc33d31]{color:#3eaf7c}.categories-wrapper .category-wrapper .category-item a[data-v-1cc33d31]{display:flex;box-sizing:border-box;width:100%;height:100%;padding:8px 14px;justify-content:space-between;align-items:center;color:#666}.categories-wrapper .category-wrapper .category-item a .post-num[data-v-1cc33d31]{margin-left:4px;width:1.2rem;height:1.2rem;text-align:center;line-height:1.2rem;border-radius:.25rem;font-size:.7rem;color:#fff}@media (max-width:719px){.categories-wrapper[data-v-1cc33d31]{padding:4.6rem 1rem 0}.page-edit .edit-link[data-v-1cc33d31]{margin-bottom:.5rem}.page-edit .last-updated[data-v-1cc33d31]{font-size:.8em;float:none;text-align:left}}.hero h1[data-v-ab813f74],.hero p[data-v-ab813f74]{color:#50e3c2}.hero[data-v-ab813f74]{background-size:cover;background-attachment:fixed;width:100%;height:100%;position:fixed}.tag-wrapper[data-v-ab813f74]{max-width:860px;margin:0 auto;padding:4.6rem 2.5rem 0}@media (max-width:719px){.tag-wrapper[data-v-ab813f74]{padding:4.6rem 1rem 0}}.hero h1[data-v-5e87ad34],.hero p[data-v-5e87ad34]{color:#50e3c2}.hero[data-v-5e87ad34]{background-size:cover;background-attachment:fixed;width:100%;height:100%;position:fixed}.tags-wrapper[data-v-5e87ad34]{max-width:860px;margin:0 auto;padding:4.6rem 2.5rem 0}@media (max-width:719px){.tags-wrapper[data-v-5e87ad34]{padding:5rem .6rem 0}}.hero h1[data-v-3ab56744],.hero p[data-v-3ab56744]{color:#50e3c2}.hero[data-v-3ab56744]{background-size:cover;background-attachment:fixed;width:100%;height:100%;position:fixed}.timeline-wrapper[data-v-3ab56744]{max-width:860px;margin:0 auto;padding:4.6rem 2.5rem 0}.timeline-wrapper .timeline-content[data-v-3ab56744]{box-sizing:border-box;position:relative;list-style:none}.timeline-wrapper .timeline-content[data-v-3ab56744]:after{content:" ";position:absolute;top:14px;left:0;z-index:-1;margin-left:-2px;width:4px;height:100%;background:var(--border-color)}.timeline-wrapper .timeline-content .desc[data-v-3ab56744],.timeline-wrapper .timeline-content .year[data-v-3ab56744]{position:relative;color:var(--text-color);font-size:16px}.timeline-wrapper .timeline-content .desc[data-v-3ab56744]:before,.timeline-wrapper .timeline-content .year[data-v-3ab56744]:before{content:" ";position:absolute;z-index:2;left:-20px;top:50%;margin-left:-4px;margin-top:-4px;width:8px;height:8px;background:var(--background-color);border:1px solid var(--border-color);border-radius:50%}.timeline-wrapper .timeline-content .year[data-v-3ab56744]{margin:80px 0 0;color:var(--text-color);font-weight:700;font-size:26px}.timeline-wrapper .timeline-content .year-wrapper[data-v-3ab56744]{padding-left:0!important}.timeline-wrapper .timeline-content .year-wrapper li[data-v-3ab56744]{display:flex;padding:30px 0 10px;list-style:none;border-bottom:1px dashed var(--border-color);position:relative}.timeline-wrapper .timeline-content .year-wrapper li:hover .date[data-v-3ab56744]{color:#3eaf7c}.timeline-wrapper .timeline-content .year-wrapper li:hover .date[data-v-3ab56744]:before{background:#3eaf7c}.timeline-wrapper .timeline-content .year-wrapper li:hover .title[data-v-3ab56744]{color:#3eaf7c}.timeline-wrapper .timeline-content .year-wrapper li .date[data-v-3ab56744]{width:40px;line-height:30px;color:var(--text-color-sub);font-size:12px}.timeline-wrapper .timeline-content .year-wrapper li .date[data-v-3ab56744]:before{content:" ";position:absolute;left:-18px;top:41px;width:6px;height:6px;margin-left:-4px;background:var(--background-color);border-radius:50%;border:1px solid var(--border-color);z-index:2}.timeline-wrapper .timeline-content .year-wrapper li .title[data-v-3ab56744]{line-height:30px;color:var(--text-color-sub);font-size:16px;cursor:pointer}@media (max-width:719px){.timeline-wrapper[data-v-3ab56744]{margin:0 1.2rem}} \ No newline at end of file diff --git a/assets/css/0.styles.59531e0d.css b/assets/css/0.styles.59531e0d.css new file mode 100644 index 000000000..ea6d6104b --- /dev/null +++ b/assets/css/0.styles.59531e0d.css @@ -0,0 +1,10 @@ +.medium-zoom-overlay{z-index:100}.medium-zoom-overlay~img{z-index:101}svg[data-v-49140617]{position:absolute;right:7.5px;opacity:.75;cursor:pointer}svg.hover[data-v-49140617]{opacity:0}svg[data-v-49140617]:hover{opacity:1!important}span[data-v-49140617]{position:absolute;font-size:.85rem;line-height:.425rem;right:50px;opacity:0;transition:opacity .5s}.success[data-v-49140617]{opacity:1!important}.code-copy-added:hover>.code-copy svg{opacity:.75}.hero h1[data-v-c6073ba8],.hero p[data-v-c6073ba8]{color:#50e3c2}.hero[data-v-c6073ba8]{background-size:cover;background-attachment:fixed;width:100%;height:100%;position:fixed}.back-to-ceiling[data-v-c6073ba8]{background-color:#fff;background-color:var(--background-color);box-shadow:0 1px 6px 0 rgba(0,0,0,.2);box-shadow:var(--box-shadow);position:fixed;display:inline-block;text-align:center;cursor:pointer}.back-to-ceiling[data-v-c6073ba8]::hover{background:#d5dbe7}.back-to-ceiling .icon[data-v-c6073ba8]{position:absolute;top:0;bottom:0;left:0;right:0;margin:auto;width:26px;height:26px;fill:#3eaf7c}.fade-enter-active[data-v-c6073ba8],.fade-leave-active[data-v-c6073ba8]{transition:all .5s}.fade-enter[data-v-c6073ba8],.fade-leave-to[data-v-c6073ba8]{opacity:0;transform:translateY(120px)}.hero h1[data-v-22b6649c],.hero p[data-v-22b6649c]{color:#50e3c2}.hero[data-v-22b6649c]{background-size:cover;background-attachment:fixed;width:100%;height:100%;position:fixed}.pagation[data-v-22b6649c]{font-weight:700;text-align:center;color:#888;color:var(--text-color);margin:20px auto 0;background:#f2f2f2;background:var(--background-color)}.pagation .pagation-list[data-v-22b6649c]{font-size:0;line-height:50px;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pagation .pagation-list span[data-v-22b6649c]{font-size:14px}.pagation .pagation-list span.jump[data-v-22b6649c],.pagation .pagation-list span.jumpinp input[data-v-22b6649c]{box-shadow:var(--box-shadow);border:1px solid var(--border-color)!important;border:1px solid #ccc}.pagation .pagation-list span.jump[data-v-22b6649c]{padding:5px 8px;border-radius:4px;cursor:pointer;margin-left:5px}.pagation .pagation-list span.jumpinp input[data-v-22b6649c]{width:55px;height:26px;background-color:var(--background-color);font-size:13px;border-radius:4px;text-align:center;outline:none}.pagation .pagation-list span.bgprimary[data-v-22b6649c]{cursor:default;color:#fff;background:#3eaf7c;border-color:#3eaf7c}.pagation .pagation-list span.ellipsis[data-v-22b6649c]{padding:0 8px}.pagation .pagation-list span.jumppoint[data-v-22b6649c]{margin:0 10px 0 30px}.valine-wrapper #valine.v .vbtn{color:#2c3e50;color:var(--text-color);border:1px solid #eaecef;border-color:var(--border-color)}.valine-wrapper #valine.v .vbtn:hover{color:#3eaf7c;border-color:#3eaf7c}.valine-wrapper #valine.v .vwrap{background:rgba(27,31,35,.05);background:var(--code-color);border:1px solid #eaecef;border-color:var(--border-color)}.valine-wrapper #valine.v .vwrap .vheader .vinput{border-bottom:1px dashed var(--border-color)}.valine-wrapper #valine.v .vwrap .vheader .vinput:focus{border-bottom-color:#3eaf7c}.valine-wrapper #valine.v .vwrap .vheader .vinput:-internal-autofill-selected{background-color:var(--code-color)!important}.valine-wrapper #valine.v .vinfo{padding-left:.6rem}.valine-wrapper #valine.v .vcard .vquote{margin-left:0;border-left:none}.valine-wrapper #valine.v .vcard .vimg{width:2.8rem;height:2.8rem;border-radius:.25rem;border:none}.valine-wrapper #valine.v .vcard .vhead .vnick{color:#3eaf7c}.valine-wrapper #valine.v .vcard .vhead .vnick:before{background:#3eaf7c}.valine-wrapper #valine.v .vh{border-bottom:none}.valine-wrapper #valine.v .vh .vhead .vsys{color:#3eaf7c;color:var(--text-color);background:rgba(27,31,35,.05);background:var(--code-color)}.valine-wrapper #valine.v .vh .vmeta{margin-bottom:1rem}.valine-wrapper #valine.v .vh .vmeta .vat{margin-right:.3rem;background:rgba(27,31,35,.05);background:var(--code-color);border-radius:.25rem;padding:0 .4rem;color:var(--text-color);border:1px solid #eaecef;border-color:var(--border-color)}.valine-wrapper #valine.v .vh .vmeta .vat:hover{color:#3eaf7c;border-color:#3eaf7c}.valine-wrapper #valine.v .vh .vcontent{background:rgba(27,31,35,.05);background:var(--code-color);border-radius:.25rem;margin:0 .3rem;padding:.1rem .6rem .05rem}.valine-wrapper #valine.v .vh .vcontent p .at{color:#3eaf7c}.valine-wrapper #valine.v .vh .vcontent.expand:before{z-index:1;background:linear-gradient(180deg,hsla(0,0%,100%,0),#fff);background:linear-gradient(180deg,hsla(0,0%,100%,0),var(--background-color))}.valine-wrapper #valine.v .vh .vcontent.expand:after{color:#3eaf7c;color:var(--text-color);background:#fff;background:var(--background-color)}.valine-wrapper #valine.v .info{padding-right:.6rem}.valine-wrapper #valine.v .vbtn,.valine-wrapper #valine.v code,.valine-wrapper #valine.v pre{background:var(--background-color);color:var(--text-color)}.valine-wrapper #valine.v a{color:#3eaf7c}.valine-wrapper #valine.v a:before{background:#3eaf7c} + +/*! + * vssue - A vue-powered issue-based comment plugin + * + * @version v1.4.8 + * @link https://vssue.js.org + * @license MIT + * @copyright 2018-2021 meteorlxy + */.vssue{color:#2c3e50}@media screen and (max-width:576px){.vssue .vssue-new-comment .vssue-new-comment-body{margin-left:60px}}@media screen and (min-width:577px){.vssue .vssue-new-comment .vssue-new-comment-body{margin-left:70px}}@media screen and (max-width:576px){.vssue .vssue-new-comment .vssue-new-comment-footer{text-align:center}.vssue .vssue-new-comment .vssue-new-comment-footer .vssue-new-comment-operations{margin-top:10px}}@media screen and (min-width:577px){.vssue .vssue-new-comment .vssue-new-comment-footer{margin-left:70px;text-align:right}.vssue .vssue-new-comment .vssue-new-comment-footer .vssue-current-user{float:left}}@media screen and (max-width:576px){.vssue .vssue-comments .vssue-comment .vssue-comment-body{margin-left:60px}}@media screen and (min-width:577px){.vssue .vssue-comments .vssue-comment .vssue-comment-body{margin-left:70px}}@media screen and (max-width:576px){.vssue .vssue-pagination{flex-direction:column;justify-content:center;text-align:center}}@media screen and (max-width:576px){.vssue .vssue-pagination .vssue-pagination-page{margin-top:10px}}@media screen and (min-width:577px){.vssue .vssue-pagination .vssue-pagination-page{text-align:right}}.markdown-body .tab-size[data-tab-size="1"]{-o-tab-size:1}.markdown-body .tab-size[data-tab-size="2"]{-o-tab-size:2}.markdown-body .tab-size[data-tab-size="3"]{-o-tab-size:3}.markdown-body .tab-size[data-tab-size="4"]{-o-tab-size:4}.markdown-body .tab-size[data-tab-size="5"]{-o-tab-size:5}.markdown-body .tab-size[data-tab-size="6"]{-o-tab-size:6}.markdown-body .tab-size[data-tab-size="7"]{-o-tab-size:7}.markdown-body .tab-size[data-tab-size="8"]{-o-tab-size:8}.markdown-body .tab-size[data-tab-size="9"]{-o-tab-size:9}.markdown-body .tab-size[data-tab-size="10"]{-o-tab-size:10}.markdown-body .tab-size[data-tab-size="11"]{-o-tab-size:11}.markdown-body .tab-size[data-tab-size="12"]{-o-tab-size:12}@font-face{font-family:octicons-link;src:url(data:font/woff;charset=utf-8;base64,d09GRgABAAAAAAZwABAAAAAACFQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEU0lHAAAGaAAAAAgAAAAIAAAAAUdTVUIAAAZcAAAACgAAAAoAAQAAT1MvMgAAAyQAAABJAAAAYFYEU3RjbWFwAAADcAAAAEUAAACAAJThvmN2dCAAAATkAAAABAAAAAQAAAAAZnBnbQAAA7gAAACyAAABCUM+8IhnYXNwAAAGTAAAABAAAAAQABoAI2dseWYAAAFsAAABPAAAAZwcEq9taGVhZAAAAsgAAAA0AAAANgh4a91oaGVhAAADCAAAABoAAAAkCA8DRGhtdHgAAAL8AAAADAAAAAwGAACfbG9jYQAAAsAAAAAIAAAACABiATBtYXhwAAACqAAAABgAAAAgAA8ASm5hbWUAAAToAAABQgAAAlXu73sOcG9zdAAABiwAAAAeAAAAME3QpOBwcmVwAAAEbAAAAHYAAAB/aFGpk3jaTY6xa8JAGMW/O62BDi0tJLYQincXEypYIiGJjSgHniQ6umTsUEyLm5BV6NDBP8Tpts6F0v+k/0an2i+itHDw3v2+9+DBKTzsJNnWJNTgHEy4BgG3EMI9DCEDOGEXzDADU5hBKMIgNPZqoD3SilVaXZCER3/I7AtxEJLtzzuZfI+VVkprxTlXShWKb3TBecG11rwoNlmmn1P2WYcJczl32etSpKnziC7lQyWe1smVPy/Lt7Kc+0vWY/gAgIIEqAN9we0pwKXreiMasxvabDQMM4riO+qxM2ogwDGOZTXxwxDiycQIcoYFBLj5K3EIaSctAq2kTYiw+ymhce7vwM9jSqO8JyVd5RH9gyTt2+J/yUmYlIR0s04n6+7Vm1ozezUeLEaUjhaDSuXHwVRgvLJn1tQ7xiuVv/ocTRF42mNgZGBgYGbwZOBiAAFGJBIMAAizAFoAAABiAGIAznjaY2BkYGAA4in8zwXi+W2+MjCzMIDApSwvXzC97Z4Ig8N/BxYGZgcgl52BCSQKAA3jCV8CAABfAAAAAAQAAEB42mNgZGBg4f3vACQZQABIMjKgAmYAKEgBXgAAeNpjYGY6wTiBgZWBg2kmUxoDA4MPhGZMYzBi1AHygVLYQUCaawqDA4PChxhmh/8ODDEsvAwHgMKMIDnGL0x7gJQCAwMAJd4MFwAAAHjaY2BgYGaA4DAGRgYQkAHyGMF8NgYrIM3JIAGVYYDT+AEjAwuDFpBmA9KMDEwMCh9i/v8H8sH0/4dQc1iAmAkALaUKLgAAAHjaTY9LDsIgEIbtgqHUPpDi3gPoBVyRTmTddOmqTXThEXqrob2gQ1FjwpDvfwCBdmdXC5AVKFu3e5MfNFJ29KTQT48Ob9/lqYwOGZxeUelN2U2R6+cArgtCJpauW7UQBqnFkUsjAY/kOU1cP+DAgvxwn1chZDwUbd6CFimGXwzwF6tPbFIcjEl+vvmM/byA48e6tWrKArm4ZJlCbdsrxksL1AwWn/yBSJKpYbq8AXaaTb8AAHja28jAwOC00ZrBeQNDQOWO//sdBBgYGRiYWYAEELEwMTE4uzo5Zzo5b2BxdnFOcALxNjA6b2ByTswC8jYwg0VlNuoCTWAMqNzMzsoK1rEhNqByEyerg5PMJlYuVueETKcd/89uBpnpvIEVomeHLoMsAAe1Id4AAAAAAAB42oWQT07CQBTGv0JBhagk7HQzKxca2sJCE1hDt4QF+9JOS0nbaaYDCQfwCJ7Au3AHj+LO13FMmm6cl7785vven0kBjHCBhfpYuNa5Ph1c0e2Xu3jEvWG7UdPDLZ4N92nOm+EBXuAbHmIMSRMs+4aUEd4Nd3CHD8NdvOLTsA2GL8M9PODbcL+hD7C1xoaHeLJSEao0FEW14ckxC+TU8TxvsY6X0eLPmRhry2WVioLpkrbp84LLQPGI7c6sOiUzpWIWS5GzlSgUzzLBSikOPFTOXqly7rqx0Z1Q5BAIoZBSFihQYQOOBEdkCOgXTOHA07HAGjGWiIjaPZNW13/+lm6S9FT7rLHFJ6fQbkATOG1j2OFMucKJJsxIVfQORl+9Jyda6Sl1dUYhSCm1dyClfoeDve4qMYdLEbfqHf3O/AdDumsjAAB42mNgYoAAZQYjBmyAGYQZmdhL8zLdDEydARfoAqIAAAABAAMABwAKABMAB///AA8AAQAAAAAAAAAAAAAAAAABAAAAAA==) format("woff")}.markdown-body .octicon{display:inline-block;fill:currentColor;vertical-align:text-bottom}.markdown-body .anchor{float:left;line-height:1;margin-left:-20px;padding-right:4px}.markdown-body .anchor:focus{outline:none}.markdown-body h1 .octicon-link,.markdown-body h2 .octicon-link,.markdown-body h3 .octicon-link,.markdown-body h4 .octicon-link,.markdown-body h5 .octicon-link,.markdown-body h6 .octicon-link{color:#1b1f23;vertical-align:middle;visibility:hidden}.markdown-body h1:hover .anchor,.markdown-body h2:hover .anchor,.markdown-body h3:hover .anchor,.markdown-body h4:hover .anchor,.markdown-body h5:hover .anchor,.markdown-body h6:hover .anchor{text-decoration:none}.markdown-body h1:hover .anchor .octicon-link,.markdown-body h2:hover .anchor .octicon-link,.markdown-body h3:hover .anchor .octicon-link,.markdown-body h4:hover .anchor .octicon-link,.markdown-body h5:hover .anchor .octicon-link,.markdown-body h6:hover .anchor .octicon-link{visibility:visible}.markdown-body{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;color:#24292e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;font-size:16px;line-height:1.5;word-wrap:break-word}.markdown-body .pl-c{color:#6a737d}.markdown-body .pl-c1,.markdown-body .pl-s .pl-v{color:#005cc5}.markdown-body .pl-e,.markdown-body .pl-en{color:#6f42c1}.markdown-body .pl-s .pl-s1,.markdown-body .pl-smi{color:#24292e}.markdown-body .pl-ent{color:#22863a}.markdown-body .pl-k{color:#d73a49}.markdown-body .pl-pds,.markdown-body .pl-s,.markdown-body .pl-s .pl-pse .pl-s1,.markdown-body .pl-sr,.markdown-body .pl-sr .pl-cce,.markdown-body .pl-sr .pl-sra,.markdown-body .pl-sr .pl-sre{color:#032f62}.markdown-body .pl-smw,.markdown-body .pl-v{color:#e36209}.markdown-body .pl-bu{color:#b31d28}.markdown-body .pl-ii{background-color:#b31d28;color:#fafbfc}.markdown-body .pl-c2{background-color:#d73a49;color:#fafbfc}.markdown-body .pl-c2:before{content:"^M"}.markdown-body .pl-sr .pl-cce{color:#22863a;font-weight:700}.markdown-body .pl-ml{color:#735c0f}.markdown-body .pl-mh,.markdown-body .pl-mh .pl-en,.markdown-body .pl-ms{color:#005cc5;font-weight:700}.markdown-body .pl-mi{color:#24292e;font-style:italic}.markdown-body .pl-mb{color:#24292e;font-weight:700}.markdown-body .pl-md{background-color:#ffeef0;color:#b31d28}.markdown-body .pl-mi1{background-color:#f0fff4;color:#22863a}.markdown-body .pl-mc{background-color:#ffebda;color:#e36209}.markdown-body .pl-mi2{background-color:#005cc5;color:#f6f8fa}.markdown-body .pl-mdr{color:#6f42c1;font-weight:700}.markdown-body .pl-ba{color:#586069}.markdown-body .pl-sg{color:#959da5}.markdown-body .pl-corl{color:#032f62;text-decoration:underline}.markdown-body details{display:block}.markdown-body summary{display:list-item}.markdown-body a{background-color:transparent}.markdown-body a:active,.markdown-body a:hover{outline-width:0}.markdown-body strong{font-weight:inherit;font-weight:bolder}.markdown-body h1{margin:.67em 0}.markdown-body img{border-style:none}.markdown-body code,.markdown-body kbd,.markdown-body pre{font-family:monospace,monospace;font-size:1em}.markdown-body hr{box-sizing:content-box;overflow:visible}.markdown-body input{font:inherit;margin:0;overflow:visible}.markdown-body [type=checkbox]{box-sizing:border-box;padding:0}.markdown-body *{box-sizing:border-box}.markdown-body input{font-family:inherit;font-size:inherit;line-height:inherit}.markdown-body a{color:#0366d6;text-decoration:none}.markdown-body a:hover{text-decoration:underline}.markdown-body strong{font-weight:600}.markdown-body hr{background:transparent;border-bottom:1px solid #dfe2e5;height:0;margin:15px 0;overflow:hidden}.markdown-body hr:after,.markdown-body hr:before{content:"";display:table}.markdown-body hr:after{clear:both}.markdown-body table{border-collapse:collapse;border-spacing:0}.markdown-body td,.markdown-body th{padding:0}.markdown-body details summary{cursor:pointer}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-bottom:0;margin-top:0}.markdown-body h1{font-size:32px}.markdown-body h1,.markdown-body h2{font-weight:600}.markdown-body h2{font-size:24px}.markdown-body h3{font-size:20px}.markdown-body h3,.markdown-body h4{font-weight:600}.markdown-body h4{font-size:16px}.markdown-body h5{font-size:14px}.markdown-body h5,.markdown-body h6{font-weight:600}.markdown-body h6{font-size:12px}.markdown-body p{margin-bottom:10px;margin-top:0}.markdown-body blockquote{margin:0}.markdown-body ol,.markdown-body ul{margin-bottom:0;margin-top:0;padding-left:0}.markdown-body ol ol,.markdown-body ul ol{list-style-type:lower-roman}.markdown-body ol ol ol,.markdown-body ol ul ol,.markdown-body ul ol ol,.markdown-body ul ul ol{list-style-type:lower-alpha}.markdown-body dd{margin-left:0}.markdown-body code,.markdown-body pre{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:12px}.markdown-body pre{margin-bottom:0;margin-top:0}.markdown-body input::-webkit-inner-spin-button,.markdown-body input::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin:0}.markdown-body .border{border:1px solid #e1e4e8!important}.markdown-body .border-0{border:0!important}.markdown-body .border-bottom{border-bottom:1px solid #e1e4e8!important}.markdown-body .rounded-1{border-radius:3px!important}.markdown-body .bg-white{background-color:#fff!important}.markdown-body .bg-gray-light{background-color:#fafbfc!important}.markdown-body .text-gray-light{color:#6a737d!important}.markdown-body .mb-0{margin-bottom:0!important}.markdown-body .my-2{margin-bottom:8px!important;margin-top:8px!important}.markdown-body .py-0{padding-bottom:0!important;padding-top:0!important}.markdown-body .py-2{padding-bottom:8px!important;padding-top:8px!important}.markdown-body .pl-3,.markdown-body .px-3{padding-left:16px!important}.markdown-body .px-3{padding-right:16px!important}.markdown-body .f6{font-size:12px!important}.markdown-body .lh-condensed{line-height:1.25!important}.markdown-body .text-bold{font-weight:600!important}.markdown-body:after,.markdown-body:before{content:"";display:table}.markdown-body:after{clear:both}.markdown-body>:first-child{margin-top:0!important}.markdown-body>:last-child{margin-bottom:0!important}.markdown-body a:not([href]){color:inherit;text-decoration:none}.markdown-body blockquote,.markdown-body dl,.markdown-body ol,.markdown-body p,.markdown-body pre,.markdown-body table,.markdown-body ul{margin-bottom:16px;margin-top:0}.markdown-body hr{background-color:#e1e4e8;border:0;height:.25em;margin:24px 0;padding:0}.markdown-body blockquote{border-left:.25em solid #dfe2e5;color:#6a737d;padding:0 1em}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body kbd{border:1px solid #c6cbd1;border-bottom-color:#959da5;box-shadow:inset 0 -1px 0 #959da5;font-size:11px}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{font-weight:600;line-height:1.25;margin-bottom:16px;margin-top:24px}.markdown-body h1{font-size:2em}.markdown-body h1,.markdown-body h2{border-bottom:1px solid #eaecef;padding-bottom:.3em}.markdown-body h2{font-size:1.5em}.markdown-body h3{font-size:1.25em}.markdown-body h4{font-size:1em}.markdown-body h5{font-size:.875em}.markdown-body h6{color:#6a737d;font-size:.85em}.markdown-body ol,.markdown-body ul{padding-left:2em}.markdown-body ol ol,.markdown-body ol ul,.markdown-body ul ol,.markdown-body ul ul{margin-bottom:0;margin-top:0}.markdown-body li{word-wrap:break-all}.markdown-body li>p{margin-top:16px}.markdown-body li+li{margin-top:.25em}.markdown-body dl{padding:0}.markdown-body dl dt{font-size:1em;font-style:italic;font-weight:600;margin-top:16px;padding:0}.markdown-body dl dd{margin-bottom:16px;padding:0 16px}.markdown-body table{display:block;overflow:auto;width:100%}.markdown-body table th{font-weight:600}.markdown-body table td,.markdown-body table th{border:1px solid #dfe2e5;padding:6px 13px}.markdown-body table tr{background-color:#fff;border-top:1px solid #c6cbd1}.markdown-body table tr:nth-child(2n){background-color:#f6f8fa}.markdown-body img{background-color:#fff;box-sizing:content-box;max-width:100%}.markdown-body img[align=right]{padding-left:20px}.markdown-body img[align=left]{padding-right:20px}.markdown-body code{background-color:rgba(27,31,35,.05);border-radius:3px;font-size:85%;margin:0;padding:.2em .4em}.markdown-body pre{word-wrap:normal}.markdown-body pre>code{background:transparent;border:0;font-size:100%;margin:0;padding:0;white-space:pre;word-break:normal}.markdown-body .highlight{margin-bottom:16px}.markdown-body .highlight pre{margin-bottom:0;word-break:normal}.markdown-body .highlight pre,.markdown-body pre{background-color:#f6f8fa;border-radius:3px;font-size:85%;line-height:1.45;overflow:auto;padding:16px}.markdown-body pre code{background-color:transparent;border:0;display:inline;line-height:inherit;margin:0;max-width:auto;overflow:visible;padding:0;word-wrap:normal}.markdown-body .commit-tease-sha{color:#444d56;display:inline-block;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:90%}.markdown-body .blob-wrapper{border-bottom-left-radius:3px;border-bottom-right-radius:3px;overflow-x:auto;overflow-y:hidden}.markdown-body .blob-wrapper-embedded{max-height:240px;overflow-y:auto}.markdown-body .blob-num{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;color:rgba(27,31,35,.3);cursor:pointer;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:12px;line-height:20px;min-width:50px;padding-left:10px;padding-right:10px;text-align:right;user-select:none;vertical-align:top;white-space:nowrap;width:1%}.markdown-body .blob-num:hover{color:rgba(27,31,35,.6)}.markdown-body .blob-num:before{content:attr(data-line-number)}.markdown-body .blob-code{line-height:20px;padding-left:10px;padding-right:10px;position:relative;vertical-align:top}.markdown-body .blob-code-inner{color:#24292e;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:12px;overflow:visible;white-space:pre;word-wrap:normal}.markdown-body .pl-token.active,.markdown-body .pl-token:hover{background:#ffea7f;cursor:pointer}.markdown-body kbd{background-color:#fafbfc;border:1px solid #d1d5da;border-bottom-color:#c6cbd1;border-radius:3px;box-shadow:inset 0 -1px 0 #c6cbd1;color:#444d56;display:inline-block;font:11px SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;line-height:10px;padding:3px 5px;vertical-align:middle}.markdown-body :checked+.radio-label{border-color:#0366d6;position:relative;z-index:1}.markdown-body .tab-size[data-tab-size="1"]{-moz-tab-size:1;tab-size:1}.markdown-body .tab-size[data-tab-size="2"]{-moz-tab-size:2;tab-size:2}.markdown-body .tab-size[data-tab-size="3"]{-moz-tab-size:3;tab-size:3}.markdown-body .tab-size[data-tab-size="4"]{-moz-tab-size:4;tab-size:4}.markdown-body .tab-size[data-tab-size="5"]{-moz-tab-size:5;tab-size:5}.markdown-body .tab-size[data-tab-size="6"]{-moz-tab-size:6;tab-size:6}.markdown-body .tab-size[data-tab-size="7"]{-moz-tab-size:7;tab-size:7}.markdown-body .tab-size[data-tab-size="8"]{-moz-tab-size:8;tab-size:8}.markdown-body .tab-size[data-tab-size="9"]{-moz-tab-size:9;tab-size:9}.markdown-body .tab-size[data-tab-size="10"]{-moz-tab-size:10;tab-size:10}.markdown-body .tab-size[data-tab-size="11"]{-moz-tab-size:11;tab-size:11}.markdown-body .tab-size[data-tab-size="12"]{-moz-tab-size:12;tab-size:12}.markdown-body .task-list-item{list-style-type:none}.markdown-body .task-list-item+.task-list-item{margin-top:3px}.markdown-body .task-list-item input{margin:0 .2em .25em -1.6em;vertical-align:middle}.markdown-body hr{border-bottom-color:#eee}.markdown-body .pl-0{padding-left:0!important}.markdown-body .pl-1{padding-left:4px!important}.markdown-body .pl-2{padding-left:8px!important}.markdown-body .pl-3{padding-left:16px!important}.markdown-body .pl-4{padding-left:24px!important}.markdown-body .pl-5{padding-left:32px!important}.markdown-body .pl-6{padding-left:40px!important}.markdown-body .pl-7{padding-left:48px!important}.markdown-body .pl-8{padding-left:64px!important}.markdown-body .pl-9{padding-left:80px!important}.markdown-body .pl-10{padding-left:96px!important}.markdown-body .pl-11{padding-left:112px!important}.markdown-body .pl-12{padding-left:128px!important}.clearfix:after,.vssue .vssue-new-comment .vssue-new-comment-footer:after{display:block;clear:both;content:""}.vssue{width:100%;color:#242424;font-size:16px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;padding:10px}.vssue .vssue-button{outline:none;cursor:pointer;padding:10px 20px;font-size:1.05;font-weight:700;color:#3eaf7c;background-color:transparent;border:2px solid #3eaf7c;border-radius:10px}.vssue .vssue-button:disabled{cursor:not-allowed;color:#eaecef;border-color:#eaecef}.vssue .vssue-button:disabled .vssue-icon{fill:#eaecef}.vssue .vssue-button:not(:disabled).vssue-button-default{color:#a3aab1;border-color:#a3aab1}.vssue .vssue-button:not(:disabled).vssue-button-primary{color:#3eaf7c;border-color:#3eaf7c}.vssue .vssue-icon{width:1em;height:1em;vertical-align:-.15em;fill:#3eaf7c;overflow:hidden}.vssue .vssue-icon-loading{animation:vssue-keyframe-rotation 1s linear infinite}@keyframes vssue-keyframe-rotation{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.vssue .fade-appear-active,.vssue .fade-enter-active{transition:all .3s ease}.vssue .fade-leave-active{transition:all .3s cubic-bezier(1,.5,.8,1)}.vssue .fade-appear,.vssue .fade-enter,.vssue .fade-leave-to{opacity:0}.vssue .vssue-notice{position:relative;z-index:100;transform:translateY(-11px)}.vssue .vssue-notice .vssue-alert{position:absolute;z-index:101;cursor:pointer;top:0;padding:10px 20px;width:100%;color:#3eaf7c;border:2px solid #c3ead8;border-radius:5px;background-color:#f5fbf8}.vssue .vssue-notice .vssue-progress{position:absolute;top:0;left:0;height:2px;background-color:#3eaf7c}.vssue .vssue-status{text-align:center;padding-top:20px;padding-bottom:10px;color:#3eaf7c}.vssue .vssue-status .vssue-icon{font-size:1.4em}.vssue .vssue-status .vssue-status-info{margin-top:10px;margin-bottom:10px}.vssue .vssue-header{padding-bottom:10px;border-bottom:1px solid #eaecef;margin-bottom:10px;overflow:hidden}.vssue .vssue-header .vssue-header-powered-by{float:right}.vssue .vssue-new-comment{border-bottom:1px solid #eaecef;margin-top:10px;margin-bottom:10px}.vssue .vssue-new-comment .vssue-comment-avatar{float:left;width:50px;height:50px}.vssue .vssue-new-comment .vssue-comment-avatar img{width:50px;height:50px}.vssue .vssue-new-comment .vssue-comment-avatar .vssue-icon{cursor:pointer;padding:5px;font-size:50px;fill:#757f8a}.vssue .vssue-new-comment .vssue-new-comment-body{position:relative}@media screen and (max-width:719px){.vssue .vssue-new-comment .vssue-new-comment-body{margin-left:60px}}@media screen and (min-width:720px){.vssue .vssue-new-comment .vssue-new-comment-body{margin-left:70px}}.vssue .vssue-new-comment .vssue-new-comment-body .vssue-new-comment-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.vssue .vssue-new-comment .vssue-new-comment-footer{margin-top:10px;margin-bottom:10px}.vssue .vssue-new-comment .vssue-new-comment-footer .vssue-current-user{color:#a3aab1}.vssue .vssue-new-comment .vssue-new-comment-footer .vssue-current-user .vssue-logout{cursor:pointer;text-decoration:underline;color:#a3aab1;font-weight:400}@media screen and (max-width:719px){.vssue .vssue-new-comment .vssue-new-comment-footer{text-align:center}.vssue .vssue-new-comment .vssue-new-comment-footer .vssue-new-comment-operations{margin-top:10px}}@media screen and (min-width:720px){.vssue .vssue-new-comment .vssue-new-comment-footer{margin-left:70px;text-align:right}.vssue .vssue-new-comment .vssue-new-comment-footer .vssue-current-user{float:left}}.vssue .vssue-new-comment .vssue-new-comment-input{resize:none;outline:none;width:100%;padding:15px;font-size:16px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;background-color:#f5fbf8;border:1px solid #eaecef;border-radius:5px}.vssue .vssue-new-comment .vssue-new-comment-input:disabled{cursor:not-allowed;background-color:#f0f2f4}.vssue .vssue-new-comment .vssue-new-comment-input:focus{background-color:#fff;border-color:#9adbbe;box-shadow:0 0 1px 1px #9adbbe}.vssue .vssue-new-comment .vssue-new-comment-input::-moz-placeholder{color:#a3aab1}.vssue .vssue-new-comment .vssue-new-comment-input::placeholder{color:#a3aab1}.vssue .vssue-comments .vssue-comment{margin:15px 0}.vssue .vssue-comments .vssue-comment.vssue-comment-edit-mode .vssue-comment-main{border-color:#9adbbe;box-shadow:0 0 1px 1px #9adbbe}.vssue .vssue-comments .vssue-comment.vssue-comment-disabled{pointer-events:none}.vssue .vssue-comments .vssue-comment.vssue-comment-disabled .vssue-comment-body{background-color:#f9f9fa}.vssue .vssue-comments .vssue-comment .vssue-comment-avatar{float:left;width:50px;height:50px}.vssue .vssue-comments .vssue-comment .vssue-comment-avatar img{width:50px;height:50px}@media screen and (max-width:719px){.vssue .vssue-comments .vssue-comment .vssue-comment-body{margin-left:60px}}@media screen and (min-width:720px){.vssue .vssue-comments .vssue-comment .vssue-comment-body{margin-left:70px}}.vssue .vssue-comments .vssue-comment .vssue-comment-header{padding:10px 15px;overflow:hidden;border-top-left-radius:5px;border-top-right-radius:5px;border:1px solid #eaecef;border-bottom:none}.vssue .vssue-comments .vssue-comment .vssue-comment-header .vssue-comment-created-at{float:right;cursor:default;color:#a3aab1}.vssue .vssue-comments .vssue-comment .vssue-comment-main{padding:15px;border:1px solid #eaecef}.vssue .vssue-comments .vssue-comment .vssue-comment-main .vssue-edit-comment-input{resize:none;outline:none;border:none;width:100%;background:transparent}.vssue .vssue-comments .vssue-comment .vssue-comment-footer{padding:10px 15px;overflow:hidden;border-bottom-left-radius:5px;border-bottom-right-radius:5px;border:1px solid #eaecef;border-top:none}.vssue .vssue-comments .vssue-comment .vssue-comment-footer .vssue-comment-hint{cursor:default;color:#a3aab1}.vssue .vssue-comments .vssue-comment .vssue-comment-footer .vssue-comment-reactions .vssue-comment-reaction{cursor:pointer;display:inline-block;margin-right:8px;color:#3eaf7c}.vssue .vssue-comments .vssue-comment .vssue-comment-footer .vssue-comment-operations{float:right;color:#3eaf7c}.vssue .vssue-comments .vssue-comment .vssue-comment-footer .vssue-comment-operations .vssue-comment-operation{cursor:pointer;margin-left:8px}.vssue .vssue-comments .vssue-comment .vssue-comment-footer .vssue-comment-operations .vssue-comment-operation.vssue-comment-operation-muted{color:#a3aab1}.vssue .vssue-comments .vssue-comment .vssue-comment-footer .vssue-comment-operations .vssue-comment-operation.vssue-comment-operation-muted .vssue-icon{fill:#a3aab1}.vssue .vssue-pagination{cursor:default;display:flex;padding:5px;color:#a3aab1}@media screen and (max-width:719px){.vssue .vssue-pagination{flex-direction:column;justify-content:center;text-align:center}}.vssue .vssue-pagination .vssue-pagination-loading,.vssue .vssue-pagination .vssue-pagination-page,.vssue .vssue-pagination .vssue-pagination-per-page{flex:1}@media screen and (max-width:719px){.vssue .vssue-pagination .vssue-pagination-page{margin-top:10px}}@media screen and (min-width:720px){.vssue .vssue-pagination .vssue-pagination-page{text-align:right}}.vssue .vssue-pagination .vssue-pagination-select{outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #9adbbe;padding-left:.2rem;padding-right:1rem;background-color:transparent;background-image:url("data:image/svg+xml;charset=utf8,%3Csvg class='icon' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cstyle/%3E%3C/defs%3E%3Cpath d='M676.395 432.896a21.333 21.333 0 0 0-30.166 0L511.061 568.021 377.728 434.645a21.333 21.333 0 0 0-30.165 30.166l148.394 148.48a21.419 21.419 0 0 0 30.208 0l150.23-150.187a21.333 21.333 0 0 0 0-30.208'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:100%}.vssue .vssue-pagination .vssue-pagination-select:disabled{cursor:not-allowed}.vssue .vssue-pagination .vssue-pagination-select:focus{background-color:#fff;box-shadow:0 0 .2px .2px #9adbbe}.vssue .vssue-pagination .vssue-pagination-link{display:inline-block;min-width:1em;text-align:center}.vssue .vssue-pagination .vssue-pagination-link.disabled{pointer-events:none}.vssue .vssue-pagination .vssue-pagination-link:not(.disabled){color:#3eaf7c;font-weight:500;cursor:pointer}.vssue,.vssue *{box-sizing:border-box}.vssue :not(.vssue-comment-content) a{cursor:pointer;font-weight:500;color:#3eaf7c;text-decoration:none}.vssue :not(.vssue-comment-content) hr{display:block;height:1px;border:0;border-top:1px solid #eaecef;margin:1.2rem 0;padding:0}.vssue-wrapper.vssue{color:#2c3e50;color:var(--text-color)}.vssue-wrapper.vssue .vssue-new-comment{border-bottom:1px solid #eaecef;border-bottom:1px solid var(--border-color)}.vssue-wrapper.vssue .vssue-new-comment .vssue-new-comment-input:disabled{background-color:#fff;background-color:var(--background-color);border:1px solid #eaecef;border:1px solid var(--border-color)}.vssue-wrapper.vssue .vssue-new-comment .vssue-new-comment-footer .vssue-current-user{color:#2c3e50;color:var(--text-color)}.vssue-wrapper.vssue .vssue-header{border-bottom:1px solid #eaecef;border-bottom:1px solid var(--border-color)}.vssue-wrapper.vssue .vssue-comments .vssue-pagination .vssue-pagination-per-page .vssue-pagination-select{color:var(--text-color)}.vssue-wrapper.vssue .vssue-comments .vssue-comment .vssue-comment-body .vssue-comment-footer,.vssue-wrapper.vssue .vssue-comments .vssue-comment .vssue-comment-body .vssue-comment-header,.vssue-wrapper.vssue .vssue-comments .vssue-comment .vssue-comment-body .vssue-comment-main{border:none}.vssue-wrapper.vssue .vssue-comments .vssue-comment .vssue-comment-body .vssue-comment-footer,.vssue-wrapper.vssue .vssue-comments .vssue-comment .vssue-comment-body .vssue-comment-main{background:var(--code-color)}.vssue-wrapper.vssue .vssue-comments .vssue-comment .vssue-comment-body .vssue-comment-footer{border-top:2px solid var(--background-color)}.vssue-wrapper.vssue .vssue-comments .vssue-comment .vssue-comment-avatar img{width:2.8rem;height:2.8rem;border-radius:.25rem}.vssue-wrapper.vssue .markdown-body{color:var(--text-color)}#nprogress{pointer-events:none}#nprogress .bar{background:#3eaf7c;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #3eaf7c,0 0 5px #3eaf7c;opacity:1;transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border-color:#3eaf7c transparent transparent #3eaf7c;border-style:solid;border-width:2px;border-radius:50%;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}html{scroll-behavior:smooth}.icon.outbound{color:#aaa;display:inline-block;vertical-align:middle;position:relative;top:-1px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.home{padding:3.6rem 2rem 0;max-width:960px;margin:0 auto}.home .hero{text-align:center}.home .hero h1{display:block;font-size:2.5rem;color:var(--text-color)}.home .hero .action,.home .hero .description,.home .hero h1{margin:1.8rem auto}.home .hero .description{font-size:1.6rem;line-height:1.3;color:var(--text-color)}.home .hero .action-button{display:inline-block;font-size:1.2rem;color:#fff;background-color:#3eaf7c;padding:.2rem 1.2rem;border-radius:.25rem;transition:background-color .1s ease;box-sizing:border-box}.home .hero .action-button:hover{background-color:#4abf8a}.home .features{border-top:1px solid var(--border-color);padding:1.2rem 0;margin-top:2.5rem;display:flex;flex-wrap:wrap;align-items:flex-start;align-content:stretch;justify-content:space-between}.home .feature{flex-grow:1;flex-basis:30%;max-width:30%;transition:all .5s;color:var(--text-color)}.home .feature h2{font-size:1.6rem;font-weight:500;border-bottom:none;padding-bottom:0}.home .feature:hover{transform:scale(1.05)}@media (max-width:719px){.home .features{flex-direction:column}.home .feature{max-width:100%;padding:0 2.5rem}}@media (max-width:419px){.home{padding-left:1.5rem;padding-right:1.5rem}.home .hero img{max-height:210px;margin:2rem auto 1.2rem}.home .hero h1{font-size:2rem}.home .hero .action,.home .hero .description,.home .hero h1{margin:1.2rem auto}.home .hero .description{font-size:1.2rem}.home .hero .action-button{font-size:1rem;padding:.6rem 1.2rem}.home .feature h2{font-size:1.25rem}}.hero h1[data-v-8f29db2c],.hero p[data-v-8f29db2c]{color:#50e3c2}.hero[data-v-8f29db2c]{background-size:cover;background-attachment:fixed;width:100%;height:100%;position:fixed}.badge[data-v-8f29db2c]{display:inline-block;font-size:14px;height:18px;line-height:18px;border-radius:.25rem;padding:0 6px;color:#fff}.badge.green[data-v-8f29db2c],.badge.tip[data-v-8f29db2c],.badge[data-v-8f29db2c]{background-color:#42b983}.badge.error[data-v-8f29db2c]{background-color:#da5961}.badge.warn[data-v-8f29db2c],.badge.warning[data-v-8f29db2c],.badge.yellow[data-v-8f29db2c]{background-color:#e7c000}.badge+.badge[data-v-8f29db2c]{margin-left:5px}.search-box{display:inline-block;position:relative;margin-right:1rem}.search-box .iconfont{position:absolute;top:0;bottom:0;z-index:0;left:.6rem;margin:auto}.search-box input{cursor:text;width:10rem;height:2rem;color:#5b5b5b;display:inline-block;border:1px solid var(--border-color);border-radius:.25rem;font-size:.9rem;line-height:2rem;padding:0 .5rem 0 2rem;outline:none;transition:all .2s ease;background:transparent;background-size:1rem}.search-box input:focus{cursor:auto;border-color:#3eaf7c}.search-box .suggestions{background:var(--background-color);width:20rem;position:absolute;top:1.5rem;border:1px solid #cfd4db;border-radius:6px;padding:.4rem;list-style-type:none}.search-box .suggestions.align-right{right:0}.search-box .suggestion{line-height:1.4;padding:.4rem .6rem;border-radius:4px;cursor:pointer}.search-box .suggestion a{white-space:normal;color:var(--text-color)}.search-box .suggestion a .page-title{font-weight:600}.search-box .suggestion a .header{font-size:.9em;margin-left:.25em}.search-box .suggestion.focused{background-color:var(--border-color)}.search-box .suggestion.focused a{color:#3eaf7c}@media (max-width:959px){.search-box input{cursor:pointer;width:0;border-color:transparent;position:relative}.search-box input:focus{cursor:text;left:0;width:10rem}}@media (-ms-high-contrast:none){.search-box input{height:2rem}}@media (max-width:959px) and (min-width:719px){.search-box{margin-right:0}.search-box .suggestions{left:0}}@media (max-width:719px){.search-box{margin-right:0}.search-box .suggestions{right:0}}@media (max-width:419px){.search-box .suggestions{width:calc(100vw - 4rem)}.search-box input:focus{width:8rem}}.sidebar-button{cursor:pointer;display:none;width:1.25rem;height:1.25rem;position:absolute;padding:.6rem;top:.6rem;left:1rem}.sidebar-button .icon{display:block;width:1.25rem;height:1.25rem}@media (max-width:719px){.sidebar-button{display:block}}.dropdown-enter,.dropdown-leave-to{height:0!important}.dropdown-wrapper{cursor:pointer}.dropdown-wrapper .dropdown-title{display:block}.dropdown-wrapper .dropdown-title:hover{border-color:transparent}.dropdown-wrapper .dropdown-title .arrow{vertical-align:middle;margin-top:-1px;margin-left:.4rem}.dropdown-wrapper .nav-dropdown .dropdown-item{color:inherit;line-height:1.7rem}.dropdown-wrapper .nav-dropdown .dropdown-item h4{margin:.45rem 0 0;border-top:1px solid var(--border-color);padding:.45rem 1.5rem 0 1.25rem}.dropdown-wrapper .nav-dropdown .dropdown-item .dropdown-subitem-wrapper{padding:0;list-style:none}.dropdown-wrapper .nav-dropdown .dropdown-item .dropdown-subitem-wrapper .dropdown-subitem{font-size:.9em}.dropdown-wrapper .nav-dropdown .dropdown-item a{display:block;line-height:1.7rem;position:relative;border-bottom:none;font-weight:400;margin-bottom:0;padding:0 1.5rem 0 1.25rem}.dropdown-wrapper .nav-dropdown .dropdown-item a.router-link-active,.dropdown-wrapper .nav-dropdown .dropdown-item a:hover{color:#3eaf7c}.dropdown-wrapper .nav-dropdown .dropdown-item a.router-link-active:after{content:"";width:0;height:0;border-left:5px solid #3eaf7c;border-top:3px solid transparent;border-bottom:3px solid transparent;position:absolute;top:calc(50% - 2px);left:9px}.dropdown-wrapper .nav-dropdown .dropdown-item:first-child h4{margin-top:0;padding-top:0;border-top:0}@media (max-width:719px){.dropdown-wrapper.open .dropdown-title{margin-bottom:.5rem}.dropdown-wrapper .nav-dropdown{transition:height .1s ease-out;overflow:hidden}.dropdown-wrapper .nav-dropdown .dropdown-item h4{border-top:0;margin-top:0;padding-top:0}.dropdown-wrapper .nav-dropdown .dropdown-item>a,.dropdown-wrapper .nav-dropdown .dropdown-item h4{font-size:15px;line-height:2rem}.dropdown-wrapper .nav-dropdown .dropdown-item .dropdown-subitem{font-size:14px;padding-left:1rem}}@media (min-width:719px){.dropdown-wrapper{height:1.8rem}.dropdown-wrapper:hover .nav-dropdown{display:block!important}.dropdown-wrapper .dropdown-title .arrow{border-left:4px solid transparent;border-right:4px solid transparent;border-top:6px solid var(--text-color-sub);border-bottom:0}.dropdown-wrapper .nav-dropdown{display:none;height:auto!important;box-sizing:border-box;max-height:calc(100vh - 2.7rem);overflow-y:auto;position:absolute;top:100%;right:0;background-color:var(--background-color);padding:.6rem 0;box-shadow:var(--box-shadow);text-align:left;border-radius:.25rem;white-space:nowrap;margin:0}}.nav-links{display:inline-block}.nav-links a{line-height:1.4rem;color:var(--text-color)}.nav-links a.router-link-active,.nav-links a.router-link-active .iconfont,.nav-links a:hover,.nav-links a:hover .iconfont{color:#3eaf7c}.nav-links .nav-item{position:relative;display:inline-block;margin-left:1.5rem;line-height:2rem}.nav-links .nav-item:first-child{margin-left:0}.nav-links .repo-link{margin-left:1.5rem}@media (max-width:719px){.nav-links .nav-item,.nav-links .repo-link{margin-left:0}}@media (min-width:719px){.nav-item>a:not(.external).router-link-active,.nav-item>a:not(.external):hover{margin-bottom:-2px}}.mode-options{background-color:var(--background-color);min-width:125px;margin:0;padding:1em;box-shadow:var(--box-shadow);border-radius:.25rem}.mode-options .title{margin-top:0;margin-bottom:.6rem;font-weight:700;color:var(--text-color)}.mode-options .color-mode-options{display:flex;flex-wrap:wrap}.mode-options .color-mode-options li{flex:1;text-align:center;font-size:12px;color:var(--text-color);line-height:18px;padding:3px 6px;border-top:1px solid #666;border-bottom:1px solid #666;background-color:var(--background-color);cursor:pointer}.mode-options .color-mode-options li.dark{border-radius:.25rem 0 0 .25rem;border-left:1px solid #666}.mode-options .color-mode-options li.light{border-radius:0 .25rem .25rem 0;border-right:1px solid #666}.mode-options .color-mode-options li.active{background-color:#3eaf7c;color:#fff}.mode-options .color-mode-options li:not(.active){border-right:1px solid #666}.color-picker{position:relative;margin-right:1em;cursor:pointer}.color-picker .color-button{align-items:center;height:100%}.color-picker .color-button .iconfont{font-size:1.4rem;color:#3eaf7c}.color-picker .color-picker-menu{position:absolute;top:40px;left:50%;z-index:150}.color-picker .color-picker-menu ul{list-style-type:none;margin:0;padding:0}@media (max-width:719px){.color-picker{margin-right:1rem}.color-picker .color-picker-menu{left:calc(50% - 35px)}.color-picker .color-picker-menu:before{left:calc(50% + 35px)}}.navbar{padding:.7rem 1.5rem;line-height:2.2rem;box-shadow:var(--box-shadow);background:var(--background-color)}.navbar a,.navbar img,.navbar span{display:inline-block}.navbar .logo{height:2.2rem;min-width:2.2rem;margin-right:.8rem;vertical-align:top;border-radius:50%}.navbar .site-name{font-size:1.2rem;font-weight:600;color:var(--text-color);position:relative}.navbar .links{padding-left:1.5rem;box-sizing:border-box;white-space:nowrap;font-size:.9rem;position:absolute;right:1.5rem;top:.7rem;display:flex;background-color:var(--background-color)}.navbar .links .search-box{flex:0 0 auto;vertical-align:top}@media (max-width:719px){.navbar{padding-left:4rem}.navbar .can-hide{display:none}.navbar .links{padding-left:.2rem}}.sidebar-group{background:var(--background-color)}.sidebar-group .sidebar-group{padding-left:.5em}.sidebar-group:not(.collapsable) .sidebar-heading:not(.clickable){cursor:auto;color:var(--text-color)}.sidebar-group.is-sub-group{padding-left:0}.sidebar-group.is-sub-group>.sidebar-heading{font-size:.95em;line-height:1.4;font-weight:400;padding-left:2rem}.sidebar-group.is-sub-group>.sidebar-heading:not(.clickable){opacity:.5}.sidebar-group.is-sub-group>.sidebar-group-items{padding-left:1rem}.sidebar-group.is-sub-group>.sidebar-group-items>li>.sidebar-link{font-size:.95em;border-left:none}.sidebar-group.depth-2>.sidebar-heading{border-left:none}.sidebar-heading{position:relative;color:var(--text-color);transition:color .15s ease;cursor:pointer;font-size:1em;font-weight:500;padding:.35rem 1.5rem .35rem 1.25rem;width:100%;box-sizing:border-box;margin:0}.sidebar-heading.open,.sidebar-heading:hover{color:#3eaf7c}.sidebar-heading .arrow{position:absolute;top:0;bottom:0;right:1em;margin:auto}.sidebar-heading.clickable.active{font-weight:600;color:#3eaf7c;border-left-color:#3eaf7c}.sidebar-heading.clickable:hover{color:#3eaf7c}.sidebar-group-items{transition:height .1s ease-out;font-size:.95em;overflow:hidden}.sidebar .sidebar-sub-headers{padding-left:1.5rem;font-size:.95em}.sidebar-sub-headers a.sidebar-link{margin:0 1rem 0 .6rem}a.sidebar-link{font-size:1em;font-weight:400;display:block!important;color:var(--text-color);padding:.35rem 1rem .35rem 2.25rem;line-height:1.7;background:var(--background-color);box-sizing:border-box}a.sidebar-link:hover{color:#3eaf7c}a.sidebar-link.active{font-weight:600;color:#3eaf7c;background:var(--default-color-8);border-right:3px solid #3eaf7c}.sidebar-sub-headers a.sidebar-link{padding-top:.25rem;padding-bottom:.25rem;border-left:none}.sidebar-sub-headers a.sidebar-link.active{font-weight:500;background:transparent;color:#3eaf7c}.hero h1[data-v-cbf58c6c],.hero p[data-v-cbf58c6c]{color:#50e3c2}.hero[data-v-cbf58c6c]{background-size:cover;background-attachment:fixed;width:100%;height:100%;position:fixed}.tags[data-v-cbf58c6c]{margin:30px 0}.tags span[data-v-cbf58c6c]{vertical-align:middle;margin:4px 4px 10px;padding:4px 8px;display:inline-block;cursor:pointer;border-radius:.25rem;background:#fff;color:#fff;line-height:13px;font-size:13px;box-shadow:var(--box-shadow);transition:all .5s}.tags span[data-v-cbf58c6c]:hover{transform:scale(1.04)}.tags span.active[data-v-cbf58c6c]{transform:scale(1.2)}.hero h1[data-v-120fcf04],.hero p[data-v-120fcf04]{color:#50e3c2}.hero[data-v-120fcf04]{background-size:cover;background-attachment:fixed;width:100%;height:100%;position:fixed}.friend-link-wrapper[data-v-120fcf04]{position:relative;margin:30px 0}.friend-link-wrapper .friend-link-item[data-v-120fcf04]{position:relative;vertical-align:middle;margin:4px 4px 10px;padding:4px 8px 4px 20px;line-height:20px;display:inline-block;cursor:default;border-radius:.25rem;font-size:13px;box-shadow:var(--box-shadow);transition:all .5s}.friend-link-wrapper .friend-link-item .list-style[data-v-120fcf04]{position:absolute;left:.4rem;top:0;bottom:0;margin:auto;display:block;width:.4rem;height:.4rem;border-radius:.1rem;background:#3eaf7c;content:""}.friend-link-wrapper .friend-link-item .popup-window-wrapper[data-v-120fcf04]{display:none}.friend-link-wrapper .friend-link-item .popup-window-wrapper .popup-window[data-v-120fcf04]{position:absolute;display:flex;background:var(--background-color);box-shadow:var(--box-shadow);border-radius:.25rem;box-sizing:border-box;padding:.8rem 1rem;width:280px}.friend-link-wrapper .friend-link-item .popup-window-wrapper .popup-window .logo[data-v-120fcf04]{margin-right:.4rem;width:2rem;height:2rem;flex:0 0 2rem;border-radius:.25rem;overflow:hidden}.friend-link-wrapper .friend-link-item .popup-window-wrapper .popup-window .logo img[data-v-120fcf04]{width:2rem;height:2rem}.friend-link-wrapper .friend-link-item .popup-window-wrapper .popup-window .info[data-v-120fcf04]{flex:0 0 85%;width:85%}.friend-link-wrapper .friend-link-item .popup-window-wrapper .popup-window .info .title[data-v-120fcf04]{display:flex;align-items:center;justify-content:space-between;height:2rem}.friend-link-wrapper .friend-link-item .popup-window-wrapper .popup-window .info .title h4[data-v-120fcf04]{margin:.2rem 0;flex:0 0 86%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.friend-link-wrapper .friend-link-item .popup-window-wrapper .popup-window .info .title .btn-go[data-v-120fcf04]{width:1.4rem;height:1.2rem;border-radius:.25rem;font-size:12px;color:#fff;text-align:center;line-height:1.2rem;cursor:pointer;transition:all .5s}.friend-link-wrapper .friend-link-item .popup-window-wrapper .popup-window .info .title .btn-go[data-v-120fcf04]:hover{transform:scale(1.1)}.fade-enter-active[data-v-120fcf04],.fade-leave-active[data-v-120fcf04]{transition:opacity .5s}.fade-enter[data-v-120fcf04],.fade-leave-to[data-v-120fcf04]{opacity:0}.hero h1[data-v-8a445198],.hero p[data-v-8a445198]{color:#50e3c2}.hero[data-v-8a445198]{background-size:cover;background-attachment:fixed;width:100%;height:100%;position:fixed}.iconfont[data-v-8a445198]{display:inline-block;line-height:1.5rem}.iconfont[data-v-8a445198]:not(:last-child){margin-right:1rem}.iconfont span[data-v-8a445198]{margin-left:.5rem}.tags .tag-item[data-v-8a445198]{font-family:Ubuntu,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;cursor:pointer}.tags .tag-item.active[data-v-8a445198],.tags .tag-item[data-v-8a445198]:hover{color:#3eaf7c}@media (max-width:719px){.tags[data-v-8a445198]{display:block;margin-left:0!important}}.hero h1[data-v-73a63558],.hero p[data-v-73a63558]{color:#50e3c2}.hero[data-v-73a63558]{background-size:cover;background-attachment:fixed;width:100%;height:100%;position:fixed}.abstract-item[data-v-73a63558]{position:relative;margin:0 auto 20px;padding:16px 20px;width:100%;overflow:hidden;border-radius:.25rem;box-shadow:var(--box-shadow);box-sizing:border-box;transition:all .3s;background-color:var(--background-color);cursor:pointer}.abstract-item>[data-v-73a63558]{pointer-events:auto}.abstract-item .reco-sticky[data-v-73a63558]{position:absolute;top:0;left:0;display:inline-block;color:#3eaf7c;font-size:2.4rem}.abstract-item[data-v-73a63558]:hover{box-shadow:var(--box-shadow-hover)}.abstract-item .title[data-v-73a63558]{position:relative;font-size:1.28rem;line-height:46px;display:inline-block}.abstract-item .title a[data-v-73a63558]{color:var(--text-color)}.abstract-item .title .reco-lock[data-v-73a63558]{font-size:1.28rem;color:#3eaf7c}.abstract-item .title[data-v-73a63558]:after{content:"";position:absolute;width:100%;height:2px;bottom:0;left:0;background-color:#3eaf7c;visibility:hidden;transform:scaleX(0);transition:.3s ease-in-out}.abstract-item .title:hover a[data-v-73a63558]{color:#3eaf7c}.abstract-item .title[data-v-73a63558]:hover:after{visibility:visible;transform:scaleX(1)}.abstract-item .tags .tag-item.active[data-v-73a63558],.abstract-item .tags .tag-item[data-v-73a63558]:hover{color:#3eaf7c}@media (max-width:719px){.tags[data-v-73a63558]{display:block;margin-top:1rem;margin-left:0!important}}.sidebar.sidebar::-webkit-scrollbar{width:0;height:0}.sidebar .personal-info-wrapper{display:none}.sidebar ul{padding:0;margin:0;list-style-type:none}.sidebar ul.sidebar-links>li{background:#3eaf7c}.sidebar a{display:inline-block}.sidebar .nav-links{display:none;border-bottom:1px solid var(--border-color);padding:.5rem 0 .75rem}.sidebar .nav-links a{font-weight:600}.sidebar .nav-links .nav-item,.sidebar .nav-links .repo-link{display:block;line-height:1.25rem;font-size:1.1em;padding:.5rem 0 .5rem 1.5rem}.sidebar>.sidebar-links{padding:1.5rem 0}.sidebar>.sidebar-links>li>a.sidebar-link{font-size:1em;line-height:1.7;font-weight:500}.sidebar>.sidebar-links>li:not(:first-child){margin-top:.75rem}@media (max-width:719px){.sidebar .nav-links,.sidebar .personal-info-wrapper{display:block}.sidebar .nav-links .dropdown-wrapper .nav-dropdown .dropdown-item a.router-link-active:after{top:calc(1rem - 2px)}.sidebar>.sidebar-links{padding:1rem 0}}.hero h1[data-v-1fad0c41],.hero p[data-v-1fad0c41]{color:#50e3c2}.hero[data-v-1fad0c41]{background-size:cover;background-attachment:fixed;width:100%;height:100%;position:fixed}.personal-info-wrapper .personal-img[data-v-1fad0c41]{display:block;margin:2rem auto 1rem;width:6rem;height:6rem;border-radius:50%}.personal-info-wrapper .name[data-v-1fad0c41]{font-size:1rem;text-align:center;color:var(--text-color)}.personal-info-wrapper .num[data-v-1fad0c41]{display:flex;margin:0 auto 1rem;width:80%}.personal-info-wrapper .num>div[data-v-1fad0c41]{text-align:center;flex:0 0 50%}.personal-info-wrapper .num>div[data-v-1fad0c41]:first-child{border-right:1px solid #333}.personal-info-wrapper .num>div h3[data-v-1fad0c41]{line-height:auto;margin:0 0 .6rem;color:var(--text-color)}.personal-info-wrapper .num>div h6[data-v-1fad0c41]{line-height:auto;color:var(--text-color);margin:0}.personal-info-wrapper .social-links[data-v-1fad0c41]{box-sizing:border-box;display:flex;flex-wrap:wrap;padding:10px}.personal-info-wrapper .social-links .social-item[data-v-1fad0c41]{width:39px;height:36px;line-height:36px;text-align:center;list-style:none;transition:transform .3s}.personal-info-wrapper .social-links .social-item[data-v-1fad0c41]:hover{transform:scale(1.08)}.personal-info-wrapper .social-links .social-item i[data-v-1fad0c41]{cursor:pointer;font-size:22px}.hero h1[data-v-21a20f36],.hero p[data-v-21a20f36]{color:#50e3c2}.hero[data-v-21a20f36]{background-size:cover;background-attachment:fixed;width:100%;height:100%;position:fixed}.abstract-wrapper[data-v-21a20f36]{width:100%}.home-blog{padding:0;margin:0 auto}.home-blog .hero{margin:3.6rem auto 0;position:relative;box-sizing:border-box;padding:0 20px;height:100vh;display:flex;align-items:center;justify-content:center}.home-blog .hero .hero-img{max-width:300px;margin:0 auto 1.5rem}.home-blog .hero h1{display:block;margin:0 auto 1.8rem;font-size:2.5rem}.home-blog .hero .description{margin:1.8rem auto;font-size:1.6rem;line-height:1.3}.home-blog .home-blog-wrapper{display:flex;align-items:flex-start;margin:20px auto 0;padding:0 20px;max-width:1126px}.home-blog .home-blog-wrapper .blog-list{flex:auto;width:0}.home-blog .home-blog-wrapper .blog-list .abstract-wrapper .abstract-item:last-child{margin-bottom:0}.home-blog .home-blog-wrapper .info-wrapper{position:sticky;top:70px;overflow:hidden;transition:all .3s;margin-left:15px;flex:0 0 300px;height:auto;box-shadow:var(--box-shadow);border-radius:.25rem;box-sizing:border-box;padding:0 15px;background:var(--background-color)}.home-blog .home-blog-wrapper .info-wrapper:hover{box-shadow:var(--box-shadow-hover)}.home-blog .home-blog-wrapper .info-wrapper h4{color:var(--text-color)}.home-blog .home-blog-wrapper .info-wrapper .category-wrapper{list-style:none;padding-left:0}.home-blog .home-blog-wrapper .info-wrapper .category-wrapper .category-item{margin-bottom:.4rem;padding:.4rem .8rem;transition:all .5s;border-radius:.25rem;box-shadow:var(--box-shadow);background-color:var(--background-color)}.home-blog .home-blog-wrapper .info-wrapper .category-wrapper .category-item:hover{transform:scale(1.04)}.home-blog .home-blog-wrapper .info-wrapper .category-wrapper .category-item:hover a{color:#3eaf7c}.home-blog .home-blog-wrapper .info-wrapper .category-wrapper .category-item a{display:flex;justify-content:space-between;align-items:center;color:var(--text-color)}.home-blog .home-blog-wrapper .info-wrapper .category-wrapper .category-item a .post-num{width:1.6rem;height:1.6rem;text-align:center;line-height:1.6rem;border-radius:.25rem;background:#eee;font-size:13px;color:#fff}@media (max-width:719px){.home-blog .hero{height:450px}.home-blog .hero img{max-height:210px;margin:2rem auto 1.2rem}.home-blog .hero h1{margin:0 auto 1.8rem;font-size:2rem}.home-blog .hero .description{font-size:1.2rem}.home-blog .hero .action-button{font-size:1rem;padding:.6rem 1.2rem}.home-blog .home-blog-wrapper{display:block!important}.home-blog .home-blog-wrapper .blog-list{width:auto}.home-blog .home-blog-wrapper .info-wrapper{margin-left:0}.home-blog .home-blog-wrapper .info-wrapper .personal-info-wrapper{display:none}}@media (max-width:419px){.home-blog .hero{height:450px}.home-blog .hero img{max-height:210px;margin:2rem auto 1.2rem}.home-blog .hero h1{margin:0 auto 1.8rem;font-size:2rem}.home-blog .hero .description{font-size:1.2rem}.home-blog .hero .action-button{font-size:1rem;padding:.6rem 1.2rem}.home-blog .home-blog-wrapper{display:block!important}.home-blog .home-blog-wrapper .blog-list{width:auto}.home-blog .home-blog-wrapper .info-wrapper{margin-left:0}.home-blog .home-blog-wrapper .info-wrapper .personal-info-wrapper{display:none}}.page-nav,.page .comments-wrapper,.page .page-edit{max-width:860px;margin:0 auto;padding:2rem 2.5rem}@media (max-width:959px){.page-nav,.page .comments-wrapper,.page .page-edit{padding:2rem}}@media (max-width:419px){.page-nav,.page .comments-wrapper,.page .page-edit{padding:1.5rem}}.page{position:relative;padding-top:5rem;padding-bottom:2rem;padding-right:14rem;display:block}.page .page-title{max-width:860px;margin:0 auto;padding:1rem 2.5rem;color:var(--text-color)}.page .theme-reco-content h2{position:relative;padding-left:.8rem}.page .theme-reco-content h2:before{position:absolute;left:0;top:3.5rem;display:block;height:1.8rem;content:"";border-left:5px solid #3eaf7c}.page .page-edit{padding-top:1rem;padding-bottom:1rem;overflow:auto}.page .page-edit .edit-link{display:inline-block}.page .page-edit .edit-link a{color:#3eaf7c;margin-right:.25rem}.page .page-edit .last-updated{float:right;font-size:.9em}.page .page-edit .last-updated .prefix{font-weight:500;color:#3eaf7c}.page .page-edit .last-updated .time{font-weight:400;color:#aaa}.page-nav{padding-top:1rem;padding-bottom:0}.page-nav .inner{min-height:2rem;margin-top:0;border-top:1px solid var(--border-color);padding-top:1rem;overflow:auto}.page-nav .next{float:right}@media (max-width:719px){.page{padding-right:0}.page .page-title{padding:0 1rem}.page .page-edit .edit-link{margin-bottom:.5rem}.page .page-edit .last-updated{font-size:.8em;float:none;text-align:left}}.hero h1[data-v-29dae040],.hero p[data-v-29dae040]{color:#50e3c2}.hero[data-v-29dae040]{background-size:cover;background-attachment:fixed;width:100%;height:100%;position:fixed}.footer-wrapper[data-v-29dae040]{padding:1.5rem 2.5rem;border-top:1px solid var(--border-color);text-align:center;color:#5b5b5b}.footer-wrapper a[data-v-29dae040]{font-size:14px}.footer-wrapper>span[data-v-29dae040]{margin-left:1rem}.footer-wrapper>span>i[data-v-29dae040]{margin-right:.5rem}.footer-wrapper .cyber-security img[data-v-29dae040]{margin-right:.5rem;width:20px;height:20px;vertical-align:middle}.footer-wrapper .cyber-security a[data-v-29dae040]{vertical-align:middle}@media (max-width:719px){.footer[data-v-29dae040]{text-align:left!important}.footer>span[data-v-29dae040]{display:block;margin-left:0;line-height:2rem}}.hero h1[data-v-59e6cb88],.hero p[data-v-59e6cb88]{color:#50e3c2}.hero[data-v-59e6cb88]{background-size:cover;background-attachment:fixed;width:100%;height:100%;position:fixed}.password-shadow[data-v-59e6cb88]{overflow:hidden;position:relative;background:#fff;background:var(--background-color);box-sizing:border-box}.password-shadow .title[data-v-59e6cb88]{margin:8rem auto 2rem;width:100%;font-size:30px}.password-shadow .description[data-v-59e6cb88],.password-shadow .title[data-v-59e6cb88]{text-align:center;box-sizing:border-box;text-shadow:0 2px 4px rgba(0,0,0,.1);color:#242424;color:var(--text-color)}.password-shadow .description[data-v-59e6cb88]{margin:0 auto 6rem;font-size:22px;padding:0 10px}.password-shadow .inputBox[data-v-59e6cb88]{position:absolute;top:40%;left:0;right:0;margin:auto;display:block;max-width:700px;height:100px;background:#3eaf7c;border-radius:.25rem;padding-left:20px;box-sizing:border-box;opacity:.9}.password-shadow .inputBox input[data-v-59e6cb88]{width:570px;height:100%;border:none;padding:0 0 0 5px;color:#fff;background:none;outline:none;position:absolute;bottom:0;left:20px;opacity:0;font-size:50px}.password-shadow .inputBox input[data-v-59e6cb88]:focus{opacity:1}.password-shadow .inputBox input:focus~span[data-v-59e6cb88]{transform:translateY(-80px);color:#3eaf7c;font-size:30px;opacity:.8}.password-shadow .inputBox input:focus~button[data-v-59e6cb88]{opacity:1;width:100px}.password-shadow .inputBox span[data-v-59e6cb88]{width:200px;height:100%;display:block;position:absolute;line-height:100px;top:0;left:20px;color:#fff;cursor:text;transition:.5s;transform-origin:left top;font-size:30px}.password-shadow .inputBox button[data-v-59e6cb88]{overflow:hidden;width:0;height:98px;border-radius:.25rem;position:absolute;background:var(--background-color);right:1px;top:1px;border:0;padding:0;color:#3eaf7c;font-size:18px;outline:none;cursor:pointer;opacity:0;transition:.5s;z-index:1}.password-shadow .footer[data-v-59e6cb88]{position:absolute;left:0;right:0;bottom:10%;padding:2.5rem;text-align:center;color:#5b5b5b}.password-shadow .footer>span[data-v-59e6cb88]{margin-left:1rem}.password-shadow .footer>span>i[data-v-59e6cb88]{margin-right:.5rem}@media (max-width:719px){.password-shadow .inputBox[data-v-59e6cb88]{max-width:700px;height:60px;background:#3eaf7c;border-radius:.25rem;position:absolute;left:0;right:0;top:43%;margin:auto 20px;padding-left:0;box-sizing:border-box;opacity:.9}.password-shadow .inputBox input[data-v-59e6cb88]{width:60%;height:100%;border:none;padding:0 0 0 5px;color:#fff;background:none;outline:none;position:absolute;bottom:0;opacity:0;font-size:30px}.password-shadow .inputBox input[data-v-59e6cb88]:focus{opacity:1}.password-shadow .inputBox input:focus~span[data-v-59e6cb88]{transform:translateY(-60px);color:#3eaf7c;font-size:20px;opacity:.8}.password-shadow .inputBox input:focus~button[data-v-59e6cb88]{opacity:1;width:60px}.password-shadow .inputBox span[data-v-59e6cb88]{width:200px;height:100%;display:block;position:absolute;line-height:60px;top:0;left:20px;color:#fff;cursor:text;transition:.5s;transform-origin:left top;font-size:20px}.password-shadow .inputBox button[data-v-59e6cb88]{width:0;height:58px;border-radius:.25rem;position:absolute;right:1px;top:1px;border:0;padding:0;background:#fff;color:#3eaf7c;font-size:18px;outline:none;cursor:pointer;opacity:0;transition:.5s;z-index:1}.password-shadow .footer[data-v-59e6cb88]{margin-left:0}}@media (max-width:959px){.password-shadow .footer[data-v-59e6cb88]{margin-left:0}}.hero h1[data-v-b57cc07c],.hero p[data-v-b57cc07c]{color:#50e3c2}.hero[data-v-b57cc07c]{background-size:cover;background-attachment:fixed;width:100%;height:100%;position:fixed}.sub-sidebar-wrapper[data-v-b57cc07c]{width:12rem;padding-left:0;list-style:none;font-size:12px}.sub-sidebar-wrapper li[data-v-b57cc07c]{padding:.2rem 0;cursor:pointer;border-left:1px solid var(--border-color)}.sub-sidebar-wrapper li a[data-v-b57cc07c]{padding:.35rem 1rem .35rem 0;color:var(--text-color)}.sub-sidebar-wrapper li:hover a[data-v-b57cc07c]{color:#3eaf7c}.sub-sidebar-wrapper li.active[data-v-b57cc07c]{border-left:1px solid #3eaf7c}.sub-sidebar-wrapper li.active a[data-v-b57cc07c]{color:#3eaf7c}.sub-sidebar-wrapper li.level-1[data-v-b57cc07c]{padding-left:.4rem}.sub-sidebar-wrapper li.level-2[data-v-b57cc07c]{padding-left:.9rem}.sub-sidebar-wrapper li.level-3[data-v-b57cc07c]{padding-left:1.5rem}.hero h1[data-v-7dd95ae2],.hero p[data-v-7dd95ae2]{color:#50e3c2}.hero[data-v-7dd95ae2]{background-size:cover;background-attachment:fixed;width:100%;height:100%;position:fixed}.theme-container .sub-sidebar[data-v-7dd95ae2]{position:fixed;top:5rem;bottom:5rem;right:2rem;overflow-y:scroll}.theme-container .sub-sidebar[data-v-7dd95ae2]::-webkit-scrollbar{width:0;height:0}.theme-container .loading-wrapper[data-v-7dd95ae2]{position:absolute;z-index:22;top:0;bottom:0;left:0;right:0;margin:auto}.theme-container .password-wrapper-out[data-v-7dd95ae2]{position:absolute;z-index:21;top:0;bottom:0;left:0;right:0;margin:auto}.theme-container .password-wrapper-in[data-v-7dd95ae2]{position:absolute;z-index:8;top:0;bottom:0;left:0;right:0}.theme-container .hide[data-v-7dd95ae2]{height:100vh;overflow:hidden;opacity:0}.fade-enter-active[data-v-7dd95ae2],.fade-leave-active[data-v-7dd95ae2]{transition:opacity .5s ease-in-out .5s}.fade-enter[data-v-7dd95ae2],.fade-leave-to[data-v-7dd95ae2]{opacity:0}@media (max-width:719px){.theme-container .sub-sidebar[data-v-7dd95ae2]{display:none}}@font-face{font-family:iconfont;src:url(data:font/woff2;base64,d09GMgABAAAAACcIAAsAAAAARPAAACa6AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHFQGYACKegrvONktATYCJAOBZAt0AAQgBYRnB4QOG604RaTdtJfiZP8fDugB82cnpUAl0ZGsRjJLjaLz7uhxFXN2ZOvr79/nQ9vQlsfQdlhwYIL57VuYrybm6PdDKXkefu3beTNfbMX8ryOe8ERJpE2URqJUIiWQCFnTRXR4fm7/5967DEZvrBmMGIwesaakR46UsRESreh/UiIiRoPPeJiA2YCJXzGywagXC4A2P3+HXwABBLn77T7wUDKLIGkLrEAC4J+qadm9EOi2d1N1A5JlWJAsW1rM2XwAMOA9HezyISTxp7vy66n8eqYFhgOJzbTIA4FXKq9s6fT0aMUvAyuANKXtRMvW23mZaqU6zi0Tw5Q23vptr7vAApSA5AiRvP//dJat5CPu7sIHCv4At4A9V+WMtDQaL0iLWoXsQ1kHkjdgb8iHWIUAPIvWoeQNSEE7BFzmpSKsrijqABVlnz66ibgowOCca6phdf0xpuk5fkypdQ1CeEMEI4o7artvj4KeMw9UD/WTDIByVVBXARw12EctxActVyWWAoB7rNQgDCg6ZS3apTaYF4Im1Wt4DABv/He+/AK+BQdUmjWwb9KLlzoTGHkJfViztVn9EYyyS4GWKzRRYyhYVfWBPLy8B0hoDtV6uOc6qvQAHlNCawWBR8LEISQmISXjJ5SWgVGuyUrMMDeFLGY5917+07iZev163s//v0vf7P/DZQ0EjYiCzWLr7rzJKWh2p0XT9LZbLx6LkcwgVz7a+mQmZsVKd3uFmv8oD9gwsGTRvOu2TFswal/LulPjZnTc0HXpwpS2ngm3nLlmU9O5STfVRuxadWTNnKFjy1bsGFMpZm07dGJPw4E+pQXgwAOo3hljbxHIATYIDAwIAiwRNLBIMMA8wQLXCQ7YInhgmhCBBUISjBJgn1CBFqEB64QOnBKGjBRmAjBD2ECHcIAbRAh0iRi4JBLggrjLWIWlALSJN9AjMmCCyCWZhf1ARgorQJYPhwKwSTRAk2iBc2IAJokRuElygZpMBkaIBdglxcAqKQGOSBOwRqYDc2QGMCRzgWOyEVgmB4AVcgjYIZeBMfIPUPENkvlhLihmIWwCxTaEXwNwyPd5wAk/3wB7/EoHGvybDRzwf/gQ+uC2u4RXgK8ATD4Cc8/tqvLWqNRcEfSiRslNlbaG2rG3VTqm3H0asCZNBZZoRLEMEXrBmkK8d6rdIjZUAAVSQRlc1jsjbnPaE6rIS+p5G6dJTVqVOXsQUpvy92EjrBrbTZnFUcovjVlU07yvVkUvyILIWjbGTjE15IcmTH7iWTjjLN7XRyfYxvk1j7tt3nIJ34N8WKtypUr2W/+WyR96N+o6rjsVXdHtrRvHa+xjkx0FhQujRkY5Z6PlBdrWHLZVCZQ23j66QcCb1yVGymsWkDq3fWU/TfOECSL9/ppFOX2lI5tI5Y48a11IOFRYsh0rWPGSKiyDlFmV1qyKHjwoJt1gbVW/y9RJxarRKmJ5yXC4pM25bVW2BkhF5oB4nhUEkCqiZhLN9f7M8PtTM+hv6d6Iz5jrkp8N1PdPUEj3/do847+y8MIVhNhzlzquuUeG9vwMANn7S9O09/L885cxtl682n0zeHR0/2/wOPN9GgSW5xHXTYl0N5LyOQ0bp3axe2AHuY93Ww/hztEH7xtIQyl87DP6AO1iZVLBu3eIzIY7Bx30J1YGBPzVLnj7rJKaqtPQe7tTInuCU4n7W/shcwGmyRq21gFpk9wpADCkk/FNdRJSf+CyoiTcfFHH7szA7XT2JsY0CyENXt3pLe/oNABE4hK2bl8NtpGpa2eBAPmFqzA3scKWxsh4il64w25tAVCv/fGRv2CAITYMUA8Hd7FrU2AHmb4uoMPNWbiTztz4C2IbdBOLcWSyZsbbxL2MulB9ax/ttu6D4ydHH2rbmoW1/ThXPiPjsUJcoAAl9UwQueu/k9hI3Olb6Zh7zH3t1gc2kTQu1/NBNYVlJDydNDe7VztjevmxWz1e73L3Yr+uk642Z4rh5NPyS5o5JfdrotpBR5QKiZLR70dmbZpRbcj+9oOdlnheGWzNzPTB9+wBfWjdJ/fqEXOgH8Tw4iAV2NORTjjGyQakvBdYzX2EAbFxKWYJCJiDxVlqLSmoUn0n4QgZW7pDFlIHMYNx8AnGesYwcgoUtDb0ApOBwzubSeU2TuR1XbZljvHCASAYFz60MLbaM2AHacsrmpLIiqolS1h4xXUtxfMsJQgszfc/vvFoR5fhSCz7QiUjaacGeF5CxZFIitZKhcyQrnV0EeyGUx2tLVaElIdVssAqsAosbKlnwTCN5OB2zKkDnWhoeIFRkRRCjum5fKlqsyOwVRKRCFKFU2RcGtqKSoDYIq6WZNsDBKEzNjEvqhBqJFUXtu1CzMJ4m8QRCmfeI7atipvJmsA43HQxI5ul2KLDL14YzTlFhKT0VpTzAWBa8RKDkhodRyGs03keIYhDnJvArxxknFLCNbVqQGltlL/Ud+o4SLMIdZVzvVUAgLguqmNFuJ0GQY6vkLJ5TvfANmJLQaTF47MJiStOJDfSeuWlap5KT0+/fv35y2bwavDkZMtoYuKFouKoQs1NtDLlilmMctmO2YWMlM4UVAFHL3Q5SJ/wX4DFaD7EMzIuxK3r69OApCWYTLRL6qh/6PQlP7iA8/Luus8ZxWtbocx4ZT4u8GLQkp2oLkR17iiQCmHLBHCu8ariQFGTReW1uXQ5ZctNbzo3ThFvjj5skCfRALYAaE2z5L3RfZIF9gKJr3OpHM1HeVRiCDHY0GzsG2mmaimOhQ0IyIR1EB/tLFSO+kY8boFw6otMUZr9XMy+bssGup6RZWJagEnrzIGGwNgCMthbWEknsMPkrs6BvLAuxxfNXVEtuTPYjuiUtX4+jjG/j+iASD8fGOu59dxc60KfsnJoZv9vj07214JOQADoDFsbl9K/tC9KH8/V1UmYwiQMM+HxXrkSs9Vqm56vgfmwPSSle7gk4T1IFRExmazVFMdBjEdwwq84OVXU4mL+uH1UnhamiTVkOBh/ARDQmzTni+7Zi/SZZyjGB8dF8jC2iEueftpG6NAEP3CgDuLxmO69yy8uJkuTIw1Oa3opomIH45IuVJPKuCAXKkMrbdMcGQwpV56ba8sPx5RQk22bS3seFbtaG+WykbjIZR8QUURUgUtkhnxKw6YQKhYMHO2QFsIto5HRia5iR/5z9rVgCmstNjijaglbsViLUlR8tzE9fh0XulVL1H3Kmv9WaKYua4amm68fP3ns7Jtnzr3+GXTmpPTwPAcOeqFGWx0m8XRGd/IjxVZSRVbn/rHLVfPqa3ufdbVqLY3r2VEU35gJ3nxoBp53VEbstVtHpo6GT1zsC4zbspzhfX1R1/CfuLBvJAheDF6+7nmNU3wu9gNeTQwdKFTI0iXErrTm3YwrkNbi1eZ0WXGCwzk1CA1D60un0g6Peyq3GLQNbUcQQ3p4E2OwhbnUOAD4s9TZxMX9kLz0ykLf/ItXk75RiC8kqvsKseJM80jk/suePnJ4Muicb1/sH+pZjKfbuGKomPY/CwpMrDipINSBdYhLSEyHXE3iJVXlra21YC+EeIhLELsHQmNtY69JXLbji/Ha4dlH9Sks2waj7beW1DZ81MTbB5D2Z7Qdn6sHdaJLpmRKpmb4xwtLTvCzEp7ZBXG2wWloePW8jnMtk5GXeagcmpjl4/c63pbYCszWjqXTobEDBknWkpORXAPX6bHxrLws2+2FUPpEeilRPmEw861O0VFhbykuVNR0VoKBr+F0FAMEdAe7pB7C+kuH0h3XjLnEIt+RSE7FUhoQOYMhgvhQzSzX2cLuwNrhnKtYl4pytXu2KYlZD1v+lNmK3TS81zuJymMIQ7EznrZkO9yOotFEgl7V0XMiL+bufrldf4pLHZck1Gyqh4X63HOoGZtXVdpsdGMdx+Mq0CSud0QN/CLWTVXcGwXpykUKsc7+mlAg0i5JPC0VWyFVTSowP0zLNPHeniVZx00dm1c8cUZf69DTPCvRloGYjzjWo8hA7LkOqdnEUI2rGBBbNUsYN0maTMJNJlXUwN1C1ClUehaCdALlyxKXQeR5H27CuZvYOrgOzpYqpIxYMUtzJV2hJ7ldsn+OLZtw9BSl4kydq+L63IxG3JxZ6V3GVrwGqTJdPXTKSqKamID0zbvY6rzcC7Sqj9gSidmdsevty+EKINotxPwn4BfUTOWRacUM+uYmtl6mygaxUBroi1hjXd62cxQS29o6oZSd+6RZfpWJnmJLoXu1hBv+vp/dl1zNSfZ+uH6KTHMjzubkH2YQs4Ct1Vk6s/IXni9Wc6VC5Rvmv/MAwkgOxU8G2PJ6V926g5kwmpDD5K177jlezG6kmioPnj7rZNWUUEXr1x6rD6+mbqd/qgZJc3ttanxu4bhMKJIP+SII7cIkD/ZHTlE6ztOyXVBPidwXJ5GaZrOT3sX4VGlxeRz8jpSXFj7CVnfI6FiSZJpivpKWtGERcbI59YokoxhavtVIxQu19BlD+UHDblvTfzk6rnu2gOp/Fls3Iw3Z46ytHBoLDXmvL+u3X74urqx9/4PlVxf7a/3weDgjV8ziGz5Pg3R4HUwudBYCyF7xz93lWBDkoaHG9Ogek4mtCjNomd0fnGGaG11yuTeDKKuHZcaA2ezp5c7r3aXkRq7pk7S9ci57KJuoKuypDliyK9vBm0H/3eA7wynmeTqzVSbmYoCTcdKX//vHCY/iENq9l66xV268s91uY9DapBtsjawbQVfUVWt0zvovIC5CO8WSdaZZQ8z/e/DXv1lesAH45y/e477BevI9vTymLPQVE9OjZc49UL3T0Qk9gekbkAbu9Mliu91ekQvxUsto80hiy8YsNqYB8f5WbONt5abtaLF5JEhOBi+WmjKNxE0hMr5srU7SvdbMJ1JTus40ii51XEPMuLPXxIqtzrdPPRFJ4/kRQld2sI3al63+kioKhxnbIIVGduXNXpYkyKV0vZxXGhoAVRSniJjkIAkiRdc0Tij3L6jbcOGRN6ak4u024k1BB8lTW81J0eEz9swF+uzF2ZviPehJnj4PTu6ZF0YgpX1Ea4opKhy3a85AIjLoMIm5CUiTLbl4Iddmn5TrXK+uH02Yo5AajjHCHyD3Dlp04AhOrWP3zaJ32Nrv//DIH/+CdqIddTt3/1UzbgmbclwmwDrGp/S/LUO1CM5NI7Bu4md1oG6UiHf5RyZlM44NOsrMoQ1Qcmr0gn+rceC9EfVhNR0zsnfcrfCxuTU5MpoyYU8P1wvV7AP128m/FPQhUIUK4dyVlarS7KwU1Zv6eXM06fuQvuubJa8iX7WeF7Ug5h25D4irrQNAhohh4+A/sBnrfOYGGRRy8iqx2K9ZtYFGhFUZLpusqsDDZ6SaralnVAKSlUxCr4/1UyQSH2yA+g842gWrEP7YQgFgb5f83ZrL/CeuuS4nIp1o4lN7+/7x1i1oaSYepBuojq2BbWRdOke3CU+mt2vndp3yMGicdBbYnHS6HOJyBmPLLlanYz/+iEuWZuF2eq8+NiKU7OmpSxQO5zxVwODx/FLb6TJpP1Oxkudqk5HUTy3u0YHypSsbv/62uYyMnj7W91fhDz6Bzws0eBkCeXxCKp4/tixVlrpsjI9fns7sFaOa04zwyfI/iQPfl/480X4XZ56JxewVDYgHmKScrAp7mQnhrzoeb/+CIec7MKSvPCneEQkVnq3lnsoEb5rilfMeqCm0WFFUpCgO/UokNOic9dfnRGC1c9NJJLpkIpUnh9mtXYGjVrhK39JjY+nbd9dUeFVM3j30POCt1LUQO2Bo9+QhNbu382LSiKecvaQsDQ8vbSZSeXNo7tlkZ/VCFnDqbfyddW6Rv5rCh4RrLcCfwqNZmdDJGR4zLmFg4uHHKYpNT+GDvIqaz8qn7t1HxbBsqb0gFPHjwg0kOhmBcUw+x0QtJXIIk545C++e9eVGSoDzc2CNaLKEmhQKU6jlK5DQHL0l9GvuH6tmb0yaITZOinHyFOh5DqxpquClEnwc3j6A/GawxSc8QR/fxrrneV/63uM++B3zncO9wcnhXee4cDA5GJ8whcUrPiLMorj6NcKdjiEEcjjc6y45wlscrUMxo1PYySjeIRNaemS9vbL+0T9EcdeirsWJjBTA6tFpA+htFRcUF4pnz35WrR3VAt/1EQZu5XfuQu73Sm4YcbmGVbR4Bc+hm+P58ns/fnTg+/AdtMobilgC3f7D/VcJEkHvvTGRSjj8OR9UxMdv93ahWjQmUgu37321YQM4Npmyx91ocwI/ixSfKHOvrHzMhqpUXZ/Oc6JX7fMbj/RGPi4M3CrYqtdU9rP5R7X6w0Kd9pzgvF67RdAhGNNoxgQ6XXov+kHBbDCm1w3yV+SG+3VDvyqvT4H9I7T1rw9e9sps9w1186fP2Lh5jH9uq+Bob89KuS/0P88L3n65ywcRm8be3i2CwTFwbn8SvVdA/2uwh+8yMtgr8O1NVRZpNUuWyxMUr9X6VdTB8xP9IABRjkgaJU53i5UmooeCqcOfx6PjE9vbE+PR+KN4HeE+YQo6OygzICAzKBs9hXDhlA4/hkd3aKs1lRWaGm0HOilS5KYJqfKZIuvv957iU4k0ES6AR/5QAUaL2TmClWMobDriw5tSjgAapkaD0z44D+Q2StiVi5FjqGy0HF2eBqLc7pKzoCqAEqCAAXFgkJ0dMLhxHFbvoyktk2Plfho5Ru6r09M1MA89gl5uVFis/c6Wky7hP6WVV136PV56cQuHGQekr8JcgOxZs7O6QqmsUAvZUSuU6lSa0xVHBcfYnnPmHDNXcxZe3yg3TjJX5M+ocDLmXqbYfi14HGnBr979Lfs62DWH7blNsLXC9vGNKLMwd+Z1zfknCFhnFue6GsXz5omNrrmXec3FxnnzjOJc18uYhPrWI7t3F/HF9ivtYv+CiM3ZvTMfAy9fYS08QFfaU65qOj5BE3YO8jIaf2N8jDvsvou5rnPeLxeq6x6JTxa9UJhEgAX8rnKDxFFwY+P50j6obXEYISplIT1gVFM/iy8QizuvUvE85Tcvmu8+qo1hlaPDK+wj2N2xZVEWDUlPQ21yY7AEzgFHymdJqp27iiA/biJcewuUB7tGluCPXDckiYLDO+w4oZhWp1mBs4BYPtpY5mmR9vVJLZ5lHw0JzTlbpGWeHzGO9DYUQQAEFOI46RTJSnrBYT5LpJL6/HzT0nz81ujMzuCg/Pyg4DlEQNID6aQ8zgSStQl/PYrNcUcWLDgSF50B13xTtx1W7yd2Fca61f3Bj7dR21+emP/rrBYbjf2/xjnueUcv22eSEIsuz7KNOtSOkilLNLUuWa6h8vHR317MDfxZ9xiGbfp87EaQlRSAgC/wswCHvsUIoLO1nSlsAs8FOJ7sa8EGHsAksRad2F/ioA7Bx/tG5/o2UkscX56Qg3z5fpfnj7NhCsJ6W66Uoa+qlF4IfCebS8xLXI6GsT0j/Q2DIHSnNvxJDQfA1I7xp1UcCAZmcNkDRagMoAuXQmjHPD1dWG8ozpUYRd23zXVHRbmSy5hJSAPD67n9KB2FClDWRiCITllSDSMq1NN+6t6QQzc79ZOvXnkCY1AIggqiL53q0wxBd49APjSMVkC1QavgRDBzzg0XWipJWQOhUYHk6QTMwsdCbEIUVr1MjeahCIuxKbZEPGJ3FUH8J6JtnkF0QFqmxLggaEqUc9uzq3ZHpfZvgeHBn3soe903m5b85MQTBI2GN7GsUVUF6OfOc6A/pEY5QonjC+acdiFHUuJrJtCIq7YJ9F+X/bCJgbjBySgfFL6nmMSh+kPBzE1BgLwsEcNBuSEBLlJZZBRnCDs7hRli4zmxURWdnecxG8XnjKfImV1Sg6NkNjDgKBjh8JwY1BOwb8CVHt35jeNweeu5LzFUrTOWGqVfdkZ5bubtKaKt7lOSBrsdwO0GEg/oD/oj/IV7r7EqvJLmklxJlnhet/TV7qz+OFtQlHvJsWm4/1cI1+weOltkLoCPoshLZo7f3GAfy3qDRa9PrcDR9vK0Qbmn+Ff+YjLsMAkRVRKXmaNSHk8yPAJiEd/OoZ5fBsj8SdK9AWAFTBRTCLm68mR0F5pYDGtK4MgMSCJRq2lJauyTI1PO71/aaj1T0+ehcDm+BndGa2LLYJQAEczFkHEGbCIlcZGNgnksoFpJSpgPQdxBizCJwnQfvVNwpqDV460ykUGAmGrNemKaTfmbo0eCNjR0nLjuaOjALfrrL/UTtIC+K4A8G8VXUkawshWDtrgodiA3D8v/IdwDt2C6EeVE62UWOq0mft2dSiF1QhV52XehCjHJ5hqPjbKV6xbCyRCW3tDTrDaZDr1LUseH1qfp07T1uWN/ZdomaAwesz78KdPrRddPb9NBjA4csJ2+61qo4+apvYvDI3+6OdfZt92ad7+t88Dm0YHGJoXEUISe0j9nm5fh+lW42gfvyirh4fos2WgDy56lBko3W1W5uDV3cRI5ktQlLsxwDmclfH9+7gFVuSAFAiZ/xzxWN1OusYlk4vOpljH8xNvFMzVNUaIinqxKSGCb/mPedq53re15grmR2Njvorgk5E5xd5zBFV6S0in9loSX3yfWfVx8cNt2KFHdWZGgBurKOtRsKGlNWzAuvjev6moUd4euqt3dl5v9VUzuuP9kKmcpNRUatf6zeFJmpb+NxM2OFmACvKAHAeYccaa4q0uU6ZozRiQ0sUxxjnjM4OdyYl7cae5KzN7loCRtw5+5JlSfbNWD0QSv3+k4h7glGy82rWE8yI+9A5DfUXFqYQpqm543SVi/dK14/2iZ6VgVfUsff8ndvLuAGub2BzQD1sCFjSSKxANzuXbzIsKufa+HnpbRVDxljEjVRrM7b6hRwovQ7QfNCgewgpQub/XHnJIwoKQqWWH3eOBSu+kLFGEUlDrb8uqKcKvzhJ8xU1Ez4X9EES0DzPYBYPruVO/Ue2Ta1tcSEmJSmD8TqYEpxKL4bM5xoZ1Cfxo1K2r6xj3HT+iuD16/uQTntX7ahrIXz2sY9rqS9onYzrMVNyNWNbf+k1Txwg44Uuw93MhO/4UlCBJXenFyg+He86XXG04syrxDhyaJsmZlDtwtZZPxhyxh+9dT3gWyfGjciY0v6WJTs+TVqlIPNy7vI1ZXwSjxFd9tGnHNC8lbwROqY7psg0WFdbY/ZyJqSCYHk3RukG0cQYCn+LVxTHn3DStHo/gxfoyyF8NRiBZub7rluAWZZKNqunR2wfd9solNqY6v/5wWE0ikCWVZTFgX2MQIGkfFhdTOQ95ilK9p4jDxW/1gExQd/Qeh9Ij7P64outqyxb/YPaYTc7gZo1MS55tKY93eoLWkfMYhIC3FG8T2NgPo9uuLJUXMqd3dQeglQQa0HSEoBbXnxKIzFbj7mSk7eTaSI9cOwmhKHO2uunvL3CUdAOPvmoz4QeYbV5BocjEdt/bCGIihOeuXd3dD6r88uB3pCbMrudeeLLlxk56eT44JPk0mGHCYe6J1+gobLOOZ+ioej4VlMeTTKKzuRCkTR2Zmtthee1zoo8S8onEf7lxQ94ew8/+FO7l1jmBPgoJ0oPC2pyQtFP4Zw5ZfQTQ9BOV79zF7yoxbTq+mh3eFFYYBX7kgQawTbRFrxQlOc1tEOt/774lHbY4SXf3iwlMJCV7zyK7zxCOsI8SLhCM290HT9HfcNhE3Z6ELY2tX8L57AzcWtXwj0TzS/u0p8PtbGknxzmlTsYS8LPmCN4/ewrtZ/1K9spSehy1hZt4zij6ZDLZBmHEpmOr+GCotCH+TEvWGwc8bcXEaeeoJZXDjwdR4GVyZDLrdASAOMYeIwNcwaHSoX2RczIm6G0zCNscLdzwL0+KNyZWC1wlZev0qee0+jMlp8Z6Fdy74P9qk2vTIyT4HKo5M0sZ/SOcQCY0JFefYO+FzoOeulh56RygZeO+Ia6gZUmfNiyUwQprWHreWB6p8Mnhs9qrwUb2+rMdvUwgOiZ2XNaQ+m/niULHj+4ESAggtcDwdnSteXhTy5xPEV0PRyBFLRJZFCV79/wrpANVBJYhm89H+bWyvay4/2Vc92ccGP1fZPy8f/LB//pkMI/E/eysxRfpk/3HOF6KVdHIrdp/cR8S6YTdd6WSMH2D3GHd3MT7tiwMVdaI/vwmwbLozVvCNt1P6dGEzcyqzsuX4W8FvRq1zLUNzxTw83HabYfA4O9zqkbbugU9Vvf+sT1Oz8n0erEuTDrfVVwX/dsC+z1gshDIr5mOcCJFVA0xtjaa8PglFILnvUB1uHl7p3I5hpr6le0Z4Rq0wqkTXse4xmes8ImUx+c30DNnB8Oj8+SACv/Ck1ezyPWYkx0eZw8Tqsm5Yvv831j+FUJDXvJT3e34mbGIB4cqdzYeVODXBjYgk+qSqyvS14wNVhCiULZLioRFMX3Kowu4pvCf1v5dT9xn9HeCcNM8oz7Phc8zWUycCCy3e4PKnB/1NGjMJZ/VVSyPlKa56jwQ/xCzfrRZHd3hEAWKywdDop/2UYrBUVR3mHR4YsCDxo86/QfLQbq09841Z6/WJmhKQ4KnWhDQPT/LNvrRQG+Kh9k8gp7h+ArK+Zk6/sl9xUHmwdoS9RTGI9tlynWPgLC4kipOuXffuBc/6TPO7iwzcuWyHOCduJ3f/f/9NvgRDXdXsaALJK8Lr6sJXpNjR5EqWsMhhsrKO5UIPcS9o/7UIjXI68D6lA9Oq9WKFf1buSuCSQxbgekGNc6VHurqvaXqf+tk2uPVeXuiAV3vn6GmP8LDh7FALY9FcbylRKwfQ05p78R793qaeV6cw2XH4DqTzFnZTPMiat+Vm5+1vA99uD3Qtg45m56G7T91Q4NAZd3cIcJGqDTAn6iwKiTqLJoN5cbfv62ITFjSEG9Tib9HtfTFtbTGJoercF3/PSaXqpdrMyY3njQcyNa58XQov6ltg3v3yC1PzM2VqPQ2E+fIgcOnC3n4HBVnmBCCIOW2Xs/20Za0YjI0wEI9HuDSYBnnbFV65eWMle+XyZZ0tm4xwMJt4l+jphmQtK+i83a5kAyXULDaYVd7RfukcE7+0uJCfzn6tau8GU4KpXhUxfj+3k/nFZSZ+BjvKT+VdpJVY/9NUaVT1XURW1VEdIiRosqWRUrfoTEcoTzOalIKSFIqW8pKi4Wjcoz9N1XxSNsk/4H6pL6QVFoYHmxUlTQK1Q4ZvqtlrmzQrPWvFxwwdqptaxscVqQ5Jt3mZfVMzHNSCJkVJsNnGydUcj/ztGLLbePGXxl3z6+I+OzZW+wM0AwBIiLIZjIDy0wyUQGg0nju3RWOrt4+dURJuVoSaw0p/hpVo3ebQkrCfpWE+FObwkhmx9npbzaFz5wVtvIxYabS7e7Q0dhcR0KBz1rueM2cCEIDYDYl8RThhvujetJLM9EacKMSJfG8N+5PpjnRyN+A58kLXPU9I8KsF/J8QoyqrpO3sf4Th4vxIJbkuP5gGq6D/1J8g2Fv1c0GLkkZYYFB++lwvKstThdR7tWtydt4QonKtTzsN1G4awq3wS8TRfWkI2qTpgecqXswP4pgdwo0Mg03P/Vqbypac9EqW0inyeKTjic0LFqw9+0Vlu8tRHzEzPae6tYY5GNYCQRh0Pa5HfoKwuTjxWGfnscTLREKTDgSsexsdnSvOFp41ZNYlS8S5wuyzQEAzWcxTQv/SZgzNuPLB7T7uwhknCo2KgqPy8iMBlc7hTRTBHR2QCUVKPWhLpVPhxWdGlyJUPru38fMu5N07ZBd5sAxwEeXPL1crCgkpIkVbNBGKc0ikCPIcXDLEpPSv/OMd8xCtgWumbe6u+T8XXG1tK5Y0lLrNemxM9KnV6LxSOLHO/8M3ItRoo7/MXjqVV3V6Eo6gq1NpKmdpqrSJrlqVtmqWtvLKdSAE4jppnYCzqGFrZq5GTj6UIDRptLSQ9d9YpVvlWONkPz8ntx5+AOEC3tuxJj6RDTvnx0929CTcxwfyu8xsZmSZ7Ufbg7aPWP/YPvR9f2IB32doHHHRV77R2KhusLGxqBuNRn4CnoTDWhqWbIuzs27kuLY9aY+PgJnW71brP9bmANYhJxG1bh5wDolODziBaAafcw8JqBiRRAXsfUoRhfVNWVDeyFaNfdw6JAIAAJDj8ANt3MGMQbS0vNJy12ZEbA2jOSGkBYp8Ixg1iIzius1UASLC+IXGkaq0VCbVL8SJtGdu8ROpZnXm044iESCxTGU9+LiZiCB2yQXEu4peLTJ2yR1Epvfykj0TtQRpBQAAFIB/aMZaw0gB2M/bh/hb/zXoWxp9oYmqzaceIhxaFgQfAgAAZAU8VTNWcEaadPMHcgixZ91pSkk3FkTqRNKHHZepMWgFkgSDH+tDeIOPeIREjbuhA8H+c0pLYHZBfHceNfQbjvg/LKMeXJ7b7uPuIMG3o48C8CfGoq1CQA4GiWx0MoG7Mql/PRkOQDDqJqfIqbW+iWdegutknfEuiDATTEqFWYJyk9B3iU6e1WLa4/DK+q94kxNpUrp0w0ODwW/ANGAAAAEtAMC/rOzHAA/lUsqkFl2Cey+FHvfBAqdYQAAO8HlUF3cBDYjAV8AAHAgTCEAKdMsmAiaoAgiAUHgAgBi0aQIEaGBAgAEFHBIQQAOjPKrLLQENbMErAQNo4F+BANIgsjsiEOv284siGE7OL46CcGSZ+Rf3J6ZeQIvG/EVthFHu6iXLjv+BjHoJh/ZKN7Pookp1362bhqWIm1XuGOyUzebPs7cZ5/kUpK6+KILh5PjF3TwF4ThrS7/3fmLqBZSS/6tpM0T94jtXJxcK/gdlqkkKktxe6cZ0LTqHqD6uOt8fNSxvpjgz3rhjeNNPcglj/nRGs4q09FR9aR2QFKjdZO3FBxcgQYEGAxY8wL9R+tUBBwQBhBCNJ9PZfLFc5fWNza3tnd29/YPDo+OT07Pzi8ur65vbu/uHx6fnl9e3d4PiNJEdiZtBUqhjAU4dEh49me/hgbaN8NwVCY+hGfXDvOx8kbSrQGWISsjTVlv7iL2UFhSRtzDT4U7ALfd9haXz/o3kZfRUyHE7TNIX4t3rhv92oU083DveSbf6jSGDbZ7PMUJAL/I42JvMUPf/M+X+JasHHgwEweVg0o1AxkL8wIl4nCT0imybFocgOYc0JLIC/qP1lJB3RbiEwolRZMgdeNL2HoX0ug9SRPdiGfUYZF6UUrZ90l5xiwvuGHrqmz5vea5DQ9CQDxVbkxE+A9dYrCJI7n708sClA+8mMDxACNLZxpCwJ9Fll4UVbmR1tQI=) format("woff2"),url(/zhenxun_bot/assets/fonts/iconfont.938fa69e.woff) format("woff"),url(/zhenxun_bot/assets/fonts/iconfont.ecabaf00.ttf) format("truetype")}.iconfont{font-family:iconfont!important;font-size:16px;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.reco-reddit:before{content:"\e701"}.reco-instagram:before{content:"\e6fc"}.reco-language:before{content:"\e65e"}.reco-bitbucket:before{content:"\eb57"}.reco-faq:before{content:"\e643"}.reco-lock:before{content:"\e60f"}.reco-sticky:before{content:"\e62b"}.reco-blog:before{content:"\e61d"}.reco-mail:before{content:"\e624"}.reco-friend:before{content:"\e62f"}.reco-rss:before{content:"\f09d"}.reco-fullscreen:before{content:"\e602"}.reco-api:before{content:"\e662"}.reco-jianshu:before{content:"\e60c"}.reco-mayun:before{content:"\e6d0"}.reco-weibo:before{content:"\e612"}.reco-bilibili:before{content:"\e630"}.reco-douyin:before{content:"\e654"}.reco-v2ex:before{content:"\e62a"}.reco-csdn:before{content:"\e609"}.reco-juejin:before{content:"\e613"}.reco-wechat:before{content:"\e720"}.reco-qq:before{content:"\e67b"}.reco-facebook:before{content:"\e606"}.reco-twitter:before{content:"\e60b"}.reco-zhihu:before{content:"\e605"}.reco-douban:before{content:"\e603"}.reco-taobao:before{content:"\e6a5"}.reco-toutiao:before{content:"\e6b7"}.reco-linkedin:before{content:"\e668"}.reco-document:before{content:"\e67a"}.reco-sf:before{content:"\e610"}.reco-coding:before{content:"\e601"}.reco-gitlab:before{content:"\e63c"}.reco-suggestion:before{content:"\e608"}.reco-tongzhi:before{content:"\e764"}.reco-huawei:before{content:"\e6b9"}.reco-beian:before{content:"\e667"}.reco-color:before{content:"\eae9"}.reco-other:before{content:"\e60e"}.reco-copyright:before{content:"\ef87"}.reco-theme:before{content:"\e7e8"}.reco-eye:before{content:"\e669"}.reco-menu:before{content:"\e67c"}.reco-up:before{content:"\e68b"}.reco-npm:before{content:"\e88d"}.reco-search:before{content:"\e611"}.reco-message:before{content:"\e634"}.reco-three:before{content:"\e644"}.reco-github:before{content:"\e628"}.reco-bokeyuan:before{content:"\e626"}.reco-date:before{content:"\e63b"}.reco-account:before{content:"\e607"}.reco-category:before{content:"\e61e"}.reco-home:before{content:"\e65b"}.reco-tag:before{content:"\e633"}.content{margin:4rem auto 0;max-width:800px;padding:0 2rem}.mod_404 .desc .desc_link{display:inline-block;background:#424242!important;color:#fff;padding:6px 20px!important;text-decoration:none!important;border-radius:4px}@media screen and (max-width:720px){.mod_404 .desc{margin:50px 0}.mod_404 .wrapper{margin:0!important;padding-top:20px}}code[class*=language-],pre[class*=language-]{color:#ccc;background:none;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#2d2d2d}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.block-comment,.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#999}.token.punctuation{color:#ccc}.token.attr-name,.token.deleted,.token.namespace,.token.tag{color:#e2777a}.token.function-name{color:#6196cc}.token.boolean,.token.function,.token.number{color:#f08d49}.token.class-name,.token.constant,.token.property,.token.symbol{color:#f8c555}.token.atrule,.token.builtin,.token.important,.token.keyword,.token.selector{color:#cc99cd}.token.attr-value,.token.char,.token.regex,.token.string,.token.variable{color:#7ec699}.token.entity,.token.operator,.token.url{color:#67cdcc}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.token.inserted{color:green}.hero h1[data-v-ef66d4da],.hero p[data-v-ef66d4da]{color:#50e3c2}.hero[data-v-ef66d4da]{background-size:cover;background-attachment:fixed;width:100%;height:100%;position:fixed}.categories-wrapper[data-v-ef66d4da]{max-width:860px;margin:0 auto;padding:4.6rem 2.5rem 0}.categories-wrapper .category-wrapper[data-v-ef66d4da]{list-style:none;padding-left:0}.categories-wrapper .category-wrapper .category-item[data-v-ef66d4da]{vertical-align:middle;margin:4px 8px 10px;display:inline-block;cursor:pointer;border-radius:.25rem;font-size:13px;box-shadow:var(--box-shadow);transition:all .5s;background-color:var(--background-color)}.categories-wrapper .category-wrapper .category-item.active[data-v-ef66d4da],.categories-wrapper .category-wrapper .category-item[data-v-ef66d4da]:hover{background:#3eaf7c}.categories-wrapper .category-wrapper .category-item.active a span.category-name[data-v-ef66d4da],.categories-wrapper .category-wrapper .category-item:hover a span.category-name[data-v-ef66d4da]{color:#fff}.categories-wrapper .category-wrapper .category-item.active a span.category-name .post-num[data-v-ef66d4da],.categories-wrapper .category-wrapper .category-item:hover a span.category-name .post-num[data-v-ef66d4da]{color:#3eaf7c}.categories-wrapper .category-wrapper .category-item a[data-v-ef66d4da]{display:flex;box-sizing:border-box;width:100%;height:100%;padding:8px 14px;justify-content:space-between;align-items:center;color:#666}.categories-wrapper .category-wrapper .category-item a .post-num[data-v-ef66d4da]{margin-left:4px;width:1.2rem;height:1.2rem;text-align:center;line-height:1.2rem;border-radius:.25rem;font-size:.7rem;color:#fff}@media (max-width:719px){.categories-wrapper[data-v-ef66d4da]{padding:4.6rem 1rem 0}.page-edit .edit-link[data-v-ef66d4da]{margin-bottom:.5rem}.page-edit .last-updated[data-v-ef66d4da]{font-size:.8em;float:none;text-align:left}}.hero h1,.hero p{color:#50e3c2}.hero{background-size:cover;background-attachment:fixed;width:100%;height:100%;position:fixed}.content__default code{color:#505050;padding:.25rem .5rem;margin:0;font-size:.85em;background-color:var(--code-color);border-radius:3px}.content__default code .token.deleted{color:#ec5975}.content__default code .token.inserted{color:#3eaf7c}.content__default pre,.content__default pre[class*=language-]{line-height:1.4;padding:1.25rem 1.5rem;margin:.85rem 0;background-color:#282c34;border-radius:6px;overflow:auto}.content__default pre[class*=language-] code,.content__default pre code{color:#fff;padding:0;background-color:transparent;border-radius:0}div[class*=language-]{position:relative;background-color:#282c34;border-radius:6px}div[class*=language-] .highlight-lines{-webkit-user-select:none;-moz-user-select:none;user-select:none;padding-top:1.3rem;position:absolute;top:0;left:0;width:100%;line-height:1.4}div[class*=language-] .highlight-lines .highlighted{background-color:rgba(0,0,0,.66)}div[class*=language-] pre,div[class*=language-] pre[class*=language-]{background:transparent;position:relative;z-index:1}div[class*=language-]:before{position:absolute;z-index:3;top:.8em;right:1em;font-size:.75rem;color:hsla(0,0%,100%,.4)}div[class*=language-]:not(.line-numbers-mode) .line-numbers-wrapper{display:none}div[class*=language-].line-numbers-mode .highlight-lines .highlighted{position:relative}div[class*=language-].line-numbers-mode .highlight-lines .highlighted:before{content:" ";position:absolute;z-index:3;left:0;top:0;display:block;width:2.5rem;height:100%;background-color:rgba(0,0,0,.66)}div[class*=language-].line-numbers-mode pre{padding-left:3.5rem;vertical-align:middle}div[class*=language-].line-numbers-mode .line-numbers-wrapper{position:absolute;top:0;width:2.5rem;text-align:center;color:hsla(0,0%,100%,.3);padding:1.25rem 0;line-height:1.4}div[class*=language-].line-numbers-mode .line-numbers-wrapper br{-webkit-user-select:none;-moz-user-select:none;user-select:none}div[class*=language-].line-numbers-mode .line-numbers-wrapper .line-number{position:relative;z-index:4;-webkit-user-select:none;-moz-user-select:none;user-select:none;font-size:.85em}div[class*=language-].line-numbers-mode:after{content:"";position:absolute;z-index:2;top:0;left:0;width:2.5rem;height:100%;border-radius:6px 0 0 6px;border-right:1px solid rgba(0,0,0,.66);background-color:#282c34}div[class~=language-js]:before{content:"js"}div[class~=language-ts]:before{content:"ts"}div[class~=language-html]:before{content:"html"}div[class~=language-md]:before{content:"md"}div[class~=language-vue]:before{content:"vue"}div[class~=language-css]:before{content:"css"}div[class~=language-sass]:before{content:"sass"}div[class~=language-scss]:before{content:"scss"}div[class~=language-less]:before{content:"less"}div[class~=language-stylus]:before{content:"stylus"}div[class~=language-go]:before{content:"go"}div[class~=language-java]:before{content:"java"}div[class~=language-c]:before{content:"c"}div[class~=language-sh]:before{content:"sh"}div[class~=language-yaml]:before{content:"yaml"}div[class~=language-py]:before{content:"py"}div[class~=language-docker]:before{content:"docker"}div[class~=language-dockerfile]:before{content:"dockerfile"}div[class~=language-makefile]:before{content:"makefile"}div[class~=language-javascript]:before{content:"js"}div[class~=language-typescript]:before{content:"ts"}div[class~=language-markup]:before{content:"html"}div[class~=language-markdown]:before{content:"md"}div[class~=language-json]:before{content:"json"}div[class~=language-ruby]:before{content:"rb"}div[class~=language-python]:before{content:"py"}div[class~=language-bash]:before{content:"sh"}div[class~=language-php]:before{content:"php"}.custom-block .title{font-weight:600;margin-bottom:-.4rem}.custom-block.danger,.custom-block.tip,.custom-block.warning{padding:.1rem 1.5rem;border-left-width:.5rem;border-left-style:solid;margin:1rem 0}.custom-block.tip{background-color:var(--code-color);border-color:#67cc86}.custom-block.tip .title{color:#67cc86}.custom-block.warning{background-color:var(--code-color);border-color:#fb9b5f}.custom-block.warning .title{color:#fb9b5f}.custom-block.danger{background-color:var(--code-color);border-color:#f26d6d}.custom-block.danger .title{color:#f26d6d}.custom-block.right{color:rgba(0,0,0,.4);font-size:.9rem;text-align:right}.custom-block.theorem{margin:1rem 0;padding:.1rem 1.5rem;border-radius:.4rem;background-color:var(--code-color)}.custom-block.theorem .title{font-weight:700}.custom-block.details{display:block;position:relative;border-radius:2px;margin:1em 0;padding:1rem;background-color:var(--code-color)}.custom-block.details h4{margin-top:0}.custom-block.details figure:last-child,.custom-block.details p:last-child{margin-bottom:0;padding-bottom:0}.custom-block.details summary{outline:none;cursor:pointer}.arrow{display:inline-block;width:0;height:0}.arrow.up{border-bottom:6px solid var(--text-color-sub)}.arrow.down,.arrow.up{border-left:4px solid transparent;border-right:4px solid transparent}.arrow.down{border-top:6px solid var(--text-color-sub)}.arrow.right{border-left:6px solid var(--text-color-sub)}.arrow.left,.arrow.right{border-top:4px solid transparent;border-bottom:4px solid transparent}.arrow.left{border-right:6px solid var(--text-color-sub)}.content__default:not(.custom){max-width:860px;margin:0 auto;padding:2rem 2.5rem}@media (max-width:959px){.content__default:not(.custom){padding:2rem}}@media (max-width:419px){.content__default:not(.custom){padding:1.5rem}}.table-of-contents .badge{vertical-align:middle}body,html{padding:0;margin:0}body{font-family:Ubuntu,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:15px;color:var(--text-color);background-color:var(--background-color)}.page,.password-wrapper-in{overflow-x:hidden;margin-left:18rem}.navbar{z-index:20;right:0;height:3.6rem;box-sizing:border-box}.navbar,.sidebar-mask{position:fixed;top:0;left:0}.sidebar-mask{z-index:9;width:100vw;height:100vh;display:none;background-color:rgba(0,0,0,.65)}.sidebar{font-size:16px;background-color:var(--background-color);width:18rem;position:fixed;z-index:10;margin:0;top:3.6rem;left:0;bottom:0;box-sizing:border-box;border-right:1px solid var(--border-color);overflow-y:auto}.content__default:not(.custom) a:hover{text-decoration:underline}.content__default:not(.custom) p.demo{padding:1rem 1.5rem;border:1px solid #ddd;border-radius:4px}.content__default:not(.custom) img{max-width:100%}.content__default:not(.custom) :first-child{margin-top:0}.content__default.custom{padding:0;margin:0}.abstract img,.content__default.custom img{max-width:100%}a{font-weight:500;text-decoration:none}a,p a code{color:#3eaf7c}p a code{font-weight:400}kbd{background:#eee;border:.15rem solid #ddd;border-bottom:.25rem solid #ddd;border-radius:.15rem;padding:0 .15em}blockquote{font-size:.9rem;color:#999;border-left:.25rem solid #999;background-color:var(--code-color);margin:.5rem 0;padding:.25rem 0 .25rem 1rem}blockquote>p{margin:0}ol,ul{padding-left:1.2em}strong{font-weight:600}h1,h2,h3,h4,h5,h6{font-weight:500;line-height:1.25}.content__default:not(.custom)>h1,.content__default:not(.custom)>h2,.content__default:not(.custom)>h3,.content__default:not(.custom)>h4,.content__default:not(.custom)>h5,.content__default:not(.custom)>h6{margin-top:-1.5rem;padding-top:3.6rem;margin-bottom:1rem}.content__default:not(.custom)>h1:first-child,.content__default:not(.custom)>h2:first-child,.content__default:not(.custom)>h3:first-child,.content__default:not(.custom)>h4:first-child,.content__default:not(.custom)>h5:first-child,.content__default:not(.custom)>h6:first-child{margin-top:-3.5rem}h1{font-size:1.6rem}h2{font-size:1.4rem}h3{font-size:1.2rem}a.header-anchor{font-size:.85em;float:left;margin-left:-.87em;padding-right:.23em;margin-top:.125em;opacity:0}a.header-anchor:hover{text-decoration:none}.line-number,code,kbd{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}ol,p,ul{line-height:2.2}hr{border:0;border-top:1px solid var(--border-color)}table{border-collapse:collapse;margin:1rem 0;display:block;overflow-x:auto}tr{border-top:1px solid var(--border-color)}tr:nth-child(2n){background-color:var(--code-color)}td,th{border:1px solid var(--border-color);padding:.6em 1em}.theme-container.sidebar-open .sidebar-mask{display:block}.theme-container.no-navbar .content__default:not(.custom)>h1,.theme-container.no-navbar h2,.theme-container.no-navbar h3,.theme-container.no-navbar h4,.theme-container.no-navbar h5,.theme-container.no-navbar h6{margin-top:1.5rem;padding-top:0}.theme-container.no-navbar .sidebar{top:0}@media (min-width:720px){.theme-container.no-sidebar .sidebar{display:none}.theme-container.no-sidebar .page,.theme-container.no-sidebar .password-wrapper-in{margin-left:0}}@media (max-width:959px){.sidebar{font-size:15px;width:14.76rem}.page,.password-wrapper-in{margin-left:14.76rem}}@media (max-width:719px){.sidebar{top:0;padding-top:3.6rem;transform:translateX(-100%);transition:transform .2s ease}.page,.password-wrapper-in{margin-left:0}.theme-container.sidebar-open .sidebar{transform:translateX(0)}.theme-container.no-navbar .sidebar{padding-top:0}.password-shadow{padding-left:0}}@media (max-width:419px){h1{font-size:1.9rem}.content__default div[class*=language-]{margin:.85rem -1.5rem;border-radius:0}}.iconfont{font-family:iconfont,Ubuntu,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif!important;font-size:13px;color:var(--text-color-sub)}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-thumb:vertical{height:5px;background-color:#3eaf7c}::-webkit-scrollbar-thumb:horizontal{width:5px;background-color:#3eaf7c}.vuepress-flowchart{overflow:auto}.sw-update-popup{border-radius:.25rem!important;box-shadow:var(--box-shadow)!important;color:var(--text-color)!important;background:var(--background-color)!important;border:none!important}.sw-update-popup>button{background:#3eaf7c;border-radius:.25rem;color:#fff;-webkit-tap-highlight-color:rgba(0,0,0,0);border:none}.hero h1[data-v-c29f409a],.hero p[data-v-c29f409a]{color:#50e3c2}.hero[data-v-c29f409a]{background-size:cover;background-attachment:fixed;width:100%;height:100%;position:fixed}.tag-wrapper[data-v-c29f409a]{max-width:860px;margin:0 auto;padding:4.6rem 2.5rem 0}@media (max-width:719px){.tag-wrapper[data-v-c29f409a]{padding:4.6rem 1rem 0}}.hero h1[data-v-76b3aa19],.hero p[data-v-76b3aa19]{color:#50e3c2}.hero[data-v-76b3aa19]{background-size:cover;background-attachment:fixed;width:100%;height:100%;position:fixed}.tags-wrapper[data-v-76b3aa19]{max-width:860px;margin:0 auto;padding:4.6rem 2.5rem 0}@media (max-width:719px){.tags-wrapper[data-v-76b3aa19]{padding:5rem .6rem 0}}.hero h1[data-v-5920e741],.hero p[data-v-5920e741]{color:#50e3c2}.hero[data-v-5920e741]{background-size:cover;background-attachment:fixed;width:100%;height:100%;position:fixed}.timeline-wrapper[data-v-5920e741]{max-width:860px;margin:0 auto;padding:4.6rem 2.5rem 0}.timeline-wrapper .timeline-content[data-v-5920e741]{box-sizing:border-box;position:relative;list-style:none}.timeline-wrapper .timeline-content[data-v-5920e741]:after{content:" ";position:absolute;top:14px;left:0;z-index:-1;margin-left:-2px;width:4px;height:100%;background:var(--border-color)}.timeline-wrapper .timeline-content .desc[data-v-5920e741],.timeline-wrapper .timeline-content .year[data-v-5920e741]{position:relative;color:var(--text-color);font-size:16px}.timeline-wrapper .timeline-content .desc[data-v-5920e741]:before,.timeline-wrapper .timeline-content .year[data-v-5920e741]:before{content:" ";position:absolute;z-index:2;left:-20px;top:50%;margin-left:-4px;margin-top:-4px;width:8px;height:8px;background:var(--background-color);border:1px solid var(--border-color);border-radius:50%}.timeline-wrapper .timeline-content .year[data-v-5920e741]{margin:80px 0 0;color:var(--text-color);font-weight:700;font-size:26px}.timeline-wrapper .timeline-content .year-wrapper[data-v-5920e741]{padding-left:0!important}.timeline-wrapper .timeline-content .year-wrapper li[data-v-5920e741]{display:flex;padding:30px 0 10px;list-style:none;border-bottom:1px dashed var(--border-color);position:relative}.timeline-wrapper .timeline-content .year-wrapper li:hover .date[data-v-5920e741]{color:#3eaf7c}.timeline-wrapper .timeline-content .year-wrapper li:hover .date[data-v-5920e741]:before{background:#3eaf7c}.timeline-wrapper .timeline-content .year-wrapper li:hover .title[data-v-5920e741]{color:#3eaf7c}.timeline-wrapper .timeline-content .year-wrapper li .date[data-v-5920e741]{width:40px;line-height:30px;color:var(--text-color-sub);font-size:12px}.timeline-wrapper .timeline-content .year-wrapper li .date[data-v-5920e741]:before{content:" ";position:absolute;left:-18px;top:41px;width:6px;height:6px;margin-left:-4px;background:var(--background-color);border-radius:50%;border:1px solid var(--border-color);z-index:2}.timeline-wrapper .timeline-content .year-wrapper li .title[data-v-5920e741]{line-height:30px;color:var(--text-color-sub);font-size:16px;cursor:pointer}@media (max-width:719px){.timeline-wrapper[data-v-5920e741]{margin:0 1.2rem}} \ No newline at end of file diff --git a/assets/fonts/iconfont.938fa69e.woff b/assets/fonts/iconfont.938fa69e.woff new file mode 100644 index 0000000000000000000000000000000000000000..d2e44dc6f44690de4844e4d23c770c52563523fa GIT binary patch literal 11476 zcmY*v+qN-rCbn&xlVoDsw#|vniSg!p_x`zEwW@oq?%lojzg=C+ zT~R^;00Q_ofJ*?l|7Nk<|Kb0w|L>4gRTlvOK%oDry#Js^98KY+sLIIlPZRsc|AP^q zzG{H!4`auFS_A+9iVXljc&$)PMO)f=S^xlG1pokr3IM>_Hne7ZXJu||1^`e${)=P& z2M(fJT?ngxA^<=`{f`s>133&5__oy#SC4<1)IZMk4~M6s-#c~=rvIG__{UxULz!vQ z#1CVSfA7-#cOTI|5QAudK-wGsFb4o=(f{Qm^e-Pv;v)ron*ia3Z$J4l{ZSG}Om>K6nc2?betaHMR^c~JFE@3gyHS{~=H z3ehRS&x*jI`y~%^HWZ;Vvaeu$4KSGxVMk?h=9>`{0C)*i`v7T3FZII_8SIW_qHgq&EaY~Wem#kbTduC!HI#5w@l zUhN*}4Wtfl2;3%WW4*qV zMW!>De||r!OB03WPj^P9Xk*?9LC88(SfP+D*`Uy?HALXqG)55Hv_?>z*G16M>JDM4 z14(1ENRP`WrA*y*4?)iB$Do&NOHO<-wS(SbAHUV3r-Z>IvL*|}ISNUlyF>;ha2J{TxZ@)=l&um7ZQ;g6Cy4#BNaj&(FsF^ND)TA2)J*;$RXS~vGrX`Ghx=C z=S#)3t*-u=_GbIL`KejpHnnrn;mXAUlKgSoduC(Tz`NF=wtI#1qt~H&&=KC{jr-ob zp>HS?ly&IRIF40r-38oWFM3&~dEuJFclJ4}+rDGf}NB< zt%`jA0qS#*5lWuUeO>C>s3AvYy>gVu5&}KOeq6h{k7I1>u9YC$65-T2Wb1z@p z>Xv3g)nWLa1HPRUBkZtHr;i`^?9M2~EUZ%&7QBN6MR9KqJ2fOV2(^Y415*9jNX4Wv zpfSks;*i`-;M!uN#;EhgVZuRyXO6?THnRm5nA|)K@5NWQ88~`^Ty1`M^mCFh%vI6Z zgQ^FkHltpuWYf{~!3lmxV`@mWqrbv*v#rh7vOE2LKD{M3d2Gy{*uL_`)!qmG2`&=8 z;ZGONznE2jviGn~ML<7QO;M)b_5VH@yGa%gW8z3Qk=XwX)o9iO;4l%?s$2c!wP+Qo z3`Aa|#|td!qwwl430h>H*KFl$hiKN^(X?ZWdI=Lj6v_^yPck;$h6&pxa5S*BeQ1W+QlB2(6oQIm z!9BV=<+K{oST*|YUt!4`rEr9!g0<8w=i zpY0|38wIy^7F<;1-Twro$6U>;O%ycr7-k!MI5k4(0iwq>Mxhsg<}6f%5hS@VS_Nmhvs@FWqrK%tHo z)(g8TdX}kW(HM>=EPi{uG3iqE&KOCUu!W&af!efJEBubz5*am3H+XM0O_n6|z~TQU z`N`e&K8!`w=4lOMfU)x_dnnBUw~%QXmPzRAuNL4Qz!^hs5*8>Z4#JH8&QNK3dCKe%(<-8PgQFe?HfeF!Z+s|I z8@y}J0Wq`td% zDsc0xS5dz(W|jKCx2in&hi=MLYryzE5pl(#7|HpCZ;Pd6z-xUGHV)~H_=LQ2#lUI( zsKtu3MiN%8D27e7r(FPb@Ft#E`j{oXh5q)ZGM}Iew|*D6z%Rm80UzOckXPp)5*fSPLLVRT!gXp@Cn9zTgl=U=W!ONmLOiC$e$ z(Ul61PJv^D0LyVU{W^K$!nM*D&7#uO6;!({8#NKwI1i8R_a36%S&@k=yPAxXM;DWN zPRD2k!pCJ0!T-xg> zpsR#ASv&g)QT>_?8sYmZ?Dy~(UlX6r#zzl_D`_T|H^sei0rG0q6hcfq(w?ePjSq5E z^})fIK^ogv!+Wb#CBv@Aa^4Pjt#7CXJtINy5kXSfr2CHRfvTyz2ARtNm?cgXQ`6rS zC-n{IZ}Ton`bk{D`AwJQ*oGSEo3_`X1?S$R9~^ldcSE@iGgTYyH%W?#u&S0d7WQEB z)`1|lZoVF^<&DH*@!UusCQ@cV>;~VVc{s8x!^RL}FZ2rI=g&X`O~zyKXSEqd&40;by0qCmC{1p+ zp&{nG%*z9Xp~;*SLMAS>1Ksq}=&MKZNw?S}Lp@h3Do)-PNwU{(@*BaZ{c91y=v^qu@;~mgmQcg z5z?E~>XOn3BKfi8sAsvh_)9V048@afZ4!0Sf9mr0oxq-`5eQl$zC|(Vxrj6|aBW zxCV8`4B>}OC}d=J_E0W3L(&F^Z1fvv8@Er@#tM6$;WVPH+u~c|MXorgcCb_duI6#8 zU~yn7(bs!dodCPM$M&WteI{vN^sGrpioxEaa^v90Oio#juI3`gtRN%b5nN87-)RV6 zrJf}t0%h5PAD9wM>Xktxwb4-o1B)16AMuc6@$9Kg3mL)(ZGvm79cRPU#{$A+Nli1( zC&62*6mbNZL2yUm{7~3(m04sD3xqLz1-(h7+KFSP+w%V&Uv+O(Eb`8$2%++WQ1=io zU#A=p;Ts`iQ`9ns&#El@K@Hn)$5c4UEow$lW%M&UX3%h7D^C+-d^=s895b|c^r0ud z$9xR?j(hQVTbVg;6q~MW@Qr2ugC;k9;6^Y6g|y1*{Jt;jqGx(Pv#oGD`&_x#+bigk z&6Ci~3~l&tB0g85oY*2DEMx+fRw-er?6$`NtzX!Z+6$^!Dbi@g27#z5OV{U$amVp+ zJW=Pz;W!!R#|seW3oI#ELhdsPH@d<~nOT>2bDxp=c<2k}vA`tD<^{7&F3;b$Q{Z*O zHdaV;Dx)Kh!@sDz5k`(Mprx$CfEiEt#eW$))fdI}BTwqd_x95}gEteZ|Jy&z^9iAJ z*UeR~4^)G$dyHa{Iijl{SLIaVxt+b_i>)l zZoniaSxteR$_r~3vu*ftYiR57zU-{jSs{u3mnqp^NV{v0Ij`garlJ;AS|m!dhRPK(6ORJ~SWq_sIuFkyzSe4?BNM%C@w(!6+k^9{WuR_e-Eg-;FKU0~|(4xpwk z@z|7xU21w_)i|{Dqy#=V5TzLE`y}LRtdNnm*-ksh3f-lFJZfC7 zT904?lU?D^Og& zGe#Weqz-5=cZPf6*;|d$-&cVhHYF6cN>!> zSqwMIz8qw|BV&A5eZSbqLaYaTU)atbdTuDyBt}}Qcu=2W1EL7etfh9y9QCgl_4;T{ zBwk3m-=umteBtm|>kL`JH#~A#z|5B}(sxu3f|y9&m#;_@5M!aj2t(NWYtTnQN^cj< zsbHM=-BMz;9iFze(BxGuSAH8P;D-1Wtlkao(ntP{K1y9cf^lwzvt5Na9J225h9-JmzQgI6>NcYRM1I{i1 zqsKmaqOH#Ne&=Q#KgZ{t+FXi!q8*d~#4@y_5jzro{5@yTE>#ZptX;jI$vB#5Zv7f| zy}UU>t!N5vu;iI5`pzGJW8Ta>tZDD!2wu3*aE-wnm@#bNr;U<^%M+852pAUQ(sFTMoZ$AR~|79?9_dAMCN7T z(A_R?*_UQ5J@E;^0K$%{%`7m^L;;{MYCk%!cx=G-;%Ybu2;oCHV~X%i0!1<}p7hr> zv*@0EAAqlV!e|jyaaKWfM7|&-+EbRQnBfS4svaPUC;J7w}DjD+%Jz+4gnrME`kM+jG!@bIepq-+|N28aYG}b8yyi|80 z(TllS{qAT+yC5Oa5rZ{mZ2{#!>anuP(hc5P{e%BRl2#Uyu+7;wULn$AI`#y_|G9&~ z2QSC|pkGt{%Bd$bF3UXF3l@B*JWckP$9@*Al~FBQMujIb_OW z#+DNRIAMISUR{(!jvy3~W@I+Z6)D?j;Vx~>B+hAUb7Ds+W!sk{R%O>`$=afC@BM|B&t zUAar=>EFUCd1Uws&oa`7%w(Jj1vRjcnSR*@kYCDnM*>pV>*$PBq+k*Nza}%AhG0PV(G?1~P}2pT0Z>i^s2JZxcE&(Lct>PM{vf76 z?S@#PIAgwmz7yG^pqPQEgGqdd!6E%;-fSwxQgVWSVdl&B58a_$ zUI+iX;X5XHO=L8CJjvGL&Czj)kw22riyvV}zKVRzAAh2aL4FXy^hVQ?DR;S+`NJMC z|NFHA4*4Auo|+dkVyLwVrIR$3Z9n+{oYtws4+q8DMhvk*(S-%PEf?fbN~T2c(Z!72 z5uH#(>k#?2MxQYPTH=r?H>xnj)fu&!xNqDZ(y-HArF#|St!4OTP`?ri$W?|W{Vrmm zPUB_C?&#Q2Oh6H*-~F09?Kellk+iBh&Fwjo*|{I7x!f=xi0w-onw<{rrE>Q+W_AW1 zUsmj<1}?;fn`N>{DU%vaOq33^n6o{V&<~`Ql_}C!Q5*7HxaD>{x-@IlUq%9EW%-0f z;aHznbUQS*`G2TQCbPO6{~WrLiJ29OnB|V+U&+DiG?CFDaJlIB%07FqWzSrHvG{@` zW@Qw+fB|V^(OE&3msIT#++%H9wvvdhxxuaH zgKsCJ@wj^#7>E=H4vvR{+a2MK-_t=bC(4epiO-u@t13pkRys&;q>+raUG`V&60KQq ziR#XH3gQ;8?p}U^qJ8mJBlZnRA1;(q3j~v5IYS10-f1_~y?+f4`#9cR$C;w}1pNH_ zf%j%6HK1yBy*BVx;H8%|ti?IO*qz!XV;|H*kr7=W`2^8fav-Hvv0O@lp%XtMluFn< zjS+>%*SmQD@phzqSBt3MeX>8%Cv>#Wujzkq&VN&-_B+-6y8X?m>0uCxYE!g%UV*Nc zE>kXcB$?}?QyajOJM-t~a5EzgwhSbhPIDF}J%nOFVa<~#pI&vIXxJ*j=a2wmwvI*& z4$Ya0qd|q9tmJuz2n~B8y-TxA{gjJmKarG6hjoRmM?pRrcc0$u)`!Jcg}9*)He1iK z;aLzC(hRX(UYRg;+fzt+!+cTdd@8GPiK6V>t^F*Au3xQrl2AG1F+?)%t|zCgm@5`Z zFSJJbEn{R9@ONb)Zjkn21f8+$!w`4SwW@F+(IWmhGb_E2c#*37VQz^V7Tj7|C+)A~ z@A;>vt*zWGvkgW4F-f1pswYv$eBO&(Kli@Cy4|x;*d~XU*}Nmm^`J zF6jC!?l~NPwPl1=0aS-HWlFZPvbo+c*;vSq+Fph`^?L{wI28=b1tVo|w#8%2%Vx7; ze@ad5YDdRF7dV2b7*Z@mm8B@i*f?mb>c93*1h`e4B_;56 z=7~Y({Z-5kDp8aX`!HL0u;j9RhZ)f&L38p+y6kk{lW+v-Y*=bdU8Th<0Sk3~v)>HA zY0LJt;><@?AZsY?L@`f0Dm*@{#N+cfS{?FFWmd$@x1tc(FlFP$K?M5J0dolr@4!g} zd|4*7I9F7sZIv;KoN{Y4Q?gQ@iAH$sLt+y$V7&B8(9z+#EQ6Vjzmn8>WJ%ggXzzYT zg_kdZLYb=hZi^X?Cgp2MRmr2>z0`_3y!xTA81vpyR5UqC5XkzFpn*fHij14S8=OYU zIY?_(1UGizf`_!M62A0F4p?yNkVQg7hT6!rqYu}W2?gbFpI>0JD!ICb7=}~m{?i*T zTBuu$E9ES@<-`!W^wXR0# z>(ZoT;Bkl==U&M`%8<)L5~E|acAV<7B8f2KABOa?iEy#AL=op8+X=KBO52_aO^@Z4 zpv0=EM_EfQ>BJ`o+^uny!osefM8V8@@SD^j8&GkWY*62T$V z)rzai8}wSt+4#CdU)Uo429Q~!@pX!BeX;d}V#}^GGgFmiBOJA{HDtfz(6&b%4Uy%32WIrU!v2NCtR{S=MtSw&NJUI5(DR zI}*OjV-_d=8oax8TgC{_j^0E@GO9A0-cQS7wBks$`lbl<6r2ewV%+n={q%X)L)%`l zYZ4GsCYrK|CO^L)aklfJ?fX`dh`EiZzB`q!b@$n+3crF{h1&1`#G|XLTLpem=M=HM z!KT=)MV<<#sON%j-%rGqk6TV`_b%Zh2<+c|-MLi48E1@CnbZrCGA8k`&Rm*cN15oz zcVrjpaKG%7n@clpo=qnM~#6^YHn$#c>kn5J`w~Z`By~ zIB|>}s$>NQ%g&clIBRaWy0ThYM@{`^anLp>V{#V%p`?EBwj7skGklm~vT49!xT%WA zkoGv)JWC4liQ3`k?@Mj1Z<_UVYR|=w;>QuSN_51LfF>71!=!5je{FOf%8hF)wyA|{ z8v8S}1}@FN26WDlDO4}wW_PSuQcX7$>6l$M7-=I5f7zDzIWJ>-!b#Us@p4;xQIfY=tuigj+vDIq zUioQs5|0_+sq;+KE3?3@Ds=<|Zhs74gIkDePZDK2Tryy~a~{VZv1^0pu+4vxzU@lr z)H&1iiw#B@Q$J2VSeDOPBty068OZ3ZU+8C2>-QW9v1H#&Ki|K(ZMIx)G@Ea_dAYu! zsB5T7Ys-crF(}N~rCq7fI>g3eHLm}8$w*Z!CAWN-Iwai~oQzDNq*5jJrcUY>q%tkQ zi3vHQJvg_=>vRme=g<2PZe!4+g1ZbynLI0~ketgSvo%XkRbu&|Z<4-6e{=_my#nC? z{(iAuB9Zr7D903n5q2_>)=Z7AP$&hftF?gx@BrFkS}d{i(P|Vmq$^xhBTDO$D!$;` zX@Tsw?$pVCBQsr`4{yhhGG-QRg#x-%Ejbv$LR?5c>av;-T4dTU2=*r!X1dVtDw9k_ z*)a`nzC^t!!BpE5jUjc)T7hD?5qmPi=;2s@C-KbRZp_>RDvVtJx#fA649|>uL}T$F2;@PnE)= z-|q^9*TGoNc>&QUuUnDSUZO)2?8H3N$78g+%lb@A>E?n6r(Tfz1%q;YDMQ+V&V|5* z^MUCBy!q8OaD=w);-{C!F0s?F%Y8%7YN?IYGgurX7QM0hsZH`^t?;1zFKFlxi#6Qe zd_Q)%8|RjHd%|aP+)qV31Oqa~k6Lc3k58g(x6f=D-{^&z#lu@QmeBhl7QSe# zQ5~|YKxIsVJRP87%pZR+vm)HDv5}FE1^Q9qD&@IbJ*Tz=#ciaph75vED`I_`QPqi2 z4tu|giCZU)di_77pkD~e0Imr)pg<1xP}c5$=L)4@!W1^3&nKOnI5#oDMn? zI34j)D}0A~RcY#GWt_8hE?%TbcD?~Re8R_^m`5=jR8kacIX*Aq{T_=2*L&QY8WLyC z?qkP?t2g}z9!=Y7lV_6=rGCLU;{-UEA#blqa=xgqMi|8+uRt%EZA8&5MG4%oIJ-sm)VZ^=@Vpt7&ZY zy>%A+7}0y4o9nWqp@~jrzNvJI#gOVwfKF6E@07_ zjgyZq$*4hMBrBgaFTq|)uPs_`OQ?tk7Mh+dkCvTRG?F*A>^#;UmVL7rVwpc!SC(!= zRU~Q`ze}C%N#HSSHiD^v<$S%NPGeWsKvX9^%W4=q`dGaG*(#fU{*imG=FAKO9EZM% z&f;wFrlCHTeYfeMeDet=qcYg-QmnC4c~qOK)wuTm(=*+&50VfCGs%JiB92hi`$5W> zH&0TRfE8-x0P=U)U-B!;jBIw@UQD`>^d%V)pi186zYK#hV>?R+!QZK{Q> zTeSUT%+qw!c&mX*I9hU+XtBBzIRQ}uMMS84WDV_~4#VYMvdMU97>LHSpq}4rA!9v{ z88L9DNZTP5B6J+ua$X#>E;-bqb#eF?im5U8ATV(IRA&0=AXY|aU@{hN-`FqMA^FD6 zQ`Fm=(HiL=LFz6G*V&)TICoq3?Y!M!&t0r(6>3- z{o7ddYLg_59*YA5@(#V8#{0*^`>~>;c(nz?Og!3Wk0U(o#A824ymIMtueGS~a$R}B zex=*{pFWkAukkimKbIwzYh7`A!uN(MXM(F5V|&x%7bFaI?~N;Kjtb7{YZ^)~+{apX z>AUAv9r!Fet{~#9MmiV9C$hB%<5+A=p^8f<9u-(;l*c4}^XG3^*7}Q>hWbgb_=yY6 z9Jli|GMm6<%Dg`2T_cf} zJa*Ik)=$Ar6>*u1r)1FBpk)6%vD5u8B-$*=iYSqF|P)7DRTic~$ zgU`P~ZCt+vds0;bkstpT$+y!nX$$ZbZgIa#D$%Jc+EqZ@VLH=Vp(xoS?>-|Q01Sr> z5b7UK_{~jXFRL+?hcWSRFu)Tuf_WYRltO!eu$J_dtGdOfTS-@Y{1NnogH0wL#V(D zEX+!ROxj!y{dGcPYu>5n+0;l3%iXn`jvq;`^N2%_IW~#%$6Pw2_icN6p7$+_>m=2n zCXefW!VzL!QmzJ_!~k-Vx9+vki0`I4@5wRepA`BLlca+K1Q!?H+KyG6JU_ZV`aB1+ zBUQ-&nA@nS4es`&fHR5TSgBt++ZX!C+u(A=50pb7{J4$5inI$5pTO-4WcB$hsg6Qe z@@)L=rkhHvnvLfkn|3|lU2W$h9I9YfQ>JK^*$Yh4RXaAI-6&!=nD;EUBI@^X!Byw48kgOSbw4E_`Cf}>t)n_B z2Mx&$qx|xfBYiGsZF3OLwI$~@_&ewsb?!S3#tO%m^VOA1?&lKSDy!+frz1{2CD}xd zt(G%wQR?qOL^~v#^CMsVE>&B{LZxN}06j znLMpI5 zD~vOf>;01GQmcU-m1@&J2DbzWqgrw|1RG2Z=_`>)2>j(IA7U{=-_rYO^)259r zw09kPjfwsFedI5z;eLD|!~g|`CWQ{rw?+8R?D)U_K>L^7KIB2%$M2)>=&EaYAry2Y z7(jUz|3@ zI2xIUL9Cgv{_`pV03{&gAod_RAWxuLpst`RpkH8b;5HEO5CM=$kYCW)FhQ`euzhf2 z@YwKw5L6Jd5K$5PkO+}kP)tz9P_a=n&@|9u(C*Q-Ftjj=FkUb_uz*-mSjX7J*iqOe z*iSfII59XcxOTXexaW9MczJkR|65C)*~>8T6aZ9CXbK_(9{#)E2NFPS2de+C*3d+L z`vD>3(ER=c@Dys95;kiM8fw(>j})m2rGj4tP>siuEvq_=QcK+OaS3RL&}UXIQBt03 zqF~}(8|w}`J(&dKfa|*O@cYgahV?;;#w5D7zGBDJx8yoSKg^oK$UMi~x8IInj2>wA z4W=WAdH%yyq3*^=tuM$mdyx49>gR?70j3dKTkK@oJS>icnWhPiV_A@qhQ^hPlBhS~K-5w?ctw?+uIhWWQf!T5&A_(st9 zhFSSW;kt(Cx<>H2hIzY2p?rp@a`sqz_UL-{dHwd#1>yE9F6{Jlv5MFXX0FI{r5EOO z*2|L!Y0|p4G|?`UL#+O`so9vQPA@1FJ*Vkuz9Dn?W|bB2C(<3waOl$MW2^8_QnbGb zX*m79G>fO;QHXY1u0?y(KbzyOmv3rTz?VW|sd;*DNzX!mSQ`qCP4xM+tP|xyO?4%e z(MZZ3qtO|^`qzHvy8RgCnLhkO`zYd)hiz<^Q?e0a25_aj d+zNIoEZtnZLB9&f887bBq8GRZr`TP<{{u@v=i2}P literal 0 HcmV?d00001 diff --git a/assets/fonts/iconfont.ecabaf00.ttf b/assets/fonts/iconfont.ecabaf00.ttf new file mode 100644 index 0000000000000000000000000000000000000000..eb85b129061be8a4575dc0faf8724bb246641948 GIT binary patch literal 17648 zcmd^nd3+pKooBsQS9e|AUES5y_kHMWsnzOk$<}2_K4K@a-_f<=do!IPt zKKtjY`c=KVs^0tEzh8+X9LK5LNsi}wH($PcJate07LFqWsNJ>w@}9n-YcD^E^1Ucu zf8glUvF{eYaSzAQXE{#1WoG{7Lr?zQ)NeS>b&BKapPQYYI+%R%Y7u>Zf>fJDh1(CA{%xcd08+2+=`@qzt z_wMry{gzV&r^An)z2^>=VONYD6gTrvq3GhM(~L*Jb&&f{&hM02t%8H&PCMmRyTbKy zBOIOFbn!0En4el+;38aW`d0hdc``pYGlltEEd>2oD?tt6@W#&l1i?@4=dgbCF8U4B zy}flMzu@`^Mp91XQG1@h9fvj^Q?h?9;`^KKdU>d{+xTPwY}0V?pzy(>pRZMvvJR#UODp&=gjk}eoosfbDlj0 zO$`3nI(0eSIQq5LI*=z(%T}ZdSL`I}1@c~$H*sSaBQ^MjyP-AwjYK2YC^Xs{osHf` ze`BaI+1S;%x^Z1&e`Bt3YvZ2ABaP2C9&bF`c=>tqeCqjw&%f}(eLw%%FZTTUEiZoH zG@zqF8e&6j7>)SqJROamMy0X7F>z*|nZ_;u=XvmC|F3@p@3xiO$?f8<H-HL!{-Vc)oh+)CI%t^r!Y z684g7xLXOk$~Ca^EMb4S2Ah{Xfr0C4!k%*tPb)E+)$q0w;DBrRS_u%rHOy85Y;Xi3~`M@D*>9g2D={;;EHQ>v=XDojm}mAtZ@x?KO~0H zjowxQ{BaF79tn`hHTqi#Fv&I6w-TU}YYep#;FN1jv=XBpjmcI5>~f7=tpq6M8dtXx z;F)V&*GhnFuCc$B0OMR^rj-EgTw}JC0QX#Du9biRTmu}ICEx1dKWLc7DNn-N=iBdl+63#k4JtU-4gv^^oMM} zPJfaA3O^1gPvZ@);ubkB9}LKnEMycn@FrxGB2O@k|HSey^X+9r3p=?cuCxh3VUZPSH@qL=-+i z!$E&GY{p!M(X*pe+R@|HTyc8KIdij{VCS%}r$5VojlT#KWrW)Xp23lfL0WI#Um{{Z zUcXSpN?}bqNe1hS6~ZFNNdQZbAZ#7h6SmA)B&>B+%#=v~2buzV@c3huT|;$L4h(fxwz0})eeB5S=#i7`^q8GW zl~O4hTAc@zz1QVoeb1htHS23C>+{d9PJ_9~$Jj)rRO|h}$p0lj0gU#8k^=9DTq)+$ zfB|11SV{NQs=iu*FJ|Sezv3r=6g060w6Zqx)$I>&C;cn$%9P6)I-l;NHpnM@7ByWQrzIMYLZKu&*h)4(9P}C!}k+Y zNAr(8mPaMe{eYwi(LswD-8y{=BR7EZ_i><#VhdZ&z_bJBJl?+2U$0gAf>waxM4VKr z{n%aXZ+`);Eu^8`Ewj@MUZ-dOeJyi*>z+$|W_LDky2c}y1bjVec*k}tk?2e&#?I;J zjG&*{y{*%Z71QCMvaZ_Zc87{ahngvmY;N8f>yF2}K<}Jq{tSPZUk{2j$bn*uX~0<3 z2Pj*Q4H+iv$?&Ll5I_motN`|~c?KasPr7P1RHQ(Ou59$*&J*vtf36@K-Fy zPTx6G7jEWQCHW!F{3u4O99tcJKdvwTKHHbc^ksjYEoaaCe$~n`euPc@GW`)G0KlLh z_qW9S2$9bqm?#w=q~FL_n`6x}(qFCSox(O%r9bS;{oB9g`u<0AXRcDokx#xLij4oC z{+zItp9DATz=}+AmvJB9K7w@t)ebTs#X)c?^bk<3Vu8^sS@H(~%8U<;5^#k7yF#AL zm85KZYw9FnJSKyQ4f2}2L5ekYyMA_ZaNV-_vJgfa=ly1qkpWbo7HSs+o={n2mlX~{m*-V7hHvi#~e4#VvyDi)~nhh7S zoo(&6epJ`htoEQ15R~_|vZ{}|9#mC5t!t7Q$*O83OLd%tNN~*F_^yB`c<6*eR6V8A z14d5OL@*oOLz>??<}2OM7wwJpMB$XWywc+EFd)SBD`RZ~18wva&MWW5X~)0-@o#kN(q(sUcWZ`n^xCWHgOdIv ztJ*lZc>FDH-B4bC!_h~3`vjdI8)$oFf)$R9-Z7xLx8Hf0q`NmNx-?k7>e{1lKLFEjsso{$qRr()4xQ31CVE1guiC!DpP;0Khr&3^+0Xux3~K zoF=UR+i+%~U;?X_0eA*&62s|N_xW-(lJR-4bV%@d@75uH zgMEMow%#+uUCrId{R#KqxyQLLI{cgoYyFNm*5?Rl0Y_vb7HAn`78QUfPnJ3%0rKEP?0$?N zCkc8%0<82oU9-4LiF6Y72nOM;I;(E|hDq8s&{VCUrEX=b70S)-yXI}hwzlHiuG#nO zE7|7Vv6#&B$&e?gX?017cvaPBh73b=dx+N#2V}}WB8t4PL!)YY*vo5vAxPzXHbd@_ z+9G~K)n%177X%^(Bfi>GE_Wu&^LGJEy%jT{c>1-|*aFG#`s;F~EGGMlg zw=0yQl&ZdfU@N?C4;hlX`O~{8A-v%78A{vcx$lT{B;?U=kJcIAJv}IV92U+H>_L$0 z*(QJvFoNf7L#^Kt>x2Po;G$@2YKol5F7-51Zt6@~aA-D9v>*i-4?kbhK z9-f{5)hpTN3q;A5z1owS*Q=2U)mPcm-`ubI2B!weU8>KgHE%*Q|J19;wWfIa<#N_g zeO_%78~#xLo<2EWeH#n*%6Id8%R|~gDeH@O0eFS zpjJSV%P0k%aYQQ75t^Wwy$I1jPVk_lfbn7{P? zFKneQujtl9%{N%T_(ayqB*q5EhBs~XU41TL6BQrb^8QOHk%7WhbNTEzMBqDsFkUqRI&#Bz)Th` zK`f2)#Fr@eHAx|gt`Oqh=m`P9!d`ZxJ3{?(yfW}V>Ue%=w#1-`fEMC&g{D@3QXI&6@0JX^zYPI*r71OH* zD0R8ob{3k$a%BDXtrc$+=YIL0NxYH_6rzyt`3*gRY(yv5v&E3zI1?hdN2%XKsMjXE z4_6;dEMTP$z2x|luwXHpWEZrbL2e4x&^K_mbN6%a;oi@EnEM*{ZLY!nlKVXdfa=#v zBp+}t03fz?uf-j{(iaCK=}ThY} z^S)=`m3b%5OuJ?KnQ1R;yU?^S5(B31=U?QHfxch)2k1MDFvWmvIhs8KOhaPUsG73y!41z6BUvuSM`C>7D*Ok|N?Un3Pox8KZ!B{w79!oTusUAin!kuMOUxKfFz zDN>Its*+5Hc!&UTztP$JCH08`8VYUMb@6Ue$kXhJc{2YxJYFVSEcye~Gz*2ve1WvJ zSr!di&EG%4pKM=6R^TmpCEwnBvpeF+d;Cc^Y$Ku(@TP4m4Ehcs+(krcxjhynYQL-Q z9pf*(^dEmhLg5T4kq*+<-!Jr6NhVEGX?mCr4AN|tWU~JVdMcfvry`Y#+ux+Z;n1bh_6$aAiB1!n(tP1JS(@YmO~K_B(&2{|sid5Ds|I3FA+YKjitjYzlS6mHY{Jz1xjY;JShv? zq>N9yrPy%X>QpHB8hs7xU6nUKC<}tAclDYcw=9Aj3c|gzu^T)U;z7=^DS10lU83p9 zsV;>=Qr1DPKwtPABmvP-;xV@<%e<(HGLs`|?$d7-c~DK4YG0H{_lB}&soSQV1EIy3AF*tA%?B$FFx`c~h=C+|sVwV%|;aZem|(CqBP(yKB#$ z8=rY*pxJD$5U#m%fZRxK9N;go7QdVrmNswP_s~O~&pgvilU-fS?~?-DD$ti4y^uYh z3O`5+KCKPl{bbYT$y)*#t|JSdb7ywz(7 z=s{UW?M@QWnGn=LLO-d60F1Ukhl0GaP0P46BWGfB-f5*wxJnGSafcSw)lf*_r9-kB zj`G38x6iK`{Y|bbbhYk+P9TyEwq2~P+qvbQgQj3@9~+G)d?L9YOkJQ7z%7?Iw`|$i z)x*=$p8ELkz>b91q?=r_X6AI&6^@L$!tJ^!xDxTZT&_^WrD|?V(!+|8v_#6EU)NbV zpi1R7TXIW0=@=imy{BU6#VdzB#r*n_G2bp25>&4ghl(!-0{-5EOPKi=+AGVq7JP(O%CP!6WaC1>^l2sOGlHRL zZa9~!`^|w=Za5pYEsr;aB@eh&I9I%UUl7rWY7Dj*Y|gnx~rAc-bf_c9g5I|Z6zQ-RjU)bRLg%!TSp|@r5B4a zm#NZ05b9!Uj(dvuJCkkB9e!k=NPT+3<@H3}mx6gklNEz#>(aUCU?MM;ikZA5rewP< zCK^5yPHg7eTCo@9hHbBDeDV>p*pR=~k@>*jHmDYAex?J;#Q@vsmf4^J2Qov5AVdxa zR@loIA)r)krw_yt83qKo0?7-aBTKLs6f3q|WE~lbIZB%hXEP-2DyTpa807#NZt2WX zaTW>L)}3%p5FjItd=|8@QoRttYd&eGGhJDl8sR0yZ|;l4?SxBLB!iMm3hn|V4HJC+ z^Ma=OJOMLc`n^#PEr$Ib1!@n^yA}@@jL@ll`}Vmkw>elCFuiT%iCn-3OB zOEy0h@I`xi*3n2Tnz#L?qR_&6DWa%RBN3TR*a45`f|U*mrc4VKal4=lC_ehDP5w$$ zEv_qWr>a^!XcfcW03|@0V8oQwfZGrQ2iptbZGZ@`J5R07P-o1ds@LrW{Q|X9-I}7h zG$N)u`!~HloL|7?+NSZq*$L3vB|i4TIl0=Tf@6$+no-F*r!XsK3&_7dp4$ zi5LbA+WNLQL=$NwtBQ-V$1>bR*cKOLQ9pvsf0N;{`=lPq8(R26Fx5QDi)K`kqEVvU zrbeS0)?v_6eux<;u^+8G4?b`JiPh}8GCE%l?I|hM3 z^r^fa(*#+PF6Tvi`Yyp5|A`u)}M=%-_am;hT%XPmdTZa!w3Ie?f$cJ^+6KbJ3ygj3@dW zuXJ|h&kEIQfo{in<(Xfqnx?W7`DSy7<;jyc3(cyN|7%4v_-rk|vfCN*iG1xxdO*jo zx!AgXTC<>r!P(xDHNVL}!}lOEY%ijgK|SH2fFp!a;I)GZU~Elc#bbtmHJ2IsGUEx8 zJ*#4W-7jT<(affYzLpH%8>qKktH_yR(D(XewmqK;MpSn|OGJ&1aLQ+nt()rat>k;d z?tM7v5eQZVQ6M}riX4OG}TEulC;0)@-3s;crvPcX!cTaX^y`&h9CxC($rN& z(iF)wgYk6N6{U7f3mMl1g3*ds@v44*Fp(-;5}Djgj!gA*M9k}bK7aR> zC?0Em($UxNN3`=XMCYZs?O20bVE5!mZ`lcBDfgBU5Cy3-|C$O&qilg7HZkbK(F&!2 z9^HpkOpp|#H(1OO!or0N7!H^R4ZB=~Gr=K73{Zo1>x{KbQf3l>!QAO6k^3~ih98x5 zQ^$|&h;$pJJ=Yu?-64uQMvq;yr(|?jOVMa48Vb@a8-GO-zuLHkLXc;5|LcQ%Ea{V@ zNt3#lzEm5ef=kg;3meK;W-?cnH!P%d#RWNOu=XYLKRq$oOh#oN=~O-Nz#vJ|ncOE6 zk%QYW&xNn9*RKxeF5iAIl1SAz)KkXX&h2~mZr?d)IK>ZWiWZG1dbD}h#QKqKia#1n znY{ykWDS9kbY8FMS(~BEP{%jaOfk5IgD6l-q=N@^3=aNE-Zi z45Ax+ddwvSR)!~A4f84Z&!Q~Mq3f89Aca8`$2%~vh0)02s&ujW{oiKGl#vPY`YC^qnUh_$Q*K!>)S&;A%f+rI-rp9dzF6CzX}mA(fBCKc zlu2nW5DVb<#2s$lio0)zanCS)QuCJEC7)^VvUW%7%3@#H3(?;pLbrsts~y}NJP-G9 z4`F{YYl;RSf?-sxS~puH38n*vagIFXh(G8cRas=cnPP@epjC$!dQ@TaVpfQ3 z*%^qa7X&yu0|02P@I88_Tt(Orn*>dxB;RibTj4Ur)w^OkG>s7Q=d$ec*@3Vxqq?Hz z#z~h%bXC+KFg1TFnL&@q3#E01@sV;xysEoAW#)!*dAq%NO3}S`${M~-lwb)k?A}y9 z`cqPQ8~K-1HEO{M3I~^4C6XYGZ}vuADiQfzlcA2!)1Sr)sh*IAC_%)}7M=i!R8s9=kml3x@rP=HG;kut%}Imd{1}7I}X>6R`ty zY+}o<%{xQ^Q5ccpMUJiGPxvqKQ;54mye$hXfP@315CpjqSTrR$pG%2QBU*=JxnwXv zwcW0O<&h-$1}&|9T$Ut{6>zP5kA&DE_jv22$-$v29JuQ?cGrwHa`|oqjCuo>>jqW* z`0CJq_|S(w^y01^6YI;Vcsx~JKe1!iivUNa!+o9q3||Fw`T&<%7BvmiDB}cyU~w&z zUCYR88PbPX493Y>oGfy{NpFo;5}lpvySkR+xO8^@Eh}|)F2}pNa3O7v5%TuwU8(kb zd+N_mpC%{U$J+7xGHb*j=ltbX9r?_24;{R(D;_RIQ|+h8JU*^qKHnAS@;?V%<3I_v zaQnFHxue_ye7~HCSW_B@+Yt7j!W!(h@CSGR><2Z&nHe(RhNXyS0L-_bzQxxHO#2Gv zabX7=*)sk^s|!f}?3q|t1l@_}l!RjQs-5pWG3ulF%z+chOdxB!y-GT5#yl{IwQn>7 zWBINf>Gf_BpLqSlOHYoPrVd7DR84F-g~*-{Ki=AP{)R#sltB%3$dkzbV25O3dt;? z>BRjH9zWK#=iyr?R(A4!EfrThqPwlo-IM4YcJY~5Pv=I0`efVv?>lerFvKlH|ywjzGo88jB-ki;HDsae7W9 z6T^T&%fD2B#c0*Pw3@xsZKm4?Ms`h%ZQXXqj-hHH>2-sWbV;^L4|ZKSna!kf`%1R% zvZb=fAA9w1=2a>bSGKA~)N2IRhxywX>JP?Uyiq2hDm zX8QSWKdW_y*Xz(j33YYFLT!p0y0Fj9yo$8PE*jrcln2~lgnyVS`M&DsdH5V3P-vR` zwH5Yh7$rn9k)U6a5CjfiJRt$|yJ}p0kDJQPM-;y#;0nd@t$U{r&mP>nb)v0UY@67& z_rUCt=_@Z9FXo%v#0}%)H@taie0*u5b4y3ZmMhq)lbkG6>%G-vHk+vS)~nmAwccvN zDb%WMrzdZ``^HJL~Daqk_%nZZG0b|2hD}d=JSfo>6 zxRNfSmp>s0qcewZ$z~Pz6^BYCO?9aQJ#JBS_Y5Gbl}d-Ma4XsDEr(~C z&lTD5dUFH(XC3|h9iufn-qyB?pP&x#aq#TBj4(;V1__NY?Mn;XsgtLgr|3!kgYeR?Z^+Ww(Vuh0(Z^V*H3QVcI)Ap z;gONynZqv~nHd@l+g)E@d3x`~TRXeDI=5c@XKR@&bJu*m%MOnY%^Z1YZNRPDHczhm z2A@8sqcehmG~oL5@A$|05WdDqINWnpvxGgP&Z60Th)F+7p{$>kM^xu{zQ3OT!7aD^ ztWfL!yXMz*6FNp!_xp#NF(>~V&b(d8ue_8iA3j{pQCGgw95W*(ejjdK03LXTll(mR z53}Su*aVF7BeqR~ErCVM*?z{;i47wmGv;8?k|YfY6yZhub)p>dyG^fuRL*Z0kk|2~ zcf5!2VRgjOei8F6hO}yxy+)xY>y$qnX`GV)jR-tAlS}r>Dka(ZImcaRdpvT<`nJWp{n?*)QI889DyZ=I^S^aVUrf1-Cz@6+B^& z9J!`qwa2YDUAt#&!xkF#yS!d^z^0qW#`au$d!TdpjS#mash_AHo5duUi@n#`wvsGY zbG#Rfmz;+Mu^?ckox>j_)tSx?)fMKES{*NocVtzp#-WC&f@aSj-n#GFr?1`ju3|o4 zeAg@4mB$epVR+gTB>t3P68`!v9+UdLhu%Vik9$yl>fIhcJS(66rJ&06=UZPjx;0TV z91ohN5pPe#d|u(ADTG;>lz+>#papHy`_88Ye;gqz!Y@CqtL(cw#$&(4f7$sy1C;Q* z7zYCcT#int9t+C@bz&c49D>Q*`4EF;)*qT(ry=g~zj#6^`#zoL$5_?BJDt`tEAR2R zZ`1sbdu`kMvExeG!LyI^5Ac_Pzvmep1~_A}3!@Q=%$Hdz-)8cw%z$#NEpqH!g1^x98eB3ckyhCpMOnaeN4-#FM3s z8kFnzW3y`S(8@oCtQlE5>jySBc!IrAybtINRrwU|W4d8@B(=RcH> zp5~(Ye3ana96P&ocAlI%r<7tNUKzKRr>D+ezq)Tv@c+PXfoGXX(Z#$IMa!H-&i7F) z${HjA4+({;rNBY}g09xGh_P>2*tZ)N|J5VSpXic~y4pQjQb-LO=^Pttr>FqyJm zW~bF>{SNw4ZfBfN)NtkbyN`~`YmtJWzN`cd|1qOd&L5)k zR`cwOc>ijiax%D4s}GO*%xYdhzGF2ng2VN#<|Wh*ujUo-^Np){6*C?KR1?9C`xIdB zYUK%RV2`fmDZX@ld^OLb{;Acxfc*DX^CBV!o?p#Ns9#ylE8G=CU(KsrfgG4vnx0yo zKA75nb87Cu;=-ZDh2^#D&gq#G^HWP}#kK1d(@V$a78g?GQtw*T=IMp$rL}2}-#F8^ zynHBiXle0iY7^$0o}XV#9a~yFJbhrfG`qZfY+X+eyAP``9auby&x4k@X@oW`<9v`y zar+Slm4dP1077&Y@Ci6OFTbX|6TN5f$-z8EF1@Dp)uXRK?@iJjp!rDQqBXJB)b_pmzzMu(MIe zxOE^9J!jr$t$)dR&!Y|HlqUsz(}Qp;giCdjF47HIpojF5GU+1~(od?S zM(SjM43c%6v^0J2;M}r%ZsGXy)XdVAC%juKjcKb1X>*7f;+gw;>F|l^!*dJL>!uIPPA$_L zZg3r%IxxL|aq)<}{JOd2<>@8ymf5-46KvrAsRe0yYH|P6qP)C#VtHzF2nT^K^3;I?izgPAT?bH@SzNkVm|ettSZKES{~M>X B=I#Ih literal 0 HcmV?d00001 diff --git a/assets/img/search.72b0ff46.svg b/assets/img/search.72b0ff46.svg deleted file mode 100644 index 59ffde7f0..000000000 --- a/assets/img/search.72b0ff46.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/assets/js/1.10ffbede.js b/assets/js/1.10ffbede.js deleted file mode 100644 index 68baa2ce2..000000000 --- a/assets/js/1.10ffbede.js +++ /dev/null @@ -1,8 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[1],{505:function(e,r,t){"use strict";t.d(r,"b",(function(){return g})),t.d(r,"a",(function(){return y}));var o=t(571),a=t.n(o),n=t(23),i=t(24),s=t(174),c=t(173),l=t(113),u=(t(277),t(6),t(168),t(73),t(25),t(55),t(56),t(123),t(572),t(521),t(1)),p=t(9),d=function(e,r,t,o){var a,n=arguments.length,i=n<3?r:null===o?o=Object.getOwnPropertyDescriptor(r,t):o;if("object"===("undefined"==typeof Reflect?"undefined":Object(l.a)(Reflect))&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,r,t,o);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(i=(n<3?a(i):n>3?a(r,t,i):a(r,t))||i);return n>3&&i&&Object.defineProperty(r,t,i),i},f=/^(\w+)\-/,h=function(e){Object(s.a)(t,e);var r=Object(c.a)(t);function t(){return Object(n.a)(this,t),r.apply(this,arguments)}return Object(i.a)(t,[{key:"getClass",value:function(e){return f.test(e)?e.replace(f,(function(){return"reco"===(arguments.length<=1?void 0:arguments[1])?"iconfont ".concat(arguments.length<=0?void 0:arguments[0]):"".concat(arguments.length<=1?void 0:arguments[1]," ").concat(arguments.length<=0?void 0:arguments[0])})):e}},{key:"go",value:function(e){""!==e&&window.open(e)}},{key:"render",value:function(){var e=arguments[0];return e("i",a()([{},{class:this.getClass(this.icon),on:{click:this.go.bind(this,this.link)}}]),[this.$slots.default])}}]),t}(u.a.extend({props:{icon:{type:String,default:""},link:{type:String,default:""}}})),g=h=d([p.b],h),m=t(14),b=function(e,r,t,o){var a,n=arguments.length,i=n<3?r:null===o?o=Object.getOwnPropertyDescriptor(r,t):o;if("object"===("undefined"==typeof Reflect?"undefined":Object(l.a)(Reflect))&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,r,t,o);else for(var s=e.length-1;s>=0;s--)(a=e[s])&&(i=(n<3?a(i):n>3?a(r,t,i):a(r,t))||i);return n>3&&i&&Object.defineProperty(r,t,i),i},v=function(e){Object(s.a)(t,e);var r=Object(c.a)(t);function t(){return Object(n.a)(this,t),r.apply(this,arguments)}return Object(i.a)(t,[{key:"setStyle",value:function(e){e.style.transition="transform ".concat(this.duration,"s ease-in-out ").concat(this.delay,"s, opacity ").concat(this.duration,"s ease-in-out ").concat(this.delay,"s"),e.style.transform=this.transform[0],e.style.opacity=0}},{key:"unsetStyle",value:function(e){e.style.transform=this.transform[1],e.style.opacity=1}},{key:"render",value:function(){var e=arguments[0];return e("transition",{attrs:Object(m.a)({},{name:"module"}),on:Object(m.a)({},{enter:this.setStyle,appear:this.setStyle,"before-leave":this.setStyle,"after-appear":this.unsetStyle,"after-enter":this.unsetStyle})},[this.$slots.default])}}]),t}(u.a.extend({props:{delay:{type:String,default:"0"},duration:{type:String,default:".25"},transform:{type:Array,default:function(){return["translateY(-20px)","translateY(0)"]}}}})),y=v=b([p.b],v)},511:function(e,r,t){"use strict";t(516)},516:function(e,r,t){},517:function(e,r,t){"use strict";t(47);r.a={data:function(){return{recoShowModule:!1}},mounted:function(){this.recoShowModule=!0},watch:{$route:function(e,r){var t=this;e.path!==r.path&&(this.recoShowModule=!1,setTimeout((function(){t.recoShowModule=!0}),200))}}}},519:function(e,r,t){"use strict";t(6),t(35),t(54),t(72);var o=t(163),a=(t(276),t(14)),n=(t(524),t(25),t(55),t(558),t(98),t(30),t(278),t(282),t(283),t(279),t(56),t(287),t(560)),i=t.n(n),s=t(561),c={data:function(){return{query:"",focused:!1,focusIndex:0,placeholder:void 0,indexCN:null,indexEN:null}},mounted:function(){this.placeholder=this.$site.themeConfig.searchPlaceholder||"",document.addEventListener("keydown",this.onHotkey),this.setupFlexSearch()},beforeDestroy:function(){document.removeEventListener("keydown",this.onHotkey)},computed:{showSuggestions:function(){return this.focused&&this.suggestions&&this.suggestions.length},suggestions:function(){var e=this,r=this.query.trim().toLowerCase();if(r){return/[\x00-\x7F]/g.test(r)?this.indexEN.search(r).map((function(r){return Object(a.a)(Object(a.a)({},r),{},{title:e.getSuggestionTitle(r),text:e.getSuggestionText(r)})})):this.indexCN.search(r).map((function(r){return Object(a.a)(Object(a.a)({},r),{},{title:e.getSuggestionTitle(r),text:e.getSuggestionText(r)})}))}},alignRight:function(){return(this.$site.themeConfig.nav||[]).length+(this.$site.repo?1:0)<=2}},methods:{getPageLocalePath:function(e){for(var r in this.$site.locales||{})if("/"!==r&&0===e.path.indexOf(r))return r;return"/"},isSearchable:function(e){var r=null;return null===r||(r=Array.isArray(r)?r:new Array(r)).filter((function(r){return e.path.match(r)})).length>0},onHotkey:function(e){e.srcElement===document.body&&"s".includes(e.key)&&(this.$refs.input.focus(),e.preventDefault())},onUp:function(){this.showSuggestions&&(this.focusIndex>0?this.focusIndex--:this.focusIndex=this.suggestions.length-1)},onDown:function(){this.showSuggestions&&(this.focusIndex15&&(a-=15,n="... ");var i=e.content.substr(a,60);return n+Object(s.highlightText)(i,this.query)}}},l=(t(566),t(12)),u=Object(l.a)(c,(function(){var e=this,r=e.$createElement,t=e._self._c||r;return t("div",{staticClass:"search-box"},[t("input",{ref:"input",class:{focused:e.focused},attrs:{"aria-label":"Search",placeholder:e.placeholder,autocomplete:"off",spellcheck:"false"},domProps:{value:e.query},on:{input:function(r){e.query=r.target.value},focus:function(r){e.focused=!0},blur:function(r){e.focused=!1},keyup:[function(r){return!r.type.indexOf("key")&&e._k(r.keyCode,"enter",13,r.key,"Enter")?null:e.go(e.focusIndex)},function(r){return!r.type.indexOf("key")&&e._k(r.keyCode,"up",38,r.key,["Up","ArrowUp"])?null:e.onUp.apply(null,arguments)},function(r){return!r.type.indexOf("key")&&e._k(r.keyCode,"down",40,r.key,["Down","ArrowDown"])?null:e.onDown.apply(null,arguments)}]}}),e._v(" "),e.showSuggestions?t("ul",{staticClass:"suggestions",class:{"align-right":e.alignRight},on:{mouseleave:e.unfocus}},e._l(e.suggestions,(function(r,o){return t("li",{key:o,staticClass:"suggestion",class:{focused:o===e.focusIndex},on:{mousedown:function(r){return e.go(o)},mouseenter:function(r){return e.focus(o)}}},[t("a",{attrs:{href:r.regularPath},on:{click:function(e){e.preventDefault()}}},[t("span",{staticClass:"suggestion__title",domProps:{innerHTML:e._s(r.title||r.regularPath)}}),e._v(" "),t("span",{staticClass:"suggestion__result",domProps:{innerHTML:e._s(r.text)}})])])})),0):e._e()])}),[],!1,null,null,null).exports,p=(t(567),Object(l.a)({},(function(){var e=this,r=e.$createElement,t=e._self._c||r;return t("div",{staticClass:"sidebar-button",on:{click:function(r){return e.$emit("toggle-sidebar")}}},[t("svg",{staticClass:"icon",attrs:{xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",role:"img",viewBox:"0 0 448 512"}},[t("path",{attrs:{fill:"currentColor",d:"M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"}})])])}),[],!1,null,null,null).exports),d=t(74),f=(t(97),t(165),t(123),t(568),t(521),t(124),t(280),t(281),t(167),t(166),t(505)),h=t(522),g=t(555),m=Object(o.b)({components:{NavLink:h.a,DropdownTransition:g.a,RecoIcon:f.b},props:{item:{required:!0}},setup:function(e,r){var t=Object(o.h)(!1);return{open:t,toggle:function(){t.value=!t.value}}}}),b=(t(574),Object(l.a)(m,(function(){var e=this,r=e.$createElement,t=e._self._c||r;return t("div",{staticClass:"dropdown-wrapper",class:{open:e.open}},[t("a",{staticClass:"dropdown-title",on:{click:e.toggle}},[t("span",{staticClass:"title"},[t("reco-icon",{attrs:{icon:""+e.item.icon}}),e._v("\n "+e._s(e.item.text)+"\n ")],1),e._v(" "),t("span",{staticClass:"arrow",class:e.open?"down":"right"})]),e._v(" "),t("DropdownTransition",[t("ul",{directives:[{name:"show",rawName:"v-show",value:e.open,expression:"open"}],staticClass:"nav-dropdown"},e._l(e.item.items,(function(r,o){return t("li",{key:r.link||o,staticClass:"dropdown-item"},["links"===r.type?t("h4",[e._v(e._s(r.text))]):e._e(),e._v(" "),"links"===r.type?t("ul",{staticClass:"dropdown-subitem-wrapper"},e._l(r.items,(function(e){return t("li",{key:e.link,staticClass:"dropdown-subitem"},[t("NavLink",{attrs:{item:e}})],1)})),0):t("NavLink",{attrs:{item:r}})],1)})),0)])],1)}),[],!1,null,null,null).exports),v=t(36),y=Object(o.b)({components:{NavLink:h.a,DropdownLink:b,RecoIcon:f.b},setup:function(e,r){var t=Object(o.c)().proxy,a=Object(o.a)((function(){return t.$themeLocaleConfig.nav||t.$themeConfig.nav||[]})),n=Object(o.a)((function(){var e=t.$site.locales||{};if(e&&Object.keys(e).length>1){var r=t.$page.path,o=t.$router.options.routes,n=t.$themeConfig.locales||{},i={text:t.$themeLocaleConfig.selectText||"Languages",items:Object.keys(e).map((function(a){var i,s=e[a],c=n[a]&&n[a].label||s.lang;return s.lang===t.$lang?i=r:(i=r.replace(t.$localeConfig.path,a),o.some((function(e){return e.path===i}))||(i=a)),{text:c,link:i}}))};return[].concat(Object(d.a)(a.value),[i])}var s=t.$themeConfig.blogConfig||{},c=a.value.some((function(e){return!s.category||e.text===(s.category.text||"分类")})),l=a.value.some((function(e){return!s.tag||e.text===(s.tag.text||"标签")}));if(!c&&Object.hasOwnProperty.call(s,"category")){var u=s.category,p=t.$categories;a.value.splice(parseInt(u.location||2)-1,0,{items:p.list.map((function(e){return e.link=e.path,e.text=e.name,e})),text:u.text||t.$recoLocales.category,type:"links",icon:"reco-category"})}if(!l&&Object.hasOwnProperty.call(s,"tag")){var f=s.tag;a.value.splice(parseInt(f.location||3)-1,0,{link:"/tag/",text:f.text||t.$recoLocales.tag,type:"links",icon:"reco-tag"})}return a.value})),i=Object(o.a)((function(){return(t.nav||[]).map((function(e){return Object.assign(Object(v.k)(e),{items:(e.items||[]).map(v.k)})}))})),s=Object(o.a)((function(){var e=t.$themeConfig.repo;return e?/^https?:/.test(e)?e:"https://github.com/".concat(e):""})),c=Object(o.a)((function(){if(!t.repoLink)return"";if(t.$themeConfig.repoLabel)return t.$themeConfig.repoLabel;for(var e=t.repoLink.match(/^https?:\/\/[^/]+/)[0],r=["GitHub","GitLab","Bitbucket"],o=0;o=18?"dark":"light")}}else D(e)}var E={name:"ModeOptions",data:function(){return{modeOptions:[{mode:"dark",title:"dark"},{mode:"auto",title:"auto"},{mode:"light",title:"light"}],currentMode:"auto"}},mounted:function(){this.currentMode=localStorage.getItem("mode")||this.$themeConfig.mode||"auto";var e=this;window.matchMedia("(prefers-color-scheme: dark)").addListener((function(){"auto"===e.$data.currentMode&&A(e.$data.currentMode)})),window.matchMedia("(prefers-color-scheme: light)").addListener((function(){"auto"===e.$data.currentMode&&A(e.$data.currentMode)})),A(this.currentMode)},methods:{selectMode:function(e){e!==this.currentMode&&(this.currentMode=e,A(e),localStorage.setItem("mode",e))},getClass:function(e){return e!==this.currentMode?e:"".concat(e," active")}}},C=(t(577),Object(l.a)(E,(function(){var e=this,r=e.$createElement,t=e._self._c||r;return t("div",{staticClass:"mode-options"},[t("h4",{staticClass:"title"},[e._v("Choose mode")]),e._v(" "),t("ul",{staticClass:"color-mode-options"},e._l(e.modeOptions,(function(r,o){return t("li",{key:o,class:e.getClass(r.mode),on:{click:function(t){return e.selectMode(r.mode)}}},[e._v(e._s(r.title))])})),0)])}),[],!1,null,null,null).exports),L={name:"UserSettings",directives:{"click-outside":q.a},components:{ModePicker:C,RecoIcon:f.b,ModuleTransition:f.a},data:function(){return{showMenu:!1}},mounted:function(){var e=this.$themeConfig.mode||"auto";!1===this.$themeConfig.modePicker&&("auto"===e&&(window.matchMedia("(prefers-color-scheme: dark)").addListener((function(){A(e)})),window.matchMedia("(prefers-color-scheme: light)").addListener((function(){A(e)}))),A(e))},methods:{hideMenu:function(){this.showMenu=!1}}},S=(t(578),Object(l.a)(L,(function(){var e=this,r=e.$createElement,t=e._self._c||r;return!1!==e.$themeConfig.modePicker?t("div",{directives:[{name:"click-outside",rawName:"v-click-outside",value:e.hideMenu,expression:"hideMenu"}],staticClass:"color-picker"},[t("a",{staticClass:"color-button",on:{click:function(r){r.preventDefault(),e.showMenu=!e.showMenu}}},[t("reco-icon",{attrs:{icon:"reco-color"}})],1),e._v(" "),t("ModuleTransition",{attrs:{transform:["translate(-50%, 0)","translate(-50%, -10px)"]}},[t("div",{directives:[{name:"show",rawName:"v-show",value:e.showMenu,expression:"showMenu"}],staticClass:"color-picker-menu"},[t("ModePicker")],1)])],1):e._e()}),[],!1,null,null,null).exports),T=Object(o.b)({components:{SidebarButton:p,NavLinks:w,SearchBox:u,AlgoliaSearchBox:{},Mode:S},setup:function(e,r){var t=Object(o.c)().proxy,a=Object(o.h)(null),n=Object(o.a)((function(){return t.$themeLocaleConfig.algolia||t.$themeConfig.algolia||{}})),i=Object(o.a)((function(){n.value&&n.value.apiKey&&n.value.indexName}));function s(e,r){return e.ownerDocument.defaultView.getComputedStyle(e,null)[r]}return Object(o.e)((function(){var e=parseInt(s(t.$el,"paddingLeft"))+parseInt(s(t.$el,"paddingRight")),r=function(){document.documentElement.clientWidth<719?a.value=null:a.value=t.$el.offsetWidth-e-(t.$refs.siteName&&t.$refs.siteName.offsetWidth||0)};r(),window.addEventListener("resize",r,!1)})),{linksWrapMaxWidth:a,algolia:n,isAlgoliaSearch:i,css:s}}}),O=(t(579),Object(l.a)(T,(function(){var e=this,r=e.$createElement,t=e._self._c||r;return t("header",{staticClass:"navbar"},[t("SidebarButton",{on:{"toggle-sidebar":function(r){return e.$emit("toggle-sidebar")}}}),e._v(" "),t("router-link",{staticClass:"home-link",attrs:{to:e.$localePath}},[e.$themeConfig.logo?t("img",{staticClass:"logo",attrs:{src:e.$withBase(e.$themeConfig.logo),alt:e.$siteTitle}}):e._e(),e._v(" "),e.$siteTitle?t("span",{ref:"siteName",staticClass:"site-name"},[e._v(e._s(e.$siteTitle))]):e._e()]),e._v(" "),t("div",{staticClass:"links",style:e.linksWrapMaxWidth?{"max-width":e.linksWrapMaxWidth+"px"}:{}},[t("Mode"),e._v(" "),e.isAlgoliaSearch?t("AlgoliaSearchBox",{attrs:{options:e.algolia}}):!1!==e.$themeConfig.search&&!1!==e.$frontmatter.search?t("SearchBox"):e._e(),e._v(" "),t("NavLinks",{staticClass:"can-hide"})],1)],1)}),[],!1,null,null,null).exports),B=t(553),N=Object(o.b)({name:"Sidebar",components:{SidebarLinks:B.default,NavLinks:w},props:["items"]}),R=(t(582),Object(l.a)(N,(function(){var e=this.$createElement,r=this._self._c||e;return r("aside",{staticClass:"sidebar"},[this._t("top"),this._v(" "),r("NavLinks"),this._v(" "),r("SidebarLinks",{attrs:{depth:0,items:this.items}}),this._v(" "),this._t("bottom")],2)}),[],!1,null,null,null).exports),_=t(554),j=(t(47),t(537)),F=t.n(j),I=Object(o.b)({name:"Password",components:{ModuleTransition:f.a,RecoIcon:f.b},props:{isPage:{type:Boolean,default:!1}},setup:function(e,r){var t=Object(o.c)().proxy,a=(new Date).getFullYear(),n=Object(o.h)(""),i=Object(o.h)("Konck! Knock!"),s=Object(o.a)((function(){var e;return null==t||null===(e=t.$parent)||void 0===e?void 0:e.recoShowModule})),c=Object(o.i)(e).isPage;return{warningText:i,year:a,key:n,recoShowModule:s,inter:function(){var e=F()(n.value.trim()),r="pageKey".concat(window.location.pathname),o=c.value?r:"key";if(sessionStorage.setItem(o,e),c.value?function(){var e=t.$frontmatter.keys.map((function(e){return e.toLowerCase()})),r="pageKey".concat(window.location.pathname);return e&&e.indexOf(sessionStorage.getItem(r))>-1}():t.$themeConfig.keyPage.keys.map((function(e){return e.toLowerCase()})).indexOf(sessionStorage.getItem("key"))>-1){i.value="Key Success";var a=document.getElementById("box").style.width;t.$refs.passwordBtn.style.width="".concat(a-2,"px"),t.$refs.passwordBtn.style.opacity=1,setTimeout((function(){window.location.reload()}),800)}else i.value="Key Error"},inputFocus:function(){i.value="Input Your Key"},inputBlur:function(){i.value="Konck! Knock!"}}}}),U=(t(586),Object(l.a)(I,(function(){var e=this,r=e.$createElement,t=e._self._c||r;return t("div",{staticClass:"password-shadow"},[t("ModuleTransition",[t("h3",{directives:[{name:"show",rawName:"v-show",value:e.recoShowModule,expression:"recoShowModule"}],staticClass:"title"},[e._v(e._s(e.isPage?e.$frontmatter.title:e.$site.title||e.$localeConfig.title))])]),e._v(" "),t("ModuleTransition",{attrs:{delay:"0.08"}},[e.recoShowModule&&!e.isPage?t("p",{staticClass:"description"},[e._v(e._s(e.$site.description||e.$localeConfig.description))]):e._e()]),e._v(" "),t("ModuleTransition",{attrs:{delay:"0.16"}},[t("label",{directives:[{name:"show",rawName:"v-show",value:e.recoShowModule,expression:"recoShowModule"}],staticClass:"inputBox",attrs:{id:"box"}},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.key,expression:"key"}],attrs:{type:"password"},domProps:{value:e.key},on:{keyup:function(r){return!r.type.indexOf("key")&&e._k(r.keyCode,"enter",13,r.key,"Enter")?null:e.inter.apply(null,arguments)},focus:e.inputFocus,blur:e.inputBlur,input:function(r){r.target.composing||(e.key=r.target.value)}}}),e._v(" "),t("span",[e._v(e._s(e.warningText))]),e._v(" "),t("button",{ref:"passwordBtn",on:{click:e.inter}},[e._v("OK")])])]),e._v(" "),t("ModuleTransition",{attrs:{delay:"0.24"}},[t("div",{directives:[{name:"show",rawName:"v-show",value:e.recoShowModule,expression:"recoShowModule"}],staticClass:"footer"},[t("span",[t("reco-icon",{attrs:{icon:"reco-theme"}}),e._v(" "),t("a",{attrs:{target:"blank",href:"https://vuepress-theme-reco.recoluan.com"}},[e._v("vuePress-theme-reco")])],1),e._v(" "),t("span",[t("reco-icon",{attrs:{icon:"reco-copyright"}}),e._v(" "),t("a",[e.$themeConfig.author?t("span",[e._v(e._s(e.$themeConfig.author))]):e._e(),e._v("\n   \n "),e.$themeConfig.startYear&&e.$themeConfig.startYear!=e.year?t("span",[e._v(e._s(e.$themeConfig.startYear)+" - ")]):e._e(),e._v("\n "+e._s(e.year)+"\n ")])],1)])])],1)}),[],!1,null,"4e82dffc",null).exports),V=t(587),P=Object(o.b)({components:{Sidebar:R,Navbar:O,Password:U,PersonalInfo:_.a},props:{sidebar:{type:Boolean,default:!0},sidebarItems:{type:Array,default:function(){return[]}},showModule:{type:Boolean,default:!1}},setup:function(e,r){var t=Object(o.c)().proxy,a=Object(o.h)(!1),n=Object(o.h)(!0),i=Object(o.h)(!0),s=Object(o.h)(!0),c=Object(o.a)((function(){return e.sidebarItems.length>0})),l=Object(o.a)((function(){return t.$themeConfig.keyPage&&!0===t.$themeConfig.keyPage.absoluteEncryption})),u=Object(o.a)((function(){var e=t.$site.themeConfig;return!1!==t.$page.frontmatter.navbar&&!1!==e.navbar&&(t.$title||e.logo||e.repo||e.nav||t.$themeLocaleConfig.nav)})),p=Object(o.a)((function(){var e={"no-navbar":!u.value,"sidebar-open":a.value,"no-sidebar":!c.value},r=(t.$frontmatter||{}).pageClass;return r&&(e[r]=!0),e})),d=function(){var e=t.$themeConfig.keyPage;if(e&&e.keys&&0!==e.keys.length){var r=e.keys;r=r.map((function(e){return e.toLowerCase()})),n.value=r&&r.indexOf(sessionStorage.getItem("key"))>-1}else n.value=!0},f=function(){var e=t.$frontmatter.keys;e&&0!==e.length?(e=e.map((function(e){return e.toLowerCase()})),i.value=e.indexOf(sessionStorage.getItem("pageKey".concat(window.location.pathname)))>-1):i.value=!0},h=Object(o.i)(e).showModule,g=Object(o.a)((function(){return!!s.value||h.value}));return Object(o.e)((function(){var e;t.$router.afterEach((function(){a.value=!1})),d(),f(),e=t.$frontmatter.home&&null==sessionStorage.getItem("firstLoad")?1e3:0,Object(V.setTimeout)((function(){s.value=!1,null==sessionStorage.getItem("firstLoad")&&sessionStorage.setItem("firstLoad",!1)}),e)})),{isSidebarOpen:a,absoluteEncryption:l,shouldShowNavbar:u,shouldShowSidebar:c,pageClasses:p,hasKey:d,hasPageKey:f,isHasKey:n,isHasPageKey:i,toggleSidebar:function(e){a.value="boolean"==typeof e?e:!a.value},firstLoad:s,recoShowModule:g}},watch:{$frontmatter:function(e,r){this.hasKey(),this.hasPageKey()}}}),H=(t(589),Object(l.a)(P,(function(){var e=this,r=e.$createElement,t=e._self._c||r;return t("div",{staticClass:"theme-container",class:e.pageClasses},[e.absoluteEncryption?t("div",[t("transition",{attrs:{name:"fade"}},[e.firstLoad?t("LoadingPage"):e.isHasKey?t("div",[e.shouldShowNavbar?t("Navbar",{on:{"toggle-sidebar":e.toggleSidebar}}):e._e(),e._v(" "),t("div",{staticClass:"sidebar-mask",on:{click:function(r){return e.toggleSidebar(!1)}}}),e._v(" "),t("Sidebar",{attrs:{items:e.sidebarItems},on:{"toggle-sidebar":e.toggleSidebar}},[t("PersonalInfo",{attrs:{slot:"top"},slot:"top"}),e._v(" "),e._t("sidebar-bottom",null,{slot:"bottom"})],2),e._v(" "),e.isHasPageKey?e._t("default"):t("Password",{attrs:{isPage:!0}})],2):t("Password")],1)],1):t("div",[t("transition",{attrs:{name:"fade"}},[t("LoadingPage",{directives:[{name:"show",rawName:"v-show",value:e.firstLoad,expression:"firstLoad"}],staticClass:"loading-wrapper"})],1),e._v(" "),t("transition",{attrs:{name:"fade"}},[t("Password",{directives:[{name:"show",rawName:"v-show",value:!e.firstLoad&&!e.isHasKey,expression:"!firstLoad && !isHasKey"}],key:"out",staticClass:"password-wrapper-out"})],1),e._v(" "),t("div",{class:{hide:e.firstLoad||!e.isHasKey}},[e.shouldShowNavbar?t("Navbar",{on:{"toggle-sidebar":e.toggleSidebar}}):e._e(),e._v(" "),t("div",{staticClass:"sidebar-mask",on:{click:function(r){return e.toggleSidebar(!1)}}}),e._v(" "),t("Sidebar",{attrs:{items:e.sidebarItems},on:{"toggle-sidebar":e.toggleSidebar}},[t("PersonalInfo",{attrs:{slot:"top"},slot:"top"}),e._v(" "),e._t("sidebar-bottom",null,{slot:"bottom"})],2),e._v(" "),t("Password",{directives:[{name:"show",rawName:"v-show",value:!e.isHasPageKey,expression:"!isHasPageKey"}],key:"in",staticClass:"password-wrapper-in",attrs:{isPage:!0}}),e._v(" "),t("div",{class:{hide:!e.isHasPageKey}},[e._t("default")],2)],1)],1)])}),[],!1,null,"1156296a",null));r.a=H.exports},521:function(e,r,t){"use strict";var o=t(3),a=t(569);o({target:"String",proto:!0,forced:t(570)("link")},{link:function(e){return a(this,"a","href",e)}})},522:function(e,r,t){"use strict";t(521),t(165),t(6),t(97);var o=t(163),a=t(36),n=t(505),i=Object(o.b)({components:{RecoIcon:n.b},props:{item:{required:!0}},setup:function(e,r){var t=Object(o.c)().proxy,n=Object(o.i)(e).item,i=Object(o.a)((function(){return Object(a.e)(n.value.link)})),s=Object(o.a)((function(){return t.$site.locales?Object.keys(t.$site.locales).some((function(e){return e===i.value})):"/"===i.value}));return{link:i,exact:s,isExternal:a.g,isMailto:a.h,isTel:a.i}}}),s=t(12),c=Object(s.a)(i,(function(){var e=this,r=e.$createElement,t=e._self._c||r;return e.isExternal(e.link)?t("a",{staticClass:"nav-link external",attrs:{href:e.link,target:e.isMailto(e.link)||e.isTel(e.link)?null:"_blank",rel:e.isMailto(e.link)||e.isTel(e.link)?null:"noopener noreferrer"}},[t("reco-icon",{attrs:{icon:""+e.item.icon}}),e._v("\n "+e._s(e.item.text)+"\n "),t("OutboundLink")],1):t("router-link",{staticClass:"nav-link",attrs:{to:e.link,exact:e.exact}},[t("reco-icon",{attrs:{icon:""+e.item.icon}}),e._v("\n "+e._s(e.item.text)+"\n")],1)}),[],!1,null,null,null);r.a=c.exports},524:function(e,r,t){"use strict";var o=t(3),a=t(171).trim;o({target:"String",proto:!0,forced:t(557)("trim")},{trim:function(){return a(this)}})},525:function(e,r,t){},526:function(e,r,t){},527:function(e,r,t){},528:function(e,r,t){},529:function(e,r,t){},530:function(e,r,t){},531:function(e,r,t){},532:function(e,r,t){},533:function(e,r,t){},534:function(e,r,t){},535:function(e,r,t){},536:function(e,r,t){},537:function(e,r,t){var o,a,n,i,s;o=t(584),a=t(538).utf8,n=t(585),i=t(538).bin,(s=function(e,r){e.constructor==String?e=r&&"binary"===r.encoding?i.stringToBytes(e):a.stringToBytes(e):n(e)?e=Array.prototype.slice.call(e,0):Array.isArray(e)||(e=e.toString());for(var t=o.bytesToWords(e),c=8*e.length,l=1732584193,u=-271733879,p=-1732584194,d=271733878,f=0;f>>24)|4278255360&(t[f]<<24|t[f]>>>8);t[c>>>5]|=128<>>9<<4)]=c;var h=s._ff,g=s._gg,m=s._hh,b=s._ii;for(f=0;f>>0,u=u+y>>>0,p=p+w>>>0,d=d+x>>>0}return o.endian([l,u,p,d])})._ff=function(e,r,t,o,a,n,i){var s=e+(r&t|~r&o)+(a>>>0)+i;return(s<>>32-n)+r},s._gg=function(e,r,t,o,a,n,i){var s=e+(r&o|t&~o)+(a>>>0)+i;return(s<>>32-n)+r},s._hh=function(e,r,t,o,a,n,i){var s=e+(r^t^o)+(a>>>0)+i;return(s<>>32-n)+r},s._ii=function(e,r,t,o,a,n,i){var s=e+(t^(r|~o))+(a>>>0)+i;return(s<>>32-n)+r},s._blocksize=16,s._digestsize=16,e.exports=function(e,r){if(null==e)throw new Error("Illegal argument "+e);var t=o.wordsToBytes(s(e,r));return r&&r.asBytes?t:r&&r.asString?i.bytesToString(t):o.bytesToHex(t)}},538:function(e,r){var t={utf8:{stringToBytes:function(e){return t.bin.stringToBytes(unescape(encodeURIComponent(e)))},bytesToString:function(e){return decodeURIComponent(escape(t.bin.bytesToString(e)))}},bin:{stringToBytes:function(e){for(var r=[],t=0;t-1&&(i.value=e)},c=function(){var e=[].slice.call(document.querySelectorAll(".header-anchor")).filter((function(e){return-1!=decodeURIComponent(t.$route.fullPath).indexOf(decodeURIComponent(e.hash))}));null==e||e.length<1||null==e[0].offsetTop||setTimeout((function(){window.scrollTo(0,e[0].offsetTop+160)}),100)},l=function(){var e=document.getElementsByClassName("sidebar")[0],r=document.getElementsByClassName("active sidebar-link")[1];if(null!=r&&null!=r&&null!=r.offsetTop||(r=document.getElementsByClassName("active sidebar-link")[0]),null!=r&&null!=r&&null!=r.offsetTop){var t=e.clientHeight||window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight,o=r.offsetTop,a=r.offsetTop+r.offsetHeight,n=e.scrollTop;a<=t+n||(e.scrollTop=a+5-t),o>=n||(e.scrollTop=o-5)}};return s(),Object(o.e)((function(){!function(){var e=decodeURIComponent(t.$route.fullPath);if(e&&""!=e)for(var r=[].slice.call(document.querySelectorAll(".sidebar-link")),o=0;o=o&&(this.u=this.g),this.u===this.g&&(this.cache&&this.j.set(r,this.o),this.F&&this.F(this.o))),this}function a(e,r){const t=e.length,o=y(r),a=[];for(let n=0,i=0;n=i&&((e=(e=e[s-(a+.5>>0)])[t]||(e[t]=[]))[e.length]=o),a)}function u(e,r){if(e){const t=Object.keys(e);for(let o=0,a=t.length;o(e=e.length-r.length)?1:e?-1:0}function f(e,r){return(e=e[B])<(r=r[B])?-1:e>r?1:0}function h(e,r){const t=B.length;for(let o=0;or?1:0}function g(e,r,t){return e?{page:e,next:r?""+r:null,result:t}:t}function m(e,r,t,o,a,n,i){let s,c=[];if(!0===t){t="0";var l=""}else l=t&&t.split(":");const u=e.length;if(1i&&(l=0),s=(l=l||0)+r,s=this.m.length&&(this.C=0),this.m[this.C].postMessage({add:!0,id:e,content:r}),this.c[i]=""+this.C,t&&t(),this;if(!n){if(this.async&&"function"!=typeof importScripts){let a=this;return i=new Promise((function(t){setTimeout((function(){a.add(e,r,null,o,!0),a=null,t()}))})),t?(i.then(t),this):i}if(t)return this.add(e,r,null,o,!0),t(),this}if(!(r=this.encode(r)).length)return this;n=y(t=this.f)?t(r):r.split(this.split),this.filter&&(n=a(n,this.filter));const f=k();f._ctx=k();const h=n.length,g=this.threshold,m=this.depth,b=this.b,v=this.i,w=this.D;for(let r=0;rd;t--)l(v,f,p=s.substring(d,t),e,r,u,g,b-1)}break;default:if(c=l(v,f,s,e,1,u,g,b-1),m&&1=g)for(c=f._ctx[s]||(f._ctx[s]=k()),s=this.h[s]||(this.h[s]=q(b-(g||0))),0>(u=r-m)&&(u=0),(p=r+m+1)>h&&(p=h);ua;t--)o=n[t-1],n[t]=o,r[o]=t;n[a]=e,r[e]=a}}}return r},e}();return t}(function(){const e={},r="undefined"!=typeof Blob&&"undefined"!=typeof URL&&URL.createObjectURL;return function(t,o,a,n,i){return a=r?URL.createObjectURL(new Blob(["("+a.toString()+")()"],{type:"text/javascript"})):t+".min.js",e[t+="-"+o]||(e[t]=[]),e[t][i]=new Worker(a),e[t][i].onmessage=n,e[t][i]}}()),this)},561:function(e,r,t){var o=t(562).default;t(25),t(56),t(30),t(6),t(279),t(280),t(281),t(167),t(166);var a=t(565);e.exports.getPageText=function(e){if(!e._strippedContent)return"";var r=e._context.markdown.render(e._strippedContent).html;return a.decode(r.replace(/(<[^>]+>)+/g," ").replace(/^\s*#\s/gm,""))},e.exports.highlightText=function(e,r){var t=e;if(highlightWords=r.split(" ").filter((function(e){return e.length>0})),highlightWords.length>0){var a,n=o(highlightWords);try{for(n.s();!(a=n.n()).done;){var i=a.value;t=t.replace(new RegExp(i,"ig"),"$&")}}catch(e){n.e(e)}finally{n.f()}}else t=e.replace(new RegExp(r,"ig"),"$&");return t}},562:function(e,r,t){t(76),t(101),t(6),t(126),t(28),t(35),t(98),t(42),t(43);var o=t(563);e.exports=function(e,r){var t="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=o(e))||r&&e&&"number"==typeof e.length){t&&(e=t);var a=0,n=function(){};return{s:n,n:function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}},e:function(e){throw e},f:n}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,s=!0,c=!1;return{s:function(){t=t.call(e)},n:function(){var e=t.next();return s=e.done,e},e:function(e){c=!0,i=e},f:function(){try{s||null==t.return||t.return()}finally{if(c)throw i}}}},e.exports.__esModule=!0,e.exports.default=e.exports},563:function(e,r,t){t(48),t(6),t(124),t(127),t(28),t(25),t(55);var o=t(564);e.exports=function(e,r){if(e){if("string"==typeof e)return o(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?o(e,r):void 0}},e.exports.__esModule=!0,e.exports.default=e.exports},564:function(e,r){e.exports=function(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,o=new Array(r);t\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,p={"­":"shy","‌":"zwnj","‍":"zwj","‎":"lrm","⁣":"ic","⁢":"it","⁡":"af","‏":"rlm","​":"ZeroWidthSpace","⁠":"NoBreak","̑":"DownBreve","⃛":"tdot","⃜":"DotDot","\t":"Tab","\n":"NewLine"," ":"puncsp"," ":"MediumSpace"," ":"thinsp"," ":"hairsp"," ":"emsp13"," ":"ensp"," ":"emsp14"," ":"emsp"," ":"numsp"," ":"nbsp","  ":"ThickSpace","‾":"oline",_:"lowbar","‐":"dash","–":"ndash","—":"mdash","―":"horbar",",":"comma",";":"semi","⁏":"bsemi",":":"colon","⩴":"Colone","!":"excl","¡":"iexcl","?":"quest","¿":"iquest",".":"period","‥":"nldr","…":"mldr","·":"middot","'":"apos","‘":"lsquo","’":"rsquo","‚":"sbquo","‹":"lsaquo","›":"rsaquo",'"':"quot","“":"ldquo","”":"rdquo","„":"bdquo","«":"laquo","»":"raquo","(":"lpar",")":"rpar","[":"lsqb","]":"rsqb","{":"lcub","}":"rcub","⌈":"lceil","⌉":"rceil","⌊":"lfloor","⌋":"rfloor","⦅":"lopar","⦆":"ropar","⦋":"lbrke","⦌":"rbrke","⦍":"lbrkslu","⦎":"rbrksld","⦏":"lbrksld","⦐":"rbrkslu","⦑":"langd","⦒":"rangd","⦓":"lparlt","⦔":"rpargt","⦕":"gtlPar","⦖":"ltrPar","⟦":"lobrk","⟧":"robrk","⟨":"lang","⟩":"rang","⟪":"Lang","⟫":"Rang","⟬":"loang","⟭":"roang","❲":"lbbrk","❳":"rbbrk","‖":"Vert","§":"sect","¶":"para","@":"commat","*":"ast","/":"sol",undefined:null,"&":"amp","#":"num","%":"percnt","‰":"permil","‱":"pertenk","†":"dagger","‡":"Dagger","•":"bull","⁃":"hybull","′":"prime","″":"Prime","‴":"tprime","⁗":"qprime","‵":"bprime","⁁":"caret","`":"grave","´":"acute","˜":"tilde","^":"Hat","¯":"macr","˘":"breve","˙":"dot","¨":"die","˚":"ring","˝":"dblac","¸":"cedil","˛":"ogon","ˆ":"circ","ˇ":"caron","°":"deg","©":"copy","®":"reg","℗":"copysr","℘":"wp","℞":"rx","℧":"mho","℩":"iiota","←":"larr","↚":"nlarr","→":"rarr","↛":"nrarr","↑":"uarr","↓":"darr","↔":"harr","↮":"nharr","↕":"varr","↖":"nwarr","↗":"nearr","↘":"searr","↙":"swarr","↝":"rarrw","↝̸":"nrarrw","↞":"Larr","↟":"Uarr","↠":"Rarr","↡":"Darr","↢":"larrtl","↣":"rarrtl","↤":"mapstoleft","↥":"mapstoup","↦":"map","↧":"mapstodown","↩":"larrhk","↪":"rarrhk","↫":"larrlp","↬":"rarrlp","↭":"harrw","↰":"lsh","↱":"rsh","↲":"ldsh","↳":"rdsh","↵":"crarr","↶":"cularr","↷":"curarr","↺":"olarr","↻":"orarr","↼":"lharu","↽":"lhard","↾":"uharr","↿":"uharl","⇀":"rharu","⇁":"rhard","⇂":"dharr","⇃":"dharl","⇄":"rlarr","⇅":"udarr","⇆":"lrarr","⇇":"llarr","⇈":"uuarr","⇉":"rrarr","⇊":"ddarr","⇋":"lrhar","⇌":"rlhar","⇐":"lArr","⇍":"nlArr","⇑":"uArr","⇒":"rArr","⇏":"nrArr","⇓":"dArr","⇔":"iff","⇎":"nhArr","⇕":"vArr","⇖":"nwArr","⇗":"neArr","⇘":"seArr","⇙":"swArr","⇚":"lAarr","⇛":"rAarr","⇝":"zigrarr","⇤":"larrb","⇥":"rarrb","⇵":"duarr","⇽":"loarr","⇾":"roarr","⇿":"hoarr","∀":"forall","∁":"comp","∂":"part","∂̸":"npart","∃":"exist","∄":"nexist","∅":"empty","∇":"Del","∈":"in","∉":"notin","∋":"ni","∌":"notni","϶":"bepsi","∏":"prod","∐":"coprod","∑":"sum","+":"plus","±":"pm","÷":"div","×":"times","<":"lt","≮":"nlt","<⃒":"nvlt","=":"equals","≠":"ne","=⃥":"bne","⩵":"Equal",">":"gt","≯":"ngt",">⃒":"nvgt","¬":"not","|":"vert","¦":"brvbar","−":"minus","∓":"mp","∔":"plusdo","⁄":"frasl","∖":"setmn","∗":"lowast","∘":"compfn","√":"Sqrt","∝":"prop","∞":"infin","∟":"angrt","∠":"ang","∠⃒":"nang","∡":"angmsd","∢":"angsph","∣":"mid","∤":"nmid","∥":"par","∦":"npar","∧":"and","∨":"or","∩":"cap","∩︀":"caps","∪":"cup","∪︀":"cups","∫":"int","∬":"Int","∭":"tint","⨌":"qint","∮":"oint","∯":"Conint","∰":"Cconint","∱":"cwint","∲":"cwconint","∳":"awconint","∴":"there4","∵":"becaus","∶":"ratio","∷":"Colon","∸":"minusd","∺":"mDDot","∻":"homtht","∼":"sim","≁":"nsim","∼⃒":"nvsim","∽":"bsim","∽̱":"race","∾":"ac","∾̳":"acE","∿":"acd","≀":"wr","≂":"esim","≂̸":"nesim","≃":"sime","≄":"nsime","≅":"cong","≇":"ncong","≆":"simne","≈":"ap","≉":"nap","≊":"ape","≋":"apid","≋̸":"napid","≌":"bcong","≍":"CupCap","≭":"NotCupCap","≍⃒":"nvap","≎":"bump","≎̸":"nbump","≏":"bumpe","≏̸":"nbumpe","≐":"doteq","≐̸":"nedot","≑":"eDot","≒":"efDot","≓":"erDot","≔":"colone","≕":"ecolon","≖":"ecir","≗":"cire","≙":"wedgeq","≚":"veeeq","≜":"trie","≟":"equest","≡":"equiv","≢":"nequiv","≡⃥":"bnequiv","≤":"le","≰":"nle","≤⃒":"nvle","≥":"ge","≱":"nge","≥⃒":"nvge","≦":"lE","≦̸":"nlE","≧":"gE","≧̸":"ngE","≨︀":"lvnE","≨":"lnE","≩":"gnE","≩︀":"gvnE","≪":"ll","≪̸":"nLtv","≪⃒":"nLt","≫":"gg","≫̸":"nGtv","≫⃒":"nGt","≬":"twixt","≲":"lsim","≴":"nlsim","≳":"gsim","≵":"ngsim","≶":"lg","≸":"ntlg","≷":"gl","≹":"ntgl","≺":"pr","⊀":"npr","≻":"sc","⊁":"nsc","≼":"prcue","⋠":"nprcue","≽":"sccue","⋡":"nsccue","≾":"prsim","≿":"scsim","≿̸":"NotSucceedsTilde","⊂":"sub","⊄":"nsub","⊂⃒":"vnsub","⊃":"sup","⊅":"nsup","⊃⃒":"vnsup","⊆":"sube","⊈":"nsube","⊇":"supe","⊉":"nsupe","⊊︀":"vsubne","⊊":"subne","⊋︀":"vsupne","⊋":"supne","⊍":"cupdot","⊎":"uplus","⊏":"sqsub","⊏̸":"NotSquareSubset","⊐":"sqsup","⊐̸":"NotSquareSuperset","⊑":"sqsube","⋢":"nsqsube","⊒":"sqsupe","⋣":"nsqsupe","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊕":"oplus","⊖":"ominus","⊗":"otimes","⊘":"osol","⊙":"odot","⊚":"ocir","⊛":"oast","⊝":"odash","⊞":"plusb","⊟":"minusb","⊠":"timesb","⊡":"sdotb","⊢":"vdash","⊬":"nvdash","⊣":"dashv","⊤":"top","⊥":"bot","⊧":"models","⊨":"vDash","⊭":"nvDash","⊩":"Vdash","⊮":"nVdash","⊪":"Vvdash","⊫":"VDash","⊯":"nVDash","⊰":"prurel","⊲":"vltri","⋪":"nltri","⊳":"vrtri","⋫":"nrtri","⊴":"ltrie","⋬":"nltrie","⊴⃒":"nvltrie","⊵":"rtrie","⋭":"nrtrie","⊵⃒":"nvrtrie","⊶":"origof","⊷":"imof","⊸":"mumap","⊹":"hercon","⊺":"intcal","⊻":"veebar","⊽":"barvee","⊾":"angrtvb","⊿":"lrtri","⋀":"Wedge","⋁":"Vee","⋂":"xcap","⋃":"xcup","⋄":"diam","⋅":"sdot","⋆":"Star","⋇":"divonx","⋈":"bowtie","⋉":"ltimes","⋊":"rtimes","⋋":"lthree","⋌":"rthree","⋍":"bsime","⋎":"cuvee","⋏":"cuwed","⋐":"Sub","⋑":"Sup","⋒":"Cap","⋓":"Cup","⋔":"fork","⋕":"epar","⋖":"ltdot","⋗":"gtdot","⋘":"Ll","⋘̸":"nLl","⋙":"Gg","⋙̸":"nGg","⋚︀":"lesg","⋚":"leg","⋛":"gel","⋛︀":"gesl","⋞":"cuepr","⋟":"cuesc","⋦":"lnsim","⋧":"gnsim","⋨":"prnsim","⋩":"scnsim","⋮":"vellip","⋯":"ctdot","⋰":"utdot","⋱":"dtdot","⋲":"disin","⋳":"isinsv","⋴":"isins","⋵":"isindot","⋵̸":"notindot","⋶":"notinvc","⋷":"notinvb","⋹":"isinE","⋹̸":"notinE","⋺":"nisd","⋻":"xnis","⋼":"nis","⋽":"notnivc","⋾":"notnivb","⌅":"barwed","⌆":"Barwed","⌌":"drcrop","⌍":"dlcrop","⌎":"urcrop","⌏":"ulcrop","⌐":"bnot","⌒":"profline","⌓":"profsurf","⌕":"telrec","⌖":"target","⌜":"ulcorn","⌝":"urcorn","⌞":"dlcorn","⌟":"drcorn","⌢":"frown","⌣":"smile","⌭":"cylcty","⌮":"profalar","⌶":"topbot","⌽":"ovbar","⌿":"solbar","⍼":"angzarr","⎰":"lmoust","⎱":"rmoust","⎴":"tbrk","⎵":"bbrk","⎶":"bbrktbrk","⏜":"OverParenthesis","⏝":"UnderParenthesis","⏞":"OverBrace","⏟":"UnderBrace","⏢":"trpezium","⏧":"elinters","␣":"blank","─":"boxh","│":"boxv","┌":"boxdr","┐":"boxdl","└":"boxur","┘":"boxul","├":"boxvr","┤":"boxvl","┬":"boxhd","┴":"boxhu","┼":"boxvh","═":"boxH","║":"boxV","╒":"boxdR","╓":"boxDr","╔":"boxDR","╕":"boxdL","╖":"boxDl","╗":"boxDL","╘":"boxuR","╙":"boxUr","╚":"boxUR","╛":"boxuL","╜":"boxUl","╝":"boxUL","╞":"boxvR","╟":"boxVr","╠":"boxVR","╡":"boxvL","╢":"boxVl","╣":"boxVL","╤":"boxHd","╥":"boxhD","╦":"boxHD","╧":"boxHu","╨":"boxhU","╩":"boxHU","╪":"boxvH","╫":"boxVh","╬":"boxVH","▀":"uhblk","▄":"lhblk","█":"block","░":"blk14","▒":"blk12","▓":"blk34","□":"squ","▪":"squf","▫":"EmptyVerySmallSquare","▭":"rect","▮":"marker","▱":"fltns","△":"xutri","▴":"utrif","▵":"utri","▸":"rtrif","▹":"rtri","▽":"xdtri","▾":"dtrif","▿":"dtri","◂":"ltrif","◃":"ltri","◊":"loz","○":"cir","◬":"tridot","◯":"xcirc","◸":"ultri","◹":"urtri","◺":"lltri","◻":"EmptySmallSquare","◼":"FilledSmallSquare","★":"starf","☆":"star","☎":"phone","♀":"female","♂":"male","♠":"spades","♣":"clubs","♥":"hearts","♦":"diams","♪":"sung","✓":"check","✗":"cross","✠":"malt","✶":"sext","❘":"VerticalSeparator","⟈":"bsolhsub","⟉":"suphsol","⟵":"xlarr","⟶":"xrarr","⟷":"xharr","⟸":"xlArr","⟹":"xrArr","⟺":"xhArr","⟼":"xmap","⟿":"dzigrarr","⤂":"nvlArr","⤃":"nvrArr","⤄":"nvHarr","⤅":"Map","⤌":"lbarr","⤍":"rbarr","⤎":"lBarr","⤏":"rBarr","⤐":"RBarr","⤑":"DDotrahd","⤒":"UpArrowBar","⤓":"DownArrowBar","⤖":"Rarrtl","⤙":"latail","⤚":"ratail","⤛":"lAtail","⤜":"rAtail","⤝":"larrfs","⤞":"rarrfs","⤟":"larrbfs","⤠":"rarrbfs","⤣":"nwarhk","⤤":"nearhk","⤥":"searhk","⤦":"swarhk","⤧":"nwnear","⤨":"toea","⤩":"tosa","⤪":"swnwar","⤳":"rarrc","⤳̸":"nrarrc","⤵":"cudarrr","⤶":"ldca","⤷":"rdca","⤸":"cudarrl","⤹":"larrpl","⤼":"curarrm","⤽":"cularrp","⥅":"rarrpl","⥈":"harrcir","⥉":"Uarrocir","⥊":"lurdshar","⥋":"ldrushar","⥎":"LeftRightVector","⥏":"RightUpDownVector","⥐":"DownLeftRightVector","⥑":"LeftUpDownVector","⥒":"LeftVectorBar","⥓":"RightVectorBar","⥔":"RightUpVectorBar","⥕":"RightDownVectorBar","⥖":"DownLeftVectorBar","⥗":"DownRightVectorBar","⥘":"LeftUpVectorBar","⥙":"LeftDownVectorBar","⥚":"LeftTeeVector","⥛":"RightTeeVector","⥜":"RightUpTeeVector","⥝":"RightDownTeeVector","⥞":"DownLeftTeeVector","⥟":"DownRightTeeVector","⥠":"LeftUpTeeVector","⥡":"LeftDownTeeVector","⥢":"lHar","⥣":"uHar","⥤":"rHar","⥥":"dHar","⥦":"luruhar","⥧":"ldrdhar","⥨":"ruluhar","⥩":"rdldhar","⥪":"lharul","⥫":"llhard","⥬":"rharul","⥭":"lrhard","⥮":"udhar","⥯":"duhar","⥰":"RoundImplies","⥱":"erarr","⥲":"simrarr","⥳":"larrsim","⥴":"rarrsim","⥵":"rarrap","⥶":"ltlarr","⥸":"gtrarr","⥹":"subrarr","⥻":"suplarr","⥼":"lfisht","⥽":"rfisht","⥾":"ufisht","⥿":"dfisht","⦚":"vzigzag","⦜":"vangrt","⦝":"angrtvbd","⦤":"ange","⦥":"range","⦦":"dwangle","⦧":"uwangle","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","⦰":"bemptyv","⦱":"demptyv","⦲":"cemptyv","⦳":"raemptyv","⦴":"laemptyv","⦵":"ohbar","⦶":"omid","⦷":"opar","⦹":"operp","⦻":"olcross","⦼":"odsold","⦾":"olcir","⦿":"ofcir","⧀":"olt","⧁":"ogt","⧂":"cirscir","⧃":"cirE","⧄":"solb","⧅":"bsolb","⧉":"boxbox","⧍":"trisb","⧎":"rtriltri","⧏":"LeftTriangleBar","⧏̸":"NotLeftTriangleBar","⧐":"RightTriangleBar","⧐̸":"NotRightTriangleBar","⧜":"iinfin","⧝":"infintie","⧞":"nvinfin","⧣":"eparsl","⧤":"smeparsl","⧥":"eqvparsl","⧫":"lozf","⧴":"RuleDelayed","⧶":"dsol","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨄":"xuplus","⨆":"xsqcup","⨍":"fpartint","⨐":"cirfnint","⨑":"awint","⨒":"rppolint","⨓":"scpolint","⨔":"npolint","⨕":"pointint","⨖":"quatint","⨗":"intlarhk","⨢":"pluscir","⨣":"plusacir","⨤":"simplus","⨥":"plusdu","⨦":"plussim","⨧":"plustwo","⨩":"mcomma","⨪":"minusdu","⨭":"loplus","⨮":"roplus","⨯":"Cross","⨰":"timesd","⨱":"timesbar","⨳":"smashp","⨴":"lotimes","⨵":"rotimes","⨶":"otimesas","⨷":"Otimes","⨸":"odiv","⨹":"triplus","⨺":"triminus","⨻":"tritime","⨼":"iprod","⨿":"amalg","⩀":"capdot","⩂":"ncup","⩃":"ncap","⩄":"capand","⩅":"cupor","⩆":"cupcap","⩇":"capcup","⩈":"cupbrcap","⩉":"capbrcup","⩊":"cupcup","⩋":"capcap","⩌":"ccups","⩍":"ccaps","⩐":"ccupssm","⩓":"And","⩔":"Or","⩕":"andand","⩖":"oror","⩗":"orslope","⩘":"andslope","⩚":"andv","⩛":"orv","⩜":"andd","⩝":"ord","⩟":"wedbar","⩦":"sdote","⩪":"simdot","⩭":"congdot","⩭̸":"ncongdot","⩮":"easter","⩯":"apacir","⩰":"apE","⩰̸":"napE","⩱":"eplus","⩲":"pluse","⩳":"Esim","⩷":"eDDot","⩸":"equivDD","⩹":"ltcir","⩺":"gtcir","⩻":"ltquest","⩼":"gtquest","⩽":"les","⩽̸":"nles","⩾":"ges","⩾̸":"nges","⩿":"lesdot","⪀":"gesdot","⪁":"lesdoto","⪂":"gesdoto","⪃":"lesdotor","⪄":"gesdotol","⪅":"lap","⪆":"gap","⪇":"lne","⪈":"gne","⪉":"lnap","⪊":"gnap","⪋":"lEg","⪌":"gEl","⪍":"lsime","⪎":"gsime","⪏":"lsimg","⪐":"gsiml","⪑":"lgE","⪒":"glE","⪓":"lesges","⪔":"gesles","⪕":"els","⪖":"egs","⪗":"elsdot","⪘":"egsdot","⪙":"el","⪚":"eg","⪝":"siml","⪞":"simg","⪟":"simlE","⪠":"simgE","⪡":"LessLess","⪡̸":"NotNestedLessLess","⪢":"GreaterGreater","⪢̸":"NotNestedGreaterGreater","⪤":"glj","⪥":"gla","⪦":"ltcc","⪧":"gtcc","⪨":"lescc","⪩":"gescc","⪪":"smt","⪫":"lat","⪬":"smte","⪬︀":"smtes","⪭":"late","⪭︀":"lates","⪮":"bumpE","⪯":"pre","⪯̸":"npre","⪰":"sce","⪰̸":"nsce","⪳":"prE","⪴":"scE","⪵":"prnE","⪶":"scnE","⪷":"prap","⪸":"scap","⪹":"prnap","⪺":"scnap","⪻":"Pr","⪼":"Sc","⪽":"subdot","⪾":"supdot","⪿":"subplus","⫀":"supplus","⫁":"submult","⫂":"supmult","⫃":"subedot","⫄":"supedot","⫅":"subE","⫅̸":"nsubE","⫆":"supE","⫆̸":"nsupE","⫇":"subsim","⫈":"supsim","⫋︀":"vsubnE","⫋":"subnE","⫌︀":"vsupnE","⫌":"supnE","⫏":"csub","⫐":"csup","⫑":"csube","⫒":"csupe","⫓":"subsup","⫔":"supsub","⫕":"subsub","⫖":"supsup","⫗":"suphsub","⫘":"supdsub","⫙":"forkv","⫚":"topfork","⫛":"mlcp","⫤":"Dashv","⫦":"Vdashl","⫧":"Barv","⫨":"vBar","⫩":"vBarv","⫫":"Vbar","⫬":"Not","⫭":"bNot","⫮":"rnmid","⫯":"cirmid","⫰":"midcir","⫱":"topcir","⫲":"nhpar","⫳":"parsim","⫽":"parsl","⫽⃥":"nparsl","♭":"flat","♮":"natur","♯":"sharp","¤":"curren","¢":"cent",$:"dollar","£":"pound","¥":"yen","€":"euro","¹":"sup1","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","²":"sup2","⅔":"frac23","⅖":"frac25","³":"sup3","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78","𝒶":"ascr","𝕒":"aopf","𝔞":"afr","𝔸":"Aopf","𝔄":"Afr","𝒜":"Ascr","ª":"ordf","á":"aacute","Á":"Aacute","à":"agrave","À":"Agrave","ă":"abreve","Ă":"Abreve","â":"acirc","Â":"Acirc","å":"aring","Å":"angst","ä":"auml","Ä":"Auml","ã":"atilde","Ã":"Atilde","ą":"aogon","Ą":"Aogon","ā":"amacr","Ā":"Amacr","æ":"aelig","Æ":"AElig","𝒷":"bscr","𝕓":"bopf","𝔟":"bfr","𝔹":"Bopf","ℬ":"Bscr","𝔅":"Bfr","𝔠":"cfr","𝒸":"cscr","𝕔":"copf","ℭ":"Cfr","𝒞":"Cscr","ℂ":"Copf","ć":"cacute","Ć":"Cacute","ĉ":"ccirc","Ĉ":"Ccirc","č":"ccaron","Č":"Ccaron","ċ":"cdot","Ċ":"Cdot","ç":"ccedil","Ç":"Ccedil","℅":"incare","𝔡":"dfr","ⅆ":"dd","𝕕":"dopf","𝒹":"dscr","𝒟":"Dscr","𝔇":"Dfr","ⅅ":"DD","𝔻":"Dopf","ď":"dcaron","Ď":"Dcaron","đ":"dstrok","Đ":"Dstrok","ð":"eth","Ð":"ETH","ⅇ":"ee","ℯ":"escr","𝔢":"efr","𝕖":"eopf","ℰ":"Escr","𝔈":"Efr","𝔼":"Eopf","é":"eacute","É":"Eacute","è":"egrave","È":"Egrave","ê":"ecirc","Ê":"Ecirc","ě":"ecaron","Ě":"Ecaron","ë":"euml","Ë":"Euml","ė":"edot","Ė":"Edot","ę":"eogon","Ę":"Eogon","ē":"emacr","Ē":"Emacr","𝔣":"ffr","𝕗":"fopf","𝒻":"fscr","𝔉":"Ffr","𝔽":"Fopf","ℱ":"Fscr","ff":"fflig","ffi":"ffilig","ffl":"ffllig","fi":"filig",fj:"fjlig","fl":"fllig","ƒ":"fnof","ℊ":"gscr","𝕘":"gopf","𝔤":"gfr","𝒢":"Gscr","𝔾":"Gopf","𝔊":"Gfr","ǵ":"gacute","ğ":"gbreve","Ğ":"Gbreve","ĝ":"gcirc","Ĝ":"Gcirc","ġ":"gdot","Ġ":"Gdot","Ģ":"Gcedil","𝔥":"hfr","ℎ":"planckh","𝒽":"hscr","𝕙":"hopf","ℋ":"Hscr","ℌ":"Hfr","ℍ":"Hopf","ĥ":"hcirc","Ĥ":"Hcirc","ℏ":"hbar","ħ":"hstrok","Ħ":"Hstrok","𝕚":"iopf","𝔦":"ifr","𝒾":"iscr","ⅈ":"ii","𝕀":"Iopf","ℐ":"Iscr","ℑ":"Im","í":"iacute","Í":"Iacute","ì":"igrave","Ì":"Igrave","î":"icirc","Î":"Icirc","ï":"iuml","Ï":"Iuml","ĩ":"itilde","Ĩ":"Itilde","İ":"Idot","į":"iogon","Į":"Iogon","ī":"imacr","Ī":"Imacr","ij":"ijlig","IJ":"IJlig","ı":"imath","𝒿":"jscr","𝕛":"jopf","𝔧":"jfr","𝒥":"Jscr","𝔍":"Jfr","𝕁":"Jopf","ĵ":"jcirc","Ĵ":"Jcirc","ȷ":"jmath","𝕜":"kopf","𝓀":"kscr","𝔨":"kfr","𝒦":"Kscr","𝕂":"Kopf","𝔎":"Kfr","ķ":"kcedil","Ķ":"Kcedil","𝔩":"lfr","𝓁":"lscr","ℓ":"ell","𝕝":"lopf","ℒ":"Lscr","𝔏":"Lfr","𝕃":"Lopf","ĺ":"lacute","Ĺ":"Lacute","ľ":"lcaron","Ľ":"Lcaron","ļ":"lcedil","Ļ":"Lcedil","ł":"lstrok","Ł":"Lstrok","ŀ":"lmidot","Ŀ":"Lmidot","𝔪":"mfr","𝕞":"mopf","𝓂":"mscr","𝔐":"Mfr","𝕄":"Mopf","ℳ":"Mscr","𝔫":"nfr","𝕟":"nopf","𝓃":"nscr","ℕ":"Nopf","𝒩":"Nscr","𝔑":"Nfr","ń":"nacute","Ń":"Nacute","ň":"ncaron","Ň":"Ncaron","ñ":"ntilde","Ñ":"Ntilde","ņ":"ncedil","Ņ":"Ncedil","№":"numero","ŋ":"eng","Ŋ":"ENG","𝕠":"oopf","𝔬":"ofr","ℴ":"oscr","𝒪":"Oscr","𝔒":"Ofr","𝕆":"Oopf","º":"ordm","ó":"oacute","Ó":"Oacute","ò":"ograve","Ò":"Ograve","ô":"ocirc","Ô":"Ocirc","ö":"ouml","Ö":"Ouml","ő":"odblac","Ő":"Odblac","õ":"otilde","Õ":"Otilde","ø":"oslash","Ø":"Oslash","ō":"omacr","Ō":"Omacr","œ":"oelig","Œ":"OElig","𝔭":"pfr","𝓅":"pscr","𝕡":"popf","ℙ":"Popf","𝔓":"Pfr","𝒫":"Pscr","𝕢":"qopf","𝔮":"qfr","𝓆":"qscr","𝒬":"Qscr","𝔔":"Qfr","ℚ":"Qopf","ĸ":"kgreen","𝔯":"rfr","𝕣":"ropf","𝓇":"rscr","ℛ":"Rscr","ℜ":"Re","ℝ":"Ropf","ŕ":"racute","Ŕ":"Racute","ř":"rcaron","Ř":"Rcaron","ŗ":"rcedil","Ŗ":"Rcedil","𝕤":"sopf","𝓈":"sscr","𝔰":"sfr","𝕊":"Sopf","𝔖":"Sfr","𝒮":"Sscr","Ⓢ":"oS","ś":"sacute","Ś":"Sacute","ŝ":"scirc","Ŝ":"Scirc","š":"scaron","Š":"Scaron","ş":"scedil","Ş":"Scedil","ß":"szlig","𝔱":"tfr","𝓉":"tscr","𝕥":"topf","𝒯":"Tscr","𝔗":"Tfr","𝕋":"Topf","ť":"tcaron","Ť":"Tcaron","ţ":"tcedil","Ţ":"Tcedil","™":"trade","ŧ":"tstrok","Ŧ":"Tstrok","𝓊":"uscr","𝕦":"uopf","𝔲":"ufr","𝕌":"Uopf","𝔘":"Ufr","𝒰":"Uscr","ú":"uacute","Ú":"Uacute","ù":"ugrave","Ù":"Ugrave","ŭ":"ubreve","Ŭ":"Ubreve","û":"ucirc","Û":"Ucirc","ů":"uring","Ů":"Uring","ü":"uuml","Ü":"Uuml","ű":"udblac","Ű":"Udblac","ũ":"utilde","Ũ":"Utilde","ų":"uogon","Ų":"Uogon","ū":"umacr","Ū":"Umacr","𝔳":"vfr","𝕧":"vopf","𝓋":"vscr","𝔙":"Vfr","𝕍":"Vopf","𝒱":"Vscr","𝕨":"wopf","𝓌":"wscr","𝔴":"wfr","𝒲":"Wscr","𝕎":"Wopf","𝔚":"Wfr","ŵ":"wcirc","Ŵ":"Wcirc","𝔵":"xfr","𝓍":"xscr","𝕩":"xopf","𝕏":"Xopf","𝔛":"Xfr","𝒳":"Xscr","𝔶":"yfr","𝓎":"yscr","𝕪":"yopf","𝒴":"Yscr","𝔜":"Yfr","𝕐":"Yopf","ý":"yacute","Ý":"Yacute","ŷ":"ycirc","Ŷ":"Ycirc","ÿ":"yuml","Ÿ":"Yuml","𝓏":"zscr","𝔷":"zfr","𝕫":"zopf","ℨ":"Zfr","ℤ":"Zopf","𝒵":"Zscr","ź":"zacute","Ź":"Zacute","ž":"zcaron","Ž":"Zcaron","ż":"zdot","Ż":"Zdot","Ƶ":"imped","þ":"thorn","Þ":"THORN","ʼn":"napos","α":"alpha","Α":"Alpha","β":"beta","Β":"Beta","γ":"gamma","Γ":"Gamma","δ":"delta","Δ":"Delta","ε":"epsi","ϵ":"epsiv","Ε":"Epsilon","ϝ":"gammad","Ϝ":"Gammad","ζ":"zeta","Ζ":"Zeta","η":"eta","Η":"Eta","θ":"theta","ϑ":"thetav","Θ":"Theta","ι":"iota","Ι":"Iota","κ":"kappa","ϰ":"kappav","Κ":"Kappa","λ":"lambda","Λ":"Lambda","μ":"mu","µ":"micro","Μ":"Mu","ν":"nu","Ν":"Nu","ξ":"xi","Ξ":"Xi","ο":"omicron","Ο":"Omicron","π":"pi","ϖ":"piv","Π":"Pi","ρ":"rho","ϱ":"rhov","Ρ":"Rho","σ":"sigma","Σ":"Sigma","ς":"sigmaf","τ":"tau","Τ":"Tau","υ":"upsi","Υ":"Upsilon","ϒ":"Upsi","φ":"phi","ϕ":"phiv","Φ":"Phi","χ":"chi","Χ":"Chi","ψ":"psi","Ψ":"Psi","ω":"omega","Ω":"ohm","а":"acy","А":"Acy","б":"bcy","Б":"Bcy","в":"vcy","В":"Vcy","г":"gcy","Г":"Gcy","ѓ":"gjcy","Ѓ":"GJcy","д":"dcy","Д":"Dcy","ђ":"djcy","Ђ":"DJcy","е":"iecy","Е":"IEcy","ё":"iocy","Ё":"IOcy","є":"jukcy","Є":"Jukcy","ж":"zhcy","Ж":"ZHcy","з":"zcy","З":"Zcy","ѕ":"dscy","Ѕ":"DScy","и":"icy","И":"Icy","і":"iukcy","І":"Iukcy","ї":"yicy","Ї":"YIcy","й":"jcy","Й":"Jcy","ј":"jsercy","Ј":"Jsercy","к":"kcy","К":"Kcy","ќ":"kjcy","Ќ":"KJcy","л":"lcy","Л":"Lcy","љ":"ljcy","Љ":"LJcy","м":"mcy","М":"Mcy","н":"ncy","Н":"Ncy","њ":"njcy","Њ":"NJcy","о":"ocy","О":"Ocy","п":"pcy","П":"Pcy","р":"rcy","Р":"Rcy","с":"scy","С":"Scy","т":"tcy","Т":"Tcy","ћ":"tshcy","Ћ":"TSHcy","у":"ucy","У":"Ucy","ў":"ubrcy","Ў":"Ubrcy","ф":"fcy","Ф":"Fcy","х":"khcy","Х":"KHcy","ц":"tscy","Ц":"TScy","ч":"chcy","Ч":"CHcy","џ":"dzcy","Џ":"DZcy","ш":"shcy","Ш":"SHcy","щ":"shchcy","Щ":"SHCHcy","ъ":"hardcy","Ъ":"HARDcy","ы":"ycy","Ы":"Ycy","ь":"softcy","Ь":"SOFTcy","э":"ecy","Э":"Ecy","ю":"yucy","Ю":"YUcy","я":"yacy","Я":"YAcy","ℵ":"aleph","ℶ":"beth","ℷ":"gimel","ℸ":"daleth"},d=/["&'<>`]/g,f={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},h=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,g=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,m=/&(CounterClockwiseContourIntegral|DoubleLongLeftRightArrow|ClockwiseContourIntegral|NotNestedGreaterGreater|NotSquareSupersetEqual|DiacriticalDoubleAcute|NotRightTriangleEqual|NotSucceedsSlantEqual|NotPrecedesSlantEqual|CloseCurlyDoubleQuote|NegativeVeryThinSpace|DoubleContourIntegral|FilledVerySmallSquare|CapitalDifferentialD|OpenCurlyDoubleQuote|EmptyVerySmallSquare|NestedGreaterGreater|DoubleLongRightArrow|NotLeftTriangleEqual|NotGreaterSlantEqual|ReverseUpEquilibrium|DoubleLeftRightArrow|NotSquareSubsetEqual|NotDoubleVerticalBar|RightArrowLeftArrow|NotGreaterFullEqual|NotRightTriangleBar|SquareSupersetEqual|DownLeftRightVector|DoubleLongLeftArrow|leftrightsquigarrow|LeftArrowRightArrow|NegativeMediumSpace|blacktriangleright|RightDownVectorBar|PrecedesSlantEqual|RightDoubleBracket|SucceedsSlantEqual|NotLeftTriangleBar|RightTriangleEqual|SquareIntersection|RightDownTeeVector|ReverseEquilibrium|NegativeThickSpace|longleftrightarrow|Longleftrightarrow|LongLeftRightArrow|DownRightTeeVector|DownRightVectorBar|GreaterSlantEqual|SquareSubsetEqual|LeftDownVectorBar|LeftDoubleBracket|VerticalSeparator|rightleftharpoons|NotGreaterGreater|NotSquareSuperset|blacktriangleleft|blacktriangledown|NegativeThinSpace|LeftDownTeeVector|NotLessSlantEqual|leftrightharpoons|DoubleUpDownArrow|DoubleVerticalBar|LeftTriangleEqual|FilledSmallSquare|twoheadrightarrow|NotNestedLessLess|DownLeftTeeVector|DownLeftVectorBar|RightAngleBracket|NotTildeFullEqual|NotReverseElement|RightUpDownVector|DiacriticalTilde|NotSucceedsTilde|circlearrowright|NotPrecedesEqual|rightharpoondown|DoubleRightArrow|NotSucceedsEqual|NonBreakingSpace|NotRightTriangle|LessEqualGreater|RightUpTeeVector|LeftAngleBracket|GreaterFullEqual|DownArrowUpArrow|RightUpVectorBar|twoheadleftarrow|GreaterEqualLess|downharpoonright|RightTriangleBar|ntrianglerighteq|NotSupersetEqual|LeftUpDownVector|DiacriticalAcute|rightrightarrows|vartriangleright|UpArrowDownArrow|DiacriticalGrave|UnderParenthesis|EmptySmallSquare|LeftUpVectorBar|leftrightarrows|DownRightVector|downharpoonleft|trianglerighteq|ShortRightArrow|OverParenthesis|DoubleLeftArrow|DoubleDownArrow|NotSquareSubset|bigtriangledown|ntrianglelefteq|UpperRightArrow|curvearrowright|vartriangleleft|NotLeftTriangle|nleftrightarrow|LowerRightArrow|NotHumpDownHump|NotGreaterTilde|rightthreetimes|LeftUpTeeVector|NotGreaterEqual|straightepsilon|LeftTriangleBar|rightsquigarrow|ContourIntegral|rightleftarrows|CloseCurlyQuote|RightDownVector|LeftRightVector|nLeftrightarrow|leftharpoondown|circlearrowleft|SquareSuperset|OpenCurlyQuote|hookrightarrow|HorizontalLine|DiacriticalDot|NotLessGreater|ntriangleright|DoubleRightTee|InvisibleComma|InvisibleTimes|LowerLeftArrow|DownLeftVector|NotSubsetEqual|curvearrowleft|trianglelefteq|NotVerticalBar|TildeFullEqual|downdownarrows|NotGreaterLess|RightTeeVector|ZeroWidthSpace|looparrowright|LongRightArrow|doublebarwedge|ShortLeftArrow|ShortDownArrow|RightVectorBar|GreaterGreater|ReverseElement|rightharpoonup|LessSlantEqual|leftthreetimes|upharpoonright|rightarrowtail|LeftDownVector|Longrightarrow|NestedLessLess|UpperLeftArrow|nshortparallel|leftleftarrows|leftrightarrow|Leftrightarrow|LeftRightArrow|longrightarrow|upharpoonleft|RightArrowBar|ApplyFunction|LeftTeeVector|leftarrowtail|NotEqualTilde|varsubsetneqq|varsupsetneqq|RightTeeArrow|SucceedsEqual|SucceedsTilde|LeftVectorBar|SupersetEqual|hookleftarrow|DifferentialD|VerticalTilde|VeryThinSpace|blacktriangle|bigtriangleup|LessFullEqual|divideontimes|leftharpoonup|UpEquilibrium|ntriangleleft|RightTriangle|measuredangle|shortparallel|longleftarrow|Longleftarrow|LongLeftArrow|DoubleLeftTee|Poincareplane|PrecedesEqual|triangleright|DoubleUpArrow|RightUpVector|fallingdotseq|looparrowleft|PrecedesTilde|NotTildeEqual|NotTildeTilde|smallsetminus|Proportional|triangleleft|triangledown|UnderBracket|NotHumpEqual|exponentiale|ExponentialE|NotLessTilde|HilbertSpace|RightCeiling|blacklozenge|varsupsetneq|HumpDownHump|GreaterEqual|VerticalLine|LeftTeeArrow|NotLessEqual|DownTeeArrow|LeftTriangle|varsubsetneq|Intersection|NotCongruent|DownArrowBar|LeftUpVector|LeftArrowBar|risingdotseq|GreaterTilde|RoundImplies|SquareSubset|ShortUpArrow|NotSuperset|quaternions|precnapprox|backepsilon|preccurlyeq|OverBracket|blacksquare|MediumSpace|VerticalBar|circledcirc|circleddash|CircleMinus|CircleTimes|LessGreater|curlyeqprec|curlyeqsucc|diamondsuit|UpDownArrow|Updownarrow|RuleDelayed|Rrightarrow|updownarrow|RightVector|nRightarrow|nrightarrow|eqslantless|LeftCeiling|Equilibrium|SmallCircle|expectation|NotSucceeds|thickapprox|GreaterLess|SquareUnion|NotPrecedes|NotLessLess|straightphi|succnapprox|succcurlyeq|SubsetEqual|sqsupseteq|Proportion|Laplacetrf|ImaginaryI|supsetneqq|NotGreater|gtreqqless|NotElement|ThickSpace|TildeEqual|TildeTilde|Fouriertrf|rmoustache|EqualTilde|eqslantgtr|UnderBrace|LeftVector|UpArrowBar|nLeftarrow|nsubseteqq|subsetneqq|nsupseteqq|nleftarrow|succapprox|lessapprox|UpTeeArrow|upuparrows|curlywedge|lesseqqgtr|varepsilon|varnothing|RightFloor|complement|CirclePlus|sqsubseteq|Lleftarrow|circledast|RightArrow|Rightarrow|rightarrow|lmoustache|Bernoullis|precapprox|mapstoleft|mapstodown|longmapsto|dotsquare|downarrow|DoubleDot|nsubseteq|supsetneq|leftarrow|nsupseteq|subsetneq|ThinSpace|ngeqslant|subseteqq|HumpEqual|NotSubset|triangleq|NotCupCap|lesseqgtr|heartsuit|TripleDot|Leftarrow|Coproduct|Congruent|varpropto|complexes|gvertneqq|LeftArrow|LessTilde|supseteqq|MinusPlus|CircleDot|nleqslant|NotExists|gtreqless|nparallel|UnionPlus|LeftFloor|checkmark|CenterDot|centerdot|Mellintrf|gtrapprox|bigotimes|OverBrace|spadesuit|therefore|pitchfork|rationals|PlusMinus|Backslash|Therefore|DownBreve|backsimeq|backprime|DownArrow|nshortmid|Downarrow|lvertneqq|eqvparsl|imagline|imagpart|infintie|integers|Integral|intercal|LessLess|Uarrocir|intlarhk|sqsupset|angmsdaf|sqsubset|llcorner|vartheta|cupbrcap|lnapprox|Superset|SuchThat|succnsim|succneqq|angmsdag|biguplus|curlyvee|trpezium|Succeeds|NotTilde|bigwedge|angmsdah|angrtvbd|triminus|cwconint|fpartint|lrcorner|smeparsl|subseteq|urcorner|lurdshar|laemptyv|DDotrahd|approxeq|ldrushar|awconint|mapstoup|backcong|shortmid|triangle|geqslant|gesdotol|timesbar|circledR|circledS|setminus|multimap|naturals|scpolint|ncongdot|RightTee|boxminus|gnapprox|boxtimes|andslope|thicksim|angmsdaa|varsigma|cirfnint|rtriltri|angmsdab|rppolint|angmsdac|barwedge|drbkarow|clubsuit|thetasym|bsolhsub|capbrcup|dzigrarr|doteqdot|DotEqual|dotminus|UnderBar|NotEqual|realpart|otimesas|ulcorner|hksearow|hkswarow|parallel|PartialD|elinters|emptyset|plusacir|bbrktbrk|angmsdad|pointint|bigoplus|angmsdae|Precedes|bigsqcup|varkappa|notindot|supseteq|precneqq|precnsim|profalar|profline|profsurf|leqslant|lesdotor|raemptyv|subplus|notnivb|notnivc|subrarr|zigrarr|vzigzag|submult|subedot|Element|between|cirscir|larrbfs|larrsim|lotimes|lbrksld|lbrkslu|lozenge|ldrdhar|dbkarow|bigcirc|epsilon|simrarr|simplus|ltquest|Epsilon|luruhar|gtquest|maltese|npolint|eqcolon|npreceq|bigodot|ddagger|gtrless|bnequiv|harrcir|ddotseq|equivDD|backsim|demptyv|nsqsube|nsqsupe|Upsilon|nsubset|upsilon|minusdu|nsucceq|swarrow|nsupset|coloneq|searrow|boxplus|napprox|natural|asympeq|alefsym|congdot|nearrow|bigstar|diamond|supplus|tritime|LeftTee|nvinfin|triplus|NewLine|nvltrie|nvrtrie|nwarrow|nexists|Diamond|ruluhar|Implies|supmult|angzarr|suplarr|suphsub|questeq|because|digamma|Because|olcross|bemptyv|omicron|Omicron|rotimes|NoBreak|intprod|angrtvb|orderof|uwangle|suphsol|lesdoto|orslope|DownTee|realine|cudarrl|rdldhar|OverBar|supedot|lessdot|supdsub|topfork|succsim|rbrkslu|rbrksld|pertenk|cudarrr|isindot|planckh|lessgtr|pluscir|gesdoto|plussim|plustwo|lesssim|cularrp|rarrsim|Cayleys|notinva|notinvb|notinvc|UpArrow|Uparrow|uparrow|NotLess|dwangle|precsim|Product|curarrm|Cconint|dotplus|rarrbfs|ccupssm|Cedilla|cemptyv|notniva|quatint|frac35|frac38|frac45|frac56|frac58|frac78|tridot|xoplus|gacute|gammad|Gammad|lfisht|lfloor|bigcup|sqsupe|gbreve|Gbreve|lharul|sqsube|sqcups|Gcedil|apacir|llhard|lmidot|Lmidot|lmoust|andand|sqcaps|approx|Abreve|spades|circeq|tprime|divide|topcir|Assign|topbot|gesdot|divonx|xuplus|timesd|gesles|atilde|solbar|SOFTcy|loplus|timesb|lowast|lowbar|dlcorn|dlcrop|softcy|dollar|lparlt|thksim|lrhard|Atilde|lsaquo|smashp|bigvee|thinsp|wreath|bkarow|lsquor|lstrok|Lstrok|lthree|ltimes|ltlarr|DotDot|simdot|ltrPar|weierp|xsqcup|angmsd|sigmav|sigmaf|zeetrf|Zcaron|zcaron|mapsto|vsupne|thetav|cirmid|marker|mcomma|Zacute|vsubnE|there4|gtlPar|vsubne|bottom|gtrarr|SHCHcy|shchcy|midast|midcir|middot|minusb|minusd|gtrdot|bowtie|sfrown|mnplus|models|colone|seswar|Colone|mstpos|searhk|gtrsim|nacute|Nacute|boxbox|telrec|hairsp|Tcedil|nbumpe|scnsim|ncaron|Ncaron|ncedil|Ncedil|hamilt|Scedil|nearhk|hardcy|HARDcy|tcedil|Tcaron|commat|nequiv|nesear|tcaron|target|hearts|nexist|varrho|scedil|Scaron|scaron|hellip|Sacute|sacute|hercon|swnwar|compfn|rtimes|rthree|rsquor|rsaquo|zacute|wedgeq|homtht|barvee|barwed|Barwed|rpargt|horbar|conint|swarhk|roplus|nltrie|hslash|hstrok|Hstrok|rmoust|Conint|bprime|hybull|hyphen|iacute|Iacute|supsup|supsub|supsim|varphi|coprod|brvbar|agrave|Supset|supset|igrave|Igrave|notinE|Agrave|iiiint|iinfin|copysr|wedbar|Verbar|vangrt|becaus|incare|verbar|inodot|bullet|drcorn|intcal|drcrop|cularr|vellip|Utilde|bumpeq|cupcap|dstrok|Dstrok|CupCap|cupcup|cupdot|eacute|Eacute|supdot|iquest|easter|ecaron|Ecaron|ecolon|isinsv|utilde|itilde|Itilde|curarr|succeq|Bumpeq|cacute|ulcrop|nparsl|Cacute|nprcue|egrave|Egrave|nrarrc|nrarrw|subsup|subsub|nrtrie|jsercy|nsccue|Jsercy|kappav|kcedil|Kcedil|subsim|ulcorn|nsimeq|egsdot|veebar|kgreen|capand|elsdot|Subset|subset|curren|aacute|lacute|Lacute|emptyv|ntilde|Ntilde|lagran|lambda|Lambda|capcap|Ugrave|langle|subdot|emsp13|numero|emsp14|nvdash|nvDash|nVdash|nVDash|ugrave|ufisht|nvHarr|larrfs|nvlArr|larrhk|larrlp|larrpl|nvrArr|Udblac|nwarhk|larrtl|nwnear|oacute|Oacute|latail|lAtail|sstarf|lbrace|odblac|Odblac|lbrack|udblac|odsold|eparsl|lcaron|Lcaron|ograve|Ograve|lcedil|Lcedil|Aacute|ssmile|ssetmn|squarf|ldquor|capcup|ominus|cylcty|rharul|eqcirc|dagger|rfloor|rfisht|Dagger|daleth|equals|origof|capdot|equest|dcaron|Dcaron|rdquor|oslash|Oslash|otilde|Otilde|otimes|Otimes|urcrop|Ubreve|ubreve|Yacute|Uacute|uacute|Rcedil|rcedil|urcorn|parsim|Rcaron|Vdashl|rcaron|Tstrok|percnt|period|permil|Exists|yacute|rbrack|rbrace|phmmat|ccaron|Ccaron|planck|ccedil|plankv|tstrok|female|plusdo|plusdu|ffilig|plusmn|ffllig|Ccedil|rAtail|dfisht|bernou|ratail|Rarrtl|rarrtl|angsph|rarrpl|rarrlp|rarrhk|xwedge|xotime|forall|ForAll|Vvdash|vsupnE|preceq|bigcap|frac12|frac13|frac14|primes|rarrfs|prnsim|frac15|Square|frac16|square|lesdot|frac18|frac23|propto|prurel|rarrap|rangle|puncsp|frac25|Racute|qprime|racute|lesges|frac34|abreve|AElig|eqsim|utdot|setmn|urtri|Equal|Uring|seArr|uring|searr|dashv|Dashv|mumap|nabla|iogon|Iogon|sdote|sdotb|scsim|napid|napos|equiv|natur|Acirc|dblac|erarr|nbump|iprod|erDot|ucirc|awint|esdot|angrt|ncong|isinE|scnap|Scirc|scirc|ndash|isins|Ubrcy|nearr|neArr|isinv|nedot|ubrcy|acute|Ycirc|iukcy|Iukcy|xutri|nesim|caret|jcirc|Jcirc|caron|twixt|ddarr|sccue|exist|jmath|sbquo|ngeqq|angst|ccaps|lceil|ngsim|UpTee|delta|Delta|rtrif|nharr|nhArr|nhpar|rtrie|jukcy|Jukcy|kappa|rsquo|Kappa|nlarr|nlArr|TSHcy|rrarr|aogon|Aogon|fflig|xrarr|tshcy|ccirc|nleqq|filig|upsih|nless|dharl|nlsim|fjlig|ropar|nltri|dharr|robrk|roarr|fllig|fltns|roang|rnmid|subnE|subne|lAarr|trisb|Ccirc|acirc|ccups|blank|VDash|forkv|Vdash|langd|cedil|blk12|blk14|laquo|strns|diams|notin|vDash|larrb|blk34|block|disin|uplus|vdash|vBarv|aelig|starf|Wedge|check|xrArr|lates|lbarr|lBarr|notni|lbbrk|bcong|frasl|lbrke|frown|vrtri|vprop|vnsup|gamma|Gamma|wedge|xodot|bdquo|srarr|doteq|ldquo|boxdl|boxdL|gcirc|Gcirc|boxDl|boxDL|boxdr|boxdR|boxDr|TRADE|trade|rlhar|boxDR|vnsub|npart|vltri|rlarr|boxhd|boxhD|nprec|gescc|nrarr|nrArr|boxHd|boxHD|boxhu|boxhU|nrtri|boxHu|clubs|boxHU|times|colon|Colon|gimel|xlArr|Tilde|nsime|tilde|nsmid|nspar|THORN|thorn|xlarr|nsube|nsubE|thkap|xhArr|comma|nsucc|boxul|boxuL|nsupe|nsupE|gneqq|gnsim|boxUl|boxUL|grave|boxur|boxuR|boxUr|boxUR|lescc|angle|bepsi|boxvh|varpi|boxvH|numsp|Theta|gsime|gsiml|theta|boxVh|boxVH|boxvl|gtcir|gtdot|boxvL|boxVl|boxVL|crarr|cross|Cross|nvsim|boxvr|nwarr|nwArr|sqsup|dtdot|Uogon|lhard|lharu|dtrif|ocirc|Ocirc|lhblk|duarr|odash|sqsub|Hacek|sqcup|llarr|duhar|oelig|OElig|ofcir|boxvR|uogon|lltri|boxVr|csube|uuarr|ohbar|csupe|ctdot|olarr|olcir|harrw|oline|sqcap|omacr|Omacr|omega|Omega|boxVR|aleph|lneqq|lnsim|loang|loarr|rharu|lobrk|hcirc|operp|oplus|rhard|Hcirc|orarr|Union|order|ecirc|Ecirc|cuepr|szlig|cuesc|breve|reals|eDDot|Breve|hoarr|lopar|utrif|rdquo|Umacr|umacr|efDot|swArr|ultri|alpha|rceil|ovbar|swarr|Wcirc|wcirc|smtes|smile|bsemi|lrarr|aring|parsl|lrhar|bsime|uhblk|lrtri|cupor|Aring|uharr|uharl|slarr|rbrke|bsolb|lsime|rbbrk|RBarr|lsimg|phone|rBarr|rbarr|icirc|lsquo|Icirc|emacr|Emacr|ratio|simne|plusb|simlE|simgE|simeq|pluse|ltcir|ltdot|empty|xharr|xdtri|iexcl|Alpha|ltrie|rarrw|pound|ltrif|xcirc|bumpe|prcue|bumpE|asymp|amacr|cuvee|Sigma|sigma|iiint|udhar|iiota|ijlig|IJlig|supnE|imacr|Imacr|prime|Prime|image|prnap|eogon|Eogon|rarrc|mdash|mDDot|cuwed|imath|supne|imped|Amacr|udarr|prsim|micro|rarrb|cwint|raquo|infin|eplus|range|rangd|Ucirc|radic|minus|amalg|veeeq|rAarr|epsiv|ycirc|quest|sharp|quot|zwnj|Qscr|race|qscr|Qopf|qopf|qint|rang|Rang|Zscr|zscr|Zopf|zopf|rarr|rArr|Rarr|Pscr|pscr|prop|prod|prnE|prec|ZHcy|zhcy|prap|Zeta|zeta|Popf|popf|Zdot|plus|zdot|Yuml|yuml|phiv|YUcy|yucy|Yscr|yscr|perp|Yopf|yopf|part|para|YIcy|Ouml|rcub|yicy|YAcy|rdca|ouml|osol|Oscr|rdsh|yacy|real|oscr|xvee|andd|rect|andv|Xscr|oror|ordm|ordf|xscr|ange|aopf|Aopf|rHar|Xopf|opar|Oopf|xopf|xnis|rhov|oopf|omid|xmap|oint|apid|apos|ogon|ascr|Ascr|odot|odiv|xcup|xcap|ocir|oast|nvlt|nvle|nvgt|nvge|nvap|Wscr|wscr|auml|ntlg|ntgl|nsup|nsub|nsim|Nscr|nscr|nsce|Wopf|ring|npre|wopf|npar|Auml|Barv|bbrk|Nopf|nopf|nmid|nLtv|beta|ropf|Ropf|Beta|beth|nles|rpar|nleq|bnot|bNot|nldr|NJcy|rscr|Rscr|Vscr|vscr|rsqb|njcy|bopf|nisd|Bopf|rtri|Vopf|nGtv|ngtr|vopf|boxh|boxH|boxv|nges|ngeq|boxV|bscr|scap|Bscr|bsim|Vert|vert|bsol|bull|bump|caps|cdot|ncup|scnE|ncap|nbsp|napE|Cdot|cent|sdot|Vbar|nang|vBar|chcy|Mscr|mscr|sect|semi|CHcy|Mopf|mopf|sext|circ|cire|mldr|mlcp|cirE|comp|shcy|SHcy|vArr|varr|cong|copf|Copf|copy|COPY|malt|male|macr|lvnE|cscr|ltri|sime|ltcc|simg|Cscr|siml|csub|Uuml|lsqb|lsim|uuml|csup|Lscr|lscr|utri|smid|lpar|cups|smte|lozf|darr|Lopf|Uscr|solb|lopf|sopf|Sopf|lneq|uscr|spar|dArr|lnap|Darr|dash|Sqrt|LJcy|ljcy|lHar|dHar|Upsi|upsi|diam|lesg|djcy|DJcy|leqq|dopf|Dopf|dscr|Dscr|dscy|ldsh|ldca|squf|DScy|sscr|Sscr|dsol|lcub|late|star|Star|Uopf|Larr|lArr|larr|uopf|dtri|dzcy|sube|subE|Lang|lang|Kscr|kscr|Kopf|kopf|KJcy|kjcy|KHcy|khcy|DZcy|ecir|edot|eDot|Jscr|jscr|succ|Jopf|jopf|Edot|uHar|emsp|ensp|Iuml|iuml|eopf|isin|Iscr|iscr|Eopf|epar|sung|epsi|escr|sup1|sup2|sup3|Iota|iota|supe|supE|Iopf|iopf|IOcy|iocy|Escr|esim|Esim|imof|Uarr|QUOT|uArr|uarr|euml|IEcy|iecy|Idot|Euml|euro|excl|Hscr|hscr|Hopf|hopf|TScy|tscy|Tscr|hbar|tscr|flat|tbrk|fnof|hArr|harr|half|fopf|Fopf|tdot|gvnE|fork|trie|gtcc|fscr|Fscr|gdot|gsim|Gscr|gscr|Gopf|gopf|gneq|Gdot|tosa|gnap|Topf|topf|geqq|toea|GJcy|gjcy|tint|gesl|mid|Sfr|ggg|top|ges|gla|glE|glj|geq|gne|gEl|gel|gnE|Gcy|gcy|gap|Tfr|tfr|Tcy|tcy|Hat|Tau|Ffr|tau|Tab|hfr|Hfr|ffr|Fcy|fcy|icy|Icy|iff|ETH|eth|ifr|Ifr|Eta|eta|int|Int|Sup|sup|ucy|Ucy|Sum|sum|jcy|ENG|ufr|Ufr|eng|Jcy|jfr|els|ell|egs|Efr|efr|Jfr|uml|kcy|Kcy|Ecy|ecy|kfr|Kfr|lap|Sub|sub|lat|lcy|Lcy|leg|Dot|dot|lEg|leq|les|squ|div|die|lfr|Lfr|lgE|Dfr|dfr|Del|deg|Dcy|dcy|lne|lnE|sol|loz|smt|Cup|lrm|cup|lsh|Lsh|sim|shy|map|Map|mcy|Mcy|mfr|Mfr|mho|gfr|Gfr|sfr|cir|Chi|chi|nap|Cfr|vcy|Vcy|cfr|Scy|scy|ncy|Ncy|vee|Vee|Cap|cap|nfr|scE|sce|Nfr|nge|ngE|nGg|vfr|Vfr|ngt|bot|nGt|nis|niv|Rsh|rsh|nle|nlE|bne|Bfr|bfr|nLl|nlt|nLt|Bcy|bcy|not|Not|rlm|wfr|Wfr|npr|nsc|num|ocy|ast|Ocy|ofr|xfr|Xfr|Ofr|ogt|ohm|apE|olt|Rho|ape|rho|Rfr|rfr|ord|REG|ang|reg|orv|And|and|AMP|Rcy|amp|Afr|ycy|Ycy|yen|yfr|Yfr|rcy|par|pcy|Pcy|pfr|Pfr|phi|Phi|afr|Acy|acy|zcy|Zcy|piv|acE|acd|zfr|Zfr|pre|prE|psi|Psi|qfr|Qfr|zwj|Or|ge|Gg|gt|gg|el|oS|lt|Lt|LT|Re|lg|gl|eg|ne|Im|it|le|DD|wp|wr|nu|Nu|dd|lE|Sc|sc|pi|Pi|ee|af|ll|Ll|rx|gE|xi|pm|Xi|ic|pr|Pr|in|ni|mp|mu|ac|Mu|or|ap|Gt|GT|ii);|&(Aacute|Agrave|Atilde|Ccedil|Eacute|Egrave|Iacute|Igrave|Ntilde|Oacute|Ograve|Oslash|Otilde|Uacute|Ugrave|Yacute|aacute|agrave|atilde|brvbar|ccedil|curren|divide|eacute|egrave|frac12|frac14|frac34|iacute|igrave|iquest|middot|ntilde|oacute|ograve|oslash|otilde|plusmn|uacute|ugrave|yacute|AElig|Acirc|Aring|Ecirc|Icirc|Ocirc|THORN|Ucirc|acirc|acute|aelig|aring|cedil|ecirc|icirc|iexcl|laquo|micro|ocirc|pound|raquo|szlig|thorn|times|ucirc|Auml|COPY|Euml|Iuml|Ouml|QUOT|Uuml|auml|cent|copy|euml|iuml|macr|nbsp|ordf|ordm|ouml|para|quot|sect|sup1|sup2|sup3|uuml|yuml|AMP|ETH|REG|amp|deg|eth|not|reg|shy|uml|yen|GT|LT|gt|lt)(?!;)([=a-zA-Z0-9]?)|&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+)/g,b={aacute:"á",Aacute:"Á",abreve:"ă",Abreve:"Ă",ac:"∾",acd:"∿",acE:"∾̳",acirc:"â",Acirc:"Â",acute:"´",acy:"а",Acy:"А",aelig:"æ",AElig:"Æ",af:"⁡",afr:"𝔞",Afr:"𝔄",agrave:"à",Agrave:"À",alefsym:"ℵ",aleph:"ℵ",alpha:"α",Alpha:"Α",amacr:"ā",Amacr:"Ā",amalg:"⨿",amp:"&",AMP:"&",and:"∧",And:"⩓",andand:"⩕",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsd:"∡",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",aogon:"ą",Aogon:"Ą",aopf:"𝕒",Aopf:"𝔸",ap:"≈",apacir:"⩯",ape:"≊",apE:"⩰",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",aring:"å",Aring:"Å",ascr:"𝒶",Ascr:"𝒜",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",atilde:"ã",Atilde:"Ã",auml:"ä",Auml:"Ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",bcy:"б",Bcy:"Б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",beta:"β",Beta:"Β",beth:"ℶ",between:"≬",bfr:"𝔟",Bfr:"𝔅",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bnot:"⌐",bNot:"⫭",bopf:"𝕓",Bopf:"𝔹",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxhD:"╥",boxHd:"╤",boxHD:"╦",boxhu:"┴",boxhU:"╨",boxHu:"╧",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsol:"\\",bsolb:"⧅",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpe:"≏",bumpE:"⪮",bumpeq:"≏",Bumpeq:"≎",cacute:"ć",Cacute:"Ć",cap:"∩",Cap:"⋒",capand:"⩄",capbrcup:"⩉",capcap:"⩋",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",ccaron:"č",Ccaron:"Č",ccedil:"ç",Ccedil:"Ç",ccirc:"ĉ",Ccirc:"Ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",cdot:"ċ",Cdot:"Ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",chcy:"ч",CHcy:"Ч",check:"✓",checkmark:"✓",chi:"χ",Chi:"Χ",cir:"○",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cire:"≗",cirE:"⧃",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",colone:"≔",Colone:"⩴",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",cscr:"𝒸",Cscr:"𝒞",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cup:"∪",Cup:"⋓",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",dArr:"⇓",Darr:"↡",dash:"‐",dashv:"⊣",Dashv:"⫤",dbkarow:"⤏",dblac:"˝",dcaron:"ď",Dcaron:"Ď",dcy:"д",Dcy:"Д",dd:"ⅆ",DD:"ⅅ",ddagger:"‡",ddarr:"⇊",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",delta:"δ",Delta:"Δ",demptyv:"⦱",dfisht:"⥿",dfr:"𝔡",Dfr:"𝔇",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",djcy:"ђ",DJcy:"Ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",dopf:"𝕕",Dopf:"𝔻",dot:"˙",Dot:"¨",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",downarrow:"↓",Downarrow:"⇓",DownArrow:"↓",DownArrowBar:"⤓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVector:"↽",DownLeftVectorBar:"⥖",DownRightTeeVector:"⥟",DownRightVector:"⇁",DownRightVectorBar:"⥗",DownTee:"⊤",DownTeeArrow:"↧",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",dscr:"𝒹",Dscr:"𝒟",dscy:"ѕ",DScy:"Ѕ",dsol:"⧶",dstrok:"đ",Dstrok:"Đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",dzcy:"џ",DZcy:"Џ",dzigrarr:"⟿",eacute:"é",Eacute:"É",easter:"⩮",ecaron:"ě",Ecaron:"Ě",ecir:"≖",ecirc:"ê",Ecirc:"Ê",ecolon:"≕",ecy:"э",Ecy:"Э",eDDot:"⩷",edot:"ė",eDot:"≑",Edot:"Ė",ee:"ⅇ",efDot:"≒",efr:"𝔢",Efr:"𝔈",eg:"⪚",egrave:"è",Egrave:"È",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",emacr:"ē",Emacr:"Ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp:" ",emsp13:" ",emsp14:" ",eng:"ŋ",ENG:"Ŋ",ensp:" ",eogon:"ę",Eogon:"Ę",eopf:"𝕖",Eopf:"𝔼",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",epsilon:"ε",Epsilon:"Ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",esim:"≂",Esim:"⩳",eta:"η",Eta:"Η",eth:"ð",ETH:"Ð",euml:"ë",Euml:"Ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",fcy:"ф",Fcy:"Ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",ffr:"𝔣",Ffr:"𝔉",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",fopf:"𝕗",Fopf:"𝔽",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",gamma:"γ",Gamma:"Γ",gammad:"ϝ",Gammad:"Ϝ",gap:"⪆",gbreve:"ğ",Gbreve:"Ğ",Gcedil:"Ģ",gcirc:"ĝ",Gcirc:"Ĝ",gcy:"г",Gcy:"Г",gdot:"ġ",Gdot:"Ġ",ge:"≥",gE:"≧",gel:"⋛",gEl:"⪌",geq:"≥",geqq:"≧",geqslant:"⩾",ges:"⩾",gescc:"⪩",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",gfr:"𝔤",Gfr:"𝔊",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",gjcy:"ѓ",GJcy:"Ѓ",gl:"≷",gla:"⪥",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",gopf:"𝕘",Gopf:"𝔾",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",gscr:"ℊ",Gscr:"𝒢",gsim:"≳",gsime:"⪎",gsiml:"⪐",gt:">",Gt:"≫",GT:">",gtcc:"⪧",gtcir:"⩺",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",hardcy:"ъ",HARDcy:"Ъ",harr:"↔",hArr:"⇔",harrcir:"⥈",harrw:"↭",Hat:"^",hbar:"ℏ",hcirc:"ĥ",Hcirc:"Ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",hstrok:"ħ",Hstrok:"Ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",iacute:"í",Iacute:"Í",ic:"⁣",icirc:"î",Icirc:"Î",icy:"и",Icy:"И",Idot:"İ",iecy:"е",IEcy:"Е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",igrave:"ì",Igrave:"Ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",ijlig:"ij",IJlig:"IJ",Im:"ℑ",imacr:"ī",Imacr:"Ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",imof:"⊷",imped:"Ƶ",Implies:"⇒",in:"∈",incare:"℅",infin:"∞",infintie:"⧝",inodot:"ı",int:"∫",Int:"∬",intcal:"⊺",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",iocy:"ё",IOcy:"Ё",iogon:"į",Iogon:"Į",iopf:"𝕚",Iopf:"𝕀",iota:"ι",Iota:"Ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",itilde:"ĩ",Itilde:"Ĩ",iukcy:"і",Iukcy:"І",iuml:"ï",Iuml:"Ï",jcirc:"ĵ",Jcirc:"Ĵ",jcy:"й",Jcy:"Й",jfr:"𝔧",Jfr:"𝔍",jmath:"ȷ",jopf:"𝕛",Jopf:"𝕁",jscr:"𝒿",Jscr:"𝒥",jsercy:"ј",Jsercy:"Ј",jukcy:"є",Jukcy:"Є",kappa:"κ",Kappa:"Κ",kappav:"ϰ",kcedil:"ķ",Kcedil:"Ķ",kcy:"к",Kcy:"К",kfr:"𝔨",Kfr:"𝔎",kgreen:"ĸ",khcy:"х",KHcy:"Х",kjcy:"ќ",KJcy:"Ќ",kopf:"𝕜",Kopf:"𝕂",kscr:"𝓀",Kscr:"𝒦",lAarr:"⇚",lacute:"ĺ",Lacute:"Ĺ",laemptyv:"⦴",lagran:"ℒ",lambda:"λ",Lambda:"Λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larr:"←",lArr:"⇐",Larr:"↞",larrb:"⇤",larrbfs:"⤟",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",lat:"⪫",latail:"⤙",lAtail:"⤛",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",lcaron:"ľ",Lcaron:"Ľ",lcedil:"ļ",Lcedil:"Ļ",lceil:"⌈",lcub:"{",lcy:"л",Lcy:"Л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",leftarrow:"←",Leftarrow:"⇐",LeftArrow:"←",LeftArrowBar:"⇤",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVector:"⇃",LeftDownVectorBar:"⥙",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",Leftrightarrow:"⇔",LeftRightArrow:"↔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTee:"⊣",LeftTeeArrow:"↤",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangle:"⊲",LeftTriangleBar:"⧏",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVector:"↿",LeftUpVectorBar:"⥘",LeftVector:"↼",LeftVectorBar:"⥒",leg:"⋚",lEg:"⪋",leq:"≤",leqq:"≦",leqslant:"⩽",les:"⩽",lescc:"⪨",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",lfr:"𝔩",Lfr:"𝔏",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",ljcy:"љ",LJcy:"Љ",ll:"≪",Ll:"⋘",llarr:"⇇",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",lmidot:"ŀ",Lmidot:"Ŀ",lmoust:"⎰",lmoustache:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",Longleftarrow:"⟸",LongLeftArrow:"⟵",longleftrightarrow:"⟷",Longleftrightarrow:"⟺",LongLeftRightArrow:"⟷",longmapsto:"⟼",longrightarrow:"⟶",Longrightarrow:"⟹",LongRightArrow:"⟶",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",lopf:"𝕝",Lopf:"𝕃",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",lstrok:"ł",Lstrok:"Ł",lt:"<",Lt:"≪",LT:"<",ltcc:"⪦",ltcir:"⩹",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",map:"↦",Map:"⤅",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",mcy:"м",Mcy:"М",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",mfr:"𝔪",Mfr:"𝔐",mho:"℧",micro:"µ",mid:"∣",midast:"*",midcir:"⫰",middot:"·",minus:"−",minusb:"⊟",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",mopf:"𝕞",Mopf:"𝕄",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",mu:"μ",Mu:"Μ",multimap:"⊸",mumap:"⊸",nabla:"∇",nacute:"ń",Nacute:"Ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natur:"♮",natural:"♮",naturals:"ℕ",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",ncaron:"ň",Ncaron:"Ň",ncedil:"ņ",Ncedil:"Ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",ncy:"н",Ncy:"Н",ndash:"–",ne:"≠",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",nfr:"𝔫",Nfr:"𝔑",nge:"≱",ngE:"≧̸",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",ngt:"≯",nGt:"≫⃒",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",njcy:"њ",NJcy:"Њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nle:"≰",nlE:"≦̸",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nlt:"≮",nLt:"≪⃒",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",not:"¬",Not:"⫬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangle:"⋪",NotLeftTriangleBar:"⧏̸",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangle:"⋫",NotRightTriangleBar:"⧐̸",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",npar:"∦",nparallel:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",npre:"⪯̸",nprec:"⊀",npreceq:"⪯̸",nrarr:"↛",nrArr:"⇏",nrarrc:"⤳̸",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",nscr:"𝓃",Nscr:"𝒩",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsube:"⊈",nsubE:"⫅̸",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupe:"⊉",nsupE:"⫆̸",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",ntilde:"ñ",Ntilde:"Ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",nu:"ν",Nu:"Ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",oacute:"ó",Oacute:"Ó",oast:"⊛",ocir:"⊚",ocirc:"ô",Ocirc:"Ô",ocy:"о",Ocy:"О",odash:"⊝",odblac:"ő",Odblac:"Ő",odiv:"⨸",odot:"⊙",odsold:"⦼",oelig:"œ",OElig:"Œ",ofcir:"⦿",ofr:"𝔬",Ofr:"𝔒",ogon:"˛",ograve:"ò",Ograve:"Ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",omacr:"ō",Omacr:"Ō",omega:"ω",Omega:"Ω",omicron:"ο",Omicron:"Ο",omid:"⦶",ominus:"⊖",oopf:"𝕠",Oopf:"𝕆",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",or:"∨",Or:"⩔",orarr:"↻",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",oscr:"ℴ",Oscr:"𝒪",oslash:"ø",Oslash:"Ø",osol:"⊘",otilde:"õ",Otilde:"Õ",otimes:"⊗",Otimes:"⨷",otimesas:"⨶",ouml:"ö",Ouml:"Ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",par:"∥",para:"¶",parallel:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",pcy:"п",Pcy:"П",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",pfr:"𝔭",Pfr:"𝔓",phi:"φ",Phi:"Φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",pi:"π",Pi:"Π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plus:"+",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",pr:"≺",Pr:"⪻",prap:"⪷",prcue:"≼",pre:"⪯",prE:"⪳",prec:"≺",precapprox:"⪷",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportion:"∷",Proportional:"∝",propto:"∝",prsim:"≾",prurel:"⊰",pscr:"𝓅",Pscr:"𝒫",psi:"ψ",Psi:"Ψ",puncsp:" ",qfr:"𝔮",Qfr:"𝔔",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",qscr:"𝓆",Qscr:"𝒬",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",racute:"ŕ",Racute:"Ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarr:"→",rArr:"⇒",Rarr:"↠",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",rarrtl:"↣",Rarrtl:"⤖",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",rcaron:"ř",Rcaron:"Ř",rcedil:"ŗ",Rcedil:"Ŗ",rceil:"⌉",rcub:"}",rcy:"р",Rcy:"Р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",Re:"ℜ",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",rho:"ρ",Rho:"Ρ",rhov:"ϱ",RightAngleBracket:"⟩",rightarrow:"→",Rightarrow:"⇒",RightArrow:"→",RightArrowBar:"⇥",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVector:"⇂",RightDownVectorBar:"⥕",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTee:"⊢",RightTeeArrow:"↦",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangle:"⊳",RightTriangleBar:"⧐",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVector:"↾",RightUpVectorBar:"⥔",RightVector:"⇀",RightVectorBar:"⥓",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoust:"⎱",rmoustache:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",sacute:"ś",Sacute:"Ś",sbquo:"‚",sc:"≻",Sc:"⪼",scap:"⪸",scaron:"š",Scaron:"Š",sccue:"≽",sce:"⪰",scE:"⪴",scedil:"ş",Scedil:"Ş",scirc:"ŝ",Scirc:"Ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",scy:"с",Scy:"С",sdot:"⋅",sdotb:"⊡",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",sfr:"𝔰",Sfr:"𝔖",sfrown:"⌢",sharp:"♯",shchcy:"щ",SHCHcy:"Щ",shcy:"ш",SHcy:"Ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",sigma:"σ",Sigma:"Σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",softcy:"ь",SOFTcy:"Ь",sol:"/",solb:"⧄",solbar:"⌿",sopf:"𝕤",Sopf:"𝕊",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",squ:"□",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squf:"▪",srarr:"→",sscr:"𝓈",Sscr:"𝒮",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",star:"☆",Star:"⋆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",sube:"⊆",subE:"⫅",subedot:"⫃",submult:"⫁",subne:"⊊",subnE:"⫋",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succ:"≻",succapprox:"⪸",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup:"⊃",Sup:"⋑",sup1:"¹",sup2:"²",sup3:"³",supdot:"⪾",supdsub:"⫘",supe:"⊇",supE:"⫆",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supne:"⊋",supnE:"⫌",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:"\t",target:"⌖",tau:"τ",Tau:"Τ",tbrk:"⎴",tcaron:"ť",Tcaron:"Ť",tcedil:"ţ",Tcedil:"Ţ",tcy:"т",Tcy:"Т",tdot:"⃛",telrec:"⌕",tfr:"𝔱",Tfr:"𝔗",there4:"∴",therefore:"∴",Therefore:"∴",theta:"θ",Theta:"Θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",thinsp:" ",ThinSpace:" ",thkap:"≈",thksim:"∼",thorn:"þ",THORN:"Þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",times:"×",timesb:"⊠",timesbar:"⨱",timesd:"⨰",tint:"∭",toea:"⤨",top:"⊤",topbot:"⌶",topcir:"⫱",topf:"𝕥",Topf:"𝕋",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",tscr:"𝓉",Tscr:"𝒯",tscy:"ц",TScy:"Ц",tshcy:"ћ",TSHcy:"Ћ",tstrok:"ŧ",Tstrok:"Ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",uacute:"ú",Uacute:"Ú",uarr:"↑",uArr:"⇑",Uarr:"↟",Uarrocir:"⥉",ubrcy:"ў",Ubrcy:"Ў",ubreve:"ŭ",Ubreve:"Ŭ",ucirc:"û",Ucirc:"Û",ucy:"у",Ucy:"У",udarr:"⇅",udblac:"ű",Udblac:"Ű",udhar:"⥮",ufisht:"⥾",ufr:"𝔲",Ufr:"𝔘",ugrave:"ù",Ugrave:"Ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",umacr:"ū",Umacr:"Ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",uogon:"ų",Uogon:"Ų",uopf:"𝕦",Uopf:"𝕌",uparrow:"↑",Uparrow:"⇑",UpArrow:"↑",UpArrowBar:"⤒",UpArrowDownArrow:"⇅",updownarrow:"↕",Updownarrow:"⇕",UpDownArrow:"↕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",upsilon:"υ",Upsilon:"Υ",UpTee:"⊥",UpTeeArrow:"↥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",uring:"ů",Uring:"Ů",urtri:"◹",uscr:"𝓊",Uscr:"𝒰",utdot:"⋰",utilde:"ũ",Utilde:"Ũ",utri:"▵",utrif:"▴",uuarr:"⇈",uuml:"ü",Uuml:"Ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",vcy:"в",Vcy:"В",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",vee:"∨",Vee:"⋁",veebar:"⊻",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",vfr:"𝔳",Vfr:"𝔙",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",vopf:"𝕧",Vopf:"𝕍",vprop:"∝",vrtri:"⊳",vscr:"𝓋",Vscr:"𝒱",vsubne:"⊊︀",vsubnE:"⫋︀",vsupne:"⊋︀",vsupnE:"⫌︀",Vvdash:"⊪",vzigzag:"⦚",wcirc:"ŵ",Wcirc:"Ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",wfr:"𝔴",Wfr:"𝔚",wopf:"𝕨",Wopf:"𝕎",wp:"℘",wr:"≀",wreath:"≀",wscr:"𝓌",Wscr:"𝒲",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",xfr:"𝔵",Xfr:"𝔛",xharr:"⟷",xhArr:"⟺",xi:"ξ",Xi:"Ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",xopf:"𝕩",Xopf:"𝕏",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",xscr:"𝓍",Xscr:"𝒳",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",yacute:"ý",Yacute:"Ý",yacy:"я",YAcy:"Я",ycirc:"ŷ",Ycirc:"Ŷ",ycy:"ы",Ycy:"Ы",yen:"¥",yfr:"𝔶",Yfr:"𝔜",yicy:"ї",YIcy:"Ї",yopf:"𝕪",Yopf:"𝕐",yscr:"𝓎",Yscr:"𝒴",yucy:"ю",YUcy:"Ю",yuml:"ÿ",Yuml:"Ÿ",zacute:"ź",Zacute:"Ź",zcaron:"ž",Zcaron:"Ž",zcy:"з",Zcy:"З",zdot:"ż",Zdot:"Ż",zeetrf:"ℨ",ZeroWidthSpace:"​",zeta:"ζ",Zeta:"Ζ",zfr:"𝔷",Zfr:"ℨ",zhcy:"ж",ZHcy:"Ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",zscr:"𝓏",Zscr:"𝒵",zwj:"‍",zwnj:"‌"},v={aacute:"á",Aacute:"Á",acirc:"â",Acirc:"Â",acute:"´",aelig:"æ",AElig:"Æ",agrave:"à",Agrave:"À",amp:"&",AMP:"&",aring:"å",Aring:"Å",atilde:"ã",Atilde:"Ã",auml:"ä",Auml:"Ä",brvbar:"¦",ccedil:"ç",Ccedil:"Ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",eacute:"é",Eacute:"É",ecirc:"ê",Ecirc:"Ê",egrave:"è",Egrave:"È",eth:"ð",ETH:"Ð",euml:"ë",Euml:"Ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",iacute:"í",Iacute:"Í",icirc:"î",Icirc:"Î",iexcl:"¡",igrave:"ì",Igrave:"Ì",iquest:"¿",iuml:"ï",Iuml:"Ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",ntilde:"ñ",Ntilde:"Ñ",oacute:"ó",Oacute:"Ó",ocirc:"ô",Ocirc:"Ô",ograve:"ò",Ograve:"Ò",ordf:"ª",ordm:"º",oslash:"ø",Oslash:"Ø",otilde:"õ",Otilde:"Õ",ouml:"ö",Ouml:"Ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",thorn:"þ",THORN:"Þ",times:"×",uacute:"ú",Uacute:"Ú",ucirc:"û",Ucirc:"Û",ugrave:"ù",Ugrave:"Ù",uml:"¨",uuml:"ü",Uuml:"Ü",yacute:"ý",Yacute:"Ý",yen:"¥",yuml:"ÿ"},y={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},w=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],x=String.fromCharCode,q={}.hasOwnProperty,k=function(e,r){return q.call(e,r)},D=function(e,r){if(!e)return r;var t,o={};for(t in r)o[t]=k(e,t)?e[t]:r[t];return o},A=function(e,r){var t="";return e>=55296&&e<=57343||e>1114111?(r&&L("character reference outside the permissible Unicode range"),"�"):k(y,e)?(r&&L("disallowed character reference"),y[e]):(r&&function(e,r){for(var t=-1,o=e.length;++t65535&&(t+=x((e-=65536)>>>10&1023|55296),e=56320|1023&e),t+=x(e))},E=function(e){return"&#x"+e.toString(16).toUpperCase()+";"},C=function(e){return"&#"+e+";"},L=function(e){throw Error("Parse error: "+e)},S=function(e,r){(r=D(r,S.options)).strict&&g.test(e)&&L("forbidden code point");var t=r.encodeEverything,o=r.useNamedReferences,a=r.allowUnsafeSymbols,n=r.decimal?C:E,i=function(e){return n(e.charCodeAt(0))};return t?(e=e.replace(c,(function(e){return o&&k(p,e)?"&"+p[e]+";":i(e)})),o&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),o&&(e=e.replace(u,(function(e){return"&"+p[e]+";"})))):o?(a||(e=e.replace(d,(function(e){return"&"+p[e]+";"}))),e=(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒")).replace(u,(function(e){return"&"+p[e]+";"}))):a||(e=e.replace(d,i)),e.replace(s,(function(e){var r=e.charCodeAt(0),t=e.charCodeAt(1);return n(1024*(r-55296)+t-56320+65536)})).replace(l,i)};S.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1,decimal:!1};var T=function(e,r){var t=(r=D(r,T.options)).strict;return t&&h.test(e)&&L("malformed character reference"),e.replace(m,(function(e,o,a,n,i,s,c,l,u){var p,d,f,h,g,m;return o?b[g=o]:a?(g=a,(m=n)&&r.isAttributeValue?(t&&"="==m&&L("`&` did not start a character reference"),e):(t&&L("named character reference was not terminated by a semicolon"),v[g]+(m||""))):i?(f=i,d=s,t&&!d&&L("character reference was not terminated by a semicolon"),p=parseInt(f,10),A(p,t)):c?(h=c,d=l,t&&!d&&L("character reference was not terminated by a semicolon"),p=parseInt(h,16),A(p,t)):(t&&L("named character reference was not terminated by a semicolon"),e)}))};T.options={isAttributeValue:!1,strict:!1};var O={version:"1.2.0",encode:S,decode:T,escape:function(e){return e.replace(d,(function(e){return f[e]}))},unescape:T};void 0===(o=function(){return O}.call(r,t,r,e))||(e.exports=o)}()}).call(this,t(170)(e))},566:function(e,r,t){"use strict";t(525)},567:function(e,r,t){"use strict";t(526)},568:function(e,r,t){"use strict";var o=t(3),a=t(0),n=t(125),i=t(58),s=t(37),c=t(21),l=t(169),u=t(75),p=t(100)("splice"),d=a.TypeError,f=Math.max,h=Math.min;o({target:"Array",proto:!0,forced:!p},{splice:function(e,r){var t,o,a,p,g,m,b=c(this),v=s(b),y=n(e,v),w=arguments.length;if(0===w?t=o=0:1===w?(t=0,o=v-y):(t=w-2,o=h(f(i(r),0),v-y)),v+t-o>9007199254740991)throw d("Maximum allowed length exceeded");for(a=l(b,o),p=0;pv-o+t;p--)delete b[p-1]}else if(t>o)for(p=v-o;p>y;p--)m=p+t-1,(g=p+o-1)in b?b[m]=b[g]:delete b[m];for(p=0;p"+c+""}},570:function(e,r,t){var o=t(4);e.exports=function(e){return o((function(){var r=""[e]('"');return r!==r.toLowerCase()||r.split('"').length>3}))}},571:function(e,r,t){"use strict";function o(){return(o=Object.assign||function(e){for(var r,t=1;t0&&t.unshift(r.target),e.contains(r.target)||function(e,r){if(!e||!r)return!1;for(var t=0,o=r.length;t>>32-r},rotr:function(e,r){return e<<32-r|e>>>r},endian:function(e){if(e.constructor==Number)return 16711935&o.rotl(e,8)|4278255360&o.rotl(e,24);for(var r=0;r0;e--)r.push(Math.floor(256*Math.random()));return r},bytesToWords:function(e){for(var r=[],t=0,o=0;t>>5]|=e[t]<<24-o%32;return r},wordsToBytes:function(e){for(var r=[],t=0;t<32*e.length;t+=8)r.push(e[t>>>5]>>>24-t%32&255);return r},bytesToHex:function(e){for(var r=[],t=0;t>>4).toString(16)),r.push((15&e[t]).toString(16));return r.join("")},hexToBytes:function(e){for(var r=[],t=0;t>>6*(3-n)&63)):r.push("=");return r.join("")},base64ToBytes:function(e){e=e.replace(/[^A-Z0-9+\/]/gi,"");for(var r=[],o=0,a=0;o>>6-2*a);return r}},e.exports=o},585:function(e,r){function t(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)} -/*! - * Determine if an object is a Buffer - * - * @author Feross Aboukhadijeh - * @license MIT - */ -e.exports=function(e){return null!=e&&(t(e)||function(e){return"function"==typeof e.readFloatLE&&"function"==typeof e.slice&&t(e.slice(0,0))}(e)||!!e._isBuffer)}},586:function(e,r,t){"use strict";t(539)},587:function(e,r,t){var o="undefined"!=typeof global&&global||"undefined"!=typeof self&&self||window,a=Function.prototype.apply;function n(e,r){this._id=e,this._clearFn=r}r.setTimeout=function(){return new n(a.call(setTimeout,o,arguments),clearTimeout)},r.setInterval=function(){return new n(a.call(setInterval,o,arguments),clearInterval)},r.clearTimeout=r.clearInterval=function(e){e&&e.close()},n.prototype.unref=n.prototype.ref=function(){},n.prototype.close=function(){this._clearFn.call(o,this._id)},r.enroll=function(e,r){clearTimeout(e._idleTimeoutId),e._idleTimeout=r},r.unenroll=function(e){clearTimeout(e._idleTimeoutId),e._idleTimeout=-1},r._unrefActive=r.active=function(e){clearTimeout(e._idleTimeoutId);var r=e._idleTimeout;r>=0&&(e._idleTimeoutId=setTimeout((function(){e._onTimeout&&e._onTimeout()}),r))},t(588),r.setImmediate="undefined"!=typeof self&&self.setImmediate||"undefined"!=typeof global&&global.setImmediate||this&&this.setImmediate,r.clearImmediate="undefined"!=typeof self&&self.clearImmediate||"undefined"!=typeof global&&global.clearImmediate||this&&this.clearImmediate},588:function(e,r){!function(e,r){"use strict";if(!e.setImmediate){var t,o,a,n,i,s=1,c={},l=!1,u=e.document,p=Object.getPrototypeOf&&Object.getPrototypeOf(e);p=p&&p.setTimeout?p:e,"[object process]"==={}.toString.call(e.process)?t=function(e){process.nextTick((function(){f(e)}))}:!function(){if(e.postMessage&&!e.importScripts){var r=!0,t=e.onmessage;return e.onmessage=function(){r=!1},e.postMessage("","*"),e.onmessage=t,r}}()?e.MessageChannel?((a=new MessageChannel).port1.onmessage=function(e){f(e.data)},t=function(e){a.port2.postMessage(e)}):u&&"onreadystatechange"in u.createElement("script")?(o=u.documentElement,t=function(e){var r=u.createElement("script");r.onreadystatechange=function(){f(e),r.onreadystatechange=null,o.removeChild(r),r=null},o.appendChild(r)}):t=function(e){setTimeout(f,0,e)}:(n="setImmediate$"+Math.random()+"$",i=function(r){r.source===e&&"string"==typeof r.data&&0===r.data.indexOf(n)&&f(+r.data.slice(n.length))},e.addEventListener?e.addEventListener("message",i,!1):e.attachEvent("onmessage",i),t=function(r){e.postMessage(n+r,"*")}),p.setImmediate=function(e){"function"!=typeof e&&(e=new Function(""+e));for(var r=new Array(arguments.length-1),o=0;o{e.value=!0}),Object(o.f)(()=>{e.value=!1,setTimeout(()=>{e.value=!0},100)}),{recoShowModule:e}}},325:function(e,t,n){"use strict";n.d(t,"b",(function(){return d})),n.d(t,"a",(function(){return g}));var o=n(378),s=n.n(o),r=(n(344),n(0)),a=n(1),i=function(e,t,n,o){var s,r=arguments.length,a=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,n,o);else for(var i=e.length-1;i>=0;i--)(s=e[i])&&(a=(r<3?s(a):r>3?s(t,n,a):s(t,n))||a);return r>3&&a&&Object.defineProperty(t,n,a),a};const l=/^(\w+)\-/,c=r.b.extend({props:{icon:{type:String,default:""},link:{type:String,default:""}}});let u=class extends c{getClass(e){return l.test(e)?e.replace(l,(...e)=>"reco"===e[1]?"iconfont "+e[0]:`${e[1]} ${e[0]}`):e}go(e){""!==e&&window.open(e)}render(){return(0,arguments[0])("i",s()([{},{class:this.getClass(this.icon),on:{click:this.go.bind(this,this.link)}}]),[this.$slots.default])}};u=i([a.b],u);var d=u,f=function(e,t,n,o){var s,r=arguments.length,a=r<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,n,o);else for(var i=e.length-1;i>=0;i--)(s=e[i])&&(a=(r<3?s(a):r>3?s(t,n,a):s(t,n))||a);return r>3&&a&&Object.defineProperty(t,n,a),a};const p=r.b.extend({props:{delay:{type:String,default:"0"},duration:{type:String,default:".25"},transform:{type:Array,default:()=>["translateY(-20px)","translateY(0)"]}}});let h=class extends p{setStyle(e){e.style.transition=`transform ${this.duration}s ease-in-out ${this.delay}s, opacity ${this.duration}s ease-in-out ${this.delay}s`,e.style.transform=this.transform[0],e.style.opacity=0}unsetStyle(e){e.style.transform=this.transform[1],e.style.opacity=1}render(){return(0,arguments[0])("transition",{attrs:{name:"module"},on:{enter:this.setStyle,appear:this.setStyle,"before-leave":this.setStyle,"after-appear":this.unsetStyle,"after-enter":this.unsetStyle}},[this.$slots.default])}};h=f([a.b],h);var g=h},340:function(e,t,n){"use strict";var o=n(0),s=(n(16),n(325)),r=n(324),a=Object(o.c)({components:{RecoIcon:s.b},setup(e,t){const n=Object(r.a)(),s=Object(o.g)({query:"",focused:!1,focusIndex:0,placeholder:void 0}),a=Object(o.a)(()=>s.focused&&l.value&&l.value.length),i=e=>{for(const t in n.$site.locales||{})if("/"!==t&&0===e.path.indexOf(t))return t;return"/"},l=Object(o.a)(()=>{const e=s.query.trim().toLowerCase();if(!e)return;const{pages:t}=n.$site,o=n.$site.themeConfig.searchMaxSuggestions,r=n.$localePath,a=t=>t&&t.title&&t.title.toLowerCase().indexOf(e)>-1,l=[];for(let e=0;e=o);e++){const n=t[e];if(i(n)===r)if(a(n))l.push(n);else if(n.headers)for(let e=0;e=o);e++){const t=n.headers[e];a(t)&&l.push(Object.assign({},n,{path:n.path+"#"+t.slug,header:t}))}}return l}),c=Object(o.a)(()=>(n.$site.themeConfig.nav||[]).length+(n.$site.repo?1:0)<=2);return{showSuggestions:a,suggestions:l,alignRight:c,onUp:()=>{a.value&&(s.focusIndex>0?s.focusIndex--:s.focusIndex=l.value.length-1)},onDown:()=>{a.value&&(s.focusIndex{s.focusIndex=e},unfocus:()=>{s.focusIndex=-1},go:e=>{a.value&&(n.$router.push(l.value[e].path),s.query="",s.focusIndex=0)},...Object(o.i)(s)}},mounted(){this.placeholder=this.$site.themeConfig.searchPlaceholder||""}}),i=(n(380),n(2)),l=Object(i.a)(a,(function(){var e=this,t=e._self._c;e._self._setupProxy;return t("div",{staticClass:"search-box"},[t("reco-icon",{attrs:{icon:"reco-search"}}),e._v(" "),t("input",{ref:"input",class:{focused:e.focused},attrs:{"aria-label":"Search",placeholder:e.placeholder,autocomplete:"off",spellcheck:"false"},domProps:{value:e.query},on:{input:function(t){e.query=t.target.value},focus:function(t){e.focused=!0},blur:function(t){e.focused=!1},keyup:[function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.go(e.focusIndex)},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"up",38,t.key,["Up","ArrowUp"])?null:e.onUp.apply(null,arguments)},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"down",40,t.key,["Down","ArrowDown"])?null:e.onDown.apply(null,arguments)}]}}),e._v(" "),e.showSuggestions?t("ul",{staticClass:"suggestions",class:{"align-right":e.alignRight},on:{mouseleave:e.unfocus}},e._l(e.suggestions,(function(n,o){return t("li",{key:o,staticClass:"suggestion",class:{focused:o===e.focusIndex},on:{mousedown:function(t){return e.go(o)},mouseenter:function(t){return e.focus(o)}}},[t("a",{attrs:{href:n.path},on:{click:function(e){e.preventDefault()}}},[t("span",{staticClass:"page-title"},[e._v(e._s(n.title||n.path))]),e._v(" "),n.header?t("span",{staticClass:"header"},[e._v("> "+e._s(n.header.title))]):e._e()])])})),0):e._e()],1)}),[],!1,null,null,null).exports,c=(n(381),Object(i.a)({},(function(){var e=this,t=e._self._c;return t("div",{staticClass:"sidebar-button",on:{click:function(t){return e.$emit("toggle-sidebar")}}},[t("svg",{staticClass:"icon",attrs:{xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",role:"img",viewBox:"0 0 448 512"}},[t("path",{attrs:{fill:"currentColor",d:"M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"}})])])}),[],!1,null,null,null).exports),u=n(342),d=n(376),f=Object(o.c)({components:{NavLink:u.a,DropdownTransition:d.a,RecoIcon:s.b},props:{item:{required:!0}},setup(e,t){const n=Object(o.h)(!1);return{open:n,toggle:()=>{n.value=!n.value}}}}),p=(n(383),Object(i.a)(f,(function(){var e=this,t=e._self._c;e._self._setupProxy;return t("div",{staticClass:"dropdown-wrapper",class:{open:e.open}},[t("a",{staticClass:"dropdown-title",on:{click:e.toggle}},[t("span",{staticClass:"title"},[t("reco-icon",{attrs:{icon:""+e.item.icon}}),e._v("\n "+e._s(e.item.text)+"\n ")],1),e._v(" "),t("span",{staticClass:"arrow",class:e.open?"down":"right"})]),e._v(" "),t("DropdownTransition",[t("ul",{directives:[{name:"show",rawName:"v-show",value:e.open,expression:"open"}],staticClass:"nav-dropdown"},e._l(e.item.items,(function(n,o){return t("li",{key:n.link||o,staticClass:"dropdown-item"},["links"===n.type?t("h4",[e._v(e._s(n.text))]):e._e(),e._v(" "),"links"===n.type?t("ul",{staticClass:"dropdown-subitem-wrapper"},e._l(n.items,(function(e){return t("li",{key:e.link,staticClass:"dropdown-subitem"},[t("NavLink",{attrs:{item:e}})],1)})),0):t("NavLink",{attrs:{item:n}})],1)})),0)])],1)}),[],!1,null,null,null).exports),h=n(17),g=Object(o.c)({components:{NavLink:u.a,DropdownLink:p,RecoIcon:s.b},setup(e,t){const n=Object(r.a)(),s=Object(o.a)(()=>n.$themeLocaleConfig.nav||n.$themeConfig.nav||[]),a=Object(o.a)(()=>{const e=n.$site.locales||{};if(e&&Object.keys(e).length>1){const t=n.$page.path,o=n.$router.options.routes,r=n.$themeConfig.locales||{},a={text:n.$themeLocaleConfig.selectText||"Languages",items:Object.keys(e).map(s=>{const a=e[s],i=r[s]&&r[s].label||a.lang;let l;return a.lang===n.$lang?l=t:(l=t.replace(n.$localeConfig.path,s),o.some(e=>e.path===l)||(l=s)),{text:i,link:l}})};return[...s.value,a]}const t=n.$themeConfig.blogConfig||{},o=s.value.some(e=>!t.category||e.text===(t.category.text||"分类")),r=s.value.some(e=>!t.tag||e.text===(t.tag.text||"标签"));if(!o&&Object.hasOwnProperty.call(t,"category")){const e=t.category,o=n.$categories;s.value.splice(parseInt(e.location||2)-1,0,{items:o.list.map(e=>(e.link=e.path,e.text=e.name,e)),text:e.text||n.$recoLocales.category,type:"links",icon:"reco-category"})}if(!r&&Object.hasOwnProperty.call(t,"tag")){const e=t.tag;s.value.splice(parseInt(e.location||3)-1,0,{link:"/tag/",text:e.text||n.$recoLocales.tag,type:"links",icon:"reco-tag"})}return s.value}),i=Object(o.a)(()=>(n.nav||[]).map(e=>Object.assign(Object(h.j)(e),{items:(e.items||[]).map(h.j)}))),l=Object(o.a)(()=>{const{repo:e}=n.$themeConfig;return e?/^https?:/.test(e)?e:"https://github.com/"+e:""}),c=Object(o.a)(()=>{if(!n.repoLink)return"";if(n.$themeConfig.repoLabel)return n.$themeConfig.repoLabel;const e=n.repoLink.match(/^https?:\/\/[^/]+/)[0],t=["GitHub","GitLab","Bitbucket"];for(let n=0;n=18?"dark":"light")}}var w={name:"ModeOptions",data:()=>({modeOptions:[{mode:"dark",title:"dark"},{mode:"auto",title:"auto"},{mode:"light",title:"light"}],currentMode:"auto"}),mounted(){this.currentMode=localStorage.getItem("mode")||this.$themeConfig.mode||"auto";var e=this;window.matchMedia("(prefers-color-scheme: dark)").addListener(()=>{"auto"===e.$data.currentMode&&k(e.$data.currentMode)}),window.matchMedia("(prefers-color-scheme: light)").addListener(()=>{"auto"===e.$data.currentMode&&k(e.$data.currentMode)}),k(this.currentMode)},methods:{selectMode(e){e!==this.currentMode&&(this.currentMode=e,k(e),localStorage.setItem("mode",e))},getClass(e){return e!==this.currentMode?e:e+" active"}}},x=(n(386),Object(i.a)(w,(function(){var e=this,t=e._self._c;return t("div",{staticClass:"mode-options"},[t("h4",{staticClass:"title"},[e._v("Choose mode")]),e._v(" "),t("ul",{staticClass:"color-mode-options"},e._l(e.modeOptions,(function(n,o){return t("li",{key:o,class:e.getClass(n.mode),on:{click:function(t){return e.selectMode(n.mode)}}},[e._v(e._s(n.title))])})),0)])}),[],!1,null,null,null).exports),C={name:"UserSettings",directives:{"click-outside":b.a},components:{ModePicker:x,RecoIcon:s.b,ModuleTransition:s.a},data:()=>({showMenu:!1}),mounted(){const e=this.$themeConfig.mode||"auto",{modePicker:t}=this.$themeConfig;!1===t&&("auto"===e&&(window.matchMedia("(prefers-color-scheme: dark)").addListener(()=>{k(e)}),window.matchMedia("(prefers-color-scheme: light)").addListener(()=>{k(e)})),k(e))},methods:{hideMenu(){this.showMenu=!1}}},O=(n(387),Object(i.a)(C,(function(){var e=this,t=e._self._c;return!1!==e.$themeConfig.modePicker?t("div",{directives:[{name:"click-outside",rawName:"v-click-outside",value:e.hideMenu,expression:"hideMenu"}],staticClass:"color-picker"},[t("a",{staticClass:"color-button",on:{click:function(t){t.preventDefault(),e.showMenu=!e.showMenu}}},[t("reco-icon",{attrs:{icon:"reco-color"}})],1),e._v(" "),t("ModuleTransition",{attrs:{transform:["translate(-50%, 0)","translate(-50%, -10px)"]}},[t("div",{directives:[{name:"show",rawName:"v-show",value:e.showMenu,expression:"showMenu"}],staticClass:"color-picker-menu"},[t("ModePicker")],1)])],1):e._e()}),[],!1,null,null,null).exports),$=Object(o.c)({components:{SidebarButton:c,NavLinks:m,SearchBox:l,AlgoliaSearchBox:{},Mode:O},setup(e,t){const n=Object(r.a)(),s=Object(o.h)(null),a=Object(o.a)(()=>n.$themeLocaleConfig.algolia||n.$themeConfig.algolia||{}),i=Object(o.a)(()=>a.value&&a.value.apiKey&&a.value.indexName);function l(e,t){return e.ownerDocument.defaultView.getComputedStyle(e,null)[t]}return Object(o.e)(()=>{const e=parseInt(l(n.$el,"paddingLeft"))+parseInt(l(n.$el,"paddingRight")),t=()=>{document.documentElement.clientWidth<719?s.value=null:s.value=n.$el.offsetWidth-e-(n.$refs.siteName&&n.$refs.siteName.offsetWidth||0)};t(),window.addEventListener("resize",t,!1)}),{linksWrapMaxWidth:s,algolia:a,isAlgoliaSearch:i,css:l}}}),j=(n(388),Object(i.a)($,(function(){var e=this,t=e._self._c;e._self._setupProxy;return t("header",{staticClass:"navbar"},[t("SidebarButton",{on:{"toggle-sidebar":function(t){return e.$emit("toggle-sidebar")}}}),e._v(" "),t("router-link",{staticClass:"home-link",attrs:{to:e.$localePath}},[e.$themeConfig.logo?t("img",{staticClass:"logo",attrs:{src:e.$withBase(e.$themeConfig.logo),alt:e.$siteTitle}}):e._e(),e._v(" "),e.$siteTitle?t("span",{ref:"siteName",staticClass:"site-name"},[e._v(e._s(e.$siteTitle))]):e._e()]),e._v(" "),t("div",{staticClass:"links",style:e.linksWrapMaxWidth?{"max-width":e.linksWrapMaxWidth+"px"}:{}},[t("Mode"),e._v(" "),e.isAlgoliaSearch?t("AlgoliaSearchBox",{attrs:{options:e.algolia}}):!1!==e.$themeConfig.search&&!1!==e.$frontmatter.search?t("SearchBox"):e._e(),e._v(" "),t("NavLinks",{staticClass:"can-hide"})],1)],1)}),[],!1,null,null,null).exports),S=n(374),I=Object(o.c)({name:"Sidebar",components:{SidebarLinks:S.default,NavLinks:m},props:["items"]}),L=(n(391),Object(i.a)(I,(function(){var e=this._self._c;this._self._setupProxy;return e("aside",{staticClass:"sidebar"},[this._t("top"),this._v(" "),e("NavLinks"),this._v(" "),e("SidebarLinks",{attrs:{depth:0,items:this.items}}),this._v(" "),this._t("bottom")],2)}),[],!1,null,null,null).exports),T=n(375),P=n(357),M=n.n(P),B=Object(o.c)({name:"Password",components:{RecoIcon:s.b},props:{isPage:{type:Boolean,default:!1}},setup(e,t){const n=Object(r.a)(),s=(new Date).getFullYear(),a=Object(o.h)(""),i=Object(o.h)("Konck! Knock!"),{isPage:l}=Object(o.i)(e);return{warningText:i,year:s,key:a,inter:()=>{const e=M()(a.value.trim()),t="pageKey"+window.location.pathname,o=l.value?t:"key";sessionStorage.setItem(o,e);if(!(l.value?(()=>{const e=n.$frontmatter.keys.map(e=>e.toLowerCase()),t="pageKey"+window.location.pathname;return e&&e.indexOf(sessionStorage.getItem(t))>-1})():(()=>{let{keys:e}=n.$themeConfig.keyPage;return e=e.map(e=>e.toLowerCase()),e.indexOf(sessionStorage.getItem("key"))>-1})()))return void(i.value="Key Error");i.value="Key Success";const s=document.getElementById("box").style.width;n.$refs.passwordBtn.style.width=s-2+"px",n.$refs.passwordBtn.style.opacity=1,setTimeout(()=>{window.location.reload()},800)},inputFocus:()=>{i.value="Input Your Key"},inputBlur:()=>{i.value="Konck! Knock!"}}}}),A=(n(395),Object(i.a)(B,(function(){var e=this,t=e._self._c;e._self._setupProxy;return t("div",{staticClass:"password-shadow"},[t("h3",{staticClass:"title"},[e._v(e._s(e.isPage?e.$frontmatter.title:e.$site.title||e.$localeConfig.title))]),e._v(" "),e.isPage?e._e():t("p",{staticClass:"description"},[e._v(e._s(e.$site.description||e.$localeConfig.description))]),e._v(" "),t("label",{staticClass:"inputBox",attrs:{id:"box"}},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.key,expression:"key"}],attrs:{type:"password"},domProps:{value:e.key},on:{keyup:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.inter.apply(null,arguments)},focus:e.inputFocus,blur:e.inputBlur,input:function(t){t.target.composing||(e.key=t.target.value)}}}),e._v(" "),t("span",[e._v(e._s(e.warningText))]),e._v(" "),t("button",{ref:"passwordBtn",on:{click:e.inter}},[e._v("OK")])]),e._v(" "),t("div",{staticClass:"footer"},[t("span",[t("reco-icon",{attrs:{icon:"reco-theme"}}),e._v(" "),t("a",{attrs:{target:"blank",href:"https://vuepress-theme-reco.recoluan.com"}},[e._v("vuePress-theme-reco")])],1),e._v(" "),t("span",[t("reco-icon",{attrs:{icon:"reco-copyright"}}),e._v(" "),t("a",[e.$themeConfig.author?t("span",[e._v(e._s(e.$themeConfig.author))]):e._e(),e._v("\n   \n "),e.$themeConfig.startYear&&e.$themeConfig.startYear!=e.year?t("span",[e._v(e._s(e.$themeConfig.startYear)+" - ")]):e._e(),e._v("\n "+e._s(e.year)+"\n ")])],1)])])}),[],!1,null,"59e6cb88",null).exports),E=Object(o.c)({setup(e,t){const n=Object(r.a)();return{headers:Object(o.a)(()=>n.$showSubSideBar?n.$page.headers:[]),isLinkActive:e=>Object(h.e)(n.$route,n.$page.path+"#"+e.slug)}},render(e){return e("ul",{class:{"sub-sidebar-wrapper":!0},style:{width:this.headers.length>0?"12rem":"0"}},[...this.headers.map(t=>e("li",{class:{active:this.isLinkActive(t),["level-"+t.level]:!0},attr:{key:t.title}},[e("router-link",{class:{"sidebar-link":!0,["reco-side-"+t.slug]:!0},props:{to:`${this.$page.path}#${t.slug}`}},t.title)]))])}}),N=(n(396),Object(i.a)(E,void 0,void 0,!1,null,"b57cc07c",null).exports),H=n(397),K=Object(o.c)({components:{Sidebar:L,Navbar:j,Password:A,PersonalInfo:T.a,SubSidebar:N},props:{sidebar:{type:Boolean,default:!0},sidebarItems:{type:Array,default:()=>[]},showModule:{type:Boolean,default:!1}},setup(e,t){const n=Object(r.a)(),s=Object(o.h)(!1),a=Object(o.h)(!0),i=Object(o.h)(!0),l=Object(o.h)(!0),c=Object(o.a)(()=>e.sidebarItems.length>0),u=Object(o.a)(()=>n.$themeConfig.keyPage&&!0===n.$themeConfig.keyPage.absoluteEncryption),d=Object(o.a)(()=>{const{themeConfig:e}=n.$site,{frontmatter:t}=n.$page;return!1!==t.navbar&&!1!==e.navbar&&(n.$title||e.logo||e.repo||e.nav||n.$themeLocaleConfig.nav)}),f=Object(o.a)(()=>{const e={"no-navbar":!d.value,"sidebar-open":s.value,"no-sidebar":!c.value},{pageClass:t}=n.$frontmatter||{};return t&&(e[t]=!0),e}),p=()=>{const{keyPage:e}=n.$themeConfig;if(!e||!e.keys||0===e.keys.length)return void(a.value=!0);let{keys:t}=e;t=t.map(e=>e.toLowerCase()),a.value=t&&t.indexOf(sessionStorage.getItem("key"))>-1},h=()=>{let e=n.$frontmatter.keys;e&&0!==e.length?(e=e.map(e=>e.toLowerCase()),i.value=e.indexOf(sessionStorage.getItem("pageKey"+window.location.pathname))>-1):i.value=!0};return Object(o.e)(()=>{n.$router.afterEach(()=>{s.value=!1}),p(),h(),(()=>{const e=n.$frontmatter.home&&null==sessionStorage.getItem("firstLoad")?1e3:0;Object(H.setTimeout)(()=>{l.value=!1,null==sessionStorage.getItem("firstLoad")&&sessionStorage.setItem("firstLoad",!1)},e)})()}),{isSidebarOpen:s,absoluteEncryption:u,shouldShowNavbar:d,shouldShowSidebar:c,pageClasses:f,hasKey:p,hasPageKey:h,isHasKey:a,isHasPageKey:i,toggleSidebar:e=>{s.value="boolean"==typeof e?e:!s.value},firstLoad:l}},watch:{$frontmatter(e,t){this.hasKey(),this.hasPageKey()}}}),R=(n(399),Object(i.a)(K,(function(){var e=this,t=e._self._c;e._self._setupProxy;return t("div",{staticClass:"theme-container",class:e.pageClasses},[e.absoluteEncryption?t("div",[t("transition",{attrs:{name:"fade"}},[e.isHasKey?e._e():t("Password")],1),e._v(" "),e.isHasKey?t("div",[e.shouldShowNavbar?t("Navbar",{on:{"toggle-sidebar":e.toggleSidebar}}):e._e(),e._v(" "),t("div",{staticClass:"sidebar-mask",on:{click:function(t){return e.toggleSidebar(!1)}}}),e._v(" "),t("Sidebar",{attrs:{items:e.sidebarItems},on:{"toggle-sidebar":e.toggleSidebar}},[t("PersonalInfo",{attrs:{slot:"top"},slot:"top"}),e._v(" "),e._t("sidebar-bottom",null,{slot:"bottom"})],2),e._v(" "),e.isHasPageKey?e._t("default"):t("Password",{attrs:{isPage:!0}})],2):e._e()],1):t("div",[t("transition",{attrs:{name:"fade"}},[t("Password",{directives:[{name:"show",rawName:"v-show",value:!e.firstLoad&&!e.isHasKey,expression:"!firstLoad && !isHasKey"}],key:"out",staticClass:"password-wrapper-out"})],1),e._v(" "),t("div",{class:{hide:e.firstLoad||!e.isHasKey}},[e.shouldShowNavbar?t("Navbar",{on:{"toggle-sidebar":e.toggleSidebar}}):e._e(),e._v(" "),t("div",{staticClass:"sidebar-mask",on:{click:function(t){return e.toggleSidebar(!1)}}}),e._v(" "),t("Sidebar",{attrs:{items:e.sidebarItems},on:{"toggle-sidebar":e.toggleSidebar}},[t("PersonalInfo",{attrs:{slot:"top"},slot:"top"}),e._v(" "),e._t("sidebar-bottom",null,{slot:"bottom"})],2),e._v(" "),t("Password",{directives:[{name:"show",rawName:"v-show",value:!e.isHasPageKey,expression:"!isHasPageKey"}],key:"in",staticClass:"password-wrapper-in",attrs:{isPage:!0}}),e._v(" "),t("div",{class:{hide:!e.isHasPageKey}},[e._t("default")],2),e._v(" "),t("SubSidebar",{staticClass:"sub-sidebar"})],1)],1)])}),[],!1,null,"7dd95ae2",null));t.a=R.exports},342:function(e,t,n){"use strict";var o=n(0),s=n(17),r=n(325),a=n(324),i=Object(o.c)({components:{RecoIcon:r.b},props:{item:{required:!0}},setup(e,t){const n=Object(a.a)(),{item:r}=Object(o.i)(e),i=Object(o.a)(()=>Object(s.d)(r.value.link)),l=Object(o.a)(()=>n.$site.locales?Object.keys(n.$site.locales).some(e=>e===i.value):"/"===i.value);return{link:i,exact:l,isExternal:s.f,isMailto:s.g,isTel:s.h}}}),l=n(2),c=Object(l.a)(i,(function(){var e=this,t=e._self._c;e._self._setupProxy;return e.isExternal(e.link)?t("a",{staticClass:"nav-link external",attrs:{href:e.link,target:e.isMailto(e.link)||e.isTel(e.link)?null:"_blank",rel:e.isMailto(e.link)||e.isTel(e.link)?null:"noopener noreferrer"}},[t("reco-icon",{attrs:{icon:""+e.item.icon}}),e._v("\n "+e._s(e.item.text)+"\n "),t("OutboundLink")],1):t("router-link",{staticClass:"nav-link",attrs:{to:e.link,exact:e.exact}},[t("reco-icon",{attrs:{icon:""+e.item.icon}}),e._v("\n "+e._s(e.item.text)+"\n")],1)}),[],!1,null,null,null);t.a=c.exports},344:function(e,t,n){"use strict";var o=n(21),s=n(3),r=n(379);o({global:!0},{Reflect:{}}),r(s.Reflect,"Reflect",!0)},345:function(e,t,n){},346:function(e,t,n){},347:function(e,t,n){},348:function(e,t,n){},349:function(e,t,n){},350:function(e,t,n){},351:function(e,t,n){},352:function(e,t,n){},353:function(e,t,n){},354:function(e,t,n){},355:function(e,t,n){},356:function(e,t,n){},357:function(e,t,n){var o,s,r,a,i;o=n(393),s=n(358).utf8,r=n(394),a=n(358).bin,(i=function(e,t){e.constructor==String?e=t&&"binary"===t.encoding?a.stringToBytes(e):s.stringToBytes(e):r(e)?e=Array.prototype.slice.call(e,0):Array.isArray(e)||(e=e.toString());for(var n=o.bytesToWords(e),l=8*e.length,c=1732584193,u=-271733879,d=-1732584194,f=271733878,p=0;p>>24)|4278255360&(n[p]<<24|n[p]>>>8);n[l>>>5]|=128<>>9<<4)]=l;var h=i._ff,g=i._gg,m=i._hh,v=i._ii;for(p=0;p>>0,u=u+y>>>0,d=d+_>>>0,f=f+k>>>0}return o.endian([c,u,d,f])})._ff=function(e,t,n,o,s,r,a){var i=e+(t&n|~t&o)+(s>>>0)+a;return(i<>>32-r)+t},i._gg=function(e,t,n,o,s,r,a){var i=e+(t&o|n&~o)+(s>>>0)+a;return(i<>>32-r)+t},i._hh=function(e,t,n,o,s,r,a){var i=e+(t^n^o)+(s>>>0)+a;return(i<>>32-r)+t},i._ii=function(e,t,n,o,s,r,a){var i=e+(n^(t|~o))+(s>>>0)+a;return(i<>>32-r)+t},i._blocksize=16,i._digestsize=16,e.exports=function(e,t){if(null==e)throw new Error("Illegal argument "+e);var n=o.wordsToBytes(i(e,t));return t&&t.asBytes?n:t&&t.asString?a.bytesToString(n):o.bytesToHex(n)}},358:function(e,t){var n={utf8:{stringToBytes:function(e){return n.bin.stringToBytes(unescape(encodeURIComponent(e)))},bytesToString:function(e){return decodeURIComponent(escape(n.bin.bytesToString(e)))}},bin:{stringToBytes:function(e){for(var t=[],n=0;n(Object(a.a)().$options.components.SidebarLinks=n(374).default,{isActive:s.e})}),l=(n(389),n(2)),c=Object(l.a)(i,(function(){var e=this,t=e._self._c;e._self._setupProxy;return t("section",{staticClass:"sidebar-group",class:[{collapsable:e.collapsable,"is-sub-group":0!==e.depth},"depth-"+e.depth]},[e.item.path?t("router-link",{staticClass:"sidebar-heading clickable",class:{open:e.open,active:e.isActive(e.$route,e.item.path)},attrs:{to:e.item.path},nativeOn:{click:function(t){return e.$emit("toggle")}}},[t("span",[e._v(e._s(e.item.title))]),e._v(" "),e.collapsable?t("span",{staticClass:"arrow",class:e.open?"down":"right"}):e._e()]):t("p",{staticClass:"sidebar-heading",class:{open:e.open},on:{click:function(t){return e.$emit("toggle")}}},[t("span",[e._v(e._s(e.item.title))]),e._v(" "),e.collapsable?t("span",{staticClass:"arrow",class:e.open?"down":"right"}):e._e()]),e._v(" "),t("DropdownTransition",[e.open||!e.collapsable?t("SidebarLinks",{staticClass:"sidebar-group-items",attrs:{items:e.item.children,sidebarDepth:e.item.sidebarDepth,depth:e.depth+1}}):e._e()],1)],1)}),[],!1,null,null,null).exports;var u=Object(o.c)({functional:!0,props:["item","sidebarDepth"],render(e,{parent:{$page:t,$site:n,$route:o,$themeConfig:r,$themeLocaleConfig:a},props:{item:i,sidebarDepth:l}}){const c=Object(s.e)(o,i.path),u="auto"===i.type?c||i.children.some(e=>Object(s.e)(o,i.basePath+"#"+e.slug)):c;return function(e,t,n,o){return e("router-link",{props:{to:t,activeClass:"",exactActiveClass:""},class:{active:o,"sidebar-link":!0}},n)}(e,i.path,i.title||i.path,u)}}),d=(n(390),Object(l.a)(u,void 0,void 0,!1,null,null,null).exports);var f=Object(o.c)({name:"SidebarLinks",components:{SidebarGroup:c,SidebarLink:d},props:["items","depth","sidebarDepth"],setup(e,t){const n=Object(a.a)(),{items:r}=Object(o.i)(e),i=Object(o.h)(0),l=()=>{const e=function(e,t){for(let n=0;n"page"===t.type&&Object(s.e)(e,t.path)))return n}return-1}(n.$route,r.value);e>-1&&(i.value=e)},c=()=>{const e=[].slice.call(document.querySelectorAll(".header-anchor")).filter(e=>-1!=decodeURIComponent(n.$route.fullPath).indexOf(decodeURIComponent(e.hash)));null==e||e.length<1||null==e[0].offsetTop||setTimeout((function(){window.scrollTo(0,e[0].offsetTop+160)}),100)},u=()=>{const e=document.getElementsByClassName("sidebar")[0];let t=document.getElementsByClassName("active sidebar-link")[1];if(null!=t&&null!=t&&null!=t.offsetTop||(t=document.getElementsByClassName("active sidebar-link")[0]),null==t||null==t||null==t.offsetTop)return;const n=e.clientHeight||window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight,o=t.offsetTop,s=t.offsetTop+t.offsetHeight,r=e.scrollTop;s<=n+r||(e.scrollTop=s+5-n);o>=r||(e.scrollTop=o-5)},d=e=>d(n.$route,e.regularPath);return l(),Object(o.e)(()=>{(()=>{const e=decodeURIComponent(n.$route.fullPath);if(!e||""==e)return;const t=[].slice.call(document.querySelectorAll(".sidebar-link"));for(let n=0;nu()),{openGroupIndex:i,refreshIndex:l,toggleGroup:e=>{n.openGroupIndex=e===n.openGroupIndex?-1:e},isActive:d}},watch:{$route(){this.refreshIndex()}}}),p=Object(l.a)(f,(function(){var e=this,t=e._self._c;e._self._setupProxy;return e.items.length?t("ul",{staticClass:"sidebar-links"},e._l(e.items,(function(n,o){return t("li",{key:o},["group"===n.type?t("SidebarGroup",{attrs:{item:n,open:o===e.openGroupIndex,collapsable:n.collapsable||n.collapsible,depth:e.depth},on:{toggle:function(t){return e.toggleGroup(o)}}}):t("SidebarLink",{attrs:{sidebarDepth:e.sidebarDepth,item:n}})],1)})),0):e._e()}),[],!1,null,null,null);t.default=p.exports},375:function(e,t,n){"use strict";var o=n(0),s=n(325),r=n(41),a=n(324),i=Object(o.c)({components:{RecoIcon:s.b},setup(e,t){const n=Object(a.a)();return{socialLinks:Object(o.a)(()=>(n.$themeConfig.blogConfig&&n.$themeConfig.blogConfig.socialLinks||[]).map(e=>(e.color||(e.color=Object(r.b)()),e)))}}}),l=(n(392),n(2)),c=Object(l.a)(i,(function(){var e=this,t=e._self._c;e._self._setupProxy;return t("div",{staticClass:"personal-info-wrapper"},[e.$themeConfig.authorAvatar?t("img",{staticClass:"personal-img",attrs:{src:e.$withBase(e.$themeConfig.authorAvatar),alt:"author-avatar"}}):e._e(),e._v(" "),e.$themeConfig.author?t("h3",{staticClass:"name"},[e._v("\n "+e._s(e.$themeConfig.author)+"\n ")]):e._e(),e._v(" "),t("div",{staticClass:"num"},[t("div",[t("h3",[e._v(e._s(e.$recoPosts.length))]),e._v(" "),t("h6",[e._v(e._s(e.$recoLocales.article))])]),e._v(" "),t("div",[t("h3",[e._v(e._s(e.$tags.list.length))]),e._v(" "),t("h6",[e._v(e._s(e.$recoLocales.tag))])])]),e._v(" "),t("ul",{staticClass:"social-links"},e._l(e.socialLinks,(function(e,n){return t("li",{key:n,staticClass:"social-item"},[t("reco-icon",{style:{color:e.color},attrs:{icon:e.icon,link:e.link}})],1)})),0),e._v(" "),t("hr")])}),[],!1,null,"1fad0c41",null);t.a=c.exports},376:function(e,t,n){"use strict";var o=n(0),s=Object(o.c)({name:"DropdownTransition",setup:(e,t)=>({setHeight:e=>{e.style.height=e.scrollHeight+"px"},unsetHeight:e=>{e.style.height=""}})}),r=(n(382),n(2)),a=Object(r.a)(s,(function(){var e=this._self._c;this._self._setupProxy;return e("transition",{attrs:{name:"dropdown"},on:{enter:this.setHeight,"after-enter":this.unsetHeight,"before-leave":this.setHeight}},[this._t("default")],2)}),[],!1,null,null,null);t.a=a.exports},378:function(e,t,n){"use strict";function o(){return(o=Object.assign?Object.assign.bind():function(e){for(var t,n=1;n0&&n.unshift(t.target),e.contains(t.target)||function(e,t){if(!e||!t)return!1;for(var n=0,o=t.length;n>>32-t},rotr:function(e,t){return e<<32-t|e>>>t},endian:function(e){if(e.constructor==Number)return 16711935&o.rotl(e,8)|4278255360&o.rotl(e,24);for(var t=0;t0;e--)t.push(Math.floor(256*Math.random()));return t},bytesToWords:function(e){for(var t=[],n=0,o=0;n>>5]|=e[n]<<24-o%32;return t},wordsToBytes:function(e){for(var t=[],n=0;n<32*e.length;n+=8)t.push(e[n>>>5]>>>24-n%32&255);return t},bytesToHex:function(e){for(var t=[],n=0;n>>4).toString(16)),t.push((15&e[n]).toString(16));return t.join("")},hexToBytes:function(e){for(var t=[],n=0;n>>6*(3-r)&63)):t.push("=");return t.join("")},base64ToBytes:function(e){e=e.replace(/[^A-Z0-9+\/]/gi,"");for(var t=[],o=0,s=0;o>>6-2*s);return t}},e.exports=o},394:function(e,t){function n(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)} +/*! + * Determine if an object is a Buffer + * + * @author Feross Aboukhadijeh + * @license MIT + */ +e.exports=function(e){return null!=e&&(n(e)||function(e){return"function"==typeof e.readFloatLE&&"function"==typeof e.slice&&n(e.slice(0,0))}(e)||!!e._isBuffer)}},395:function(e,t,n){"use strict";n(359)},396:function(e,t,n){"use strict";n(360)},397:function(e,t,n){var o="undefined"!=typeof global&&global||"undefined"!=typeof self&&self||window,s=Function.prototype.apply;function r(e,t){this._id=e,this._clearFn=t}t.setTimeout=function(){return new r(s.call(setTimeout,o,arguments),clearTimeout)},t.setInterval=function(){return new r(s.call(setInterval,o,arguments),clearInterval)},t.clearTimeout=t.clearInterval=function(e){e&&e.close()},r.prototype.unref=r.prototype.ref=function(){},r.prototype.close=function(){this._clearFn.call(o,this._id)},t.enroll=function(e,t){clearTimeout(e._idleTimeoutId),e._idleTimeout=t},t.unenroll=function(e){clearTimeout(e._idleTimeoutId),e._idleTimeout=-1},t._unrefActive=t.active=function(e){clearTimeout(e._idleTimeoutId);var t=e._idleTimeout;t>=0&&(e._idleTimeoutId=setTimeout((function(){e._onTimeout&&e._onTimeout()}),t))},n(398),t.setImmediate="undefined"!=typeof self&&self.setImmediate||"undefined"!=typeof global&&global.setImmediate||this&&this.setImmediate,t.clearImmediate="undefined"!=typeof self&&self.clearImmediate||"undefined"!=typeof global&&global.clearImmediate||this&&this.clearImmediate},398:function(e,t){!function(e,t){"use strict";if(!e.setImmediate){var n,o,s,r,a,i=1,l={},c=!1,u=e.document,d=Object.getPrototypeOf&&Object.getPrototypeOf(e);d=d&&d.setTimeout?d:e,"[object process]"==={}.toString.call(e.process)?n=function(e){process.nextTick((function(){p(e)}))}:!function(){if(e.postMessage&&!e.importScripts){var t=!0,n=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=n,t}}()?e.MessageChannel?((s=new MessageChannel).port1.onmessage=function(e){p(e.data)},n=function(e){s.port2.postMessage(e)}):u&&"onreadystatechange"in u.createElement("script")?(o=u.documentElement,n=function(e){var t=u.createElement("script");t.onreadystatechange=function(){p(e),t.onreadystatechange=null,o.removeChild(t),t=null},o.appendChild(t)}):n=function(e){setTimeout(p,0,e)}:(r="setImmediate$"+Math.random()+"$",a=function(t){t.source===e&&"string"==typeof t.data&&0===t.data.indexOf(r)&&p(+t.data.slice(r.length))},e.addEventListener?e.addEventListener("message",a,!1):e.attachEvent("onmessage",a),n=function(t){e.postMessage(r+t,"*")}),d.setImmediate=function(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),o=0;o __plugin_author__")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"version"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"0.1.0"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 'version' -> __plugin_version__ : meta数据中的version仅修改插件文件部分,对于Config文件必定修改")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" \n"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br"),t("span",{staticClass:"line-number"},[s._v("2")]),t("br"),t("span",{staticClass:"line-number"},[s._v("3")]),t("br"),t("span",{staticClass:"line-number"},[s._v("4")]),t("br"),t("span",{staticClass:"line-number"},[s._v("5")]),t("br"),t("span",{staticClass:"line-number"},[s._v("6")]),t("br"),t("span",{staticClass:"line-number"},[s._v("7")]),t("br"),t("span",{staticClass:"line-number"},[s._v("8")]),t("br"),t("span",{staticClass:"line-number"},[s._v("9")]),t("br"),t("span",{staticClass:"line-number"},[s._v("10")]),t("br")])])]),t("h2",{attrs:{id:"zx-plugin-name"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#zx-plugin-name"}},[s._v("#")]),s._v(" __zx_plugin_name__")]),s._v(" "),t("ul",[t("li",[t("strong",[s._v("类型")]),s._v(":"),t("code",[s._v("str")])]),s._v(" "),t("li",[t("strong",[s._v("说明")]),s._v(":"),t("br"),s._v("\n插件名称,为插件普通帮助的展示内容,基本所有模块都必须有 "),t("code",[s._v("__zx_plugin_name__")]),t("br"),s._v("\n通过在__zx_plugin_name__中添加 [Admin] [Superuser] [Hidden] 控制初始化帮助时插件的分类"),t("br"),s._v("\n基本为以下四类:\n"),t("ul",[t("li",[s._v("``:默认,即没有以下三种分类,作为普通插件")]),s._v(" "),t("li",[t("code",[s._v("[Admin]")]),s._v(": 纯管理员插件")]),s._v(" "),t("li",[t("code",[s._v("[Superuser]")]),s._v(": 纯超级用户插件")]),s._v(" "),t("li",[t("code",[s._v("[Hidden]")]),s._v(": 隐藏的插件,一般是不需要命令调用的插件")])])])]),s._v(" "),t("div",{staticClass:"language-python line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-python"}},[t("code",[s._v("__zx_plugin_name__ "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"色图"')]),s._v("\n__zx_plugin_name__ "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"管理员操作 [Admin]"')]),s._v("\n__zx_plugin_name__ "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"超级用户操作 [Superuser]"')]),s._v("\n__zx_plugin_name__ "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"自动检测群员数量 [Hidden]"')]),s._v("\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br"),t("span",{staticClass:"line-number"},[s._v("2")]),t("br"),t("span",{staticClass:"line-number"},[s._v("3")]),t("br"),t("span",{staticClass:"line-number"},[s._v("4")]),t("br")])]),t("h2",{attrs:{id:"plugin-usage"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#plugin-usage"}},[s._v("#")]),s._v(" __plugin_usage__")]),s._v(" "),t("ul",[t("li",[t("strong",[s._v("类型")]),s._v(":"),t("code",[s._v("str")])]),s._v(" "),t("li",[t("strong",[s._v("说明")]),s._v(":"),t("br"),s._v("\n插件帮助说明\n示例:")])]),s._v(" "),t("div",{staticClass:"language-python line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-python"}},[t("code",[t("span",{pre:!0,attrs:{class:"token triple-quoted-string string"}},[s._v('"""\nusage:\n 有什么用处?\n 指令:\n ...\n 示例:...\n"""')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("strip"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br"),t("span",{staticClass:"line-number"},[s._v("2")]),t("br"),t("span",{staticClass:"line-number"},[s._v("3")]),t("br"),t("span",{staticClass:"line-number"},[s._v("4")]),t("br"),t("span",{staticClass:"line-number"},[s._v("5")]),t("br"),t("span",{staticClass:"line-number"},[s._v("6")]),t("br"),t("span",{staticClass:"line-number"},[s._v("7")]),t("br")])]),t("h2",{attrs:{id:"plugin-superuser-usage"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#plugin-superuser-usage"}},[s._v("#")]),s._v(" __plugin_superuser_usage__")]),s._v(" "),t("ul",[t("li",[t("strong",[s._v("类型")]),s._v(":"),t("code",[s._v("str")])]),s._v(" "),t("li",[t("strong",[s._v("说明")]),s._v(":"),t("br"),s._v("\n当非 "),t("code",[s._v("[Superuser]")]),s._v(" 插件含有超级用户的功能时,在该属性中编写超级用户的额外帮助"),t("br"),s._v("\n帮助写法与 "),t("code",[s._v("__plugin_usage__")]),s._v(" 一致")])]),s._v(" "),t("h2",{attrs:{id:"plugin-des"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#plugin-des"}},[s._v("#")]),s._v(" __plugin_des__")]),s._v(" "),t("ul",[t("li",[t("strong",[s._v("类型")]),s._v(":"),t("code",[s._v("str")])]),s._v(" "),t("li",[t("strong",[s._v("说明")]),s._v(":"),t("br"),s._v("\n插件简介,不建议太长,详细介绍可以写在usage中,主要在"),t("code",[s._v("详细帮助")]),s._v("中显示")])]),s._v(" "),t("h2",{attrs:{id:"plugin-cmd"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#plugin-cmd"}},[s._v("#")]),s._v(" __plugin_cmd__")]),s._v(" "),t("ul",[t("li",[t("strong",[s._v("类型")]),s._v(":"),t("code",[s._v("List[str]")])]),s._v(" "),t("li",[t("strong",[s._v("说明")]),s._v(":"),t("br"),s._v("\n插件指令,相同功能的插件指令请使用"),t("code",[s._v("/")]),s._v("分离,如果是超级用户的功能,请在命令后添加"),t("code",[s._v("[_superuser]")]),t("br"),s._v("\n示例:")])]),s._v(" "),t("div",{staticClass:"language-python line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-python"}},[t("code",[t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 发送 ‘我的签到’ 和 ‘好感度’ 效果相同")]),s._v("\n__plugin_cmd__ "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("[")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"我的签到/好感度"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"好感度排行"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"清空好感度 [_superuser]"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("]")]),s._v("\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br"),t("span",{staticClass:"line-number"},[s._v("2")]),t("br")])]),t("h2",{attrs:{id:"plugin-settings"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#plugin-settings"}},[s._v("#")]),s._v(" __plugin_settings__")]),s._v(" "),t("ul",[t("li",[t("strong",[s._v("类型")]),s._v(":"),t("code",[s._v("Dict[str, Union[str, int]]")])]),s._v(" "),t("li",[t("strong",[s._v("说明")]),s._v(":"),t("br"),s._v("\n插件的通用设置,普通插件与纯管理员插件会有所不同"),t("br"),s._v("\n示例:")])]),s._v(" "),t("div",{staticClass:"language-python line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-python"}},[t("code",[t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 普通插件,以下除cmd外为默认值")]),s._v("\n__plugin_settings__ "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"level"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("5")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 群权限等级,请不要设置为1或999,若无特殊情况请设置为5")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"default_status"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token boolean"}},[s._v("True")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 进群时的默认开关状态")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"limit_superuser"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token boolean"}},[s._v("False")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 开关插件的限制是否限制超级用户")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"cmd"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("[")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"b封面"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v("'B封面'")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("]")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 命令别名,主要用于帮助和开关")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"cost_gold"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("0")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 该功能需要花费的金币")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v('#"cmd"第一个值会被作为功能调用统计的显示选项,开关方面:开启b封面=开启B封面=开启cover')]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v('#"__zx_plugin_name__"不需要额外写入,在bot启动时会自动将"__zx_plugin_name__"导入对应的"cmd"')]),s._v("\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 只填写需要的部分,其他默认")]),s._v("\n__plugin_settings__ "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"level"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("5")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 群权限等级,请不要设置为1或9,若无特殊情况请设置为5")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"cmd"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("[")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"b封面"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v("'B封面'")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("]")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 命令别名,主要用于帮助和开关")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 再简化一点")]),s._v("\n__plugin_settings__ "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"cmd"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("[")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"b封面"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v("'B封面'")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("]")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 命令别名,主要用于帮助和开关")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 管理员插件")]),s._v("\n__plugin_settings__ "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"admin_level"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("1")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 管理员等级,建议设置在5及以下,敏感操作设置在5以上")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br"),t("span",{staticClass:"line-number"},[s._v("2")]),t("br"),t("span",{staticClass:"line-number"},[s._v("3")]),t("br"),t("span",{staticClass:"line-number"},[s._v("4")]),t("br"),t("span",{staticClass:"line-number"},[s._v("5")]),t("br"),t("span",{staticClass:"line-number"},[s._v("6")]),t("br"),t("span",{staticClass:"line-number"},[s._v("7")]),t("br"),t("span",{staticClass:"line-number"},[s._v("8")]),t("br"),t("span",{staticClass:"line-number"},[s._v("9")]),t("br"),t("span",{staticClass:"line-number"},[s._v("10")]),t("br"),t("span",{staticClass:"line-number"},[s._v("11")]),t("br"),t("span",{staticClass:"line-number"},[s._v("12")]),t("br"),t("span",{staticClass:"line-number"},[s._v("13")]),t("br"),t("span",{staticClass:"line-number"},[s._v("14")]),t("br"),t("span",{staticClass:"line-number"},[s._v("15")]),t("br"),t("span",{staticClass:"line-number"},[s._v("16")]),t("br"),t("span",{staticClass:"line-number"},[s._v("17")]),t("br"),t("span",{staticClass:"line-number"},[s._v("18")]),t("br"),t("span",{staticClass:"line-number"},[s._v("19")]),t("br"),t("span",{staticClass:"line-number"},[s._v("20")]),t("br"),t("span",{staticClass:"line-number"},[s._v("21")]),t("br"),t("span",{staticClass:"line-number"},[s._v("22")]),t("br"),t("span",{staticClass:"line-number"},[s._v("23")]),t("br"),t("span",{staticClass:"line-number"},[s._v("24")]),t("br"),t("span",{staticClass:"line-number"},[s._v("25")]),t("br"),t("span",{staticClass:"line-number"},[s._v("26")]),t("br")])]),t("h2",{attrs:{id:"plugin-task"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#plugin-task"}},[s._v("#")]),s._v(" __plugin_task__")]),s._v(" "),t("ul",[t("li",[t("strong",[s._v("类型")]),s._v(":"),t("code",[s._v("Dict[str, Union[str, str]]")])]),s._v(" "),t("li",[t("strong",[s._v("说明")]),s._v(":"),t("br"),s._v("\n为你提供一个或多个开关,主要用于被动类插件的开关"),t("br"),s._v("\n示例:")])]),s._v(" "),t("div",{staticClass:"language-python line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-python"}},[t("code",[t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 定义开关")]),s._v("\n__plugin_task__ "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"名称"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"开关中文名"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"abcd"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"统计开关"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"..."')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"..."')]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 使用被动技能控制页面的方法(推荐!")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 使用最最基本的控制:在插件中设置(不推荐")]),s._v("\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 导入管理器")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("from")]),s._v(" utils"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("manager "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("import")]),s._v(" group_manager\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 下方法为最最基本的插件控制")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("async")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("def")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token function"}},[s._v("_")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("if")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("await")]),s._v(" group_manager"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("check_group_task_status"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("event"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("group_id"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"名称"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("if")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("await")]),s._v(" group_manager"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("check_group_task_status"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("event"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("group_id"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"abcd"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br"),t("span",{staticClass:"line-number"},[s._v("2")]),t("br"),t("span",{staticClass:"line-number"},[s._v("3")]),t("br"),t("span",{staticClass:"line-number"},[s._v("4")]),t("br"),t("span",{staticClass:"line-number"},[s._v("5")]),t("br"),t("span",{staticClass:"line-number"},[s._v("6")]),t("br"),t("span",{staticClass:"line-number"},[s._v("7")]),t("br"),t("span",{staticClass:"line-number"},[s._v("8")]),t("br"),t("span",{staticClass:"line-number"},[s._v("9")]),t("br"),t("span",{staticClass:"line-number"},[s._v("10")]),t("br"),t("span",{staticClass:"line-number"},[s._v("11")]),t("br"),t("span",{staticClass:"line-number"},[s._v("12")]),t("br"),t("span",{staticClass:"line-number"},[s._v("13")]),t("br"),t("span",{staticClass:"line-number"},[s._v("14")]),t("br"),t("span",{staticClass:"line-number"},[s._v("15")]),t("br"),t("span",{staticClass:"line-number"},[s._v("16")]),t("br"),t("span",{staticClass:"line-number"},[s._v("17")]),t("br"),t("span",{staticClass:"line-number"},[s._v("18")]),t("br"),t("span",{staticClass:"line-number"},[s._v("19")]),t("br")])]),t("h2",{attrs:{id:"plugin-type"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#plugin-type"}},[s._v("#")]),s._v(" __plugin_type__")]),s._v(" "),t("ul",[t("li",[t("strong",[s._v("类型")]),s._v(":"),t("code",[s._v("Tuple[Union[str, int]]")])]),s._v(" "),t("li",[t("strong",[s._v("说明")]),s._v(":"),t("br"),s._v("\n为普通插件分类,当没有"),t("code",[s._v("__plugin_type__")]),s._v("时,将统一放置普通功能分类中"),t("br"),s._v("\n相同分类的插件在帮助图片中将会统合在一起"),t("br"),s._v("\n示例:")])]),s._v(" "),t("div",{staticClass:"language-python line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-python"}},[t("code",[t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 定义格式:")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 排列:无或0时:横向排列,1:列项排序(当你的__plugin_cmd__指令很多,建议使用 1)")]),s._v("\n__plugin_type__ "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("分类名称"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" 详细帮助中的排列"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 创建一个`工具`的分类")]),s._v("\n__plugin_type__ "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v("'工具'")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 创建一个`原神相关`的分类,并在详细功能中命令以列向排列显示")]),s._v("\n__plugin_type__ "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v("'原神相关'")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("1")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br"),t("span",{staticClass:"line-number"},[s._v("2")]),t("br"),t("span",{staticClass:"line-number"},[s._v("3")]),t("br"),t("span",{staticClass:"line-number"},[s._v("4")]),t("br"),t("span",{staticClass:"line-number"},[s._v("5")]),t("br"),t("span",{staticClass:"line-number"},[s._v("6")]),t("br"),t("span",{staticClass:"line-number"},[s._v("7")]),t("br")])]),t("h2",{attrs:{id:"plugin-version"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#plugin-version"}},[s._v("#")]),s._v(" __plugin_version__")]),s._v(" "),t("ul",[t("li",[t("strong",[s._v("类型")]),s._v(":"),t("code",[s._v("Union[float, int]")])]),s._v(" "),t("li",[t("strong",[s._v("说明")]),s._v(":"),t("br"),s._v("\n插件版本,将作为插件自动更新的依照")])]),s._v(" "),t("h2",{attrs:{id:"plugin-author"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#plugin-author"}},[s._v("#")]),s._v(" __plugin_author__")]),s._v(" "),t("ul",[t("li",[t("strong",[s._v("类型")]),s._v(":"),t("code",[s._v("str")])]),s._v(" "),t("li",[t("strong",[s._v("说明")]),s._v(":"),t("br"),s._v("\n插件作者")])]),s._v(" "),t("h2",{attrs:{id:"plugin-cd-limit"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#plugin-cd-limit"}},[s._v("#")]),s._v(" __plugin_cd_limit__")]),s._v(" "),t("ul",[t("li",[t("strong",[s._v("类型")]),s._v(":"),t("code",[s._v("Dict[str, Optional[Union[int, str]]]")])]),s._v(" "),t("li",[t("strong",[s._v("说明")]),s._v(":"),t("br"),s._v("\n插件cd限制")])]),s._v(" "),t("div",{staticClass:"language-python line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-python"}},[t("code",[t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 以下为默认值")]),s._v("\n__plugin_cd_limit__ "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"cd"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("5")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 限制 cd 时长")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"check_type"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"all"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 'private'/'group'/'all',限制私聊/群聊/全部")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"limit_type"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"user"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 监听对象,以user_id或group_id作为键来限制,'user':用户id,'group':群id")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"rst"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token boolean"}},[s._v("None")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 回复的话,为None时不回复,可以添加[at],[uname],[nickname]来对应艾特,用户群名称,昵称系统昵称")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"status"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" true "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 此限制的开关状态")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 可以只添加需要的内容,其他选用默认值")]),s._v("\n__plugin_cd_limit__ "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"cd"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("10")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"rst"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"冷静点,别冲了!"')]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 甚至全部使用默认值")]),s._v("\n__plugin_cd_limit__ "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br"),t("span",{staticClass:"line-number"},[s._v("2")]),t("br"),t("span",{staticClass:"line-number"},[s._v("3")]),t("br"),t("span",{staticClass:"line-number"},[s._v("4")]),t("br"),t("span",{staticClass:"line-number"},[s._v("5")]),t("br"),t("span",{staticClass:"line-number"},[s._v("6")]),t("br"),t("span",{staticClass:"line-number"},[s._v("7")]),t("br"),t("span",{staticClass:"line-number"},[s._v("8")]),t("br"),t("span",{staticClass:"line-number"},[s._v("9")]),t("br"),t("span",{staticClass:"line-number"},[s._v("10")]),t("br"),t("span",{staticClass:"line-number"},[s._v("11")]),t("br"),t("span",{staticClass:"line-number"},[s._v("12")]),t("br"),t("span",{staticClass:"line-number"},[s._v("13")]),t("br"),t("span",{staticClass:"line-number"},[s._v("14")]),t("br"),t("span",{staticClass:"line-number"},[s._v("15")]),t("br"),t("span",{staticClass:"line-number"},[s._v("16")]),t("br")])]),t("h2",{attrs:{id:"plugin-block-limit"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#plugin-block-limit"}},[s._v("#")]),s._v(" __plugin_block_limit__")]),s._v(" "),t("ul",[t("li",[t("strong",[s._v("类型")]),s._v(":"),t("code",[s._v("Dict[str, Optional[str]]")])]),s._v(" "),t("li",[t("strong",[s._v("说明")]),s._v(":"),t("br"),s._v("\n插件阻塞限制")])]),s._v(" "),t("div",{staticClass:"language-python line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-python"}},[t("code",[t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 以下为默认值")]),s._v("\n__plugin_block_limit__ "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"check_type"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"all"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 'private'/'group'/'all',限制私聊/群聊/全部")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"limit_type"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"user"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 监听对象,以user_id或group_id作为键来限制,'user':用户id,'group':群id")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"rst"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token boolean"}},[s._v("None")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 回复的话,为None时不回复,可以添加[at],[uname],[nickname]来对应艾特,用户群名称,昵称系统昵称")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"status"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" true "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 此限制的开关状态")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 可以只添加需要的内容,其他选用默认值")]),s._v("\n__plugin_block_limit__ "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"rst"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"你正在冲!"')]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 甚至全部使用默认值")]),s._v("\n__plugin_block_limit__ "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br"),t("span",{staticClass:"line-number"},[s._v("2")]),t("br"),t("span",{staticClass:"line-number"},[s._v("3")]),t("br"),t("span",{staticClass:"line-number"},[s._v("4")]),t("br"),t("span",{staticClass:"line-number"},[s._v("5")]),t("br"),t("span",{staticClass:"line-number"},[s._v("6")]),t("br"),t("span",{staticClass:"line-number"},[s._v("7")]),t("br"),t("span",{staticClass:"line-number"},[s._v("8")]),t("br"),t("span",{staticClass:"line-number"},[s._v("9")]),t("br"),t("span",{staticClass:"line-number"},[s._v("10")]),t("br"),t("span",{staticClass:"line-number"},[s._v("11")]),t("br"),t("span",{staticClass:"line-number"},[s._v("12")]),t("br"),t("span",{staticClass:"line-number"},[s._v("13")]),t("br")])]),t("h2",{attrs:{id:"plugin-count-limit"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#plugin-count-limit"}},[s._v("#")]),s._v(" __plugin_count_limit__")]),s._v(" "),t("ul",[t("li",[t("strong",[s._v("类型")]),s._v(":"),t("code",[s._v("Dict[str, Optional[Union[int, str]]]")])]),s._v(" "),t("li",[t("strong",[s._v("说明")]),s._v(":"),t("br"),s._v("\n插件每日调用次数限制")])]),s._v(" "),t("div",{staticClass:"language-python line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-python"}},[t("code",[t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 以下为默认值")]),s._v("\n__plugin_count_limit__ "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"max_count"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("5")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 每日次数限制数量")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"limit_type"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"user"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 监听对象,以user_id或group_id作为键来限制,'user':用户id,'group':群id")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"rst"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token boolean"}},[s._v("None")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 回复的话,为None时不回复,可以添加[at],[uname],[nickname]来对应艾特,用户群名称,昵称系统昵称")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"status"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" true "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 此限制的开关状态")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 可以只添加需要的内容,其他选用默认值")]),s._v("\n__plugin_count_limit__ "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"max_count"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("10")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"rst"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"你今天没得冲了!"')]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 甚至全部使用默认值")]),s._v("\n__plugin_count_limit__ "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br"),t("span",{staticClass:"line-number"},[s._v("2")]),t("br"),t("span",{staticClass:"line-number"},[s._v("3")]),t("br"),t("span",{staticClass:"line-number"},[s._v("4")]),t("br"),t("span",{staticClass:"line-number"},[s._v("5")]),t("br"),t("span",{staticClass:"line-number"},[s._v("6")]),t("br"),t("span",{staticClass:"line-number"},[s._v("7")]),t("br"),t("span",{staticClass:"line-number"},[s._v("8")]),t("br"),t("span",{staticClass:"line-number"},[s._v("9")]),t("br"),t("span",{staticClass:"line-number"},[s._v("10")]),t("br"),t("span",{staticClass:"line-number"},[s._v("11")]),t("br"),t("span",{staticClass:"line-number"},[s._v("12")]),t("br"),t("span",{staticClass:"line-number"},[s._v("13")]),t("br"),t("span",{staticClass:"line-number"},[s._v("14")]),t("br")])]),t("h2",{attrs:{id:"plugin-resource"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#plugin-resource"}},[s._v("#")]),s._v(" __plugin_resource__")]),s._v(" "),t("ul",[t("li",[t("strong",[s._v("类型")]),s._v(":"),t("code",[s._v("Dict[Union[str, Path], Union[str, Path]]")])]),s._v(" "),t("li",[t("strong",[s._v("说明")]),s._v(":"),t("br"),s._v("\n将插件目录下资源移动要指定文件夹并记录保存,在插件删除后自动删除对应资源文件")])]),s._v(" "),t("div",{staticClass:"language-python line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-python"}},[t("code",[t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 提供示例")]),s._v("\n__plugin_resources__ "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"cases"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" IMAGE_PATH\n "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br"),t("span",{staticClass:"line-number"},[s._v("2")]),t("br"),t("span",{staticClass:"line-number"},[s._v("3")]),t("br"),t("span",{staticClass:"line-number"},[s._v("4")]),t("br")])]),t("h2",{attrs:{id:"plugin-configs"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#plugin-configs"}},[s._v("#")]),s._v(" __plugin_configs__")]),s._v(" "),t("ul",[t("li",[t("strong",[s._v("类型")]),s._v(":"),t("code",[s._v("Dict[str, Union[int, str, float, Dict[str, Union[int, str, float]]]]")])]),s._v(" "),t("li",[t("strong",[s._v("说明")]),s._v(":"),t("br"),s._v("\n插件配置项,用于生成统一的config.yaml文件供用户统一修改"),t("br"),s._v("\n其中 key 大小写不敏感,生成与返回会统一使用大写"),t("br"),s._v(" "),t("strong",[s._v("注")]),s._v(" "),t("ul",[t("li",[s._v("公用部分例如"),t("code",[s._v("hibiapi")]),s._v("等请直接添加和使用"),t("code",[s._v("hibiapi")]),s._v("配置组,包括"),t("code",[s._v("pixiv")]),s._v("等")]),s._v(" "),t("li",[s._v("公用部分可以新增和删除配置项")])])])]),s._v(" "),t("div",{staticClass:"language-python line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-python"}},[t("code",[t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 配置项(默认值)")]),s._v("\n__plugin_configs__ "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"key1"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"value"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" value"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 配置值")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"help"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token boolean"}},[s._v("None")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 配置项说明,为空时则不添加配置项说明注释")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"name"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token boolean"}},[s._v("None")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 插件名称说明,如果含有__zx_plugin_name__一般不需要设置")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"default_value"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token boolean"}},[s._v("None")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 当value值为空时返回的默认值 ")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"key2"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"key3"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" value"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 只设置value值,其他值为 None")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 增加一个配置项")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("############ 方式一 ############")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 不添加 help, name, default_value 等设置,仅仅设置 value ")]),s._v("\n__plugin_configs__ "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"key1"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" value"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"key2"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("9")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"key3"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"Hello 真寻"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 添加 help, name, default_value 等")]),s._v("\n__plugin_configs__ "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"key1"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"value"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("1")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"help"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"这是一个示例"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"default_value"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("10")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 是一个需要设置权限等级的插件,需要在key末尾添加 [LEVEL]")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 且 value 或 default_value 必须有值")]),s._v("\n__plugin_configs__ "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"key1 [LEVEL]"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"value"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("1")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"help: "')]),s._v('这是一个示例"'),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"default_value"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("10")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("########################")]),s._v("\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("############ 方式二 ############")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 常用于一个包下有多个插件,需要使用 nonebot.load_plugins加载时统一配置组和权限")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 从 configs.config 中 导入 Config")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("from")]),s._v(" configs"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("config "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("import")]),s._v(" Config\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 添加配置方法")]),s._v("\nConfig"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("add_plugin_config"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("\n module"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("str")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 模块名称(相当于自定义创建一个配置组),一般为插件模块名称")]),s._v("\n key"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("str")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 配置key")]),s._v("\n value"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" Optional"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("[")]),s._v("Any"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("]")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 值")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("*")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n name"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" Optional"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("[")]),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("str")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("]")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token boolean"}},[s._v("None")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 插件名称,相同 module 的 name 将会覆盖")]),s._v("\n help_"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" Optional"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("[")]),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("str")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("]")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token boolean"}},[s._v("None")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 配置项说明")]),s._v("\n default_value"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" Optional"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("[")]),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("str")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("]")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token boolean"}},[s._v("None")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 默认值")]),s._v("\n _override"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("bool")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token boolean"}},[s._v("False")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 是否覆盖,一般开发不使用,主要用于init_config时的读取问题")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 添加一个配置项, name, help_, default")]),s._v("\nConfig"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("add_plugin_config"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"module"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"key1"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("1")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n name"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"这是一个示例"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n help_"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"没错,还是示例"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n default_value"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("10")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 添加一个管理员插件等级配置项")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 使用 : 分割开,前是配置组名称,后是管理插件模块")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 且 key 末尾需要添加 [LEVEL],且 value 或 default_value 必须有值")]),s._v("\nConfig"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("add_plugin_config"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"module:admin_module"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"key1 [LEVEL]"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("1")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n name"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"这是一个示例"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n help_"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"默认是1级"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n default_value"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("10")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("########################")]),s._v("\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 获取配置")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 从 configs.config 中 导入 Config")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("from")]),s._v(" configs"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("config "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("import")]),s._v(" Config\n\ndata "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" Config"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("get_config"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"module"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"key"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("############ 完成示例 ############")]),s._v("\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 添加一个配置组,名称为 pix, 并为其添加一个配置项,名称为image_num,")]),s._v("\nConfig"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("add_plugin_config"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"pix"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"image_num"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("5")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n name"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"PIX图库操作"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n help_"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"每次访问图片返回的数量"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n default_value"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("5")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 获取数据,key 的大小写不敏感")]),s._v("\nimage_num "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" Config"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("get_config"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"pix"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"IMAGE_NUM"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n\n"),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("print")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token string-interpolation"}},[t("span",{pre:!0,attrs:{class:"token string"}},[s._v('f"图片数量: ')]),t("span",{pre:!0,attrs:{class:"token interpolation"}},[t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("image_num"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")])]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"')])]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("### out ###")]),s._v("\n图片数量"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("5")]),s._v("\n\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br"),t("span",{staticClass:"line-number"},[s._v("2")]),t("br"),t("span",{staticClass:"line-number"},[s._v("3")]),t("br"),t("span",{staticClass:"line-number"},[s._v("4")]),t("br"),t("span",{staticClass:"line-number"},[s._v("5")]),t("br"),t("span",{staticClass:"line-number"},[s._v("6")]),t("br"),t("span",{staticClass:"line-number"},[s._v("7")]),t("br"),t("span",{staticClass:"line-number"},[s._v("8")]),t("br"),t("span",{staticClass:"line-number"},[s._v("9")]),t("br"),t("span",{staticClass:"line-number"},[s._v("10")]),t("br"),t("span",{staticClass:"line-number"},[s._v("11")]),t("br"),t("span",{staticClass:"line-number"},[s._v("12")]),t("br"),t("span",{staticClass:"line-number"},[s._v("13")]),t("br"),t("span",{staticClass:"line-number"},[s._v("14")]),t("br"),t("span",{staticClass:"line-number"},[s._v("15")]),t("br"),t("span",{staticClass:"line-number"},[s._v("16")]),t("br"),t("span",{staticClass:"line-number"},[s._v("17")]),t("br"),t("span",{staticClass:"line-number"},[s._v("18")]),t("br"),t("span",{staticClass:"line-number"},[s._v("19")]),t("br"),t("span",{staticClass:"line-number"},[s._v("20")]),t("br"),t("span",{staticClass:"line-number"},[s._v("21")]),t("br"),t("span",{staticClass:"line-number"},[s._v("22")]),t("br"),t("span",{staticClass:"line-number"},[s._v("23")]),t("br"),t("span",{staticClass:"line-number"},[s._v("24")]),t("br"),t("span",{staticClass:"line-number"},[s._v("25")]),t("br"),t("span",{staticClass:"line-number"},[s._v("26")]),t("br"),t("span",{staticClass:"line-number"},[s._v("27")]),t("br"),t("span",{staticClass:"line-number"},[s._v("28")]),t("br"),t("span",{staticClass:"line-number"},[s._v("29")]),t("br"),t("span",{staticClass:"line-number"},[s._v("30")]),t("br"),t("span",{staticClass:"line-number"},[s._v("31")]),t("br"),t("span",{staticClass:"line-number"},[s._v("32")]),t("br"),t("span",{staticClass:"line-number"},[s._v("33")]),t("br"),t("span",{staticClass:"line-number"},[s._v("34")]),t("br"),t("span",{staticClass:"line-number"},[s._v("35")]),t("br"),t("span",{staticClass:"line-number"},[s._v("36")]),t("br"),t("span",{staticClass:"line-number"},[s._v("37")]),t("br"),t("span",{staticClass:"line-number"},[s._v("38")]),t("br"),t("span",{staticClass:"line-number"},[s._v("39")]),t("br"),t("span",{staticClass:"line-number"},[s._v("40")]),t("br"),t("span",{staticClass:"line-number"},[s._v("41")]),t("br"),t("span",{staticClass:"line-number"},[s._v("42")]),t("br"),t("span",{staticClass:"line-number"},[s._v("43")]),t("br"),t("span",{staticClass:"line-number"},[s._v("44")]),t("br"),t("span",{staticClass:"line-number"},[s._v("45")]),t("br"),t("span",{staticClass:"line-number"},[s._v("46")]),t("br"),t("span",{staticClass:"line-number"},[s._v("47")]),t("br"),t("span",{staticClass:"line-number"},[s._v("48")]),t("br"),t("span",{staticClass:"line-number"},[s._v("49")]),t("br"),t("span",{staticClass:"line-number"},[s._v("50")]),t("br"),t("span",{staticClass:"line-number"},[s._v("51")]),t("br"),t("span",{staticClass:"line-number"},[s._v("52")]),t("br"),t("span",{staticClass:"line-number"},[s._v("53")]),t("br"),t("span",{staticClass:"line-number"},[s._v("54")]),t("br"),t("span",{staticClass:"line-number"},[s._v("55")]),t("br"),t("span",{staticClass:"line-number"},[s._v("56")]),t("br"),t("span",{staticClass:"line-number"},[s._v("57")]),t("br"),t("span",{staticClass:"line-number"},[s._v("58")]),t("br"),t("span",{staticClass:"line-number"},[s._v("59")]),t("br"),t("span",{staticClass:"line-number"},[s._v("60")]),t("br"),t("span",{staticClass:"line-number"},[s._v("61")]),t("br"),t("span",{staticClass:"line-number"},[s._v("62")]),t("br"),t("span",{staticClass:"line-number"},[s._v("63")]),t("br"),t("span",{staticClass:"line-number"},[s._v("64")]),t("br"),t("span",{staticClass:"line-number"},[s._v("65")]),t("br"),t("span",{staticClass:"line-number"},[s._v("66")]),t("br"),t("span",{staticClass:"line-number"},[s._v("67")]),t("br"),t("span",{staticClass:"line-number"},[s._v("68")]),t("br"),t("span",{staticClass:"line-number"},[s._v("69")]),t("br"),t("span",{staticClass:"line-number"},[s._v("70")]),t("br"),t("span",{staticClass:"line-number"},[s._v("71")]),t("br"),t("span",{staticClass:"line-number"},[s._v("72")]),t("br"),t("span",{staticClass:"line-number"},[s._v("73")]),t("br"),t("span",{staticClass:"line-number"},[s._v("74")]),t("br"),t("span",{staticClass:"line-number"},[s._v("75")]),t("br"),t("span",{staticClass:"line-number"},[s._v("76")]),t("br"),t("span",{staticClass:"line-number"},[s._v("77")]),t("br"),t("span",{staticClass:"line-number"},[s._v("78")]),t("br"),t("span",{staticClass:"line-number"},[s._v("79")]),t("br"),t("span",{staticClass:"line-number"},[s._v("80")]),t("br"),t("span",{staticClass:"line-number"},[s._v("81")]),t("br"),t("span",{staticClass:"line-number"},[s._v("82")]),t("br"),t("span",{staticClass:"line-number"},[s._v("83")]),t("br"),t("span",{staticClass:"line-number"},[s._v("84")]),t("br"),t("span",{staticClass:"line-number"},[s._v("85")]),t("br"),t("span",{staticClass:"line-number"},[s._v("86")]),t("br"),t("span",{staticClass:"line-number"},[s._v("87")]),t("br"),t("span",{staticClass:"line-number"},[s._v("88")]),t("br"),t("span",{staticClass:"line-number"},[s._v("89")]),t("br"),t("span",{staticClass:"line-number"},[s._v("90")]),t("br"),t("span",{staticClass:"line-number"},[s._v("91")]),t("br"),t("span",{staticClass:"line-number"},[s._v("92")]),t("br"),t("span",{staticClass:"line-number"},[s._v("93")]),t("br"),t("span",{staticClass:"line-number"},[s._v("94")]),t("br"),t("span",{staticClass:"line-number"},[s._v("95")]),t("br"),t("span",{staticClass:"line-number"},[s._v("96")]),t("br"),t("span",{staticClass:"line-number"},[s._v("97")]),t("br"),t("span",{staticClass:"line-number"},[s._v("98")]),t("br"),t("span",{staticClass:"line-number"},[s._v("99")]),t("br"),t("span",{staticClass:"line-number"},[s._v("100")]),t("br"),t("span",{staticClass:"line-number"},[s._v("101")]),t("br"),t("span",{staticClass:"line-number"},[s._v("102")]),t("br"),t("span",{staticClass:"line-number"},[s._v("103")]),t("br"),t("span",{staticClass:"line-number"},[s._v("104")]),t("br"),t("span",{staticClass:"line-number"},[s._v("105")]),t("br"),t("span",{staticClass:"line-number"},[s._v("106")]),t("br"),t("span",{staticClass:"line-number"},[s._v("107")]),t("br"),t("span",{staticClass:"line-number"},[s._v("108")]),t("br")])])])}),[],!1,null,null,null);t.default=e.exports}}]); \ No newline at end of file diff --git a/assets/js/17.f29f3e31.js b/assets/js/17.f29f3e31.js deleted file mode 100644 index 999f0f51f..000000000 --- a/assets/js/17.f29f3e31.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[17],{618:function(s,t,n){"use strict";n.r(t);var a=n(12),e=Object(a.a)({},(function(){var s=this,t=s.$createElement,n=s._self._c||t;return n("ContentSlotsDistributor",{attrs:{"slot-key":s.$parent.slotKey}},[n("h2",{attrs:{id:"获取系统所有状态"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#获取系统所有状态"}},[s._v("#")]),s._v(" 获取系统所有状态")]),s._v(" "),n("ul",[n("li",[n("strong",[s._v("说明")])])]),s._v(" "),n("blockquote",[n("p",[s._v("获取系统所有状态")])]),s._v(" "),n("ul",[n("li",[n("strong",[s._v("请求方式")])])]),s._v(" "),n("blockquote",[n("p",[s._v("GET")])]),s._v(" "),n("ul",[n("li",[n("strong",[s._v("请求URL")])])]),s._v(" "),n("blockquote",[n("p",[s._v("/webui/system")])]),s._v(" "),n("ul",[n("li",[n("strong",[s._v("请求参数")])])]),s._v(" "),n("blockquote",[n("p",[s._v("None")])]),s._v(" "),n("ul",[n("li",[n("strong",[s._v("返回示例")])])]),s._v(" "),n("div",{staticClass:"language-python line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-python"}},[n("code",[n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"code"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[s._v("200")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"data"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"status"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"cpu"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[s._v("12")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"memory"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[s._v("70")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"disk"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[s._v("6")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"check_time"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"2022-06-05T17:20:16"')]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"network"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"baidu"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[s._v("200")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"google"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[s._v("200")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"disk"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"font_dir_size"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[s._v("133.74005889892578")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"image_dir_size"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[s._v("101.92905139923096")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"text_dir_size"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[s._v("5.104050636291504")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"record_dir_size"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[s._v("4.068230628967285")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"temp_dir_size"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[s._v("0")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"data_dir_size"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[s._v("2.0905447006225586")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"log_dir_size"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[s._v("50.793667793273926")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"check_time"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"2022-06-05T17:20:16"')]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"check_time"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"2022-06-05T17:20:16"')]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n")])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br"),n("span",{staticClass:"line-number"},[s._v("2")]),n("br"),n("span",{staticClass:"line-number"},[s._v("3")]),n("br"),n("span",{staticClass:"line-number"},[s._v("4")]),n("br"),n("span",{staticClass:"line-number"},[s._v("5")]),n("br"),n("span",{staticClass:"line-number"},[s._v("6")]),n("br"),n("span",{staticClass:"line-number"},[s._v("7")]),n("br"),n("span",{staticClass:"line-number"},[s._v("8")]),n("br"),n("span",{staticClass:"line-number"},[s._v("9")]),n("br"),n("span",{staticClass:"line-number"},[s._v("10")]),n("br"),n("span",{staticClass:"line-number"},[s._v("11")]),n("br"),n("span",{staticClass:"line-number"},[s._v("12")]),n("br"),n("span",{staticClass:"line-number"},[s._v("13")]),n("br"),n("span",{staticClass:"line-number"},[s._v("14")]),n("br"),n("span",{staticClass:"line-number"},[s._v("15")]),n("br"),n("span",{staticClass:"line-number"},[s._v("16")]),n("br"),n("span",{staticClass:"line-number"},[s._v("17")]),n("br"),n("span",{staticClass:"line-number"},[s._v("18")]),n("br"),n("span",{staticClass:"line-number"},[s._v("19")]),n("br"),n("span",{staticClass:"line-number"},[s._v("20")]),n("br"),n("span",{staticClass:"line-number"},[s._v("21")]),n("br"),n("span",{staticClass:"line-number"},[s._v("22")]),n("br"),n("span",{staticClass:"line-number"},[s._v("23")]),n("br"),n("span",{staticClass:"line-number"},[s._v("24")]),n("br"),n("span",{staticClass:"line-number"},[s._v("25")]),n("br"),n("span",{staticClass:"line-number"},[s._v("26")]),n("br")])]),n("h2",{attrs:{id:"获取系统状态"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#获取系统状态"}},[s._v("#")]),s._v(" 获取系统状态")]),s._v(" "),n("ul",[n("li",[n("strong",[s._v("说明")])])]),s._v(" "),n("blockquote",[n("p",[s._v("获取系统状态")])]),s._v(" "),n("ul",[n("li",[n("strong",[s._v("请求方式")])])]),s._v(" "),n("blockquote",[n("p",[s._v("GET")])]),s._v(" "),n("ul",[n("li",[n("strong",[s._v("请求URL")])])]),s._v(" "),n("blockquote",[n("p",[s._v("/webui/system/status")])]),s._v(" "),n("ul",[n("li",[n("strong",[s._v("请求参数")])])]),s._v(" "),n("blockquote",[n("p",[s._v("None")])]),s._v(" "),n("ul",[n("li",[n("strong",[s._v("返回示例")])])]),s._v(" "),n("div",{staticClass:"language-python line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-python"}},[n("code",[n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"code"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[s._v("200")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"data"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"cpu"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[s._v("24")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# CPU")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"memory"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[s._v("69")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 内存")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"disk"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[s._v("6")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 硬盘")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"check_time"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"2022-06-05T17:10:36"')]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n")])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br"),n("span",{staticClass:"line-number"},[s._v("2")]),n("br"),n("span",{staticClass:"line-number"},[s._v("3")]),n("br"),n("span",{staticClass:"line-number"},[s._v("4")]),n("br"),n("span",{staticClass:"line-number"},[s._v("5")]),n("br"),n("span",{staticClass:"line-number"},[s._v("6")]),n("br"),n("span",{staticClass:"line-number"},[s._v("7")]),n("br"),n("span",{staticClass:"line-number"},[s._v("8")]),n("br"),n("span",{staticClass:"line-number"},[s._v("9")]),n("br")])]),n("h2",{attrs:{id:"获取资源状态"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#获取资源状态"}},[s._v("#")]),s._v(" 获取资源状态")]),s._v(" "),n("ul",[n("li",[n("strong",[s._v("说明")])])]),s._v(" "),n("blockquote",[n("p",[s._v("获取资源状态")])]),s._v(" "),n("ul",[n("li",[n("strong",[s._v("请求方式")])])]),s._v(" "),n("blockquote",[n("p",[s._v("GET")])]),s._v(" "),n("ul",[n("li",[n("strong",[s._v("请求URL")])])]),s._v(" "),n("blockquote",[n("p",[s._v("/webui/system/status")])]),s._v(" "),n("ul",[n("li",[n("strong",[s._v("请求参数")])])]),s._v(" "),n("table",[n("thead",[n("tr",[n("th",{staticStyle:{"text-align":"center"}},[s._v("请求参数")]),s._v(" "),n("th",{staticStyle:{"text-align":"center"}},[s._v("必选")]),s._v(" "),n("th",{staticStyle:{"text-align":"center"}},[s._v("参数类型")]),s._v(" "),n("th",{staticStyle:{"text-align":"center"}},[s._v("说明")])])]),s._v(" "),n("tbody",[n("tr",[n("td",{staticStyle:{"text-align":"center"}},[s._v("type_")]),s._v(" "),n("td",{staticStyle:{"text-align":"center"}},[s._v("false")]),s._v(" "),n("td",{staticStyle:{"text-align":"center"}},[s._v("str")]),s._v(" "),n("td",{staticStyle:{"text-align":"center"}},[s._v("image: 图片资源"),n("br"),s._v("font: 字体资源"),n("br"),s._v("text: 文本资源"),n("br"),s._v("record: 音频资源"),n("br"),s._v("data: 数据文件"),n("br"),s._v("temp: 临时文件"),n("br"),s._v("log: 日志文件")])])])]),s._v(" "),n("ul",[n("li",[n("strong",[s._v("返回示例")])])]),s._v(" "),n("div",{staticClass:"language-python line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-python"}},[n("code",[n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"code"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[s._v("200")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"data"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"font_dir_size"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[s._v("133.74005889892578")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 字体资源")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"image_dir_size"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[s._v("101.93039226531982")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 图片资源")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"text_dir_size"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[s._v("5.104050636291504")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 文本资源")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"record_dir_size"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[s._v("4.068230628967285")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 音频资源")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"temp_dir_size"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[s._v("0")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 临时文件")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"data_dir_size"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[s._v("2.0905447006225586")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 数据文件")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"log_dir_size"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[s._v("50.7503080368042")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 日志文件")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"check_time"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"2022-06-05T17:12:17"')]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# type_=image")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"code"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[s._v("200")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"data"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"background"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[s._v("7.677274703979492")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"bilibili_sub"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[s._v("0")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"border"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[s._v("0")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"card"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[s._v("31.94981861114502")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"cases"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[s._v("20.799235343933105")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"dayouxi"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[s._v("0.24110698699951172")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"draw_card"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[s._v("0")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"genshin"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[s._v("30.648005485534668")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"image_management"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[s._v("0")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"luoxiang"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[s._v("0.17495346069335938")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"noresult"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[s._v("0.10628223419189453")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"other"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[s._v("0.3809242248535156")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"pa"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[s._v("3.7564477920532227")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"prts"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[s._v("2.9031734466552734")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"qxz"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[s._v("0.0879507064819336")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"sign"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[s._v("0.11782073974609375")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"wordcloud"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[s._v("0.7114677429199219")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"zai"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[s._v("0.46816253662109375")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"zhenxun"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[s._v("0.91046142578125")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"其他文件"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[s._v("0.9973068237304688")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"check_time"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"2022-06-05T17:15:42"')]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n")])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br"),n("span",{staticClass:"line-number"},[s._v("2")]),n("br"),n("span",{staticClass:"line-number"},[s._v("3")]),n("br"),n("span",{staticClass:"line-number"},[s._v("4")]),n("br"),n("span",{staticClass:"line-number"},[s._v("5")]),n("br"),n("span",{staticClass:"line-number"},[s._v("6")]),n("br"),n("span",{staticClass:"line-number"},[s._v("7")]),n("br"),n("span",{staticClass:"line-number"},[s._v("8")]),n("br"),n("span",{staticClass:"line-number"},[s._v("9")]),n("br"),n("span",{staticClass:"line-number"},[s._v("10")]),n("br"),n("span",{staticClass:"line-number"},[s._v("11")]),n("br"),n("span",{staticClass:"line-number"},[s._v("12")]),n("br"),n("span",{staticClass:"line-number"},[s._v("13")]),n("br"),n("span",{staticClass:"line-number"},[s._v("14")]),n("br"),n("span",{staticClass:"line-number"},[s._v("15")]),n("br"),n("span",{staticClass:"line-number"},[s._v("16")]),n("br"),n("span",{staticClass:"line-number"},[s._v("17")]),n("br"),n("span",{staticClass:"line-number"},[s._v("18")]),n("br"),n("span",{staticClass:"line-number"},[s._v("19")]),n("br"),n("span",{staticClass:"line-number"},[s._v("20")]),n("br"),n("span",{staticClass:"line-number"},[s._v("21")]),n("br"),n("span",{staticClass:"line-number"},[s._v("22")]),n("br"),n("span",{staticClass:"line-number"},[s._v("23")]),n("br"),n("span",{staticClass:"line-number"},[s._v("24")]),n("br"),n("span",{staticClass:"line-number"},[s._v("25")]),n("br"),n("span",{staticClass:"line-number"},[s._v("26")]),n("br"),n("span",{staticClass:"line-number"},[s._v("27")]),n("br"),n("span",{staticClass:"line-number"},[s._v("28")]),n("br"),n("span",{staticClass:"line-number"},[s._v("29")]),n("br"),n("span",{staticClass:"line-number"},[s._v("30")]),n("br"),n("span",{staticClass:"line-number"},[s._v("31")]),n("br"),n("span",{staticClass:"line-number"},[s._v("32")]),n("br"),n("span",{staticClass:"line-number"},[s._v("33")]),n("br"),n("span",{staticClass:"line-number"},[s._v("34")]),n("br"),n("span",{staticClass:"line-number"},[s._v("35")]),n("br"),n("span",{staticClass:"line-number"},[s._v("36")]),n("br"),n("span",{staticClass:"line-number"},[s._v("37")]),n("br"),n("span",{staticClass:"line-number"},[s._v("38")]),n("br"),n("span",{staticClass:"line-number"},[s._v("39")]),n("br"),n("span",{staticClass:"line-number"},[s._v("40")]),n("br"),n("span",{staticClass:"line-number"},[s._v("41")]),n("br")])])])}),[],!1,null,null,null);t.default=e.exports}}]); \ No newline at end of file diff --git a/assets/js/18.4aca870b.js b/assets/js/18.4aca870b.js new file mode 100644 index 000000000..6ed1b7f29 --- /dev/null +++ b/assets/js/18.4aca870b.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[18],{424:function(s,t,a){"use strict";a.r(t);var n=a(2),r=Object(n.a)({},(function(){var s=this,t=s._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":s.$parent.slotKey}},[t("h1",{attrs:{id:"添加商品和对应使用方法"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#添加商品和对应使用方法"}},[s._v("#")]),s._v(" 添加商品和对应使用方法")]),s._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"title"}),t("p",[s._v("在不修改shop插件代码的情况,添加商品和对应生效方法")])]),t("h2",{attrs:{id:"导入方法1-不推荐"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#导入方法1-不推荐"}},[s._v("#")]),s._v(" 导入方法1(不推荐)")]),s._v(" "),t("div",{staticClass:"language-python line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-python"}},[t("code",[s._v("\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 该导入方式可能由于插件加载顺序先后问题导致出错!!")]),s._v("\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# use 提供了一个方法")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# use.register_use(goods_name: str, **kwargs) : 注册插件使用方法")]),s._v("\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# shop提供了三个方法")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("#")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 注册商品")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# register_goods(")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# name: str, # 商品名称")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# price: int, # 商品价格")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# des: str, # 商品简介")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# discount: Optional[float] = 1, # 商品折扣")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# limit_time: Optional[int] = 0, # 商品限时")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# daily_limit: Optional[int] = 0, # 每日次数购买限制")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# is_passive: Optional[int] = 0, # 是否为被动道具(无法主动使用)")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# icon: Optional[int] = 0, # 图标,路径为 resources/shop_icon")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# **kwargs,")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# )")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 删除商品")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# delete_goods(name: str, id_: int)")]),s._v("\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 更新商品")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# update_goods(**kwargs)")]),s._v("\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 导入添加商品的(使用require)")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("from")]),s._v(" nonebot"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("plugin "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("import")]),s._v(" require\n\nuse "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" require"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"use"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\nshop "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" require"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"shop_handle"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n\n"),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("from")]),s._v(" basic_plugins"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("shop"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("use"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("data_source "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("import")]),s._v(" register_use"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" func_manager\n"),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("from")]),s._v(" basic_plugins"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("shop"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("shop_handle"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("data_source "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("import")]),s._v(" register_goods\n\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br"),t("span",{staticClass:"line-number"},[s._v("2")]),t("br"),t("span",{staticClass:"line-number"},[s._v("3")]),t("br"),t("span",{staticClass:"line-number"},[s._v("4")]),t("br"),t("span",{staticClass:"line-number"},[s._v("5")]),t("br"),t("span",{staticClass:"line-number"},[s._v("6")]),t("br"),t("span",{staticClass:"line-number"},[s._v("7")]),t("br"),t("span",{staticClass:"line-number"},[s._v("8")]),t("br"),t("span",{staticClass:"line-number"},[s._v("9")]),t("br"),t("span",{staticClass:"line-number"},[s._v("10")]),t("br"),t("span",{staticClass:"line-number"},[s._v("11")]),t("br"),t("span",{staticClass:"line-number"},[s._v("12")]),t("br"),t("span",{staticClass:"line-number"},[s._v("13")]),t("br"),t("span",{staticClass:"line-number"},[s._v("14")]),t("br"),t("span",{staticClass:"line-number"},[s._v("15")]),t("br"),t("span",{staticClass:"line-number"},[s._v("16")]),t("br"),t("span",{staticClass:"line-number"},[s._v("17")]),t("br"),t("span",{staticClass:"line-number"},[s._v("18")]),t("br"),t("span",{staticClass:"line-number"},[s._v("19")]),t("br"),t("span",{staticClass:"line-number"},[s._v("20")]),t("br"),t("span",{staticClass:"line-number"},[s._v("21")]),t("br"),t("span",{staticClass:"line-number"},[s._v("22")]),t("br"),t("span",{staticClass:"line-number"},[s._v("23")]),t("br"),t("span",{staticClass:"line-number"},[s._v("24")]),t("br"),t("span",{staticClass:"line-number"},[s._v("25")]),t("br"),t("span",{staticClass:"line-number"},[s._v("26")]),t("br"),t("span",{staticClass:"line-number"},[s._v("27")]),t("br"),t("span",{staticClass:"line-number"},[s._v("28")]),t("br"),t("span",{staticClass:"line-number"},[s._v("29")]),t("br"),t("span",{staticClass:"line-number"},[s._v("30")]),t("br"),t("span",{staticClass:"line-number"},[s._v("31")]),t("br"),t("span",{staticClass:"line-number"},[s._v("32")]),t("br"),t("span",{staticClass:"line-number"},[s._v("33")]),t("br"),t("span",{staticClass:"line-number"},[s._v("34")]),t("br"),t("span",{staticClass:"line-number"},[s._v("35")]),t("br")])]),t("h2",{attrs:{id:"导入方法2-推荐"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#导入方法2-推荐"}},[s._v("#")]),s._v(" 导入方法2(推荐)")]),s._v(" "),t("div",{staticClass:"language-python line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-python"}},[t("code",[s._v("\n"),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("from")]),s._v(" utils"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("decorator"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("shop "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("import")]),s._v(" shop_register\n\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br"),t("span",{staticClass:"line-number"},[s._v("2")]),t("br"),t("span",{staticClass:"line-number"},[s._v("3")]),t("br")])]),t("h2",{attrs:{id:"参数说明"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#参数说明"}},[s._v("#")]),s._v(" 参数说明")]),s._v(" "),t("div",{staticClass:"language-python line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-python"}},[t("code",[s._v("\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 注册道具方法(以下均为默认值)")]),s._v("\nregister_goods"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("\n name"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("str")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 商品名称")]),s._v("\n price"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("int")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 商品价格")]),s._v("\n des"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("str")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 商品简介")]),s._v("\n discount"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" Optional"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("[")]),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("float")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("]")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("1")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 商品折扣")]),s._v("\n limit_time"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" Optional"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("[")]),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("int")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("]")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("0")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 商品限时")]),s._v("\n daily_limit"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" Optional"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("[")]),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("int")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("]")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("0")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 每日次数购买限制")]),s._v("\n load_status"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("bool")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token boolean"}},[s._v("True")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 每日次数购买限制")]),s._v("\n is_passive"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("bool")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token boolean"}},[s._v("False")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 是否为被动道具(无法主动使用)")]),s._v("\n icon"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("str")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token boolean"}},[s._v("None")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 图标,路径为 resources/image/shop_icon")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("**")]),s._v("kwargs"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# kwargs中的特殊key(以下为默认值)")]),s._v("\nkwargs"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("[")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"max_num_limit"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("]")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("1")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 设置单次使用最大数量,默认为1")]),s._v("\nkwargs"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("[")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"send_success_msg"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("]")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token boolean"}},[s._v("True")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 是否发送基础的使用道具提示,默认提示")]),s._v("\n\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 例子")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 注册好感度加持卡")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("await")]),s._v(" register_goods"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"好感度双倍加持卡Ⅰ"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("30")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"下次签到双倍好感度概率 + 10%(谁才是真命天子?)(同类商品将覆盖)"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("**")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"prob"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("0.1")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 道具使用前函数(非必要,仅在需要时注册)")]),s._v("\nshop_register"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("before_handle"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("\n name"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" Union"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("[")]),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("str")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" Tuple"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("[")]),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("str")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("]")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("]")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 道具名称")]),s._v("\n load_status"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("bool")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token boolean"}},[s._v("True")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 加载状态")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 道具使用后函数(非必要,仅在需要时注册)")]),s._v("\nshop_register"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("after_handle"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("\n name"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" Union"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("[")]),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("str")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" Tuple"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("[")]),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("str")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("]")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("]")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 道具名称")]),s._v("\n load_status"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("bool")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token boolean"}},[s._v("True")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 加载状态")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 道具生效方法,使用前方法,使用后方法,参数的获取方法三种函数均相同")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 更推荐第二种和第三种方式")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 第一种")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("async")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("def")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token function"}},[s._v("sign_card")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("**")]),s._v("kwargs"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("\n goods_name "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" kwargs"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("get"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v("'goods_name'")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 所有方法中都会含有goods_name")]),s._v("\n user_id "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" kwargs"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("get"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v("'user_id'")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 所有方法中都会含有user_id")]),s._v("\n group_id "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" kwargs"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("get"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v("'group_id'")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 所有方法中都会含有group_id")]),s._v("\n bot "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" kwargs"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("get"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v("'_bot'")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 所有方法中都会含有bot")]),s._v("\n event "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" kwargs"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("get"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v("'event'")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 所有方法中都会含有event")]),s._v("\n num "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" kwargs"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("get"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v("'num'")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 所有方法中道具单次使用数量")]),s._v("\n text "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" kwargs"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("get"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v("'text'")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 所有方法中附带的纯文本信息")]),s._v("\n message "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" kwargs"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("get"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v("'message'")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# event.message(可以获取at,图片等) ")]),s._v("\n prob "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" kwargs"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("get"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v("'prob'")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# prob为自己定义传递的值")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 处理逻辑")]),s._v("\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 第二种")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("async")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("def")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token function"}},[s._v("sign_card")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("goods_name"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("str")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" user_id"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("int")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" group_id"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("int")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" num"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("int")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" bot"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" Bot"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" event"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" Event"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" text"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("str")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" message"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" Message"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" prob"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("float")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" \n "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("print")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token string-interpolation"}},[t("span",{pre:!0,attrs:{class:"token string"}},[s._v("f'")]),t("span",{pre:!0,attrs:{class:"token interpolation"}},[t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("user_id"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")])]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v("用了")]),t("span",{pre:!0,attrs:{class:"token interpolation"}},[t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("num"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")])]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v("个")]),t("span",{pre:!0,attrs:{class:"token interpolation"}},[t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("goods_name"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")])]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v("'")])]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 处理逻辑")]),s._v("\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 第三种")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("from")]),s._v(" utils"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("models "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("import")]),s._v(" ShopParam\n\n"),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("async")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("def")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token function"}},[s._v("sign_card")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("shop_param"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" ShopParam"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" \n goods_name "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" shop_param"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("goods_name\n user_id "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" shop_param"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("user_id\n group_id "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" shop_param"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("group_id\n bot "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" shop_param"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("bot\n event "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" shop_param"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("event\n num "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" shop_param"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("num\n text "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" shop_param"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("text\n message "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" shop_param"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("message\n prob "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" shop_param"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("prob "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# prob为自己定义传递的值")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 处理逻辑")]),s._v("\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 特别提醒!")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 道具使用前方法可以通过抛出异常来阻断使用并回复内容")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("from")]),s._v(" utils"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("decorator"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("shop "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("import")]),s._v(" NotMeetUseConditionsException\n\n"),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("async")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("def")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token function"}},[s._v("before_handle")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("user_id"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("int")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" \n "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("print")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token string-interpolation"}},[t("span",{pre:!0,attrs:{class:"token string"}},[s._v("f'")]),t("span",{pre:!0,attrs:{class:"token interpolation"}},[t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("user_id"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")])]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v("太笨了!不准使用道具!'")])]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("raise")]),s._v(" NotMeetUseConditionsException"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"小真寻嫌弃你!"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 消息内容 Union[str, MessageSegment, Message]")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 处理逻辑")]),s._v("\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br"),t("span",{staticClass:"line-number"},[s._v("2")]),t("br"),t("span",{staticClass:"line-number"},[s._v("3")]),t("br"),t("span",{staticClass:"line-number"},[s._v("4")]),t("br"),t("span",{staticClass:"line-number"},[s._v("5")]),t("br"),t("span",{staticClass:"line-number"},[s._v("6")]),t("br"),t("span",{staticClass:"line-number"},[s._v("7")]),t("br"),t("span",{staticClass:"line-number"},[s._v("8")]),t("br"),t("span",{staticClass:"line-number"},[s._v("9")]),t("br"),t("span",{staticClass:"line-number"},[s._v("10")]),t("br"),t("span",{staticClass:"line-number"},[s._v("11")]),t("br"),t("span",{staticClass:"line-number"},[s._v("12")]),t("br"),t("span",{staticClass:"line-number"},[s._v("13")]),t("br"),t("span",{staticClass:"line-number"},[s._v("14")]),t("br"),t("span",{staticClass:"line-number"},[s._v("15")]),t("br"),t("span",{staticClass:"line-number"},[s._v("16")]),t("br"),t("span",{staticClass:"line-number"},[s._v("17")]),t("br"),t("span",{staticClass:"line-number"},[s._v("18")]),t("br"),t("span",{staticClass:"line-number"},[s._v("19")]),t("br"),t("span",{staticClass:"line-number"},[s._v("20")]),t("br"),t("span",{staticClass:"line-number"},[s._v("21")]),t("br"),t("span",{staticClass:"line-number"},[s._v("22")]),t("br"),t("span",{staticClass:"line-number"},[s._v("23")]),t("br"),t("span",{staticClass:"line-number"},[s._v("24")]),t("br"),t("span",{staticClass:"line-number"},[s._v("25")]),t("br"),t("span",{staticClass:"line-number"},[s._v("26")]),t("br"),t("span",{staticClass:"line-number"},[s._v("27")]),t("br"),t("span",{staticClass:"line-number"},[s._v("28")]),t("br"),t("span",{staticClass:"line-number"},[s._v("29")]),t("br"),t("span",{staticClass:"line-number"},[s._v("30")]),t("br"),t("span",{staticClass:"line-number"},[s._v("31")]),t("br"),t("span",{staticClass:"line-number"},[s._v("32")]),t("br"),t("span",{staticClass:"line-number"},[s._v("33")]),t("br"),t("span",{staticClass:"line-number"},[s._v("34")]),t("br"),t("span",{staticClass:"line-number"},[s._v("35")]),t("br"),t("span",{staticClass:"line-number"},[s._v("36")]),t("br"),t("span",{staticClass:"line-number"},[s._v("37")]),t("br"),t("span",{staticClass:"line-number"},[s._v("38")]),t("br"),t("span",{staticClass:"line-number"},[s._v("39")]),t("br"),t("span",{staticClass:"line-number"},[s._v("40")]),t("br"),t("span",{staticClass:"line-number"},[s._v("41")]),t("br"),t("span",{staticClass:"line-number"},[s._v("42")]),t("br"),t("span",{staticClass:"line-number"},[s._v("43")]),t("br"),t("span",{staticClass:"line-number"},[s._v("44")]),t("br"),t("span",{staticClass:"line-number"},[s._v("45")]),t("br"),t("span",{staticClass:"line-number"},[s._v("46")]),t("br"),t("span",{staticClass:"line-number"},[s._v("47")]),t("br"),t("span",{staticClass:"line-number"},[s._v("48")]),t("br"),t("span",{staticClass:"line-number"},[s._v("49")]),t("br"),t("span",{staticClass:"line-number"},[s._v("50")]),t("br"),t("span",{staticClass:"line-number"},[s._v("51")]),t("br"),t("span",{staticClass:"line-number"},[s._v("52")]),t("br"),t("span",{staticClass:"line-number"},[s._v("53")]),t("br"),t("span",{staticClass:"line-number"},[s._v("54")]),t("br"),t("span",{staticClass:"line-number"},[s._v("55")]),t("br"),t("span",{staticClass:"line-number"},[s._v("56")]),t("br"),t("span",{staticClass:"line-number"},[s._v("57")]),t("br"),t("span",{staticClass:"line-number"},[s._v("58")]),t("br"),t("span",{staticClass:"line-number"},[s._v("59")]),t("br"),t("span",{staticClass:"line-number"},[s._v("60")]),t("br"),t("span",{staticClass:"line-number"},[s._v("61")]),t("br"),t("span",{staticClass:"line-number"},[s._v("62")]),t("br"),t("span",{staticClass:"line-number"},[s._v("63")]),t("br"),t("span",{staticClass:"line-number"},[s._v("64")]),t("br"),t("span",{staticClass:"line-number"},[s._v("65")]),t("br"),t("span",{staticClass:"line-number"},[s._v("66")]),t("br"),t("span",{staticClass:"line-number"},[s._v("67")]),t("br"),t("span",{staticClass:"line-number"},[s._v("68")]),t("br"),t("span",{staticClass:"line-number"},[s._v("69")]),t("br"),t("span",{staticClass:"line-number"},[s._v("70")]),t("br"),t("span",{staticClass:"line-number"},[s._v("71")]),t("br"),t("span",{staticClass:"line-number"},[s._v("72")]),t("br"),t("span",{staticClass:"line-number"},[s._v("73")]),t("br"),t("span",{staticClass:"line-number"},[s._v("74")]),t("br"),t("span",{staticClass:"line-number"},[s._v("75")]),t("br"),t("span",{staticClass:"line-number"},[s._v("76")]),t("br"),t("span",{staticClass:"line-number"},[s._v("77")]),t("br"),t("span",{staticClass:"line-number"},[s._v("78")]),t("br"),t("span",{staticClass:"line-number"},[s._v("79")]),t("br"),t("span",{staticClass:"line-number"},[s._v("80")]),t("br"),t("span",{staticClass:"line-number"},[s._v("81")]),t("br"),t("span",{staticClass:"line-number"},[s._v("82")]),t("br")])]),s._v(" "),t("h2",{attrs:{id:"注册商品和生效方法"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#注册商品和生效方法"}},[s._v("#")]),s._v(" 注册商品和生效方法")]),s._v(" "),t("p",[s._v("可以直接注册商品和对应使用函数以及道具使用前,使用后函数")]),s._v(" "),t("div",{staticClass:"language-python line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-python"}},[t("code",[s._v("\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 定义商品对应使用方法与方法一无异,含有三种形式,这里使用推荐的第二种形式")]),s._v("\n\n"),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("from")]),s._v(" utils"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("decorator"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("shop "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("import")]),s._v(" shop_register\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 注册单个商品")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token decorator annotation punctuation"}},[s._v("@shop_register")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("\n name"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"好感度双倍加持卡Ⅰ"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n price"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("30")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n des"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"下次签到双倍好感度概率 + 10%(谁才是真命天子?)(同类商品将覆盖)"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n load_status"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),t("span",{pre:!0,attrs:{class:"token boolean"}},[s._v("True")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 加载状态,控制是否导入该道具,默认值为 True")]),s._v("\n daily_limit"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("1")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 每日购买次数限制,默认值为 1")]),s._v("\n is_passive"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),t("span",{pre:!0,attrs:{class:"token boolean"}},[s._v("False")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 是否为被动道具,被动道具无法被主动使用,默认值为 False")]),s._v("\n icon"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"favorability_card_1.png"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 道具图标,路径在 resources/image/shop_icon 下,往该文件夹添加图片即可")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("**")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"prob"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("0.1")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# s")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("async")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("def")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token function"}},[s._v("sign_card")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("user_id"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("int")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" group_id"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("int")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" prob"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("float")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" \n "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("print")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token string-interpolation"}},[t("span",{pre:!0,attrs:{class:"token string"}},[s._v('f"')]),t("span",{pre:!0,attrs:{class:"token interpolation"}},[t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("user_id"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")])]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('的好感度加持卡生效咯..."')])]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 处理逻辑")]),s._v("\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 注册多个商品,即多个商品使用相同的处理函数")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 这时参数类型将由字符串转为元祖")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 每个商品拥有各自的数据")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v('# 自定义参数需要使用 {f"{name}_xxx": value} 的形式')]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token decorator annotation punctuation"}},[s._v("@shop_register")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("\n name"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"好感度双倍加持卡Ⅰ"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"好感度双倍加持卡Ⅱ"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"好感度双倍加持卡Ⅲ"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n price"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("30")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("150")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("250")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n des"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"下次签到双倍好感度概率 + 10%(谁才是真命天子?)(同类商品将覆盖)"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"下次签到双倍好感度概率 + 20%(平平庸庸)(同类商品将覆盖)"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"下次签到双倍好感度概率 + 30%(金币才是真命天子!)(同类商品将覆盖)"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n load_status"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v("Config"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("get_config"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"shop"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"IMPORT_DEFAULT_SHOP_GOODS"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n daily_limit"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("10")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("20")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("30")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 每日购买次数限制")]),s._v("\n is_passive"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token boolean"}},[s._v("True")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token boolean"}},[s._v("False")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token boolean"}},[s._v("True")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 第二个好感度卡为被动道具,无法主动使用")]),s._v("\n icon"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"favorability_card_1.png"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"favorability_card_2.png"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"favorability_card_3.png"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("**")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"好感度双倍加持卡Ⅰ_prob"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("0.1")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"好感度双倍加持卡Ⅱ_prob"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("0.2")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"好感度双倍加持卡Ⅲ_prob"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("0.3")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("async")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("def")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token function"}},[s._v("sign_card")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("user_id"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("int")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" group_id"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("int")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" prob"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("float")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("\n user "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("await")]),s._v(" SignGroupUser"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("ensure"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("user_id"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" group_id"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("await")]),s._v(" user"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("update"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("add_probability"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v("prob"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("apply")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 注册多个商品,共用价格,简介,加载状态,是否被动,图标等等")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 其中 价格(price),简介(des),加载状态(load_status) 可不为元祖")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token decorator annotation punctuation"}},[s._v("@shop_register")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("\n name"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"好感度双倍加持卡Ⅰ"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"好感度双倍加持卡Ⅱ"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"好感度双倍加持卡Ⅲ"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n price"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("30")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 等同于 (30, 30, 30)")]),s._v("\n des"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"下次签到双倍好感度概率 + 10%(谁才是真命天子?)(同类商品将覆盖)"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n load_status"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v("Config"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("get_config"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"shop"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"IMPORT_DEFAULT_SHOP_GOODS"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n is_passive"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),t("span",{pre:!0,attrs:{class:"token boolean"}},[s._v("True")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n icon"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"favorability_card_1.png"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("**")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"好感度双倍加持卡Ⅰ_prob"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("0.1")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"好感度双倍加持卡Ⅱ_prob"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("0.2")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"好感度双倍加持卡Ⅲ_prob"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("0.3")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("async")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("def")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token function"}},[s._v("sign_card")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("user_id"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("int")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" group_id"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("int")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" prob"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("float")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("\n user "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("await")]),s._v(" SignGroupUser"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("ensure"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("user_id"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" group_id"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("await")]),s._v(" user"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("update"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("add_probability"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v("prob"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("apply")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 道具使用前函数和使用后可以注册多个,会遍历执行,顺序为方法顺序,参数与生效方法参数一致可以通过参数名称获取")]),s._v("\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 道具使用前函数")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token decorator annotation punctuation"}},[s._v("@shop_register"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("before_handle")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("name"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"测试道具A"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("async")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("def")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token function"}},[s._v("_")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("user_id"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("int")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" group_id"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("int")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" goods_name"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("str")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("print")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token string-interpolation"}},[t("span",{pre:!0,attrs:{class:"token string"}},[s._v('f"有人要使用')]),t("span",{pre:!0,attrs:{class:"token interpolation"}},[t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("goods_name"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")])]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('道具咯,让我检查一下道具是否安全"')])]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("\n\n"),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("from")]),s._v(" utils"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("decorator"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("shop "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("import")]),s._v(" NotMeetUseConditionsException\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 道具使用前函数")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token decorator annotation punctuation"}},[s._v("@shop_register"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("before_handle")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("name"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"测试道具A"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("async")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("def")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token function"}},[s._v("_")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("user_id"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("int")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" goods_name"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("str")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("if")]),s._v(" goods_name "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("==")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v("'炸弹'")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("print")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token string-interpolation"}},[t("span",{pre:!0,attrs:{class:"token string"}},[s._v('f"坏了!是炸弹!别让他使用!"')])]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("raise")]),s._v(" NotMeetUseConditionsException"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"炸弹危险物品!不许用!"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 该消息将反馈给道具使用者")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 道具使用后函数")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token decorator annotation punctuation"}},[s._v("@shop_register"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("after_handle")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("name"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"测试道具A"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("async")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("def")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token function"}},[s._v("_")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("goods_name"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("str")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("print")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token string-interpolation"}},[t("span",{pre:!0,attrs:{class:"token string"}},[s._v("f'")]),t("span",{pre:!0,attrs:{class:"token interpolation"}},[t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("goods_name"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")])]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v("这个道具已经使用完成啦'")])]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 道具使用后函数")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token decorator annotation punctuation"}},[s._v("@shop_register"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("after_handle")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("name"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"测试道具A"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("async")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("def")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token function"}},[s._v("_")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("goods_name"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("str")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("print")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token string-interpolation"}},[t("span",{pre:!0,attrs:{class:"token string"}},[s._v("f'")]),t("span",{pre:!0,attrs:{class:"token interpolation"}},[t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("goods_name"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")])]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v("这个道具已经使用完成啦(再一次!)'")])]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br"),t("span",{staticClass:"line-number"},[s._v("2")]),t("br"),t("span",{staticClass:"line-number"},[s._v("3")]),t("br"),t("span",{staticClass:"line-number"},[s._v("4")]),t("br"),t("span",{staticClass:"line-number"},[s._v("5")]),t("br"),t("span",{staticClass:"line-number"},[s._v("6")]),t("br"),t("span",{staticClass:"line-number"},[s._v("7")]),t("br"),t("span",{staticClass:"line-number"},[s._v("8")]),t("br"),t("span",{staticClass:"line-number"},[s._v("9")]),t("br"),t("span",{staticClass:"line-number"},[s._v("10")]),t("br"),t("span",{staticClass:"line-number"},[s._v("11")]),t("br"),t("span",{staticClass:"line-number"},[s._v("12")]),t("br"),t("span",{staticClass:"line-number"},[s._v("13")]),t("br"),t("span",{staticClass:"line-number"},[s._v("14")]),t("br"),t("span",{staticClass:"line-number"},[s._v("15")]),t("br"),t("span",{staticClass:"line-number"},[s._v("16")]),t("br"),t("span",{staticClass:"line-number"},[s._v("17")]),t("br"),t("span",{staticClass:"line-number"},[s._v("18")]),t("br"),t("span",{staticClass:"line-number"},[s._v("19")]),t("br"),t("span",{staticClass:"line-number"},[s._v("20")]),t("br"),t("span",{staticClass:"line-number"},[s._v("21")]),t("br"),t("span",{staticClass:"line-number"},[s._v("22")]),t("br"),t("span",{staticClass:"line-number"},[s._v("23")]),t("br"),t("span",{staticClass:"line-number"},[s._v("24")]),t("br"),t("span",{staticClass:"line-number"},[s._v("25")]),t("br"),t("span",{staticClass:"line-number"},[s._v("26")]),t("br"),t("span",{staticClass:"line-number"},[s._v("27")]),t("br"),t("span",{staticClass:"line-number"},[s._v("28")]),t("br"),t("span",{staticClass:"line-number"},[s._v("29")]),t("br"),t("span",{staticClass:"line-number"},[s._v("30")]),t("br"),t("span",{staticClass:"line-number"},[s._v("31")]),t("br"),t("span",{staticClass:"line-number"},[s._v("32")]),t("br"),t("span",{staticClass:"line-number"},[s._v("33")]),t("br"),t("span",{staticClass:"line-number"},[s._v("34")]),t("br"),t("span",{staticClass:"line-number"},[s._v("35")]),t("br"),t("span",{staticClass:"line-number"},[s._v("36")]),t("br"),t("span",{staticClass:"line-number"},[s._v("37")]),t("br"),t("span",{staticClass:"line-number"},[s._v("38")]),t("br"),t("span",{staticClass:"line-number"},[s._v("39")]),t("br"),t("span",{staticClass:"line-number"},[s._v("40")]),t("br"),t("span",{staticClass:"line-number"},[s._v("41")]),t("br"),t("span",{staticClass:"line-number"},[s._v("42")]),t("br"),t("span",{staticClass:"line-number"},[s._v("43")]),t("br"),t("span",{staticClass:"line-number"},[s._v("44")]),t("br"),t("span",{staticClass:"line-number"},[s._v("45")]),t("br"),t("span",{staticClass:"line-number"},[s._v("46")]),t("br"),t("span",{staticClass:"line-number"},[s._v("47")]),t("br"),t("span",{staticClass:"line-number"},[s._v("48")]),t("br"),t("span",{staticClass:"line-number"},[s._v("49")]),t("br"),t("span",{staticClass:"line-number"},[s._v("50")]),t("br"),t("span",{staticClass:"line-number"},[s._v("51")]),t("br"),t("span",{staticClass:"line-number"},[s._v("52")]),t("br"),t("span",{staticClass:"line-number"},[s._v("53")]),t("br"),t("span",{staticClass:"line-number"},[s._v("54")]),t("br"),t("span",{staticClass:"line-number"},[s._v("55")]),t("br"),t("span",{staticClass:"line-number"},[s._v("56")]),t("br"),t("span",{staticClass:"line-number"},[s._v("57")]),t("br"),t("span",{staticClass:"line-number"},[s._v("58")]),t("br"),t("span",{staticClass:"line-number"},[s._v("59")]),t("br"),t("span",{staticClass:"line-number"},[s._v("60")]),t("br"),t("span",{staticClass:"line-number"},[s._v("61")]),t("br"),t("span",{staticClass:"line-number"},[s._v("62")]),t("br"),t("span",{staticClass:"line-number"},[s._v("63")]),t("br"),t("span",{staticClass:"line-number"},[s._v("64")]),t("br"),t("span",{staticClass:"line-number"},[s._v("65")]),t("br"),t("span",{staticClass:"line-number"},[s._v("66")]),t("br"),t("span",{staticClass:"line-number"},[s._v("67")]),t("br"),t("span",{staticClass:"line-number"},[s._v("68")]),t("br"),t("span",{staticClass:"line-number"},[s._v("69")]),t("br"),t("span",{staticClass:"line-number"},[s._v("70")]),t("br"),t("span",{staticClass:"line-number"},[s._v("71")]),t("br"),t("span",{staticClass:"line-number"},[s._v("72")]),t("br"),t("span",{staticClass:"line-number"},[s._v("73")]),t("br"),t("span",{staticClass:"line-number"},[s._v("74")]),t("br"),t("span",{staticClass:"line-number"},[s._v("75")]),t("br"),t("span",{staticClass:"line-number"},[s._v("76")]),t("br"),t("span",{staticClass:"line-number"},[s._v("77")]),t("br"),t("span",{staticClass:"line-number"},[s._v("78")]),t("br"),t("span",{staticClass:"line-number"},[s._v("79")]),t("br"),t("span",{staticClass:"line-number"},[s._v("80")]),t("br"),t("span",{staticClass:"line-number"},[s._v("81")]),t("br"),t("span",{staticClass:"line-number"},[s._v("82")]),t("br"),t("span",{staticClass:"line-number"},[s._v("83")]),t("br"),t("span",{staticClass:"line-number"},[s._v("84")]),t("br"),t("span",{staticClass:"line-number"},[s._v("85")]),t("br")])]),t("h2",{attrs:{id:"完整代码-方式一-看看参数就好了-不推荐啦"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#完整代码-方式一-看看参数就好了-不推荐啦"}},[s._v("#")]),s._v(" 完整代码(方式一,看看参数就好了,不推荐啦)")]),s._v(" "),t("div",{staticClass:"language-python line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-python"}},[t("code",[s._v("\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("######################################")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("## 示例:在Bot启动时导入商品和对应方法 ##")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("#####################################")]),s._v("\n\n"),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("from")]),s._v(" nonebot "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("import")]),s._v(" Driver\n"),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("from")]),s._v(" nonebot"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("plugin "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("import")]),s._v(" require\n\ndriver"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" Driver "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" nonebot"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("get_driver"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n\n\nuse "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" require"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"use"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\nshop "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" require"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"shop_handle"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n\n"),t("span",{pre:!0,attrs:{class:"token decorator annotation punctuation"}},[s._v("@driver"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("on_startup")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("async")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("def")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token function"}},[s._v("_")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 生效方法 方式一")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("async")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("def")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token function"}},[s._v("sign_card")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("**")]),s._v("kwargs"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("\n goods_name "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" kwargs"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("[")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v("'goods_name'")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("]")]),s._v("\n user_id "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" kwargs"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("[")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v("'user_id'")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("]")]),s._v("\n group_id "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" kwargs"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("[")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v("'group_id'")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("]")]),s._v("\n prob "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" kwargs"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("[")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v("'prob'")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("]")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("print")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token string-interpolation"}},[t("span",{pre:!0,attrs:{class:"token string"}},[s._v('f"USER ')]),t("span",{pre:!0,attrs:{class:"token interpolation"}},[t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("user_id"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")])]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v(" GROUP ")]),t("span",{pre:!0,attrs:{class:"token interpolation"}},[t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("group_id"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")])]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v(" 这个道具:")]),t("span",{pre:!0,attrs:{class:"token interpolation"}},[t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("goods_name"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")])]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v("使用成功了:")]),t("span",{pre:!0,attrs:{class:"token interpolation"}},[t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("prob"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")])]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"')])]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# do something....")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 使用 bot 进行发送消息")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# bot = kwargs.get('_bot')")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v('# await bot.send_group_msg(group_id=group_id, message="这个道具生效了!")')]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("return")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"这个道具生效了!"')]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 返回值将作为提示内容输出,也可以返回None,在sign_card中使用bot发送消息")]),s._v("\n\n "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 生效方法 方式二")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("async")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("def")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token function"}},[s._v("sign_card")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("goods_name"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("str")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" user_id"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("int")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" group_id"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("int")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" prob"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("float")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("print")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token string-interpolation"}},[t("span",{pre:!0,attrs:{class:"token string"}},[s._v('f"USER ')]),t("span",{pre:!0,attrs:{class:"token interpolation"}},[t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("user_id"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")])]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v(" GROUP ")]),t("span",{pre:!0,attrs:{class:"token interpolation"}},[t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("group_id"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")])]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v(" 这个道具:")]),t("span",{pre:!0,attrs:{class:"token interpolation"}},[t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("goods_name"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")])]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v("使用成功了:")]),t("span",{pre:!0,attrs:{class:"token interpolation"}},[t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("prob"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")])]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"')])]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# do something....")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("return")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"这个道具生效了!"')]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 返回值将作为提示内容输出,也可以返回None,在sign_card中使用bot发送消息")]),s._v("\n\n "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 生效方法 方式三")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("from")]),s._v(" utils"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("models "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("import")]),s._v(" ShopParam\n "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("async")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("def")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token function"}},[s._v("sign_card")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("shop_param"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" ShopParam"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("\n goods_name "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" shop_param"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("goods_name\n user_id "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" shop_param"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("user_id\n group_id "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" shop_param"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("group_id\n prob "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" shop_param"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("prob\n "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("print")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token string-interpolation"}},[t("span",{pre:!0,attrs:{class:"token string"}},[s._v('f"USER ')]),t("span",{pre:!0,attrs:{class:"token interpolation"}},[t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("user_id"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")])]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v(" GROUP ")]),t("span",{pre:!0,attrs:{class:"token interpolation"}},[t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("group_id"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")])]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v(" 这个道具:")]),t("span",{pre:!0,attrs:{class:"token interpolation"}},[t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("goods_name"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")])]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v("使用成功了:")]),t("span",{pre:!0,attrs:{class:"token interpolation"}},[t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("prob"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")])]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"')])]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# do something....")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("return")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"这个道具生效了!"')]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 返回值将作为提示内容输出,也可以返回None,在sign_card中使用bot发送消息")]),s._v("\n \n\n "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 在数据库中注册商品数据")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("await")]),s._v(" shop"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("register_goods"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"好感度双倍加持卡Ⅰ"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("30")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"下次签到双倍好感度概率 + 10%(谁才是真命天子?)(同类商品将覆盖)"')]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n\n "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 注册商品生效方法")]),s._v("\n use"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("register_use"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"好感度双倍加持卡Ⅰ"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" sign_card"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("**")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"max_num_limit"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("10")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 设置单次使用最大数量")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"send_success_msg"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token boolean"}},[s._v("False")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 不发送基础的使用道具提示")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"prob"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("0.1")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 自己传递的值,在函数中需要使用到")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br"),t("span",{staticClass:"line-number"},[s._v("2")]),t("br"),t("span",{staticClass:"line-number"},[s._v("3")]),t("br"),t("span",{staticClass:"line-number"},[s._v("4")]),t("br"),t("span",{staticClass:"line-number"},[s._v("5")]),t("br"),t("span",{staticClass:"line-number"},[s._v("6")]),t("br"),t("span",{staticClass:"line-number"},[s._v("7")]),t("br"),t("span",{staticClass:"line-number"},[s._v("8")]),t("br"),t("span",{staticClass:"line-number"},[s._v("9")]),t("br"),t("span",{staticClass:"line-number"},[s._v("10")]),t("br"),t("span",{staticClass:"line-number"},[s._v("11")]),t("br"),t("span",{staticClass:"line-number"},[s._v("12")]),t("br"),t("span",{staticClass:"line-number"},[s._v("13")]),t("br"),t("span",{staticClass:"line-number"},[s._v("14")]),t("br"),t("span",{staticClass:"line-number"},[s._v("15")]),t("br"),t("span",{staticClass:"line-number"},[s._v("16")]),t("br"),t("span",{staticClass:"line-number"},[s._v("17")]),t("br"),t("span",{staticClass:"line-number"},[s._v("18")]),t("br"),t("span",{staticClass:"line-number"},[s._v("19")]),t("br"),t("span",{staticClass:"line-number"},[s._v("20")]),t("br"),t("span",{staticClass:"line-number"},[s._v("21")]),t("br"),t("span",{staticClass:"line-number"},[s._v("22")]),t("br"),t("span",{staticClass:"line-number"},[s._v("23")]),t("br"),t("span",{staticClass:"line-number"},[s._v("24")]),t("br"),t("span",{staticClass:"line-number"},[s._v("25")]),t("br"),t("span",{staticClass:"line-number"},[s._v("26")]),t("br"),t("span",{staticClass:"line-number"},[s._v("27")]),t("br"),t("span",{staticClass:"line-number"},[s._v("28")]),t("br"),t("span",{staticClass:"line-number"},[s._v("29")]),t("br"),t("span",{staticClass:"line-number"},[s._v("30")]),t("br"),t("span",{staticClass:"line-number"},[s._v("31")]),t("br"),t("span",{staticClass:"line-number"},[s._v("32")]),t("br"),t("span",{staticClass:"line-number"},[s._v("33")]),t("br"),t("span",{staticClass:"line-number"},[s._v("34")]),t("br"),t("span",{staticClass:"line-number"},[s._v("35")]),t("br"),t("span",{staticClass:"line-number"},[s._v("36")]),t("br"),t("span",{staticClass:"line-number"},[s._v("37")]),t("br"),t("span",{staticClass:"line-number"},[s._v("38")]),t("br"),t("span",{staticClass:"line-number"},[s._v("39")]),t("br"),t("span",{staticClass:"line-number"},[s._v("40")]),t("br"),t("span",{staticClass:"line-number"},[s._v("41")]),t("br"),t("span",{staticClass:"line-number"},[s._v("42")]),t("br"),t("span",{staticClass:"line-number"},[s._v("43")]),t("br"),t("span",{staticClass:"line-number"},[s._v("44")]),t("br"),t("span",{staticClass:"line-number"},[s._v("45")]),t("br"),t("span",{staticClass:"line-number"},[s._v("46")]),t("br"),t("span",{staticClass:"line-number"},[s._v("47")]),t("br"),t("span",{staticClass:"line-number"},[s._v("48")]),t("br"),t("span",{staticClass:"line-number"},[s._v("49")]),t("br"),t("span",{staticClass:"line-number"},[s._v("50")]),t("br"),t("span",{staticClass:"line-number"},[s._v("51")]),t("br"),t("span",{staticClass:"line-number"},[s._v("52")]),t("br"),t("span",{staticClass:"line-number"},[s._v("53")]),t("br"),t("span",{staticClass:"line-number"},[s._v("54")]),t("br"),t("span",{staticClass:"line-number"},[s._v("55")]),t("br"),t("span",{staticClass:"line-number"},[s._v("56")]),t("br"),t("span",{staticClass:"line-number"},[s._v("57")]),t("br"),t("span",{staticClass:"line-number"},[s._v("58")]),t("br")])]),t("h2",{attrs:{id:"完整代码-方式二-nice推荐"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#完整代码-方式二-nice推荐"}},[s._v("#")]),s._v(" 完整代码(方式二,NICE推荐)")]),s._v(" "),t("div",{staticClass:"language-python line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-python"}},[t("code",[t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("from")]),s._v(" nonebot "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("import")]),s._v(" Driver\n"),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("from")]),s._v(" utils"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("decorator"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("shop "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("import")]),s._v(" shop_register"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" NotMeetUseConditionsException\ndriver"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" Driver "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" nonebot"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("get_driver"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n\n\n"),t("span",{pre:!0,attrs:{class:"token decorator annotation punctuation"}},[s._v("@driver"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("on_startup")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("async")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("def")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token function"}},[s._v("_")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("\n\n "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 注册单个")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token decorator annotation punctuation"}},[s._v("@shop_register")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("\n name"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"好感度双倍加持卡Ⅰ"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n price"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("30")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n des"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"下次签到双倍好感度概率 + 10%(谁才是真命天子?)(同类商品将覆盖)"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n load_status"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),t("span",{pre:!0,attrs:{class:"token boolean"}},[s._v("True")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n daily_limit"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("100")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n icon"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"favorability_card_1.png"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("**")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"prob"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("0.1")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("async")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("def")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token function"}},[s._v("sign_card")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("goods_name"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("str")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" user_id"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("int")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" group_id"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("int")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" prob"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("float")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("print")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token string-interpolation"}},[t("span",{pre:!0,attrs:{class:"token string"}},[s._v('f"USER ')]),t("span",{pre:!0,attrs:{class:"token interpolation"}},[t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("user_id"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")])]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v(" GROUP ")]),t("span",{pre:!0,attrs:{class:"token interpolation"}},[t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("group_id"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")])]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v(" 这个道具:")]),t("span",{pre:!0,attrs:{class:"token interpolation"}},[t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("goods_name"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")])]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v("使用成功了:")]),t("span",{pre:!0,attrs:{class:"token interpolation"}},[t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("prob"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")])]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"')])]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# do something....")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("return")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"这个道具生效了!"')]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 返回值将作为提示内容输出,也可以返回None,在sign_card中使用bot发送消息")]),s._v("\n\n "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 道具使用前,使用后方法仅在需要时注册")]),s._v("\n\n "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 注册道具使用前函数")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token decorator annotation punctuation"}},[s._v("@shop_register"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("before_handle")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("name"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"好感度双倍加持卡Ⅰ"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("async")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("def")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token function"}},[s._v("_")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("user_id"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("int")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" group_id"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("int")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" goods_name"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("str")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("print")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"在使用之前,让我给你的道具检查一下发育健不健康"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("\n\n "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 注册道具使用前函数")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token decorator annotation punctuation"}},[s._v("@shop_register"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("before_handle")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("name"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"好感度双倍加持卡Ⅰ"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("async")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("def")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token function"}},[s._v("_")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("user_id"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("int")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" group_id"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("int")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" goods_name"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("str")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("\n user "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("await")]),s._v(" SignGroupUser"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("ensure"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("user_id"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" group_id"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("if")]),s._v(" user"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("impression "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("<")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("100")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("raise")]),s._v(" NotMeetUseConditionsException"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"你的好感度小于100,不准你使用好感度加持卡"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("await")]),s._v(" user"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("update"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("add_probability"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v("prob"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("apply")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n\n "),t("span",{pre:!0,attrs:{class:"token decorator annotation punctuation"}},[s._v("@shop_register"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("after_handle")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("name"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"测试道具A"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("async")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("def")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token function"}},[s._v("_")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("print")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"用完了,味道不错"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("\n\n\n "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 注册多个")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token decorator annotation punctuation"}},[s._v("@shop_register")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("\n name"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"好人卡"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"坏人卡"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n price"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("30")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("10")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n des"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"这是好人卡"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"这是坏人卡"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n load_status"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token boolean"}},[s._v("True")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token boolean"}},[s._v("False")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n daily_limit"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("10")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("20")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("**")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"好人卡_prob"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("0.1")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"坏人卡_prob"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("0.2")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("async")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("def")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token function"}},[s._v("sign_card")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("goods_name"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("str")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" user_id"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("int")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" group_id"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("int")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" prob"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("float")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("print")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token string-interpolation"}},[t("span",{pre:!0,attrs:{class:"token string"}},[s._v('f"USER ')]),t("span",{pre:!0,attrs:{class:"token interpolation"}},[t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("user_id"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")])]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v(" GROUP ")]),t("span",{pre:!0,attrs:{class:"token interpolation"}},[t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("group_id"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")])]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v(" 这个道具:")]),t("span",{pre:!0,attrs:{class:"token interpolation"}},[t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("goods_name"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")])]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v("使用成功了:")]),t("span",{pre:!0,attrs:{class:"token interpolation"}},[t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("prob"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")])]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"')])]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# do something....")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("return")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"这个道具生效了!"')]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 返回值将作为提示内容输出,也可以返回None,在sign_card中使用bot发送消息")]),s._v("\n \n "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 一个道具使用前函数和使用后可以注册给多个商品")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 注册道具使用前函数")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token decorator annotation punctuation"}},[s._v("@shop_register"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("before_handle")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("name"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"好人卡"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"坏人卡"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("async")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("def")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token function"}},[s._v("_")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("user_id"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("int")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" group_id"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("int")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" goods_name"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("str")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("if")]),s._v(" goods_name "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("==")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v("'好人卡'")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("print")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v("'滴,检测到好人卡'")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("if")]),s._v(" goods_name "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("==")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v("'坏人卡'")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("print")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v("'滴,检测到坏人卡'")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("\n\n "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 注册道具使用前函数")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token decorator annotation punctuation"}},[s._v("@shop_register"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("before_handle")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("name"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"好人卡"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"坏人卡"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("async")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("def")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token function"}},[s._v("_")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("user_id"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("int")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" group_id"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("int")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" goods_name"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("str")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("if")]),s._v(" goods_name "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("==")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v("'坏人卡'")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("raise")]),s._v(" NotMeetUseConditionsException"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"你是坏人,抓起来"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n\n "),t("span",{pre:!0,attrs:{class:"token decorator annotation punctuation"}},[s._v("@shop_register"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("after_handle")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("name"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"测试道具A"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("async")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("def")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token function"}},[s._v("_")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("goods_name"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("str")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("if")]),s._v(" goods_name "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("==")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v("'好人卡'")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("print")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v("'好人再见'")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("\n\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br"),t("span",{staticClass:"line-number"},[s._v("2")]),t("br"),t("span",{staticClass:"line-number"},[s._v("3")]),t("br"),t("span",{staticClass:"line-number"},[s._v("4")]),t("br"),t("span",{staticClass:"line-number"},[s._v("5")]),t("br"),t("span",{staticClass:"line-number"},[s._v("6")]),t("br"),t("span",{staticClass:"line-number"},[s._v("7")]),t("br"),t("span",{staticClass:"line-number"},[s._v("8")]),t("br"),t("span",{staticClass:"line-number"},[s._v("9")]),t("br"),t("span",{staticClass:"line-number"},[s._v("10")]),t("br"),t("span",{staticClass:"line-number"},[s._v("11")]),t("br"),t("span",{staticClass:"line-number"},[s._v("12")]),t("br"),t("span",{staticClass:"line-number"},[s._v("13")]),t("br"),t("span",{staticClass:"line-number"},[s._v("14")]),t("br"),t("span",{staticClass:"line-number"},[s._v("15")]),t("br"),t("span",{staticClass:"line-number"},[s._v("16")]),t("br"),t("span",{staticClass:"line-number"},[s._v("17")]),t("br"),t("span",{staticClass:"line-number"},[s._v("18")]),t("br"),t("span",{staticClass:"line-number"},[s._v("19")]),t("br"),t("span",{staticClass:"line-number"},[s._v("20")]),t("br"),t("span",{staticClass:"line-number"},[s._v("21")]),t("br"),t("span",{staticClass:"line-number"},[s._v("22")]),t("br"),t("span",{staticClass:"line-number"},[s._v("23")]),t("br"),t("span",{staticClass:"line-number"},[s._v("24")]),t("br"),t("span",{staticClass:"line-number"},[s._v("25")]),t("br"),t("span",{staticClass:"line-number"},[s._v("26")]),t("br"),t("span",{staticClass:"line-number"},[s._v("27")]),t("br"),t("span",{staticClass:"line-number"},[s._v("28")]),t("br"),t("span",{staticClass:"line-number"},[s._v("29")]),t("br"),t("span",{staticClass:"line-number"},[s._v("30")]),t("br"),t("span",{staticClass:"line-number"},[s._v("31")]),t("br"),t("span",{staticClass:"line-number"},[s._v("32")]),t("br"),t("span",{staticClass:"line-number"},[s._v("33")]),t("br"),t("span",{staticClass:"line-number"},[s._v("34")]),t("br"),t("span",{staticClass:"line-number"},[s._v("35")]),t("br"),t("span",{staticClass:"line-number"},[s._v("36")]),t("br"),t("span",{staticClass:"line-number"},[s._v("37")]),t("br"),t("span",{staticClass:"line-number"},[s._v("38")]),t("br"),t("span",{staticClass:"line-number"},[s._v("39")]),t("br"),t("span",{staticClass:"line-number"},[s._v("40")]),t("br"),t("span",{staticClass:"line-number"},[s._v("41")]),t("br"),t("span",{staticClass:"line-number"},[s._v("42")]),t("br"),t("span",{staticClass:"line-number"},[s._v("43")]),t("br"),t("span",{staticClass:"line-number"},[s._v("44")]),t("br"),t("span",{staticClass:"line-number"},[s._v("45")]),t("br"),t("span",{staticClass:"line-number"},[s._v("46")]),t("br"),t("span",{staticClass:"line-number"},[s._v("47")]),t("br"),t("span",{staticClass:"line-number"},[s._v("48")]),t("br"),t("span",{staticClass:"line-number"},[s._v("49")]),t("br"),t("span",{staticClass:"line-number"},[s._v("50")]),t("br"),t("span",{staticClass:"line-number"},[s._v("51")]),t("br"),t("span",{staticClass:"line-number"},[s._v("52")]),t("br"),t("span",{staticClass:"line-number"},[s._v("53")]),t("br"),t("span",{staticClass:"line-number"},[s._v("54")]),t("br"),t("span",{staticClass:"line-number"},[s._v("55")]),t("br"),t("span",{staticClass:"line-number"},[s._v("56")]),t("br"),t("span",{staticClass:"line-number"},[s._v("57")]),t("br"),t("span",{staticClass:"line-number"},[s._v("58")]),t("br"),t("span",{staticClass:"line-number"},[s._v("59")]),t("br"),t("span",{staticClass:"line-number"},[s._v("60")]),t("br"),t("span",{staticClass:"line-number"},[s._v("61")]),t("br"),t("span",{staticClass:"line-number"},[s._v("62")]),t("br"),t("span",{staticClass:"line-number"},[s._v("63")]),t("br"),t("span",{staticClass:"line-number"},[s._v("64")]),t("br"),t("span",{staticClass:"line-number"},[s._v("65")]),t("br"),t("span",{staticClass:"line-number"},[s._v("66")]),t("br"),t("span",{staticClass:"line-number"},[s._v("67")]),t("br"),t("span",{staticClass:"line-number"},[s._v("68")]),t("br"),t("span",{staticClass:"line-number"},[s._v("69")]),t("br"),t("span",{staticClass:"line-number"},[s._v("70")]),t("br"),t("span",{staticClass:"line-number"},[s._v("71")]),t("br"),t("span",{staticClass:"line-number"},[s._v("72")]),t("br"),t("span",{staticClass:"line-number"},[s._v("73")]),t("br"),t("span",{staticClass:"line-number"},[s._v("74")]),t("br"),t("span",{staticClass:"line-number"},[s._v("75")]),t("br"),t("span",{staticClass:"line-number"},[s._v("76")]),t("br"),t("span",{staticClass:"line-number"},[s._v("77")]),t("br"),t("span",{staticClass:"line-number"},[s._v("78")]),t("br"),t("span",{staticClass:"line-number"},[s._v("79")]),t("br"),t("span",{staticClass:"line-number"},[s._v("80")]),t("br"),t("span",{staticClass:"line-number"},[s._v("81")]),t("br")])])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/18.e818a6ac.js b/assets/js/18.e818a6ac.js deleted file mode 100644 index 2631d7e8e..000000000 --- a/assets/js/18.e818a6ac.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[18],{615:function(t,e,n){"use strict";n.r(e);var s=n(12),l=Object(s.a)({},(function(){var t=this.$createElement;return(this._self._c||t)("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}})}),[],!1,null,null,null);e.default=l.exports}}]); \ No newline at end of file diff --git a/assets/js/19.45b73dcb.js b/assets/js/19.45b73dcb.js deleted file mode 100644 index 76f15d495..000000000 --- a/assets/js/19.45b73dcb.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[19],{616:function(s,t,n){"use strict";n.r(t);var a=n(12),e=Object(a.a)({},(function(){var s=this,t=s.$createElement,n=s._self._c||t;return n("ContentSlotsDistributor",{attrs:{"slot-key":s.$parent.slotKey}},[n("h1",{attrs:{id:"真寻bot插件基本标准"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#真寻bot插件基本标准"}},[s._v("#")]),s._v(" 真寻Bot插件基本标准")]),s._v(" "),n("h2",{attrs:{id:"简介"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#简介"}},[s._v("#")]),s._v(" 简介")]),s._v(" "),n("ul",[n("li",[n("p",[s._v("统一插件标准的好处:")]),s._v(" "),n("ul",[n("li",[s._v("自动生成帮助")]),s._v(" "),n("li",[s._v("自动生成配置项")]),s._v(" "),n("li",[s._v("自动生成插件开关")]),s._v(" "),n("li",[s._v("避免了修改插件单独配置文件的麻烦")]),s._v(" "),n("li",[s._v("没有重写matcher,利于增删额外插件")])])]),s._v(" "),n("li",[n("p",[s._v("普通插件 应该包含:")]),s._v(" "),n("ul",[n("li",[n("code",[s._v("__zx_plugin_name__")]),s._v(":插件名")]),s._v(" "),n("li",[n("code",[s._v("__plugin_usage__")]),s._v(":用法")]),s._v(" "),n("li",[n("code",[s._v("__plugin_des__")]),s._v(":简介")]),s._v(" "),n("li",[n("code",[s._v("__plugin_cmd__")]),s._v(":命令")]),s._v(" "),n("li",[n("code",[s._v("__plugin_settings__")]),s._v(" :插件通用设置")])])]),s._v(" "),n("li",[n("p",[s._v("有主动发送消息的被动插件(不需要命令调用的插件,如定时任务,hook等) 应该包含:")]),s._v(" "),n("ul",[n("li",[n("code",[s._v("__plugin_task__")]),s._v(":为你提供一个或多个开关")])])]),s._v(" "),n("li",[n("p",[s._v("以下作为额外添加选项:")]),s._v(" "),n("ul",[n("li",[n("code",[s._v("__plugin_type__")]),s._v(":插件帮助分类(被动类插件不需要)")]),s._v(" "),n("li",[n("code",[s._v("__plugin_version__")]),s._v(":插件版本")]),s._v(" "),n("li",[n("code",[s._v("__plugin_author__")]),s._v(":插件作者")]),s._v(" "),n("li",[n("code",[s._v("__plugin_cd_limit__")]),s._v(":插件cd限制")]),s._v(" "),n("li",[n("code",[s._v("__plugin_block_limit__")]),s._v(":插件阻塞限制")]),s._v(" "),n("li",[n("code",[s._v("__plugin_count_limit__")]),s._v(": 插件每日调用次数限制")]),s._v(" "),n("li",[n("code",[s._v("__plugin_resources__")]),s._v(": 资源管理")]),s._v(" "),n("li",[n("code",[s._v("__plugin_configs__")]),s._v(": 插件配置")])])])]),s._v(" "),n("div",{staticClass:"custom-block tip"},[n("p",{staticClass:"title"}),n("p",[s._v("已支持 "),n("strong",[s._v("PluginMetaData")])]),s._v(" "),n("div",{staticClass:"language-python line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-python"}},[n("code",[s._v("_\\_plugin_meta_\\_ "),n("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" PluginMetadata"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("\n name"),n("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"测试插件"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# __zx_plugin_name__")]),s._v("\n description"),n("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"测试插件元信息"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# __plugin_des__")]),s._v("\n usage"),n("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"无法使用"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# __plugin_usage__")]),s._v("\n config"),n("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v("Config"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# __plugin_configs__")]),s._v("\n extra"),n("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"author"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"NoneBot"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 'author' -> __plugin_author__")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"version"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"0.1.0"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 'version' -> __plugin_version__ : meta数据中的version仅修改插件文件部分,对于Config文件必定修改")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" \n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n")])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br"),n("span",{staticClass:"line-number"},[s._v("2")]),n("br"),n("span",{staticClass:"line-number"},[s._v("3")]),n("br"),n("span",{staticClass:"line-number"},[s._v("4")]),n("br"),n("span",{staticClass:"line-number"},[s._v("5")]),n("br"),n("span",{staticClass:"line-number"},[s._v("6")]),n("br"),n("span",{staticClass:"line-number"},[s._v("7")]),n("br"),n("span",{staticClass:"line-number"},[s._v("8")]),n("br"),n("span",{staticClass:"line-number"},[s._v("9")]),n("br"),n("span",{staticClass:"line-number"},[s._v("10")]),n("br")])])]),n("h2",{attrs:{id:"zx-plugin-name"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#zx-plugin-name"}},[s._v("#")]),s._v(" __zx_plugin_name__")]),s._v(" "),n("ul",[n("li",[n("strong",[s._v("类型")]),s._v(":"),n("code",[s._v("str")])]),s._v(" "),n("li",[n("strong",[s._v("说明")]),s._v(":"),n("br"),s._v("\n插件名称,为插件普通帮助的展示内容,基本所有模块都必须有 "),n("code",[s._v("__zx_plugin_name__")]),n("br"),s._v("\n通过在__zx_plugin_name__中添加 [Admin] [Superuser] [Hidden] 控制初始化帮助时插件的分类"),n("br"),s._v("\n基本为以下四类:\n"),n("ul",[n("li",[s._v("``:默认,即没有以下三种分类,作为普通插件")]),s._v(" "),n("li",[n("code",[s._v("[Admin]")]),s._v(": 纯管理员插件")]),s._v(" "),n("li",[n("code",[s._v("[Superuser]")]),s._v(": 纯超级用户插件")]),s._v(" "),n("li",[n("code",[s._v("[Hidden]")]),s._v(": 隐藏的插件,一般是不需要命令调用的插件")])])])]),s._v(" "),n("div",{staticClass:"language-python line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-python"}},[n("code",[s._v("__zx_plugin_name__ "),n("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"色图"')]),s._v("\n__zx_plugin_name__ "),n("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"管理员操作 [Admin]"')]),s._v("\n__zx_plugin_name__ "),n("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"超级用户操作 [Superuser]"')]),s._v("\n__zx_plugin_name__ "),n("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"自动检测群员数量 [Hidden]"')]),s._v("\n")])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br"),n("span",{staticClass:"line-number"},[s._v("2")]),n("br"),n("span",{staticClass:"line-number"},[s._v("3")]),n("br"),n("span",{staticClass:"line-number"},[s._v("4")]),n("br")])]),n("h2",{attrs:{id:"plugin-usage"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#plugin-usage"}},[s._v("#")]),s._v(" __plugin_usage__")]),s._v(" "),n("ul",[n("li",[n("strong",[s._v("类型")]),s._v(":"),n("code",[s._v("str")])]),s._v(" "),n("li",[n("strong",[s._v("说明")]),s._v(":"),n("br"),s._v("\n插件帮助说明\n示例:")])]),s._v(" "),n("div",{staticClass:"language-python line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-python"}},[n("code",[n("span",{pre:!0,attrs:{class:"token triple-quoted-string string"}},[s._v('"""\nusage:\n 有什么用处?\n 指令:\n ...\n 示例:...\n"""')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("strip"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n")])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br"),n("span",{staticClass:"line-number"},[s._v("2")]),n("br"),n("span",{staticClass:"line-number"},[s._v("3")]),n("br"),n("span",{staticClass:"line-number"},[s._v("4")]),n("br"),n("span",{staticClass:"line-number"},[s._v("5")]),n("br"),n("span",{staticClass:"line-number"},[s._v("6")]),n("br"),n("span",{staticClass:"line-number"},[s._v("7")]),n("br")])]),n("h2",{attrs:{id:"plugin-superuser-usage"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#plugin-superuser-usage"}},[s._v("#")]),s._v(" __plugin_superuser_usage__")]),s._v(" "),n("ul",[n("li",[n("strong",[s._v("类型")]),s._v(":"),n("code",[s._v("str")])]),s._v(" "),n("li",[n("strong",[s._v("说明")]),s._v(":"),n("br"),s._v("\n当非 "),n("code",[s._v("[Superuser]")]),s._v(" 插件含有超级用户的功能时,在该属性中编写超级用户的额外帮助"),n("br"),s._v("\n帮助写法与 "),n("code",[s._v("__plugin_usage__")]),s._v(" 一致")])]),s._v(" "),n("h2",{attrs:{id:"plugin-des"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#plugin-des"}},[s._v("#")]),s._v(" __plugin_des__")]),s._v(" "),n("ul",[n("li",[n("strong",[s._v("类型")]),s._v(":"),n("code",[s._v("str")])]),s._v(" "),n("li",[n("strong",[s._v("说明")]),s._v(":"),n("br"),s._v("\n插件简介,不建议太长,详细介绍可以写在usage中,主要在"),n("code",[s._v("详细帮助")]),s._v("中显示")])]),s._v(" "),n("h2",{attrs:{id:"plugin-cmd"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#plugin-cmd"}},[s._v("#")]),s._v(" __plugin_cmd__")]),s._v(" "),n("ul",[n("li",[n("strong",[s._v("类型")]),s._v(":"),n("code",[s._v("List[str]")])]),s._v(" "),n("li",[n("strong",[s._v("说明")]),s._v(":"),n("br"),s._v("\n插件指令,相同功能的插件指令请使用"),n("code",[s._v("/")]),s._v("分离,如果是超级用户的功能,请在命令后添加"),n("code",[s._v("[_superuser]")]),n("br"),s._v("\n示例:")])]),s._v(" "),n("div",{staticClass:"language-python line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-python"}},[n("code",[n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 发送 ‘我的签到’ 和 ‘好感度’ 效果相同")]),s._v("\n__plugin_cmd__ "),n("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("[")]),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"我的签到/好感度"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"好感度排行"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"清空好感度 [_superuser]"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("]")]),s._v("\n")])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br"),n("span",{staticClass:"line-number"},[s._v("2")]),n("br")])]),n("h2",{attrs:{id:"plugin-settings"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#plugin-settings"}},[s._v("#")]),s._v(" __plugin_settings__")]),s._v(" "),n("ul",[n("li",[n("strong",[s._v("类型")]),s._v(":"),n("code",[s._v("Dict[str, Union[str, int]]")])]),s._v(" "),n("li",[n("strong",[s._v("说明")]),s._v(":"),n("br"),s._v("\n插件的通用设置,普通插件与纯管理员插件会有所不同"),n("br"),s._v("\n示例:")])]),s._v(" "),n("div",{staticClass:"language-python line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-python"}},[n("code",[n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 普通插件,以下除cmd外为默认值")]),s._v("\n__plugin_settings__ "),n("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"level"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[s._v("5")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 群权限等级,请不要设置为1或999,若无特殊情况请设置为5")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"default_status"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token boolean"}},[s._v("True")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 进群时的默认开关状态")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"limit_superuser"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token boolean"}},[s._v("False")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 开关插件的限制是否限制超级用户")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"cmd"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("[")]),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"b封面"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v("'B封面'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("]")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 命令别名,主要用于帮助和开关")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"cost_gold"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[s._v("0")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 该功能需要花费的金币")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v('#"cmd"第一个值会被作为功能调用统计的显示选项,开关方面:开启b封面=开启B封面=开启cover')]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v('#"__zx_plugin_name__"不需要额外写入,在bot启动时会自动将"__zx_plugin_name__"导入对应的"cmd"')]),s._v("\n\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 只填写需要的部分,其他默认")]),s._v("\n__plugin_settings__ "),n("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"level"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[s._v("5")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 群权限等级,请不要设置为1或9,若无特殊情况请设置为5")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"cmd"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("[")]),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"b封面"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v("'B封面'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("]")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 命令别名,主要用于帮助和开关")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 再简化一点")]),s._v("\n__plugin_settings__ "),n("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"cmd"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("[")]),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"b封面"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v("'B封面'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("]")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 命令别名,主要用于帮助和开关")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 管理员插件")]),s._v("\n__plugin_settings__ "),n("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"admin_level"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[s._v("1")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 管理员等级,建议设置在5及以下,敏感操作设置在5以上")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n")])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br"),n("span",{staticClass:"line-number"},[s._v("2")]),n("br"),n("span",{staticClass:"line-number"},[s._v("3")]),n("br"),n("span",{staticClass:"line-number"},[s._v("4")]),n("br"),n("span",{staticClass:"line-number"},[s._v("5")]),n("br"),n("span",{staticClass:"line-number"},[s._v("6")]),n("br"),n("span",{staticClass:"line-number"},[s._v("7")]),n("br"),n("span",{staticClass:"line-number"},[s._v("8")]),n("br"),n("span",{staticClass:"line-number"},[s._v("9")]),n("br"),n("span",{staticClass:"line-number"},[s._v("10")]),n("br"),n("span",{staticClass:"line-number"},[s._v("11")]),n("br"),n("span",{staticClass:"line-number"},[s._v("12")]),n("br"),n("span",{staticClass:"line-number"},[s._v("13")]),n("br"),n("span",{staticClass:"line-number"},[s._v("14")]),n("br"),n("span",{staticClass:"line-number"},[s._v("15")]),n("br"),n("span",{staticClass:"line-number"},[s._v("16")]),n("br"),n("span",{staticClass:"line-number"},[s._v("17")]),n("br"),n("span",{staticClass:"line-number"},[s._v("18")]),n("br"),n("span",{staticClass:"line-number"},[s._v("19")]),n("br"),n("span",{staticClass:"line-number"},[s._v("20")]),n("br"),n("span",{staticClass:"line-number"},[s._v("21")]),n("br"),n("span",{staticClass:"line-number"},[s._v("22")]),n("br"),n("span",{staticClass:"line-number"},[s._v("23")]),n("br"),n("span",{staticClass:"line-number"},[s._v("24")]),n("br"),n("span",{staticClass:"line-number"},[s._v("25")]),n("br"),n("span",{staticClass:"line-number"},[s._v("26")]),n("br")])]),n("h2",{attrs:{id:"plugin-task"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#plugin-task"}},[s._v("#")]),s._v(" __plugin_task__")]),s._v(" "),n("ul",[n("li",[n("strong",[s._v("类型")]),s._v(":"),n("code",[s._v("Dict[str, Union[str, str]]")])]),s._v(" "),n("li",[n("strong",[s._v("说明")]),s._v(":"),n("br"),s._v("\n为你提供一个或多个开关,主要用于被动类插件的开关"),n("br"),s._v("\n示例:")])]),s._v(" "),n("div",{staticClass:"language-python line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-python"}},[n("code",[n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 定义开关")]),s._v("\n__plugin_task__ "),n("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"名称"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"开关中文名"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"abcd"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"统计开关"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"..."')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"..."')]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 使用被动技能控制页面的方法(推荐!")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 使用最最基本的控制:在插件中设置(不推荐")]),s._v("\n\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 导入管理器")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("from")]),s._v(" utils"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("manager "),n("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("import")]),s._v(" group_manager\n\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 下方法为最最基本的插件控制")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("async")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("def")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token function"}},[s._v("_")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("if")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("await")]),s._v(" group_manager"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("check_group_task_status"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("event"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("group_id"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"名称"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("if")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("await")]),s._v(" group_manager"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("check_group_task_status"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("event"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("group_id"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"abcd"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("\n")])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br"),n("span",{staticClass:"line-number"},[s._v("2")]),n("br"),n("span",{staticClass:"line-number"},[s._v("3")]),n("br"),n("span",{staticClass:"line-number"},[s._v("4")]),n("br"),n("span",{staticClass:"line-number"},[s._v("5")]),n("br"),n("span",{staticClass:"line-number"},[s._v("6")]),n("br"),n("span",{staticClass:"line-number"},[s._v("7")]),n("br"),n("span",{staticClass:"line-number"},[s._v("8")]),n("br"),n("span",{staticClass:"line-number"},[s._v("9")]),n("br"),n("span",{staticClass:"line-number"},[s._v("10")]),n("br"),n("span",{staticClass:"line-number"},[s._v("11")]),n("br"),n("span",{staticClass:"line-number"},[s._v("12")]),n("br"),n("span",{staticClass:"line-number"},[s._v("13")]),n("br"),n("span",{staticClass:"line-number"},[s._v("14")]),n("br"),n("span",{staticClass:"line-number"},[s._v("15")]),n("br"),n("span",{staticClass:"line-number"},[s._v("16")]),n("br"),n("span",{staticClass:"line-number"},[s._v("17")]),n("br"),n("span",{staticClass:"line-number"},[s._v("18")]),n("br"),n("span",{staticClass:"line-number"},[s._v("19")]),n("br")])]),n("h2",{attrs:{id:"plugin-type"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#plugin-type"}},[s._v("#")]),s._v(" __plugin_type__")]),s._v(" "),n("ul",[n("li",[n("strong",[s._v("类型")]),s._v(":"),n("code",[s._v("Tuple[Union[str, int]]")])]),s._v(" "),n("li",[n("strong",[s._v("说明")]),s._v(":"),n("br"),s._v("\n为普通插件分类,当没有"),n("code",[s._v("__plugin_type__")]),s._v("时,将统一放置普通功能分类中"),n("br"),s._v("\n相同分类的插件在帮助图片中将会统合在一起"),n("br"),s._v("\n示例:")])]),s._v(" "),n("div",{staticClass:"language-python line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-python"}},[n("code",[n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 定义格式:")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 排列:无或0时:横向排列,1:列项排序(当你的__plugin_cmd__指令很多,建议使用 1)")]),s._v("\n__plugin_type__ "),n("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("分类名称"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" 详细帮助中的排列"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 创建一个`工具`的分类")]),s._v("\n__plugin_type__ "),n("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),n("span",{pre:!0,attrs:{class:"token string"}},[s._v("'工具'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 创建一个`原神相关`的分类,并在详细功能中命令以列向排列显示")]),s._v("\n__plugin_type__ "),n("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),n("span",{pre:!0,attrs:{class:"token string"}},[s._v("'原神相关'")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[s._v("1")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n")])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br"),n("span",{staticClass:"line-number"},[s._v("2")]),n("br"),n("span",{staticClass:"line-number"},[s._v("3")]),n("br"),n("span",{staticClass:"line-number"},[s._v("4")]),n("br"),n("span",{staticClass:"line-number"},[s._v("5")]),n("br"),n("span",{staticClass:"line-number"},[s._v("6")]),n("br"),n("span",{staticClass:"line-number"},[s._v("7")]),n("br")])]),n("h2",{attrs:{id:"plugin-version"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#plugin-version"}},[s._v("#")]),s._v(" __plugin_version__")]),s._v(" "),n("ul",[n("li",[n("strong",[s._v("类型")]),s._v(":"),n("code",[s._v("Union[float, int]")])]),s._v(" "),n("li",[n("strong",[s._v("说明")]),s._v(":"),n("br"),s._v("\n插件版本,将作为插件自动更新的依照")])]),s._v(" "),n("h2",{attrs:{id:"plugin-author"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#plugin-author"}},[s._v("#")]),s._v(" __plugin_author__")]),s._v(" "),n("ul",[n("li",[n("strong",[s._v("类型")]),s._v(":"),n("code",[s._v("str")])]),s._v(" "),n("li",[n("strong",[s._v("说明")]),s._v(":"),n("br"),s._v("\n插件作者")])]),s._v(" "),n("h2",{attrs:{id:"plugin-cd-limit"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#plugin-cd-limit"}},[s._v("#")]),s._v(" __plugin_cd_limit__")]),s._v(" "),n("ul",[n("li",[n("strong",[s._v("类型")]),s._v(":"),n("code",[s._v("Dict[str, Optional[Union[int, str]]]")])]),s._v(" "),n("li",[n("strong",[s._v("说明")]),s._v(":"),n("br"),s._v("\n插件cd限制")])]),s._v(" "),n("div",{staticClass:"language-python line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-python"}},[n("code",[n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 以下为默认值")]),s._v("\n__plugin_cd_limit__ "),n("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"cd"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[s._v("5")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 限制 cd 时长")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"check_type"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"all"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 'private'/'group'/'all',限制私聊/群聊/全部")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"limit_type"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"user"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 监听对象,以user_id或group_id作为键来限制,'user':用户id,'group':群id")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"rst"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token boolean"}},[s._v("None")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 回复的话,为None时不回复,可以添加[at],[uname],[nickname]来对应艾特,用户群名称,昵称系统昵称")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"status"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" true "),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 此限制的开关状态")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 可以只添加需要的内容,其他选用默认值")]),s._v("\n__plugin_cd_limit__ "),n("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"cd"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[s._v("10")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"rst"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"冷静点,别冲了!"')]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 甚至全部使用默认值")]),s._v("\n__plugin_cd_limit__ "),n("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n")])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br"),n("span",{staticClass:"line-number"},[s._v("2")]),n("br"),n("span",{staticClass:"line-number"},[s._v("3")]),n("br"),n("span",{staticClass:"line-number"},[s._v("4")]),n("br"),n("span",{staticClass:"line-number"},[s._v("5")]),n("br"),n("span",{staticClass:"line-number"},[s._v("6")]),n("br"),n("span",{staticClass:"line-number"},[s._v("7")]),n("br"),n("span",{staticClass:"line-number"},[s._v("8")]),n("br"),n("span",{staticClass:"line-number"},[s._v("9")]),n("br"),n("span",{staticClass:"line-number"},[s._v("10")]),n("br"),n("span",{staticClass:"line-number"},[s._v("11")]),n("br"),n("span",{staticClass:"line-number"},[s._v("12")]),n("br"),n("span",{staticClass:"line-number"},[s._v("13")]),n("br"),n("span",{staticClass:"line-number"},[s._v("14")]),n("br"),n("span",{staticClass:"line-number"},[s._v("15")]),n("br"),n("span",{staticClass:"line-number"},[s._v("16")]),n("br")])]),n("h2",{attrs:{id:"plugin-block-limit"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#plugin-block-limit"}},[s._v("#")]),s._v(" __plugin_block_limit__")]),s._v(" "),n("ul",[n("li",[n("strong",[s._v("类型")]),s._v(":"),n("code",[s._v("Dict[str, Optional[str]]")])]),s._v(" "),n("li",[n("strong",[s._v("说明")]),s._v(":"),n("br"),s._v("\n插件阻塞限制")])]),s._v(" "),n("div",{staticClass:"language-python line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-python"}},[n("code",[n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 以下为默认值")]),s._v("\n__plugin_block_limit__ "),n("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"check_type"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"all"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 'private'/'group'/'all',限制私聊/群聊/全部")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"limit_type"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"user"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 监听对象,以user_id或group_id作为键来限制,'user':用户id,'group':群id")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"rst"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token boolean"}},[s._v("None")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 回复的话,为None时不回复,可以添加[at],[uname],[nickname]来对应艾特,用户群名称,昵称系统昵称")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"status"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" true "),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 此限制的开关状态")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 可以只添加需要的内容,其他选用默认值")]),s._v("\n__plugin_block_limit__ "),n("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"rst"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"你正在冲!"')]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 甚至全部使用默认值")]),s._v("\n__plugin_block_limit__ "),n("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n")])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br"),n("span",{staticClass:"line-number"},[s._v("2")]),n("br"),n("span",{staticClass:"line-number"},[s._v("3")]),n("br"),n("span",{staticClass:"line-number"},[s._v("4")]),n("br"),n("span",{staticClass:"line-number"},[s._v("5")]),n("br"),n("span",{staticClass:"line-number"},[s._v("6")]),n("br"),n("span",{staticClass:"line-number"},[s._v("7")]),n("br"),n("span",{staticClass:"line-number"},[s._v("8")]),n("br"),n("span",{staticClass:"line-number"},[s._v("9")]),n("br"),n("span",{staticClass:"line-number"},[s._v("10")]),n("br"),n("span",{staticClass:"line-number"},[s._v("11")]),n("br"),n("span",{staticClass:"line-number"},[s._v("12")]),n("br"),n("span",{staticClass:"line-number"},[s._v("13")]),n("br")])]),n("h2",{attrs:{id:"plugin-count-limit"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#plugin-count-limit"}},[s._v("#")]),s._v(" __plugin_count_limit__")]),s._v(" "),n("ul",[n("li",[n("strong",[s._v("类型")]),s._v(":"),n("code",[s._v("Dict[str, Optional[Union[int, str]]]")])]),s._v(" "),n("li",[n("strong",[s._v("说明")]),s._v(":"),n("br"),s._v("\n插件每日调用次数限制")])]),s._v(" "),n("div",{staticClass:"language-python line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-python"}},[n("code",[n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 以下为默认值")]),s._v("\n__plugin_count_limit__ "),n("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"max_count"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[s._v("5")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 每日次数限制数量")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"limit_type"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"user"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 监听对象,以user_id或group_id作为键来限制,'user':用户id,'group':群id")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"rst"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token boolean"}},[s._v("None")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 回复的话,为None时不回复,可以添加[at],[uname],[nickname]来对应艾特,用户群名称,昵称系统昵称")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"status"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" true "),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 此限制的开关状态")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 可以只添加需要的内容,其他选用默认值")]),s._v("\n__plugin_count_limit__ "),n("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"max_count"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[s._v("10")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"rst"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"你今天没得冲了!"')]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 甚至全部使用默认值")]),s._v("\n__plugin_count_limit__ "),n("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n")])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br"),n("span",{staticClass:"line-number"},[s._v("2")]),n("br"),n("span",{staticClass:"line-number"},[s._v("3")]),n("br"),n("span",{staticClass:"line-number"},[s._v("4")]),n("br"),n("span",{staticClass:"line-number"},[s._v("5")]),n("br"),n("span",{staticClass:"line-number"},[s._v("6")]),n("br"),n("span",{staticClass:"line-number"},[s._v("7")]),n("br"),n("span",{staticClass:"line-number"},[s._v("8")]),n("br"),n("span",{staticClass:"line-number"},[s._v("9")]),n("br"),n("span",{staticClass:"line-number"},[s._v("10")]),n("br"),n("span",{staticClass:"line-number"},[s._v("11")]),n("br"),n("span",{staticClass:"line-number"},[s._v("12")]),n("br"),n("span",{staticClass:"line-number"},[s._v("13")]),n("br"),n("span",{staticClass:"line-number"},[s._v("14")]),n("br")])]),n("h2",{attrs:{id:"plugin-resource"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#plugin-resource"}},[s._v("#")]),s._v(" __plugin_resource__")]),s._v(" "),n("ul",[n("li",[n("strong",[s._v("类型")]),s._v(":"),n("code",[s._v("Dict[Union[str, Path], Union[str, Path]]")])]),s._v(" "),n("li",[n("strong",[s._v("说明")]),s._v(":"),n("br"),s._v("\n将插件目录下资源移动要指定文件夹并记录保存,在插件删除后自动删除对应资源文件")])]),s._v(" "),n("div",{staticClass:"language-python line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-python"}},[n("code",[n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 提供示例")]),s._v("\n__plugin_resources__ "),n("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"cases"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" IMAGE_PATH\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n")])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br"),n("span",{staticClass:"line-number"},[s._v("2")]),n("br"),n("span",{staticClass:"line-number"},[s._v("3")]),n("br"),n("span",{staticClass:"line-number"},[s._v("4")]),n("br")])]),n("h2",{attrs:{id:"plugin-configs"}},[n("a",{staticClass:"header-anchor",attrs:{href:"#plugin-configs"}},[s._v("#")]),s._v(" __plugin_configs__")]),s._v(" "),n("ul",[n("li",[n("strong",[s._v("类型")]),s._v(":"),n("code",[s._v("Dict[str, Union[int, str, float, Dict[str, Union[int, str, float]]]]")])]),s._v(" "),n("li",[n("strong",[s._v("说明")]),s._v(":"),n("br"),s._v("\n插件配置项,用于生成统一的config.yaml文件供用户统一修改"),n("br"),s._v("\n其中 key 大小写不敏感,生成与返回会统一使用大写"),n("br"),s._v(" "),n("strong",[s._v("注")]),s._v(" "),n("ul",[n("li",[s._v("公用部分例如"),n("code",[s._v("hibiapi")]),s._v("等请直接添加和使用"),n("code",[s._v("hibiapi")]),s._v("配置组,包括"),n("code",[s._v("pixiv")]),s._v("等")]),s._v(" "),n("li",[s._v("公用部分可以新增和删除配置项")])])])]),s._v(" "),n("div",{staticClass:"language-python line-numbers-mode"},[n("pre",{pre:!0,attrs:{class:"language-python"}},[n("code",[n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 配置项(默认值)")]),s._v("\n__plugin_configs__ "),n("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"key1"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"value"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" value"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 配置值")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"help"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token boolean"}},[s._v("None")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 配置项说明,为空时则不添加配置项说明注释")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"name"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token boolean"}},[s._v("None")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 插件名称说明,如果含有__zx_plugin_name__一般不需要设置")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"default_value"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token boolean"}},[s._v("None")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 当value值为空时返回的默认值 ")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"key2"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"key3"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" value"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 只设置value值,其他值为 None")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 增加一个配置项")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("############ 方式一 ############")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 不添加 help, name, default_value 等设置,仅仅设置 value ")]),s._v("\n__plugin_configs__ "),n("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"key1"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" value"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"key2"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[s._v("9")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"key3"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"Hello 真寻"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 添加 help, name, default_value 等")]),s._v("\n__plugin_configs__ "),n("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"key1"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"value"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[s._v("1")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"help"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"这是一个示例"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"default_value"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[s._v("10")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 是一个需要设置权限等级的插件,需要在key末尾添加 [LEVEL]")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 且 value 或 default_value 必须有值")]),s._v("\n__plugin_configs__ "),n("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"key1 [LEVEL]"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"value"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[s._v("1")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"help: "')]),s._v('这是一个示例"'),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"default_value"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[s._v("10")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("########################")]),s._v("\n\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("############ 方式二 ############")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 常用于一个包下有多个插件,需要使用 nonebot.load_plugins加载时统一配置组和权限")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 从 configs.config 中 导入 Config")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("from")]),s._v(" configs"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("config "),n("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("import")]),s._v(" Config\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 添加配置方法")]),s._v("\nConfig"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("add_plugin_config"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("\n module"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("str")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 模块名称(相当于自定义创建一个配置组),一般为插件模块名称")]),s._v("\n key"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("str")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 配置key")]),s._v("\n value"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" Optional"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("[")]),s._v("Any"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("]")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 值")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token operator"}},[s._v("*")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n name"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" Optional"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("[")]),n("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("str")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("]")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token boolean"}},[s._v("None")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 插件名称,相同 module 的 name 将会覆盖")]),s._v("\n help_"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" Optional"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("[")]),n("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("str")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("]")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token boolean"}},[s._v("None")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 配置项说明")]),s._v("\n default_value"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" Optional"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("[")]),n("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("str")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("]")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token boolean"}},[s._v("None")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 默认值")]),s._v("\n _override"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("bool")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token boolean"}},[s._v("False")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 是否覆盖,一般开发不使用,主要用于init_config时的读取问题")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 添加一个配置项, name, help_, default")]),s._v("\nConfig"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("add_plugin_config"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"module"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"key1"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token number"}},[s._v("1")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n name"),n("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"这是一个示例"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n help_"),n("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"没错,还是示例"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n default_value"),n("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),n("span",{pre:!0,attrs:{class:"token number"}},[s._v("10")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 添加一个管理员插件等级配置项")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 使用 : 分割开,前是配置组名称,后是管理插件模块")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 且 key 末尾需要添加 [LEVEL],且 value 或 default_value 必须有值")]),s._v("\nConfig"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("add_plugin_config"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"module:admin_module"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"key1 [LEVEL]"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token number"}},[s._v("1")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n name"),n("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"这是一个示例"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n help_"),n("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"默认是1级"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n default_value"),n("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),n("span",{pre:!0,attrs:{class:"token number"}},[s._v("10")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("########################")]),s._v("\n\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 获取配置")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 从 configs.config 中 导入 Config")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("from")]),s._v(" configs"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("config "),n("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("import")]),s._v(" Config\n\ndata "),n("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" Config"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("get_config"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"module"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"key"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("############ 完成示例 ############")]),s._v("\n\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 添加一个配置组,名称为 pix, 并为其添加一个配置项,名称为image_num,")]),s._v("\nConfig"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("add_plugin_config"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"pix"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"image_num"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),n("span",{pre:!0,attrs:{class:"token number"}},[s._v("5")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n name"),n("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"PIX图库操作"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n help_"),n("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"每次访问图片返回的数量"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n default_value"),n("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),n("span",{pre:!0,attrs:{class:"token number"}},[s._v("5")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 获取数据,key 的大小写不敏感")]),s._v("\nimage_num "),n("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" Config"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("get_config"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"pix"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"IMAGE_NUM"')]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n\n"),n("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("print")]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),n("span",{pre:!0,attrs:{class:"token string-interpolation"}},[n("span",{pre:!0,attrs:{class:"token string"}},[s._v('f"图片数量: ')]),n("span",{pre:!0,attrs:{class:"token interpolation"}},[n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("image_num"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")])]),n("span",{pre:!0,attrs:{class:"token string"}},[s._v('"')])]),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n\n"),n("span",{pre:!0,attrs:{class:"token comment"}},[s._v("### out ###")]),s._v("\n图片数量"),n("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),n("span",{pre:!0,attrs:{class:"token number"}},[s._v("5")]),s._v("\n\n")])]),s._v(" "),n("div",{staticClass:"line-numbers-wrapper"},[n("span",{staticClass:"line-number"},[s._v("1")]),n("br"),n("span",{staticClass:"line-number"},[s._v("2")]),n("br"),n("span",{staticClass:"line-number"},[s._v("3")]),n("br"),n("span",{staticClass:"line-number"},[s._v("4")]),n("br"),n("span",{staticClass:"line-number"},[s._v("5")]),n("br"),n("span",{staticClass:"line-number"},[s._v("6")]),n("br"),n("span",{staticClass:"line-number"},[s._v("7")]),n("br"),n("span",{staticClass:"line-number"},[s._v("8")]),n("br"),n("span",{staticClass:"line-number"},[s._v("9")]),n("br"),n("span",{staticClass:"line-number"},[s._v("10")]),n("br"),n("span",{staticClass:"line-number"},[s._v("11")]),n("br"),n("span",{staticClass:"line-number"},[s._v("12")]),n("br"),n("span",{staticClass:"line-number"},[s._v("13")]),n("br"),n("span",{staticClass:"line-number"},[s._v("14")]),n("br"),n("span",{staticClass:"line-number"},[s._v("15")]),n("br"),n("span",{staticClass:"line-number"},[s._v("16")]),n("br"),n("span",{staticClass:"line-number"},[s._v("17")]),n("br"),n("span",{staticClass:"line-number"},[s._v("18")]),n("br"),n("span",{staticClass:"line-number"},[s._v("19")]),n("br"),n("span",{staticClass:"line-number"},[s._v("20")]),n("br"),n("span",{staticClass:"line-number"},[s._v("21")]),n("br"),n("span",{staticClass:"line-number"},[s._v("22")]),n("br"),n("span",{staticClass:"line-number"},[s._v("23")]),n("br"),n("span",{staticClass:"line-number"},[s._v("24")]),n("br"),n("span",{staticClass:"line-number"},[s._v("25")]),n("br"),n("span",{staticClass:"line-number"},[s._v("26")]),n("br"),n("span",{staticClass:"line-number"},[s._v("27")]),n("br"),n("span",{staticClass:"line-number"},[s._v("28")]),n("br"),n("span",{staticClass:"line-number"},[s._v("29")]),n("br"),n("span",{staticClass:"line-number"},[s._v("30")]),n("br"),n("span",{staticClass:"line-number"},[s._v("31")]),n("br"),n("span",{staticClass:"line-number"},[s._v("32")]),n("br"),n("span",{staticClass:"line-number"},[s._v("33")]),n("br"),n("span",{staticClass:"line-number"},[s._v("34")]),n("br"),n("span",{staticClass:"line-number"},[s._v("35")]),n("br"),n("span",{staticClass:"line-number"},[s._v("36")]),n("br"),n("span",{staticClass:"line-number"},[s._v("37")]),n("br"),n("span",{staticClass:"line-number"},[s._v("38")]),n("br"),n("span",{staticClass:"line-number"},[s._v("39")]),n("br"),n("span",{staticClass:"line-number"},[s._v("40")]),n("br"),n("span",{staticClass:"line-number"},[s._v("41")]),n("br"),n("span",{staticClass:"line-number"},[s._v("42")]),n("br"),n("span",{staticClass:"line-number"},[s._v("43")]),n("br"),n("span",{staticClass:"line-number"},[s._v("44")]),n("br"),n("span",{staticClass:"line-number"},[s._v("45")]),n("br"),n("span",{staticClass:"line-number"},[s._v("46")]),n("br"),n("span",{staticClass:"line-number"},[s._v("47")]),n("br"),n("span",{staticClass:"line-number"},[s._v("48")]),n("br"),n("span",{staticClass:"line-number"},[s._v("49")]),n("br"),n("span",{staticClass:"line-number"},[s._v("50")]),n("br"),n("span",{staticClass:"line-number"},[s._v("51")]),n("br"),n("span",{staticClass:"line-number"},[s._v("52")]),n("br"),n("span",{staticClass:"line-number"},[s._v("53")]),n("br"),n("span",{staticClass:"line-number"},[s._v("54")]),n("br"),n("span",{staticClass:"line-number"},[s._v("55")]),n("br"),n("span",{staticClass:"line-number"},[s._v("56")]),n("br"),n("span",{staticClass:"line-number"},[s._v("57")]),n("br"),n("span",{staticClass:"line-number"},[s._v("58")]),n("br"),n("span",{staticClass:"line-number"},[s._v("59")]),n("br"),n("span",{staticClass:"line-number"},[s._v("60")]),n("br"),n("span",{staticClass:"line-number"},[s._v("61")]),n("br"),n("span",{staticClass:"line-number"},[s._v("62")]),n("br"),n("span",{staticClass:"line-number"},[s._v("63")]),n("br"),n("span",{staticClass:"line-number"},[s._v("64")]),n("br"),n("span",{staticClass:"line-number"},[s._v("65")]),n("br"),n("span",{staticClass:"line-number"},[s._v("66")]),n("br"),n("span",{staticClass:"line-number"},[s._v("67")]),n("br"),n("span",{staticClass:"line-number"},[s._v("68")]),n("br"),n("span",{staticClass:"line-number"},[s._v("69")]),n("br"),n("span",{staticClass:"line-number"},[s._v("70")]),n("br"),n("span",{staticClass:"line-number"},[s._v("71")]),n("br"),n("span",{staticClass:"line-number"},[s._v("72")]),n("br"),n("span",{staticClass:"line-number"},[s._v("73")]),n("br"),n("span",{staticClass:"line-number"},[s._v("74")]),n("br"),n("span",{staticClass:"line-number"},[s._v("75")]),n("br"),n("span",{staticClass:"line-number"},[s._v("76")]),n("br"),n("span",{staticClass:"line-number"},[s._v("77")]),n("br"),n("span",{staticClass:"line-number"},[s._v("78")]),n("br"),n("span",{staticClass:"line-number"},[s._v("79")]),n("br"),n("span",{staticClass:"line-number"},[s._v("80")]),n("br"),n("span",{staticClass:"line-number"},[s._v("81")]),n("br"),n("span",{staticClass:"line-number"},[s._v("82")]),n("br"),n("span",{staticClass:"line-number"},[s._v("83")]),n("br"),n("span",{staticClass:"line-number"},[s._v("84")]),n("br"),n("span",{staticClass:"line-number"},[s._v("85")]),n("br"),n("span",{staticClass:"line-number"},[s._v("86")]),n("br"),n("span",{staticClass:"line-number"},[s._v("87")]),n("br"),n("span",{staticClass:"line-number"},[s._v("88")]),n("br"),n("span",{staticClass:"line-number"},[s._v("89")]),n("br"),n("span",{staticClass:"line-number"},[s._v("90")]),n("br"),n("span",{staticClass:"line-number"},[s._v("91")]),n("br"),n("span",{staticClass:"line-number"},[s._v("92")]),n("br"),n("span",{staticClass:"line-number"},[s._v("93")]),n("br"),n("span",{staticClass:"line-number"},[s._v("94")]),n("br"),n("span",{staticClass:"line-number"},[s._v("95")]),n("br"),n("span",{staticClass:"line-number"},[s._v("96")]),n("br"),n("span",{staticClass:"line-number"},[s._v("97")]),n("br"),n("span",{staticClass:"line-number"},[s._v("98")]),n("br"),n("span",{staticClass:"line-number"},[s._v("99")]),n("br"),n("span",{staticClass:"line-number"},[s._v("100")]),n("br"),n("span",{staticClass:"line-number"},[s._v("101")]),n("br"),n("span",{staticClass:"line-number"},[s._v("102")]),n("br"),n("span",{staticClass:"line-number"},[s._v("103")]),n("br"),n("span",{staticClass:"line-number"},[s._v("104")]),n("br"),n("span",{staticClass:"line-number"},[s._v("105")]),n("br"),n("span",{staticClass:"line-number"},[s._v("106")]),n("br"),n("span",{staticClass:"line-number"},[s._v("107")]),n("br"),n("span",{staticClass:"line-number"},[s._v("108")]),n("br")])])])}),[],!1,null,null,null);t.default=e.exports}}]); \ No newline at end of file diff --git a/assets/js/19.995862c6.js b/assets/js/19.995862c6.js new file mode 100644 index 000000000..94d999ae8 --- /dev/null +++ b/assets/js/19.995862c6.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[19],{431:function(s,t,a){"use strict";a.r(t);var n=a(2),r=Object(n.a)({},(function(){var s=this,t=s._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":s.$parent.slotKey}},[t("h1",{attrs:{id:"被动技能发送控制"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#被动技能发送控制"}},[s._v("#")]),s._v(" 被动技能发送控制")]),s._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"title"}),t("p",[s._v("通过hook来阻断被动技能发送的信息")])]),t("h2",{attrs:{id:"被动技能"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#被动技能"}},[s._v("#")]),s._v(" 被动技能")]),s._v(" "),t("p",[s._v("一般为 "),t("strong",[s._v("主动发送消息")]),s._v(" ,不受真寻插件控制的定时任务或on_message等")]),s._v(" "),t("h2",{attrs:{id:"使用hook被动控制"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#使用hook被动控制"}},[s._v("#")]),s._v(" 使用hook被动控制")]),s._v(" "),t("ul",[t("li",[s._v("在消息添加特定字符为来达到阻断消息发送的目的")]),s._v(" "),t("li",[s._v("在权限为-1的群中不再需要手动发送“关闭全部被动”之类的命令")]),s._v(" "),t("li",[s._v("不需要写if,完全由hook来管理")])]),s._v(" "),t("h2",{attrs:{id:"定义被动技能"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#定义被动技能"}},[s._v("#")]),s._v(" 定义被动技能")]),s._v(" "),t("p",[s._v("使用标准定义一个被动,如果不明白如何定义请查看插件标准!")]),s._v(" "),t("div",{staticClass:"language-python line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-python"}},[t("code",[s._v("__plugin_task__ "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"genshin_alc"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"原神黄历提醒"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br")])]),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"title"}),t("p",[s._v("特定字符串:")]),s._v(" "),t("ul",[t("li",[s._v("[_task|{plugin_name}]]")])])]),t("h2",{attrs:{id:"栗子"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#栗子"}},[s._v("#")]),s._v(" 栗子")]),s._v(" "),t("div",{staticClass:"language-python line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-python"}},[t("code",[s._v("matcher"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("send"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"[[_task|genshin_alc]]"')]),s._v(" "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("+")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"这是原神黄历提醒的被动提醒"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br")])]),t("h2",{attrs:{id:"完整栗子"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#完整栗子"}},[s._v("#")]),s._v(" 完整栗子")]),s._v(" "),t("div",{staticClass:"language-python line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-python"}},[t("code",[t("span",{pre:!0,attrs:{class:"token decorator annotation punctuation"}},[s._v("@scheduler"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("scheduled_job")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"cron"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n hour"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("10")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n minute"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("25")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("async")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("def")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token function"}},[s._v("_")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 每日提醒")]),s._v("\n bot "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" get_bot"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("if")]),s._v(" bot"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("\n gl "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("await")]),s._v(" bot"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("get_group_list"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n gl "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("[")]),s._v("g"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("[")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"group_id"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("]")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("for")]),s._v(" g "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("in")]),s._v(" gl"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("]")]),s._v("\n alc_img "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("await")]),s._v(" get_alc_image"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("ALC_PATH"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("if")]),s._v(" alc_img"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("\n mes "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"[[_task|genshin_alc]]"')]),s._v(" "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("+")]),s._v(" alc_img "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("+")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"\\n ※ 黄历数据来源于 genshin.pub"')]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("for")]),s._v(" gid "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("in")]),s._v(" gl"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("if")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("await")]),s._v(" group_manager"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("check_group_task_status"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("gid"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"genshin_alc"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("await")]),s._v(" bot"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("send_group_msg"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("group_id"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("int")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("gid"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" message"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('""')]),s._v(" "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("+")]),s._v(" mes"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br"),t("span",{staticClass:"line-number"},[s._v("2")]),t("br"),t("span",{staticClass:"line-number"},[s._v("3")]),t("br"),t("span",{staticClass:"line-number"},[s._v("4")]),t("br"),t("span",{staticClass:"line-number"},[s._v("5")]),t("br"),t("span",{staticClass:"line-number"},[s._v("6")]),t("br"),t("span",{staticClass:"line-number"},[s._v("7")]),t("br"),t("span",{staticClass:"line-number"},[s._v("8")]),t("br"),t("span",{staticClass:"line-number"},[s._v("9")]),t("br"),t("span",{staticClass:"line-number"},[s._v("10")]),t("br"),t("span",{staticClass:"line-number"},[s._v("11")]),t("br"),t("span",{staticClass:"line-number"},[s._v("12")]),t("br"),t("span",{staticClass:"line-number"},[s._v("13")]),t("br"),t("span",{staticClass:"line-number"},[s._v("14")]),t("br"),t("span",{staticClass:"line-number"},[s._v("15")]),t("br"),t("span",{staticClass:"line-number"},[s._v("16")]),t("br"),t("span",{staticClass:"line-number"},[s._v("17")]),t("br")])])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/20.2cd233f4.js b/assets/js/20.2cd233f4.js new file mode 100644 index 000000000..72bcd2718 --- /dev/null +++ b/assets/js/20.2cd233f4.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[20],{433:function(s,t,a){"use strict";a.r(t);var n=a(2),e=Object(n.a)({},(function(){var s=this,t=s._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":s.$parent.slotKey}},[t("h1",{attrs:{id:"便捷工具-方法"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#便捷工具-方法"}},[s._v("#")]),s._v(" 便捷工具/方法")]),s._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"title"}),t("p",[s._v("开发中一些便利的工具类或方法")])]),t("h2",{attrs:{id:"定时清理临时文件"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#定时清理临时文件"}},[s._v("#")]),s._v(" 定时清理临时文件")]),s._v(" "),t("p",[s._v("该方法可以将目标文件夹标记为临时文件文件夹,可以使用命令"),t("code",[s._v("清理临时文件")]),s._v("命令来清理"),t("br"),s._v("\n同时会在每日凌晨"),t("code",[s._v("1点")]),s._v("进行自动清理"),t("br"),s._v("\n并且不需要担心刚刚生成的文件还未使用就强行删除,只有大于"),t("code",[s._v("5")]),s._v("分钟的文件才会被清理掉")]),s._v(" "),t("div",{staticClass:"language-python line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-python"}},[t("code",[t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 使用 def add_temp_dir(self, path: Union[str, Path])")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 示例")]),s._v("\n\n"),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("from")]),s._v(" utils"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("manager "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("import")]),s._v(" resources_manager\n"),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("from")]),s._v(" pathlib "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("import")]),s._v(" Path\n\nTEMP_PATH "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"D:\\\\zhenxun_bot\\\\resources\\\\temp"')]),s._v("\nIMAGE_PATH "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" Path"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("/")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"resources"')]),s._v(" "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("/")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"image"')]),s._v(" "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("/")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"temp"')]),s._v("\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 添加临时文件夹")]),s._v("\nresources_manager"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("add_temp_dir"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("TEMP_PATH"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n\nresources_manager"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("add_temp_dir"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("IMAGE_PATH"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br"),t("span",{staticClass:"line-number"},[s._v("2")]),t("br"),t("span",{staticClass:"line-number"},[s._v("3")]),t("br"),t("span",{staticClass:"line-number"},[s._v("4")]),t("br"),t("span",{staticClass:"line-number"},[s._v("5")]),t("br"),t("span",{staticClass:"line-number"},[s._v("6")]),t("br"),t("span",{staticClass:"line-number"},[s._v("7")]),t("br"),t("span",{staticClass:"line-number"},[s._v("8")]),t("br"),t("span",{staticClass:"line-number"},[s._v("9")]),t("br"),t("span",{staticClass:"line-number"},[s._v("10")]),t("br"),t("span",{staticClass:"line-number"},[s._v("11")]),t("br"),t("span",{staticClass:"line-number"},[s._v("12")]),t("br"),t("span",{staticClass:"line-number"},[s._v("13")]),t("br")])]),t("h2",{attrs:{id:"自动撤回"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#自动撤回"}},[s._v("#")]),s._v(" 自动撤回")]),s._v(" "),t("p",[s._v("真寻中已经包含了自动撤回的公共方法,只需要将"),t("code",[s._v("matcher.send")]),s._v("返回的message_id调用方法即可")]),s._v(" "),t("div",{staticClass:"language-python line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-python"}},[t("code",[t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 导入消息撤回管理")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("from")]),s._v(" utils"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("manager "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("import")]),s._v(" withdraw_message_manager\n\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 获取消息id字典")]),s._v("\nmsg_id "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" matcher"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("send"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"xxxx"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 将消息id添加入撤回队列")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 将在10秒后撤回该消息")]),s._v("\nwithdraw_message_manager"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("append"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("msg_id"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("10")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 快捷处理从配置文件中的消息撤回设置")]),s._v("\nwithdraw_message_manager"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("withdraw_message"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("event"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" msg_id"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("[")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"message_id"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("]")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" Config"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("get_config"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"coser"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"WITHDRAW_COS_MESSAGE"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br"),t("span",{staticClass:"line-number"},[s._v("2")]),t("br"),t("span",{staticClass:"line-number"},[s._v("3")]),t("br"),t("span",{staticClass:"line-number"},[s._v("4")]),t("br"),t("span",{staticClass:"line-number"},[s._v("5")]),t("br"),t("span",{staticClass:"line-number"},[s._v("6")]),t("br"),t("span",{staticClass:"line-number"},[s._v("7")]),t("br"),t("span",{staticClass:"line-number"},[s._v("8")]),t("br"),t("span",{staticClass:"line-number"},[s._v("9")]),t("br"),t("span",{staticClass:"line-number"},[s._v("10")]),t("br"),t("span",{staticClass:"line-number"},[s._v("11")]),t("br"),t("span",{staticClass:"line-number"},[s._v("12")]),t("br"),t("span",{staticClass:"line-number"},[s._v("13")]),t("br"),t("span",{staticClass:"line-number"},[s._v("14")]),t("br")])]),t("h2",{attrs:{id:"全局字典"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#全局字典"}},[s._v("#")]),s._v(" 全局字典")]),s._v(" "),t("p",[s._v("用于一些通用调用,不同插件可以通过此字典传递数据")]),s._v(" "),t("div",{staticClass:"language-python line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-python"}},[t("code",[t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 已占用的key")]),s._v("\n\nGDict"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("[")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v("'run_sql'")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("]")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" List"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("[")]),t("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("str")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("]")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 启动时需要执行的sql语句")]),s._v("\n\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br"),t("span",{staticClass:"line-number"},[s._v("2")]),t("br"),t("span",{staticClass:"line-number"},[s._v("3")]),t("br"),t("span",{staticClass:"line-number"},[s._v("4")]),t("br")])])])}),[],!1,null,null,null);t.default=e.exports}}]); \ No newline at end of file diff --git a/assets/js/20.4da056d2.js b/assets/js/20.4da056d2.js deleted file mode 100644 index 9cf4776f5..000000000 --- a/assets/js/20.4da056d2.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[20],{623:function(s,t,a){"use strict";a.r(t);var n=a(12),r=Object(n.a)({},(function(){var s=this,t=s.$createElement,a=s._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":s.$parent.slotKey}},[a("h1",{attrs:{id:"添加商品和对应使用方法"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#添加商品和对应使用方法"}},[s._v("#")]),s._v(" 添加商品和对应使用方法")]),s._v(" "),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"title"}),a("p",[s._v("在不修改shop插件代码的情况,添加商品和对应生效方法")])]),a("h2",{attrs:{id:"导入方法1-不推荐"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#导入方法1-不推荐"}},[s._v("#")]),s._v(" 导入方法1(不推荐)")]),s._v(" "),a("div",{staticClass:"language-python line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-python"}},[a("code",[s._v("\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 该导入方式可能由于插件加载顺序先后问题导致出错!!")]),s._v("\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# use 提供了一个方法")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# use.register_use(goods_name: str, **kwargs) : 注册插件使用方法")]),s._v("\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# shop提供了三个方法")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("#")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 注册商品")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# register_goods(")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# name: str, # 商品名称")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# price: int, # 商品价格")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# des: str, # 商品简介")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# discount: Optional[float] = 1, # 商品折扣")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# limit_time: Optional[int] = 0, # 商品限时")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# daily_limit: Optional[int] = 0, # 每日次数购买限制")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# is_passive: Optional[int] = 0, # 是否为被动道具(无法主动使用)")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# icon: Optional[int] = 0, # 图标,路径为 resources/shop_icon")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# **kwargs,")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# )")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 删除商品")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# delete_goods(name: str, id_: int)")]),s._v("\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 更新商品")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# update_goods(**kwargs)")]),s._v("\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 导入添加商品的(使用require)")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("from")]),s._v(" nonebot"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("plugin "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("import")]),s._v(" require\n\nuse "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" require"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"use"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\nshop "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" require"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"shop_handle"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("from")]),s._v(" basic_plugins"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("shop"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("use"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("data_source "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("import")]),s._v(" register_use"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" func_manager\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("from")]),s._v(" basic_plugins"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("shop"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("shop_handle"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("data_source "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("import")]),s._v(" register_goods\n\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br"),a("span",{staticClass:"line-number"},[s._v("2")]),a("br"),a("span",{staticClass:"line-number"},[s._v("3")]),a("br"),a("span",{staticClass:"line-number"},[s._v("4")]),a("br"),a("span",{staticClass:"line-number"},[s._v("5")]),a("br"),a("span",{staticClass:"line-number"},[s._v("6")]),a("br"),a("span",{staticClass:"line-number"},[s._v("7")]),a("br"),a("span",{staticClass:"line-number"},[s._v("8")]),a("br"),a("span",{staticClass:"line-number"},[s._v("9")]),a("br"),a("span",{staticClass:"line-number"},[s._v("10")]),a("br"),a("span",{staticClass:"line-number"},[s._v("11")]),a("br"),a("span",{staticClass:"line-number"},[s._v("12")]),a("br"),a("span",{staticClass:"line-number"},[s._v("13")]),a("br"),a("span",{staticClass:"line-number"},[s._v("14")]),a("br"),a("span",{staticClass:"line-number"},[s._v("15")]),a("br"),a("span",{staticClass:"line-number"},[s._v("16")]),a("br"),a("span",{staticClass:"line-number"},[s._v("17")]),a("br"),a("span",{staticClass:"line-number"},[s._v("18")]),a("br"),a("span",{staticClass:"line-number"},[s._v("19")]),a("br"),a("span",{staticClass:"line-number"},[s._v("20")]),a("br"),a("span",{staticClass:"line-number"},[s._v("21")]),a("br"),a("span",{staticClass:"line-number"},[s._v("22")]),a("br"),a("span",{staticClass:"line-number"},[s._v("23")]),a("br"),a("span",{staticClass:"line-number"},[s._v("24")]),a("br"),a("span",{staticClass:"line-number"},[s._v("25")]),a("br"),a("span",{staticClass:"line-number"},[s._v("26")]),a("br"),a("span",{staticClass:"line-number"},[s._v("27")]),a("br"),a("span",{staticClass:"line-number"},[s._v("28")]),a("br"),a("span",{staticClass:"line-number"},[s._v("29")]),a("br"),a("span",{staticClass:"line-number"},[s._v("30")]),a("br"),a("span",{staticClass:"line-number"},[s._v("31")]),a("br"),a("span",{staticClass:"line-number"},[s._v("32")]),a("br"),a("span",{staticClass:"line-number"},[s._v("33")]),a("br"),a("span",{staticClass:"line-number"},[s._v("34")]),a("br"),a("span",{staticClass:"line-number"},[s._v("35")]),a("br")])]),a("h2",{attrs:{id:"导入方法2-推荐"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#导入方法2-推荐"}},[s._v("#")]),s._v(" 导入方法2(推荐)")]),s._v(" "),a("div",{staticClass:"language-python line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-python"}},[a("code",[s._v("\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("from")]),s._v(" utils"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("decorator"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("shop "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("import")]),s._v(" shop_register\n\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br"),a("span",{staticClass:"line-number"},[s._v("2")]),a("br"),a("span",{staticClass:"line-number"},[s._v("3")]),a("br")])]),a("h2",{attrs:{id:"参数说明"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#参数说明"}},[s._v("#")]),s._v(" 参数说明")]),s._v(" "),a("div",{staticClass:"language-python line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-python"}},[a("code",[s._v("\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 注册道具方法(以下均为默认值)")]),s._v("\nregister_goods"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("\n name"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("str")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 商品名称")]),s._v("\n price"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("int")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 商品价格")]),s._v("\n des"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("str")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 商品简介")]),s._v("\n discount"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" Optional"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("[")]),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("float")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("]")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[s._v("1")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 商品折扣")]),s._v("\n limit_time"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" Optional"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("[")]),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("int")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("]")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[s._v("0")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 商品限时")]),s._v("\n daily_limit"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" Optional"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("[")]),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("int")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("]")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[s._v("0")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 每日次数购买限制")]),s._v("\n load_status"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("bool")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token boolean"}},[s._v("True")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 每日次数购买限制")]),s._v("\n is_passive"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("bool")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token boolean"}},[s._v("False")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 是否为被动道具(无法主动使用)")]),s._v("\n icon"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("str")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token boolean"}},[s._v("None")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 图标,路径为 resources/image/shop_icon")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("**")]),s._v("kwargs"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# kwargs中的特殊key(以下为默认值)")]),s._v("\nkwargs"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("[")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"max_num_limit"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("]")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[s._v("1")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 设置单次使用最大数量,默认为1")]),s._v("\nkwargs"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("[")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"send_success_msg"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("]")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token boolean"}},[s._v("True")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 是否发送基础的使用道具提示,默认提示")]),s._v("\n\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 例子")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 注册好感度加持卡")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("await")]),s._v(" register_goods"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"好感度双倍加持卡Ⅰ"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[s._v("30")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"下次签到双倍好感度概率 + 10%(谁才是真命天子?)(同类商品将覆盖)"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("**")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"prob"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[s._v("0.1")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 道具使用前函数(非必要,仅在需要时注册)")]),s._v("\nshop_register"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("before_handle"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("\n name"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" Union"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("[")]),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("str")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" Tuple"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("[")]),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("str")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("]")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("]")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 道具名称")]),s._v("\n load_status"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("bool")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token boolean"}},[s._v("True")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 加载状态")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 道具使用后函数(非必要,仅在需要时注册)")]),s._v("\nshop_register"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("after_handle"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("\n name"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" Union"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("[")]),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("str")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" Tuple"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("[")]),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("str")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("]")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("]")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 道具名称")]),s._v("\n load_status"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("bool")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token boolean"}},[s._v("True")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 加载状态")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 道具生效方法,使用前方法,使用后方法,参数的获取方法三种函数均相同")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 更推荐第二种和第三种方式")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 第一种")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("async")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("def")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[s._v("sign_card")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("**")]),s._v("kwargs"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("\n goods_name "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" kwargs"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("get"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("'goods_name'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 所有方法中都会含有goods_name")]),s._v("\n user_id "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" kwargs"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("get"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("'user_id'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 所有方法中都会含有user_id")]),s._v("\n group_id "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" kwargs"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("get"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("'group_id'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 所有方法中都会含有group_id")]),s._v("\n bot "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" kwargs"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("get"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("'_bot'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 所有方法中都会含有bot")]),s._v("\n event "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" kwargs"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("get"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("'event'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 所有方法中都会含有event")]),s._v("\n num "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" kwargs"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("get"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("'num'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 所有方法中道具单次使用数量")]),s._v("\n text "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" kwargs"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("get"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("'text'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 所有方法中附带的纯文本信息")]),s._v("\n message "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" kwargs"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("get"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("'message'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# event.message(可以获取at,图片等) ")]),s._v("\n prob "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" kwargs"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("get"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("'prob'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# prob为自己定义传递的值")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 处理逻辑")]),s._v("\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 第二种")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("async")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("def")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[s._v("sign_card")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("goods_name"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("str")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" user_id"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("int")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" group_id"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("int")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" num"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("int")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" bot"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" Bot"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" event"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" Event"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" text"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("str")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" message"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" Message"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" prob"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("float")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" \n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("print")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token string-interpolation"}},[a("span",{pre:!0,attrs:{class:"token string"}},[s._v("f'")]),a("span",{pre:!0,attrs:{class:"token interpolation"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("user_id"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")])]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("用了")]),a("span",{pre:!0,attrs:{class:"token interpolation"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("num"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")])]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("个")]),a("span",{pre:!0,attrs:{class:"token interpolation"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("goods_name"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")])]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("'")])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 处理逻辑")]),s._v("\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 第三种")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("from")]),s._v(" utils"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("models "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("import")]),s._v(" ShopParam\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("async")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("def")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[s._v("sign_card")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("shop_param"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" ShopParam"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" \n goods_name "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" shop_param"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("goods_name\n user_id "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" shop_param"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("user_id\n group_id "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" shop_param"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("group_id\n bot "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" shop_param"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("bot\n event "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" shop_param"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("event\n num "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" shop_param"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("num\n text "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" shop_param"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("text\n message "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" shop_param"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("message\n prob "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" shop_param"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("prob "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# prob为自己定义传递的值")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 处理逻辑")]),s._v("\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 特别提醒!")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 道具使用前方法可以通过抛出异常来阻断使用并回复内容")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("from")]),s._v(" utils"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("decorator"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("shop "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("import")]),s._v(" NotMeetUseConditionsException\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("async")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("def")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[s._v("before_handle")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("user_id"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("int")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" \n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("print")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token string-interpolation"}},[a("span",{pre:!0,attrs:{class:"token string"}},[s._v("f'")]),a("span",{pre:!0,attrs:{class:"token interpolation"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("user_id"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")])]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("太笨了!不准使用道具!'")])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("raise")]),s._v(" NotMeetUseConditionsException"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"小真寻嫌弃你!"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 消息内容 Union[str, MessageSegment, Message]")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 处理逻辑")]),s._v("\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br"),a("span",{staticClass:"line-number"},[s._v("2")]),a("br"),a("span",{staticClass:"line-number"},[s._v("3")]),a("br"),a("span",{staticClass:"line-number"},[s._v("4")]),a("br"),a("span",{staticClass:"line-number"},[s._v("5")]),a("br"),a("span",{staticClass:"line-number"},[s._v("6")]),a("br"),a("span",{staticClass:"line-number"},[s._v("7")]),a("br"),a("span",{staticClass:"line-number"},[s._v("8")]),a("br"),a("span",{staticClass:"line-number"},[s._v("9")]),a("br"),a("span",{staticClass:"line-number"},[s._v("10")]),a("br"),a("span",{staticClass:"line-number"},[s._v("11")]),a("br"),a("span",{staticClass:"line-number"},[s._v("12")]),a("br"),a("span",{staticClass:"line-number"},[s._v("13")]),a("br"),a("span",{staticClass:"line-number"},[s._v("14")]),a("br"),a("span",{staticClass:"line-number"},[s._v("15")]),a("br"),a("span",{staticClass:"line-number"},[s._v("16")]),a("br"),a("span",{staticClass:"line-number"},[s._v("17")]),a("br"),a("span",{staticClass:"line-number"},[s._v("18")]),a("br"),a("span",{staticClass:"line-number"},[s._v("19")]),a("br"),a("span",{staticClass:"line-number"},[s._v("20")]),a("br"),a("span",{staticClass:"line-number"},[s._v("21")]),a("br"),a("span",{staticClass:"line-number"},[s._v("22")]),a("br"),a("span",{staticClass:"line-number"},[s._v("23")]),a("br"),a("span",{staticClass:"line-number"},[s._v("24")]),a("br"),a("span",{staticClass:"line-number"},[s._v("25")]),a("br"),a("span",{staticClass:"line-number"},[s._v("26")]),a("br"),a("span",{staticClass:"line-number"},[s._v("27")]),a("br"),a("span",{staticClass:"line-number"},[s._v("28")]),a("br"),a("span",{staticClass:"line-number"},[s._v("29")]),a("br"),a("span",{staticClass:"line-number"},[s._v("30")]),a("br"),a("span",{staticClass:"line-number"},[s._v("31")]),a("br"),a("span",{staticClass:"line-number"},[s._v("32")]),a("br"),a("span",{staticClass:"line-number"},[s._v("33")]),a("br"),a("span",{staticClass:"line-number"},[s._v("34")]),a("br"),a("span",{staticClass:"line-number"},[s._v("35")]),a("br"),a("span",{staticClass:"line-number"},[s._v("36")]),a("br"),a("span",{staticClass:"line-number"},[s._v("37")]),a("br"),a("span",{staticClass:"line-number"},[s._v("38")]),a("br"),a("span",{staticClass:"line-number"},[s._v("39")]),a("br"),a("span",{staticClass:"line-number"},[s._v("40")]),a("br"),a("span",{staticClass:"line-number"},[s._v("41")]),a("br"),a("span",{staticClass:"line-number"},[s._v("42")]),a("br"),a("span",{staticClass:"line-number"},[s._v("43")]),a("br"),a("span",{staticClass:"line-number"},[s._v("44")]),a("br"),a("span",{staticClass:"line-number"},[s._v("45")]),a("br"),a("span",{staticClass:"line-number"},[s._v("46")]),a("br"),a("span",{staticClass:"line-number"},[s._v("47")]),a("br"),a("span",{staticClass:"line-number"},[s._v("48")]),a("br"),a("span",{staticClass:"line-number"},[s._v("49")]),a("br"),a("span",{staticClass:"line-number"},[s._v("50")]),a("br"),a("span",{staticClass:"line-number"},[s._v("51")]),a("br"),a("span",{staticClass:"line-number"},[s._v("52")]),a("br"),a("span",{staticClass:"line-number"},[s._v("53")]),a("br"),a("span",{staticClass:"line-number"},[s._v("54")]),a("br"),a("span",{staticClass:"line-number"},[s._v("55")]),a("br"),a("span",{staticClass:"line-number"},[s._v("56")]),a("br"),a("span",{staticClass:"line-number"},[s._v("57")]),a("br"),a("span",{staticClass:"line-number"},[s._v("58")]),a("br"),a("span",{staticClass:"line-number"},[s._v("59")]),a("br"),a("span",{staticClass:"line-number"},[s._v("60")]),a("br"),a("span",{staticClass:"line-number"},[s._v("61")]),a("br"),a("span",{staticClass:"line-number"},[s._v("62")]),a("br"),a("span",{staticClass:"line-number"},[s._v("63")]),a("br"),a("span",{staticClass:"line-number"},[s._v("64")]),a("br"),a("span",{staticClass:"line-number"},[s._v("65")]),a("br"),a("span",{staticClass:"line-number"},[s._v("66")]),a("br"),a("span",{staticClass:"line-number"},[s._v("67")]),a("br"),a("span",{staticClass:"line-number"},[s._v("68")]),a("br"),a("span",{staticClass:"line-number"},[s._v("69")]),a("br"),a("span",{staticClass:"line-number"},[s._v("70")]),a("br"),a("span",{staticClass:"line-number"},[s._v("71")]),a("br"),a("span",{staticClass:"line-number"},[s._v("72")]),a("br"),a("span",{staticClass:"line-number"},[s._v("73")]),a("br"),a("span",{staticClass:"line-number"},[s._v("74")]),a("br"),a("span",{staticClass:"line-number"},[s._v("75")]),a("br"),a("span",{staticClass:"line-number"},[s._v("76")]),a("br"),a("span",{staticClass:"line-number"},[s._v("77")]),a("br"),a("span",{staticClass:"line-number"},[s._v("78")]),a("br"),a("span",{staticClass:"line-number"},[s._v("79")]),a("br"),a("span",{staticClass:"line-number"},[s._v("80")]),a("br"),a("span",{staticClass:"line-number"},[s._v("81")]),a("br"),a("span",{staticClass:"line-number"},[s._v("82")]),a("br")])]),s._v(" "),a("h2",{attrs:{id:"注册商品和生效方法"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#注册商品和生效方法"}},[s._v("#")]),s._v(" 注册商品和生效方法")]),s._v(" "),a("p",[s._v("可以直接注册商品和对应使用函数以及道具使用前,使用后函数")]),s._v(" "),a("div",{staticClass:"language-python line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-python"}},[a("code",[s._v("\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 定义商品对应使用方法与方法一无异,含有三种形式,这里使用推荐的第二种形式")]),s._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("from")]),s._v(" utils"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("decorator"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("shop "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("import")]),s._v(" shop_register\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 注册单个商品")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token decorator annotation punctuation"}},[s._v("@shop_register")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("\n name"),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"好感度双倍加持卡Ⅰ"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n price"),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),a("span",{pre:!0,attrs:{class:"token number"}},[s._v("30")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n des"),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"下次签到双倍好感度概率 + 10%(谁才是真命天子?)(同类商品将覆盖)"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n load_status"),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),a("span",{pre:!0,attrs:{class:"token boolean"}},[s._v("True")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 加载状态,控制是否导入该道具,默认值为 True")]),s._v("\n daily_limit"),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),a("span",{pre:!0,attrs:{class:"token number"}},[s._v("1")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 每日购买次数限制,默认值为 1")]),s._v("\n is_passive"),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),a("span",{pre:!0,attrs:{class:"token boolean"}},[s._v("False")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 是否为被动道具,被动道具无法被主动使用,默认值为 False")]),s._v("\n icon"),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"favorability_card_1.png"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 道具图标,路径在 resources/image/shop_icon 下,往该文件夹添加图片即可")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("**")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"prob"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[s._v("0.1")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# s")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("async")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("def")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[s._v("sign_card")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("user_id"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("int")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" group_id"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("int")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" prob"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("float")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" \n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("print")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token string-interpolation"}},[a("span",{pre:!0,attrs:{class:"token string"}},[s._v('f"')]),a("span",{pre:!0,attrs:{class:"token interpolation"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("user_id"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")])]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('的好感度加持卡生效咯..."')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 处理逻辑")]),s._v("\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 注册多个商品,即多个商品使用相同的处理函数")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 这时参数类型将由字符串转为元祖")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 每个商品拥有各自的数据")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v('# 自定义参数需要使用 {f"{name}_xxx": value} 的形式')]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token decorator annotation punctuation"}},[s._v("@shop_register")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("\n name"),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"好感度双倍加持卡Ⅰ"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"好感度双倍加持卡Ⅱ"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"好感度双倍加持卡Ⅲ"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n price"),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token number"}},[s._v("30")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[s._v("150")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[s._v("250")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n des"),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"下次签到双倍好感度概率 + 10%(谁才是真命天子?)(同类商品将覆盖)"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"下次签到双倍好感度概率 + 20%(平平庸庸)(同类商品将覆盖)"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"下次签到双倍好感度概率 + 30%(金币才是真命天子!)(同类商品将覆盖)"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n load_status"),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v("Config"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("get_config"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"shop"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"IMPORT_DEFAULT_SHOP_GOODS"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n daily_limit"),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token number"}},[s._v("10")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[s._v("20")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[s._v("30")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 每日购买次数限制")]),s._v("\n is_passive"),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token boolean"}},[s._v("True")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token boolean"}},[s._v("False")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token boolean"}},[s._v("True")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 第二个好感度卡为被动道具,无法主动使用")]),s._v("\n icon"),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"favorability_card_1.png"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"favorability_card_2.png"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"favorability_card_3.png"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("**")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"好感度双倍加持卡Ⅰ_prob"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[s._v("0.1")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"好感度双倍加持卡Ⅱ_prob"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[s._v("0.2")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"好感度双倍加持卡Ⅲ_prob"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[s._v("0.3")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("async")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("def")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[s._v("sign_card")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("user_id"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("int")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" group_id"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("int")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" prob"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("float")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("\n user "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("await")]),s._v(" SignGroupUser"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("ensure"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("user_id"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" group_id"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("await")]),s._v(" user"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("update"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("add_probability"),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v("prob"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("apply")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 注册多个商品,共用价格,简介,加载状态,是否被动,图标等等")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 其中 价格(price),简介(des),加载状态(load_status) 可不为元祖")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token decorator annotation punctuation"}},[s._v("@shop_register")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("\n name"),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"好感度双倍加持卡Ⅰ"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"好感度双倍加持卡Ⅱ"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"好感度双倍加持卡Ⅲ"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n price"),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),a("span",{pre:!0,attrs:{class:"token number"}},[s._v("30")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 等同于 (30, 30, 30)")]),s._v("\n des"),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"下次签到双倍好感度概率 + 10%(谁才是真命天子?)(同类商品将覆盖)"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n load_status"),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v("Config"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("get_config"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"shop"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"IMPORT_DEFAULT_SHOP_GOODS"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n is_passive"),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),a("span",{pre:!0,attrs:{class:"token boolean"}},[s._v("True")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n icon"),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"favorability_card_1.png"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("**")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"好感度双倍加持卡Ⅰ_prob"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[s._v("0.1")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"好感度双倍加持卡Ⅱ_prob"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[s._v("0.2")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"好感度双倍加持卡Ⅲ_prob"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[s._v("0.3")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("async")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("def")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[s._v("sign_card")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("user_id"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("int")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" group_id"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("int")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" prob"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("float")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("\n user "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("await")]),s._v(" SignGroupUser"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("ensure"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("user_id"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" group_id"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("await")]),s._v(" user"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("update"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("add_probability"),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v("prob"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("apply")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 道具使用前函数和使用后可以注册多个,会遍历执行,顺序为方法顺序,参数与生效方法参数一致可以通过参数名称获取")]),s._v("\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 道具使用前函数")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token decorator annotation punctuation"}},[s._v("@shop_register"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("before_handle")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("name"),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"测试道具A"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("async")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("def")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[s._v("_")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("user_id"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("int")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" group_id"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("int")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" goods_name"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("str")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("print")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token string-interpolation"}},[a("span",{pre:!0,attrs:{class:"token string"}},[s._v('f"有人要使用')]),a("span",{pre:!0,attrs:{class:"token interpolation"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("goods_name"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")])]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('道具咯,让我检查一下道具是否安全"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("from")]),s._v(" utils"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("decorator"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("shop "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("import")]),s._v(" NotMeetUseConditionsException\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 道具使用前函数")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token decorator annotation punctuation"}},[s._v("@shop_register"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("before_handle")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("name"),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"测试道具A"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("async")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("def")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[s._v("_")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("user_id"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("int")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" goods_name"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("str")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("if")]),s._v(" goods_name "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("==")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("'炸弹'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("print")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token string-interpolation"}},[a("span",{pre:!0,attrs:{class:"token string"}},[s._v('f"坏了!是炸弹!别让他使用!"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("raise")]),s._v(" NotMeetUseConditionsException"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"炸弹危险物品!不许用!"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 该消息将反馈给道具使用者")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 道具使用后函数")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token decorator annotation punctuation"}},[s._v("@shop_register"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("after_handle")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("name"),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"测试道具A"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("async")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("def")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[s._v("_")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("goods_name"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("str")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("print")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token string-interpolation"}},[a("span",{pre:!0,attrs:{class:"token string"}},[s._v("f'")]),a("span",{pre:!0,attrs:{class:"token interpolation"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("goods_name"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")])]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("这个道具已经使用完成啦'")])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 道具使用后函数")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token decorator annotation punctuation"}},[s._v("@shop_register"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("after_handle")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("name"),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"测试道具A"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("async")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("def")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[s._v("_")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("goods_name"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("str")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("print")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token string-interpolation"}},[a("span",{pre:!0,attrs:{class:"token string"}},[s._v("f'")]),a("span",{pre:!0,attrs:{class:"token interpolation"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("goods_name"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")])]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("这个道具已经使用完成啦(再一次!)'")])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br"),a("span",{staticClass:"line-number"},[s._v("2")]),a("br"),a("span",{staticClass:"line-number"},[s._v("3")]),a("br"),a("span",{staticClass:"line-number"},[s._v("4")]),a("br"),a("span",{staticClass:"line-number"},[s._v("5")]),a("br"),a("span",{staticClass:"line-number"},[s._v("6")]),a("br"),a("span",{staticClass:"line-number"},[s._v("7")]),a("br"),a("span",{staticClass:"line-number"},[s._v("8")]),a("br"),a("span",{staticClass:"line-number"},[s._v("9")]),a("br"),a("span",{staticClass:"line-number"},[s._v("10")]),a("br"),a("span",{staticClass:"line-number"},[s._v("11")]),a("br"),a("span",{staticClass:"line-number"},[s._v("12")]),a("br"),a("span",{staticClass:"line-number"},[s._v("13")]),a("br"),a("span",{staticClass:"line-number"},[s._v("14")]),a("br"),a("span",{staticClass:"line-number"},[s._v("15")]),a("br"),a("span",{staticClass:"line-number"},[s._v("16")]),a("br"),a("span",{staticClass:"line-number"},[s._v("17")]),a("br"),a("span",{staticClass:"line-number"},[s._v("18")]),a("br"),a("span",{staticClass:"line-number"},[s._v("19")]),a("br"),a("span",{staticClass:"line-number"},[s._v("20")]),a("br"),a("span",{staticClass:"line-number"},[s._v("21")]),a("br"),a("span",{staticClass:"line-number"},[s._v("22")]),a("br"),a("span",{staticClass:"line-number"},[s._v("23")]),a("br"),a("span",{staticClass:"line-number"},[s._v("24")]),a("br"),a("span",{staticClass:"line-number"},[s._v("25")]),a("br"),a("span",{staticClass:"line-number"},[s._v("26")]),a("br"),a("span",{staticClass:"line-number"},[s._v("27")]),a("br"),a("span",{staticClass:"line-number"},[s._v("28")]),a("br"),a("span",{staticClass:"line-number"},[s._v("29")]),a("br"),a("span",{staticClass:"line-number"},[s._v("30")]),a("br"),a("span",{staticClass:"line-number"},[s._v("31")]),a("br"),a("span",{staticClass:"line-number"},[s._v("32")]),a("br"),a("span",{staticClass:"line-number"},[s._v("33")]),a("br"),a("span",{staticClass:"line-number"},[s._v("34")]),a("br"),a("span",{staticClass:"line-number"},[s._v("35")]),a("br"),a("span",{staticClass:"line-number"},[s._v("36")]),a("br"),a("span",{staticClass:"line-number"},[s._v("37")]),a("br"),a("span",{staticClass:"line-number"},[s._v("38")]),a("br"),a("span",{staticClass:"line-number"},[s._v("39")]),a("br"),a("span",{staticClass:"line-number"},[s._v("40")]),a("br"),a("span",{staticClass:"line-number"},[s._v("41")]),a("br"),a("span",{staticClass:"line-number"},[s._v("42")]),a("br"),a("span",{staticClass:"line-number"},[s._v("43")]),a("br"),a("span",{staticClass:"line-number"},[s._v("44")]),a("br"),a("span",{staticClass:"line-number"},[s._v("45")]),a("br"),a("span",{staticClass:"line-number"},[s._v("46")]),a("br"),a("span",{staticClass:"line-number"},[s._v("47")]),a("br"),a("span",{staticClass:"line-number"},[s._v("48")]),a("br"),a("span",{staticClass:"line-number"},[s._v("49")]),a("br"),a("span",{staticClass:"line-number"},[s._v("50")]),a("br"),a("span",{staticClass:"line-number"},[s._v("51")]),a("br"),a("span",{staticClass:"line-number"},[s._v("52")]),a("br"),a("span",{staticClass:"line-number"},[s._v("53")]),a("br"),a("span",{staticClass:"line-number"},[s._v("54")]),a("br"),a("span",{staticClass:"line-number"},[s._v("55")]),a("br"),a("span",{staticClass:"line-number"},[s._v("56")]),a("br"),a("span",{staticClass:"line-number"},[s._v("57")]),a("br"),a("span",{staticClass:"line-number"},[s._v("58")]),a("br"),a("span",{staticClass:"line-number"},[s._v("59")]),a("br"),a("span",{staticClass:"line-number"},[s._v("60")]),a("br"),a("span",{staticClass:"line-number"},[s._v("61")]),a("br"),a("span",{staticClass:"line-number"},[s._v("62")]),a("br"),a("span",{staticClass:"line-number"},[s._v("63")]),a("br"),a("span",{staticClass:"line-number"},[s._v("64")]),a("br"),a("span",{staticClass:"line-number"},[s._v("65")]),a("br"),a("span",{staticClass:"line-number"},[s._v("66")]),a("br"),a("span",{staticClass:"line-number"},[s._v("67")]),a("br"),a("span",{staticClass:"line-number"},[s._v("68")]),a("br"),a("span",{staticClass:"line-number"},[s._v("69")]),a("br"),a("span",{staticClass:"line-number"},[s._v("70")]),a("br"),a("span",{staticClass:"line-number"},[s._v("71")]),a("br"),a("span",{staticClass:"line-number"},[s._v("72")]),a("br"),a("span",{staticClass:"line-number"},[s._v("73")]),a("br"),a("span",{staticClass:"line-number"},[s._v("74")]),a("br"),a("span",{staticClass:"line-number"},[s._v("75")]),a("br"),a("span",{staticClass:"line-number"},[s._v("76")]),a("br"),a("span",{staticClass:"line-number"},[s._v("77")]),a("br"),a("span",{staticClass:"line-number"},[s._v("78")]),a("br"),a("span",{staticClass:"line-number"},[s._v("79")]),a("br"),a("span",{staticClass:"line-number"},[s._v("80")]),a("br"),a("span",{staticClass:"line-number"},[s._v("81")]),a("br"),a("span",{staticClass:"line-number"},[s._v("82")]),a("br"),a("span",{staticClass:"line-number"},[s._v("83")]),a("br"),a("span",{staticClass:"line-number"},[s._v("84")]),a("br"),a("span",{staticClass:"line-number"},[s._v("85")]),a("br")])]),a("h2",{attrs:{id:"完整代码-方式一-看看参数就好了-不推荐啦"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#完整代码-方式一-看看参数就好了-不推荐啦"}},[s._v("#")]),s._v(" 完整代码(方式一,看看参数就好了,不推荐啦)")]),s._v(" "),a("div",{staticClass:"language-python line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-python"}},[a("code",[s._v("\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("######################################")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("## 示例:在Bot启动时导入商品和对应方法 ##")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("#####################################")]),s._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("from")]),s._v(" nonebot "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("import")]),s._v(" Driver\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("from")]),s._v(" nonebot"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("plugin "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("import")]),s._v(" require\n\ndriver"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" Driver "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" nonebot"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("get_driver"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n\n\nuse "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" require"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"use"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\nshop "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" require"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"shop_handle"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n\n"),a("span",{pre:!0,attrs:{class:"token decorator annotation punctuation"}},[s._v("@driver"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("on_startup")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("async")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("def")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[s._v("_")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 生效方法 方式一")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("async")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("def")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[s._v("sign_card")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("**")]),s._v("kwargs"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("\n goods_name "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" kwargs"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("[")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("'goods_name'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("]")]),s._v("\n user_id "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" kwargs"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("[")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("'user_id'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("]")]),s._v("\n group_id "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" kwargs"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("[")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("'group_id'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("]")]),s._v("\n prob "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" kwargs"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("[")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("'prob'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("]")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("print")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token string-interpolation"}},[a("span",{pre:!0,attrs:{class:"token string"}},[s._v('f"USER ')]),a("span",{pre:!0,attrs:{class:"token interpolation"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("user_id"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")])]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v(" GROUP ")]),a("span",{pre:!0,attrs:{class:"token interpolation"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("group_id"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")])]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v(" 这个道具:")]),a("span",{pre:!0,attrs:{class:"token interpolation"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("goods_name"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")])]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("使用成功了:")]),a("span",{pre:!0,attrs:{class:"token interpolation"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("prob"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")])]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# do something....")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 使用 bot 进行发送消息")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# bot = kwargs.get('_bot')")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v('# await bot.send_group_msg(group_id=group_id, message="这个道具生效了!")')]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("return")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"这个道具生效了!"')]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 返回值将作为提示内容输出,也可以返回None,在sign_card中使用bot发送消息")]),s._v("\n\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 生效方法 方式二")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("async")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("def")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[s._v("sign_card")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("goods_name"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("str")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" user_id"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("int")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" group_id"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("int")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" prob"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("float")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("print")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token string-interpolation"}},[a("span",{pre:!0,attrs:{class:"token string"}},[s._v('f"USER ')]),a("span",{pre:!0,attrs:{class:"token interpolation"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("user_id"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")])]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v(" GROUP ")]),a("span",{pre:!0,attrs:{class:"token interpolation"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("group_id"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")])]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v(" 这个道具:")]),a("span",{pre:!0,attrs:{class:"token interpolation"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("goods_name"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")])]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("使用成功了:")]),a("span",{pre:!0,attrs:{class:"token interpolation"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("prob"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")])]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# do something....")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("return")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"这个道具生效了!"')]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 返回值将作为提示内容输出,也可以返回None,在sign_card中使用bot发送消息")]),s._v("\n\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 生效方法 方式三")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("from")]),s._v(" utils"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("models "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("import")]),s._v(" ShopParam\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("async")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("def")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[s._v("sign_card")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("shop_param"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" ShopParam"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("\n goods_name "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" shop_param"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("goods_name\n user_id "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" shop_param"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("user_id\n group_id "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" shop_param"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("group_id\n prob "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" shop_param"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("prob\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("print")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token string-interpolation"}},[a("span",{pre:!0,attrs:{class:"token string"}},[s._v('f"USER ')]),a("span",{pre:!0,attrs:{class:"token interpolation"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("user_id"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")])]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v(" GROUP ")]),a("span",{pre:!0,attrs:{class:"token interpolation"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("group_id"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")])]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v(" 这个道具:")]),a("span",{pre:!0,attrs:{class:"token interpolation"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("goods_name"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")])]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("使用成功了:")]),a("span",{pre:!0,attrs:{class:"token interpolation"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("prob"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")])]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# do something....")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("return")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"这个道具生效了!"')]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 返回值将作为提示内容输出,也可以返回None,在sign_card中使用bot发送消息")]),s._v("\n \n\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 在数据库中注册商品数据")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("await")]),s._v(" shop"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("register_goods"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"好感度双倍加持卡Ⅰ"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[s._v("30")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"下次签到双倍好感度概率 + 10%(谁才是真命天子?)(同类商品将覆盖)"')]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 注册商品生效方法")]),s._v("\n use"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("register_use"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"好感度双倍加持卡Ⅰ"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" sign_card"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("**")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"max_num_limit"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[s._v("10")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 设置单次使用最大数量")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"send_success_msg"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token boolean"}},[s._v("False")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 不发送基础的使用道具提示")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"prob"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[s._v("0.1")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 自己传递的值,在函数中需要使用到")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br"),a("span",{staticClass:"line-number"},[s._v("2")]),a("br"),a("span",{staticClass:"line-number"},[s._v("3")]),a("br"),a("span",{staticClass:"line-number"},[s._v("4")]),a("br"),a("span",{staticClass:"line-number"},[s._v("5")]),a("br"),a("span",{staticClass:"line-number"},[s._v("6")]),a("br"),a("span",{staticClass:"line-number"},[s._v("7")]),a("br"),a("span",{staticClass:"line-number"},[s._v("8")]),a("br"),a("span",{staticClass:"line-number"},[s._v("9")]),a("br"),a("span",{staticClass:"line-number"},[s._v("10")]),a("br"),a("span",{staticClass:"line-number"},[s._v("11")]),a("br"),a("span",{staticClass:"line-number"},[s._v("12")]),a("br"),a("span",{staticClass:"line-number"},[s._v("13")]),a("br"),a("span",{staticClass:"line-number"},[s._v("14")]),a("br"),a("span",{staticClass:"line-number"},[s._v("15")]),a("br"),a("span",{staticClass:"line-number"},[s._v("16")]),a("br"),a("span",{staticClass:"line-number"},[s._v("17")]),a("br"),a("span",{staticClass:"line-number"},[s._v("18")]),a("br"),a("span",{staticClass:"line-number"},[s._v("19")]),a("br"),a("span",{staticClass:"line-number"},[s._v("20")]),a("br"),a("span",{staticClass:"line-number"},[s._v("21")]),a("br"),a("span",{staticClass:"line-number"},[s._v("22")]),a("br"),a("span",{staticClass:"line-number"},[s._v("23")]),a("br"),a("span",{staticClass:"line-number"},[s._v("24")]),a("br"),a("span",{staticClass:"line-number"},[s._v("25")]),a("br"),a("span",{staticClass:"line-number"},[s._v("26")]),a("br"),a("span",{staticClass:"line-number"},[s._v("27")]),a("br"),a("span",{staticClass:"line-number"},[s._v("28")]),a("br"),a("span",{staticClass:"line-number"},[s._v("29")]),a("br"),a("span",{staticClass:"line-number"},[s._v("30")]),a("br"),a("span",{staticClass:"line-number"},[s._v("31")]),a("br"),a("span",{staticClass:"line-number"},[s._v("32")]),a("br"),a("span",{staticClass:"line-number"},[s._v("33")]),a("br"),a("span",{staticClass:"line-number"},[s._v("34")]),a("br"),a("span",{staticClass:"line-number"},[s._v("35")]),a("br"),a("span",{staticClass:"line-number"},[s._v("36")]),a("br"),a("span",{staticClass:"line-number"},[s._v("37")]),a("br"),a("span",{staticClass:"line-number"},[s._v("38")]),a("br"),a("span",{staticClass:"line-number"},[s._v("39")]),a("br"),a("span",{staticClass:"line-number"},[s._v("40")]),a("br"),a("span",{staticClass:"line-number"},[s._v("41")]),a("br"),a("span",{staticClass:"line-number"},[s._v("42")]),a("br"),a("span",{staticClass:"line-number"},[s._v("43")]),a("br"),a("span",{staticClass:"line-number"},[s._v("44")]),a("br"),a("span",{staticClass:"line-number"},[s._v("45")]),a("br"),a("span",{staticClass:"line-number"},[s._v("46")]),a("br"),a("span",{staticClass:"line-number"},[s._v("47")]),a("br"),a("span",{staticClass:"line-number"},[s._v("48")]),a("br"),a("span",{staticClass:"line-number"},[s._v("49")]),a("br"),a("span",{staticClass:"line-number"},[s._v("50")]),a("br"),a("span",{staticClass:"line-number"},[s._v("51")]),a("br"),a("span",{staticClass:"line-number"},[s._v("52")]),a("br"),a("span",{staticClass:"line-number"},[s._v("53")]),a("br"),a("span",{staticClass:"line-number"},[s._v("54")]),a("br"),a("span",{staticClass:"line-number"},[s._v("55")]),a("br"),a("span",{staticClass:"line-number"},[s._v("56")]),a("br"),a("span",{staticClass:"line-number"},[s._v("57")]),a("br"),a("span",{staticClass:"line-number"},[s._v("58")]),a("br")])]),a("h2",{attrs:{id:"完整代码-方式二-nice推荐"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#完整代码-方式二-nice推荐"}},[s._v("#")]),s._v(" 完整代码(方式二,NICE推荐)")]),s._v(" "),a("div",{staticClass:"language-python line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-python"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("from")]),s._v(" nonebot "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("import")]),s._v(" Driver\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("from")]),s._v(" utils"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("decorator"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("shop "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("import")]),s._v(" shop_register"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" NotMeetUseConditionsException\ndriver"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" Driver "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" nonebot"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("get_driver"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n\n\n"),a("span",{pre:!0,attrs:{class:"token decorator annotation punctuation"}},[s._v("@driver"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("on_startup")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("async")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("def")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[s._v("_")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("\n\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 注册单个")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token decorator annotation punctuation"}},[s._v("@shop_register")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("\n name"),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"好感度双倍加持卡Ⅰ"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n price"),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),a("span",{pre:!0,attrs:{class:"token number"}},[s._v("30")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n des"),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"下次签到双倍好感度概率 + 10%(谁才是真命天子?)(同类商品将覆盖)"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n load_status"),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),a("span",{pre:!0,attrs:{class:"token boolean"}},[s._v("True")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n daily_limit"),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),a("span",{pre:!0,attrs:{class:"token number"}},[s._v("100")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n icon"),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"favorability_card_1.png"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("**")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"prob"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[s._v("0.1")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("async")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("def")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[s._v("sign_card")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("goods_name"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("str")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" user_id"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("int")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" group_id"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("int")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" prob"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("float")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("print")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token string-interpolation"}},[a("span",{pre:!0,attrs:{class:"token string"}},[s._v('f"USER ')]),a("span",{pre:!0,attrs:{class:"token interpolation"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("user_id"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")])]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v(" GROUP ")]),a("span",{pre:!0,attrs:{class:"token interpolation"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("group_id"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")])]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v(" 这个道具:")]),a("span",{pre:!0,attrs:{class:"token interpolation"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("goods_name"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")])]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("使用成功了:")]),a("span",{pre:!0,attrs:{class:"token interpolation"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("prob"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")])]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# do something....")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("return")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"这个道具生效了!"')]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 返回值将作为提示内容输出,也可以返回None,在sign_card中使用bot发送消息")]),s._v("\n\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 道具使用前,使用后方法仅在需要时注册")]),s._v("\n\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 注册道具使用前函数")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token decorator annotation punctuation"}},[s._v("@shop_register"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("before_handle")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("name"),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"好感度双倍加持卡Ⅰ"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("async")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("def")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[s._v("_")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("user_id"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("int")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" group_id"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("int")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" goods_name"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("str")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("print")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"在使用之前,让我给你的道具检查一下发育健不健康"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("\n\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 注册道具使用前函数")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token decorator annotation punctuation"}},[s._v("@shop_register"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("before_handle")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("name"),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"好感度双倍加持卡Ⅰ"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("async")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("def")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[s._v("_")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("user_id"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("int")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" group_id"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("int")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" goods_name"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("str")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("\n user "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("await")]),s._v(" SignGroupUser"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("ensure"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("user_id"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" group_id"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("if")]),s._v(" user"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("impression "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("<")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[s._v("100")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("raise")]),s._v(" NotMeetUseConditionsException"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"你的好感度小于100,不准你使用好感度加持卡"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("await")]),s._v(" user"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("update"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("add_probability"),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v("prob"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("apply")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n\n "),a("span",{pre:!0,attrs:{class:"token decorator annotation punctuation"}},[s._v("@shop_register"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("after_handle")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("name"),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"测试道具A"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("async")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("def")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[s._v("_")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("print")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"用完了,味道不错"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("\n\n\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 注册多个")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token decorator annotation punctuation"}},[s._v("@shop_register")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("\n name"),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"好人卡"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"坏人卡"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n price"),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token number"}},[s._v("30")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[s._v("10")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n des"),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"这是好人卡"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"这是坏人卡"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n load_status"),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token boolean"}},[s._v("True")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token boolean"}},[s._v("False")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n daily_limit"),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token number"}},[s._v("10")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[s._v("20")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("**")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"好人卡_prob"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[s._v("0.1")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"坏人卡_prob"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[s._v("0.2")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("async")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("def")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[s._v("sign_card")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("goods_name"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("str")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" user_id"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("int")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" group_id"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("int")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" prob"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("float")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("print")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token string-interpolation"}},[a("span",{pre:!0,attrs:{class:"token string"}},[s._v('f"USER ')]),a("span",{pre:!0,attrs:{class:"token interpolation"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("user_id"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")])]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v(" GROUP ")]),a("span",{pre:!0,attrs:{class:"token interpolation"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("group_id"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")])]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v(" 这个道具:")]),a("span",{pre:!0,attrs:{class:"token interpolation"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("goods_name"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")])]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("使用成功了:")]),a("span",{pre:!0,attrs:{class:"token interpolation"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("prob"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")])]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# do something....")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("return")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"这个道具生效了!"')]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 返回值将作为提示内容输出,也可以返回None,在sign_card中使用bot发送消息")]),s._v("\n \n "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 一个道具使用前函数和使用后可以注册给多个商品")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 注册道具使用前函数")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token decorator annotation punctuation"}},[s._v("@shop_register"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("before_handle")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("name"),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"好人卡"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"坏人卡"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("async")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("def")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[s._v("_")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("user_id"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("int")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" group_id"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("int")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" goods_name"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("str")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("if")]),s._v(" goods_name "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("==")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("'好人卡'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("print")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("'滴,检测到好人卡'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("if")]),s._v(" goods_name "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("==")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("'坏人卡'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("print")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("'滴,检测到坏人卡'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("\n\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 注册道具使用前函数")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token decorator annotation punctuation"}},[s._v("@shop_register"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("before_handle")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("name"),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"好人卡"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"坏人卡"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("async")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("def")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[s._v("_")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("user_id"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("int")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" group_id"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("int")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" goods_name"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("str")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("if")]),s._v(" goods_name "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("==")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("'坏人卡'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("raise")]),s._v(" NotMeetUseConditionsException"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"你是坏人,抓起来"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n\n "),a("span",{pre:!0,attrs:{class:"token decorator annotation punctuation"}},[s._v("@shop_register"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("after_handle")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("name"),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"测试道具A"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("async")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("def")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[s._v("_")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("goods_name"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("str")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("if")]),s._v(" goods_name "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("==")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("'好人卡'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("print")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("'好人再见'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("\n\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br"),a("span",{staticClass:"line-number"},[s._v("2")]),a("br"),a("span",{staticClass:"line-number"},[s._v("3")]),a("br"),a("span",{staticClass:"line-number"},[s._v("4")]),a("br"),a("span",{staticClass:"line-number"},[s._v("5")]),a("br"),a("span",{staticClass:"line-number"},[s._v("6")]),a("br"),a("span",{staticClass:"line-number"},[s._v("7")]),a("br"),a("span",{staticClass:"line-number"},[s._v("8")]),a("br"),a("span",{staticClass:"line-number"},[s._v("9")]),a("br"),a("span",{staticClass:"line-number"},[s._v("10")]),a("br"),a("span",{staticClass:"line-number"},[s._v("11")]),a("br"),a("span",{staticClass:"line-number"},[s._v("12")]),a("br"),a("span",{staticClass:"line-number"},[s._v("13")]),a("br"),a("span",{staticClass:"line-number"},[s._v("14")]),a("br"),a("span",{staticClass:"line-number"},[s._v("15")]),a("br"),a("span",{staticClass:"line-number"},[s._v("16")]),a("br"),a("span",{staticClass:"line-number"},[s._v("17")]),a("br"),a("span",{staticClass:"line-number"},[s._v("18")]),a("br"),a("span",{staticClass:"line-number"},[s._v("19")]),a("br"),a("span",{staticClass:"line-number"},[s._v("20")]),a("br"),a("span",{staticClass:"line-number"},[s._v("21")]),a("br"),a("span",{staticClass:"line-number"},[s._v("22")]),a("br"),a("span",{staticClass:"line-number"},[s._v("23")]),a("br"),a("span",{staticClass:"line-number"},[s._v("24")]),a("br"),a("span",{staticClass:"line-number"},[s._v("25")]),a("br"),a("span",{staticClass:"line-number"},[s._v("26")]),a("br"),a("span",{staticClass:"line-number"},[s._v("27")]),a("br"),a("span",{staticClass:"line-number"},[s._v("28")]),a("br"),a("span",{staticClass:"line-number"},[s._v("29")]),a("br"),a("span",{staticClass:"line-number"},[s._v("30")]),a("br"),a("span",{staticClass:"line-number"},[s._v("31")]),a("br"),a("span",{staticClass:"line-number"},[s._v("32")]),a("br"),a("span",{staticClass:"line-number"},[s._v("33")]),a("br"),a("span",{staticClass:"line-number"},[s._v("34")]),a("br"),a("span",{staticClass:"line-number"},[s._v("35")]),a("br"),a("span",{staticClass:"line-number"},[s._v("36")]),a("br"),a("span",{staticClass:"line-number"},[s._v("37")]),a("br"),a("span",{staticClass:"line-number"},[s._v("38")]),a("br"),a("span",{staticClass:"line-number"},[s._v("39")]),a("br"),a("span",{staticClass:"line-number"},[s._v("40")]),a("br"),a("span",{staticClass:"line-number"},[s._v("41")]),a("br"),a("span",{staticClass:"line-number"},[s._v("42")]),a("br"),a("span",{staticClass:"line-number"},[s._v("43")]),a("br"),a("span",{staticClass:"line-number"},[s._v("44")]),a("br"),a("span",{staticClass:"line-number"},[s._v("45")]),a("br"),a("span",{staticClass:"line-number"},[s._v("46")]),a("br"),a("span",{staticClass:"line-number"},[s._v("47")]),a("br"),a("span",{staticClass:"line-number"},[s._v("48")]),a("br"),a("span",{staticClass:"line-number"},[s._v("49")]),a("br"),a("span",{staticClass:"line-number"},[s._v("50")]),a("br"),a("span",{staticClass:"line-number"},[s._v("51")]),a("br"),a("span",{staticClass:"line-number"},[s._v("52")]),a("br"),a("span",{staticClass:"line-number"},[s._v("53")]),a("br"),a("span",{staticClass:"line-number"},[s._v("54")]),a("br"),a("span",{staticClass:"line-number"},[s._v("55")]),a("br"),a("span",{staticClass:"line-number"},[s._v("56")]),a("br"),a("span",{staticClass:"line-number"},[s._v("57")]),a("br"),a("span",{staticClass:"line-number"},[s._v("58")]),a("br"),a("span",{staticClass:"line-number"},[s._v("59")]),a("br"),a("span",{staticClass:"line-number"},[s._v("60")]),a("br"),a("span",{staticClass:"line-number"},[s._v("61")]),a("br"),a("span",{staticClass:"line-number"},[s._v("62")]),a("br"),a("span",{staticClass:"line-number"},[s._v("63")]),a("br"),a("span",{staticClass:"line-number"},[s._v("64")]),a("br"),a("span",{staticClass:"line-number"},[s._v("65")]),a("br"),a("span",{staticClass:"line-number"},[s._v("66")]),a("br"),a("span",{staticClass:"line-number"},[s._v("67")]),a("br"),a("span",{staticClass:"line-number"},[s._v("68")]),a("br"),a("span",{staticClass:"line-number"},[s._v("69")]),a("br"),a("span",{staticClass:"line-number"},[s._v("70")]),a("br"),a("span",{staticClass:"line-number"},[s._v("71")]),a("br"),a("span",{staticClass:"line-number"},[s._v("72")]),a("br"),a("span",{staticClass:"line-number"},[s._v("73")]),a("br"),a("span",{staticClass:"line-number"},[s._v("74")]),a("br"),a("span",{staticClass:"line-number"},[s._v("75")]),a("br"),a("span",{staticClass:"line-number"},[s._v("76")]),a("br"),a("span",{staticClass:"line-number"},[s._v("77")]),a("br"),a("span",{staticClass:"line-number"},[s._v("78")]),a("br"),a("span",{staticClass:"line-number"},[s._v("79")]),a("br"),a("span",{staticClass:"line-number"},[s._v("80")]),a("br"),a("span",{staticClass:"line-number"},[s._v("81")]),a("br")])])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/21.1c80d565.js b/assets/js/21.1c80d565.js new file mode 100644 index 000000000..da9f3300e --- /dev/null +++ b/assets/js/21.1c80d565.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[21],{429:function(t,a,s){"use strict";s.r(a);var r=s(2),_=Object(r.a)({},(function(){var t=this,a=t._self._c;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h2",{attrs:{id:"群权限是什么"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#群权限是什么"}},[t._v("#")]),t._v(" 群权限是什么?")]),t._v(" "),a("p",[t._v("一个群对应的权限,可以使用对应权限以下的功能")]),t._v(" "),a("h2",{attrs:{id:"个人权限是什么"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#个人权限是什么"}},[t._v("#")]),t._v(" 个人权限是什么?")]),t._v(" "),a("p",[t._v("类似于群管理员,即真寻Bot的管理命令权限")]),t._v(" "),a("h2",{attrs:{id:"群认证是什么"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#群认证是什么"}},[t._v("#")]),t._v(" 群认证是什么?")]),t._v(" "),a("p",[t._v("类似群白名单,主要防止被强制拉群,被强制拉进群聊后发出警告且自动退出")]),t._v(" "),a("h2",{attrs:{id:"如何添加新的插件"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#如何添加新的插件"}},[t._v("#")]),t._v(" 如何添加新的插件?")]),t._v(" "),a("p",[t._v("可以直接放入plugins文件夹,但我建议将插件放入新文件夹,在bot.py中load_plugins,以免自动更新覆盖")]),t._v(" "),a("h2",{attrs:{id:"救命-最爱的色图数量只在100不会增加"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#救命-最爱的色图数量只在100不会增加"}},[t._v("#")]),t._v(" 救命!最爱的色图数量只在100不会增加")]),t._v(" "),a("p",[t._v("看多少存多少,例如发送:"),a("code",[t._v("色图原神")]),t._v(" 便会增加至多100张图片,色图越看越多,或者在配置中暂时关闭本地存储,全部采用网络请求")]),t._v(" "),a("h2",{attrs:{id:"为什么我网页截图的中文是字框框"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#为什么我网页截图的中文是字框框"}},[t._v("#")]),t._v(" 为什么我网页截图的中文是字框框?")]),t._v(" "),a("p",[t._v("即刻百度linux安装中文字体,安装后重启服务器")]),t._v(" "),a("h2",{attrs:{id:"为什么手动拉进群后真寻自动退群了"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#为什么手动拉进群后真寻自动退群了"}},[t._v("#")]),t._v(" 为什么手动拉进群后真寻自动退群了?")]),t._v(" "),a("p",[t._v("群认证问题,可以通过"),a("code",[t._v("同意群聊请求 id")]),t._v("来加群,或者先使用"),a("code",[t._v("添加群认证 group_id")]),t._v("后再手动拉群")]),t._v(" "),a("h2",{attrs:{id:"怎么屏蔽一个群-不让群使用所有功能"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#怎么屏蔽一个群-不让群使用所有功能"}},[t._v("#")]),t._v(" 怎么屏蔽一个群,不让群使用所有功能?")]),t._v(" "),a("p",[t._v("答:修改群权限为 "),a("code",[t._v("-1")])]),t._v(" "),a("h2",{attrs:{id:"救命-关了功能但是依旧可以使用"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#救命-关了功能但是依旧可以使用"}},[t._v("#")]),t._v(" 救命!关了功能但是依旧可以使用")]),t._v(" "),a("p",[t._v("答:超级用户不受权限控制")])])}),[],!1,null,null,null);a.default=_.exports}}]); \ No newline at end of file diff --git a/assets/js/21.953ab592.js b/assets/js/21.953ab592.js deleted file mode 100644 index 52a4950aa..000000000 --- a/assets/js/21.953ab592.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[21],{625:function(s,t,a){"use strict";a.r(t);var n=a(12),r=Object(n.a)({},(function(){var s=this,t=s.$createElement,a=s._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":s.$parent.slotKey}},[a("h1",{attrs:{id:"被动技能发送控制"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#被动技能发送控制"}},[s._v("#")]),s._v(" 被动技能发送控制")]),s._v(" "),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"title"}),a("p",[s._v("通过hook来阻断被动技能发送的信息")])]),a("h2",{attrs:{id:"被动技能"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#被动技能"}},[s._v("#")]),s._v(" 被动技能")]),s._v(" "),a("p",[s._v("一般为 "),a("strong",[s._v("主动发送消息")]),s._v(" ,不受真寻插件控制的定时任务或on_message等")]),s._v(" "),a("h2",{attrs:{id:"使用hook被动控制"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#使用hook被动控制"}},[s._v("#")]),s._v(" 使用hook被动控制")]),s._v(" "),a("ul",[a("li",[s._v("在消息添加特定字符为来达到阻断消息发送的目的")]),s._v(" "),a("li",[s._v("在权限为-1的群中不再需要手动发送“关闭全部被动”之类的命令")]),s._v(" "),a("li",[s._v("不需要写if,完全由hook来管理")])]),s._v(" "),a("h2",{attrs:{id:"定义被动技能"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#定义被动技能"}},[s._v("#")]),s._v(" 定义被动技能")]),s._v(" "),a("p",[s._v("使用标准定义一个被动,如果不明白如何定义请查看插件标准!")]),s._v(" "),a("div",{staticClass:"language-python line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-python"}},[a("code",[s._v("__plugin_task__ "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"genshin_alc"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"原神黄历提醒"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br")])]),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"title"}),a("p",[s._v("特定字符串:")]),s._v(" "),a("ul",[a("li",[s._v("[_task|{plugin_name}]]")])])]),a("h2",{attrs:{id:"栗子"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#栗子"}},[s._v("#")]),s._v(" 栗子")]),s._v(" "),a("div",{staticClass:"language-python line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-python"}},[a("code",[s._v("matcher"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("send"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"[[_task|genshin_alc]]"')]),s._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("+")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"这是原神黄历提醒的被动提醒"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br")])]),a("h2",{attrs:{id:"完整栗子"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#完整栗子"}},[s._v("#")]),s._v(" 完整栗子")]),s._v(" "),a("div",{staticClass:"language-python line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-python"}},[a("code",[a("span",{pre:!0,attrs:{class:"token decorator annotation punctuation"}},[s._v("@scheduler"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("scheduled_job")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"cron"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n hour"),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),a("span",{pre:!0,attrs:{class:"token number"}},[s._v("10")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n minute"),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),a("span",{pre:!0,attrs:{class:"token number"}},[s._v("25")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("async")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("def")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[s._v("_")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 每日提醒")]),s._v("\n bot "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" get_bot"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("if")]),s._v(" bot"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("\n gl "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("await")]),s._v(" bot"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("get_group_list"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n gl "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("[")]),s._v("g"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("[")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"group_id"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("]")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("for")]),s._v(" g "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("in")]),s._v(" gl"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("]")]),s._v("\n alc_img "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("await")]),s._v(" get_alc_image"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("ALC_PATH"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("if")]),s._v(" alc_img"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("\n mes "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"[[_task|genshin_alc]]"')]),s._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("+")]),s._v(" alc_img "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("+")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"\\n ※ 黄历数据来源于 genshin.pub"')]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("for")]),s._v(" gid "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("in")]),s._v(" gl"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("if")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("await")]),s._v(" group_manager"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("check_group_task_status"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("gid"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"genshin_alc"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("await")]),s._v(" bot"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("send_group_msg"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("group_id"),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("int")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("gid"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" message"),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('""')]),s._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("+")]),s._v(" mes"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br"),a("span",{staticClass:"line-number"},[s._v("2")]),a("br"),a("span",{staticClass:"line-number"},[s._v("3")]),a("br"),a("span",{staticClass:"line-number"},[s._v("4")]),a("br"),a("span",{staticClass:"line-number"},[s._v("5")]),a("br"),a("span",{staticClass:"line-number"},[s._v("6")]),a("br"),a("span",{staticClass:"line-number"},[s._v("7")]),a("br"),a("span",{staticClass:"line-number"},[s._v("8")]),a("br"),a("span",{staticClass:"line-number"},[s._v("9")]),a("br"),a("span",{staticClass:"line-number"},[s._v("10")]),a("br"),a("span",{staticClass:"line-number"},[s._v("11")]),a("br"),a("span",{staticClass:"line-number"},[s._v("12")]),a("br"),a("span",{staticClass:"line-number"},[s._v("13")]),a("br"),a("span",{staticClass:"line-number"},[s._v("14")]),a("br"),a("span",{staticClass:"line-number"},[s._v("15")]),a("br"),a("span",{staticClass:"line-number"},[s._v("16")]),a("br"),a("span",{staticClass:"line-number"},[s._v("17")]),a("br")])])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/22.0bdf6c54.js b/assets/js/22.0bdf6c54.js deleted file mode 100644 index 9c0b9bbb0..000000000 --- a/assets/js/22.0bdf6c54.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[22],{621:function(s,t,a){"use strict";a.r(t);var n=a(12),e=Object(n.a)({},(function(){var s=this,t=s.$createElement,a=s._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":s.$parent.slotKey}},[a("h1",{attrs:{id:"便捷工具-方法"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#便捷工具-方法"}},[s._v("#")]),s._v(" 便捷工具/方法")]),s._v(" "),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"title"}),a("p",[s._v("开发中一些便利的工具类或方法")])]),a("h2",{attrs:{id:"定时清理临时文件"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#定时清理临时文件"}},[s._v("#")]),s._v(" 定时清理临时文件")]),s._v(" "),a("p",[s._v("该方法可以将目标文件夹标记为临时文件文件夹,可以使用命令"),a("code",[s._v("清理临时文件")]),s._v("命令来清理"),a("br"),s._v("\n同时会在每日凌晨"),a("code",[s._v("1点")]),s._v("进行自动清理"),a("br"),s._v("\n并且不需要担心刚刚生成的文件还未使用就强行删除,只有大于"),a("code",[s._v("5")]),s._v("分钟的文件才会被清理掉")]),s._v(" "),a("div",{staticClass:"language-python line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-python"}},[a("code",[a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 使用 def add_temp_dir(self, path: Union[str, Path])")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 示例")]),s._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("from")]),s._v(" utils"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("manager "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("import")]),s._v(" resources_manager\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("from")]),s._v(" pathlib "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("import")]),s._v(" Path\n\nTEMP_PATH "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"D:\\\\zhenxun_bot\\\\resources\\\\temp"')]),s._v("\nIMAGE_PATH "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" Path"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("/")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"resources"')]),s._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("/")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"image"')]),s._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("/")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"temp"')]),s._v("\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 添加临时文件夹")]),s._v("\nresources_manager"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("add_temp_dir"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("TEMP_PATH"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n\nresources_manager"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("add_temp_dir"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("IMAGE_PATH"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br"),a("span",{staticClass:"line-number"},[s._v("2")]),a("br"),a("span",{staticClass:"line-number"},[s._v("3")]),a("br"),a("span",{staticClass:"line-number"},[s._v("4")]),a("br"),a("span",{staticClass:"line-number"},[s._v("5")]),a("br"),a("span",{staticClass:"line-number"},[s._v("6")]),a("br"),a("span",{staticClass:"line-number"},[s._v("7")]),a("br"),a("span",{staticClass:"line-number"},[s._v("8")]),a("br"),a("span",{staticClass:"line-number"},[s._v("9")]),a("br"),a("span",{staticClass:"line-number"},[s._v("10")]),a("br"),a("span",{staticClass:"line-number"},[s._v("11")]),a("br"),a("span",{staticClass:"line-number"},[s._v("12")]),a("br"),a("span",{staticClass:"line-number"},[s._v("13")]),a("br")])]),a("h2",{attrs:{id:"自动撤回"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#自动撤回"}},[s._v("#")]),s._v(" 自动撤回")]),s._v(" "),a("p",[s._v("真寻中已经包含了自动撤回的公共方法,只需要将"),a("code",[s._v("matcher.send")]),s._v("返回的message_id调用方法即可")]),s._v(" "),a("div",{staticClass:"language-python line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-python"}},[a("code",[a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 导入消息撤回管理")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("from")]),s._v(" utils"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("manager "),a("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("import")]),s._v(" withdraw_message_manager\n\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 获取消息id字典")]),s._v("\nmsg_id "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" matcher"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("send"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"xxxx"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 将消息id添加入撤回队列")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 将在10秒后撤回该消息")]),s._v("\nwithdraw_message_manager"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("append"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("msg_id"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[s._v("10")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 快捷处理从配置文件中的消息撤回设置")]),s._v("\nwithdraw_message_manager"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("withdraw_message"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("event"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" msg_id"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("[")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"message_id"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("]")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" Config"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("get_config"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"coser"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"WITHDRAW_COS_MESSAGE"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br"),a("span",{staticClass:"line-number"},[s._v("2")]),a("br"),a("span",{staticClass:"line-number"},[s._v("3")]),a("br"),a("span",{staticClass:"line-number"},[s._v("4")]),a("br"),a("span",{staticClass:"line-number"},[s._v("5")]),a("br"),a("span",{staticClass:"line-number"},[s._v("6")]),a("br"),a("span",{staticClass:"line-number"},[s._v("7")]),a("br"),a("span",{staticClass:"line-number"},[s._v("8")]),a("br"),a("span",{staticClass:"line-number"},[s._v("9")]),a("br"),a("span",{staticClass:"line-number"},[s._v("10")]),a("br"),a("span",{staticClass:"line-number"},[s._v("11")]),a("br"),a("span",{staticClass:"line-number"},[s._v("12")]),a("br"),a("span",{staticClass:"line-number"},[s._v("13")]),a("br"),a("span",{staticClass:"line-number"},[s._v("14")]),a("br")])]),a("h2",{attrs:{id:"全局字典"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#全局字典"}},[s._v("#")]),s._v(" 全局字典")]),s._v(" "),a("p",[s._v("用于一些通用调用,不同插件可以通过此字典传递数据")]),s._v(" "),a("div",{staticClass:"language-python line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-python"}},[a("code",[a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 已占用的key")]),s._v("\n\nGDict"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("[")]),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("'run_sql'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("]")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" List"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("[")]),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("str")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("]")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 启动时需要执行的sql语句")]),s._v("\n\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br"),a("span",{staticClass:"line-number"},[s._v("2")]),a("br"),a("span",{staticClass:"line-number"},[s._v("3")]),a("br"),a("span",{staticClass:"line-number"},[s._v("4")]),a("br")])])])}),[],!1,null,null,null);t.default=e.exports}}]); \ No newline at end of file diff --git a/assets/js/22.c06fad17.js b/assets/js/22.c06fad17.js new file mode 100644 index 000000000..a3a270c54 --- /dev/null +++ b/assets/js/22.c06fad17.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[22],{430:function(t,s,i){"use strict";i.r(s);var l=i(2),a=Object(l.a)({},(function(){var t=this._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"title"}),t("p",[this._v("使用文档仅仅包含此仓库的插件")])]),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"title"}),t("p",[this._v("插件会更新迭代,文档可能更新不及时"),t("br"),this._v("\n请以插件帮助为准")])]),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"title"}),t("p",[t("strong",[this._v("超级用户不受权限系统控制!")])])])])}),[],!1,null,null,null);s.default=a.exports}}]); \ No newline at end of file diff --git a/assets/js/23.3280fe28.js b/assets/js/23.3280fe28.js deleted file mode 100644 index a5e71fd50..000000000 --- a/assets/js/23.3280fe28.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[23],{624:function(t,a,s){"use strict";s.r(a);var r=s(12),_=Object(r.a)({},(function(){var t=this,a=t.$createElement,s=t._self._c||a;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[s("h2",{attrs:{id:"群权限是什么"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#群权限是什么"}},[t._v("#")]),t._v(" 群权限是什么?")]),t._v(" "),s("p",[t._v("一个群对应的权限,可以使用对应权限以下的功能")]),t._v(" "),s("h2",{attrs:{id:"个人权限是什么"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#个人权限是什么"}},[t._v("#")]),t._v(" 个人权限是什么?")]),t._v(" "),s("p",[t._v("类似于群管理员,即真寻Bot的管理命令权限")]),t._v(" "),s("h2",{attrs:{id:"群认证是什么"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#群认证是什么"}},[t._v("#")]),t._v(" 群认证是什么?")]),t._v(" "),s("p",[t._v("类似群白名单,主要防止被强制拉群,被强制拉进群聊后发出警告且自动退出")]),t._v(" "),s("h2",{attrs:{id:"如何添加新的插件"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#如何添加新的插件"}},[t._v("#")]),t._v(" 如何添加新的插件?")]),t._v(" "),s("p",[t._v("可以直接放入plugins文件夹,但我建议将插件放入新文件夹,在bot.py中load_plugins,以免自动更新覆盖")]),t._v(" "),s("h2",{attrs:{id:"救命-最爱的色图数量只在100不会增加"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#救命-最爱的色图数量只在100不会增加"}},[t._v("#")]),t._v(" 救命!最爱的色图数量只在100不会增加")]),t._v(" "),s("p",[t._v("看多少存多少,例如发送:"),s("code",[t._v("色图原神")]),t._v(" 便会增加至多100张图片,色图越看越多,或者在配置中暂时关闭本地存储,全部采用网络请求")]),t._v(" "),s("h2",{attrs:{id:"为什么我网页截图的中文是字框框"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#为什么我网页截图的中文是字框框"}},[t._v("#")]),t._v(" 为什么我网页截图的中文是字框框?")]),t._v(" "),s("p",[t._v("即刻百度linux安装中文字体,安装后重启服务器")]),t._v(" "),s("h2",{attrs:{id:"为什么手动拉进群后真寻自动退群了"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#为什么手动拉进群后真寻自动退群了"}},[t._v("#")]),t._v(" 为什么手动拉进群后真寻自动退群了?")]),t._v(" "),s("p",[t._v("群认证问题,可以通过"),s("code",[t._v("同意群聊请求 id")]),t._v("来加群,或者先使用"),s("code",[t._v("添加群认证 group_id")]),t._v("后再手动拉群")]),t._v(" "),s("h2",{attrs:{id:"怎么屏蔽一个群-不让群使用所有功能"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#怎么屏蔽一个群-不让群使用所有功能"}},[t._v("#")]),t._v(" 怎么屏蔽一个群,不让群使用所有功能?")]),t._v(" "),s("p",[t._v("答:修改群权限为 "),s("code",[t._v("-1")])]),t._v(" "),s("h2",{attrs:{id:"救命-关了功能但是依旧可以使用"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#救命-关了功能但是依旧可以使用"}},[t._v("#")]),t._v(" 救命!关了功能但是依旧可以使用")]),t._v(" "),s("p",[t._v("答:超级用户不受权限控制")])])}),[],!1,null,null,null);a.default=_.exports}}]); \ No newline at end of file diff --git a/assets/js/23.deae5185.js b/assets/js/23.deae5185.js new file mode 100644 index 000000000..50937d865 --- /dev/null +++ b/assets/js/23.deae5185.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[23],{438:function(t,e,_){"use strict";_.r(e);var v=_(2),a=Object(v.a)({},(function(){var t=this,e=t._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("div",{staticClass:"custom-block tip"},[e("p",{staticClass:"title"}),e("p",[t._v("详细请查看真寻Bot的 “管理员帮助”")])]),e("h2",{attrs:{id:"管理员帮助"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#管理员帮助"}},[t._v("#")]),t._v(" 管理员帮助")]),t._v(" "),e("ul",[e("li",[e("strong",[t._v("模块")]),t._v(": "),e("code",[t._v("admin_help")])]),t._v(" "),e("li",[e("strong",[t._v("说明")]),t._v(":"),e("br"),t._v("\n管理员帮助总览")]),t._v(" "),e("li",[e("strong",[t._v("指令")]),t._v(":")])]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("权限")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),e("tbody",[e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("管理员帮助")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("管理员帮助")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("None")])])])]),t._v(" "),e("h2",{attrs:{id:"群功能开关管理"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#群功能开关管理"}},[t._v("#")]),t._v(" 群功能开关管理")]),t._v(" "),e("ul",[e("li",[e("strong",[t._v("模块")]),t._v(": "),e("code",[t._v("switch_rule")])]),t._v(" "),e("li",[e("strong",[t._v("说明")]),t._v(":"),e("br"),t._v("\n可以对群功能的开关进行设置,包括被动技能"),e("br"),t._v(" "),e("code",[t._v("此功能含有额外超级用户操作")])]),t._v(" "),e("li",[e("strong",[t._v("指令")]),t._v(":\n"),e("ul",[e("li",[t._v("开启/关闭:\n"),e("ul",[e("li",[e("code",[t._v("plugin_cmd: str")]),t._v(":插件名称或别名")])])])])])]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("权限")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),e("tbody",[e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("开启/关闭")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("plugin_cmd")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("2")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("开启色图"),e("br"),t._v("关闭色图")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("群功能开关,中间不要加空格!不要“开启 色图”")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("醒来")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("2")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("醒来")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("开启该群真寻的总开关")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("休息吧")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("2")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("休息吧")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("关闭该群真寻的总开关")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("开启/关闭全部功能")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("2")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("开启全部功能")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("开启/关闭该群的所有功能")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("群被动状态")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("2")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("群被动状态")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("查看当前被动技能开关状态")])])])]),t._v(" "),e("h2",{attrs:{id:"封禁用户"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#封禁用户"}},[t._v("#")]),t._v(" 封禁用户")]),t._v(" "),e("ul",[e("li",[e("strong",[t._v("模块")]),t._v(": "),e("code",[t._v("ban")])]),t._v(" "),e("li",[e("strong",[t._v("说明")]),t._v(":"),e("br"),t._v("\n封禁一个用户,该黑名单所有群共享"),e("br"),t._v("\n封禁对象的权限必须低于自身等级"),e("br"),t._v("\n.unban无法解封对用户封禁的管理员权限高于自身的封禁"),e("br"),t._v(" "),e("code",[t._v("此功能含有额外超级用户操作")])]),t._v(" "),e("li",[e("strong",[t._v("指令")]),t._v(":\n"),e("ul",[e("li",[t._v(".ban\n"),e("ul",[e("li",[e("code",[t._v("[at]")]),t._v(":at对象")]),t._v(" "),e("li",[e("code",[t._v("hour: Optional[int]")]),t._v(":可选,封禁时长(小时)")]),t._v(" "),e("li",[e("code",[t._v("minute: Optional[int]")]),t._v(":可选,封禁时长 (分钟)")])])]),t._v(" "),e("li",[t._v(".unban\n"),e("ul",[e("li",[e("code",[t._v("at")]),t._v(":at对象")])])])])])]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("权限")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),e("tbody",[e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v(".ban")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("[at]"),e("br"),t._v("hour"),e("br"),t._v("minute")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("5")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v(".ban @A"),e("br"),t._v(".ban @A 5 10")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("封禁用户,没有hour和minute则永久封禁")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v(".unban")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("[at]")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("5")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v(".unban @A")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("解封当前用户,使用该命令的管理员权限必须大于或等于使用.ban管理员的权限")])])])]),t._v(" "),e("h2",{attrs:{id:"自定义群欢迎消息"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#自定义群欢迎消息"}},[t._v("#")]),t._v(" 自定义群欢迎消息")]),t._v(" "),e("ul",[e("li",[e("strong",[t._v("模块")]),t._v(": "),e("code",[t._v("custom_welcome_message")])]),t._v(" "),e("li",[e("strong",[t._v("说明")]),t._v(":"),e("br"),t._v("\n新成员加入群的欢迎消息自定义"),e("br"),t._v("\n在文本中添加"),e("code",[t._v("[at]")]),t._v("用于确定是否艾特新成员")]),t._v(" "),e("li",[e("strong",[t._v("指令")]),t._v(":\n"),e("ul",[e("li",[t._v("自定义群欢迎消息\n"),e("ul",[e("li",[e("code",[t._v("msg: str")]),t._v(":文本和图片消息,文本和图片至少存在一样")])])])])])]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("权限")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),e("tbody",[e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("自定义群欢迎消息")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("msg")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("2")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("自定义群欢迎消息 等你好久了 [图片]")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("群欢迎消息")])])])]),t._v(" "),e("h2",{attrs:{id:"更新群组成员列表"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#更新群组成员列表"}},[t._v("#")]),t._v(" 更新群组成员列表")]),t._v(" "),e("ul",[e("li",[e("strong",[t._v("模块")]),t._v(": "),e("code",[t._v("update_group_member_info")])]),t._v(" "),e("li",[e("strong",[t._v("说明")]),t._v(":"),e("br"),t._v("\n更新群员信息,已经含有自动定时更新,一般来说不需要使用")]),t._v(" "),e("li",[e("strong",[t._v("指令")]),t._v(":")])]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("权限")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),e("tbody",[e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("更新群组成员列表")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("更新群组成员列表")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("None")])])])]),t._v(" "),e("h2",{attrs:{id:"群管理员变动监测"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#群管理员变动监测"}},[t._v("#")]),t._v(" 群管理员变动监测")]),t._v(" "),e("ul",[e("li",[e("strong",[t._v("模块")]),t._v(": "),e("code",[t._v("admin_config")])]),t._v(" "),e("li",[e("strong",[t._v("说明")]),t._v(":"),e("br"),t._v("\n自动设置和取消群管理员权限")])]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",{staticStyle:{"text-align":"center"}},[t._v("响应器")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),e("tbody",[e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("on_notice")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("监测群管理员变动,自动给予和收回权限")])])])]),t._v(" "),e("h2",{attrs:{id:"自动更新信息与权限"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#自动更新信息与权限"}},[t._v("#")]),t._v(" 自动更新信息与权限")]),t._v(" "),e("ul",[e("li",[e("p",[e("strong",[t._v("模块")]),t._v(": "),e("code",[t._v("timing_task")])])]),t._v(" "),e("li",[e("p",[e("strong",[t._v("说明")]),t._v(":"),e("br"),t._v("\n成员信息权限的自动更新")])]),t._v(" "),e("li",[e("p",[e("strong",[t._v("定时任务")]),t._v(":")])])]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",{staticStyle:{"text-align":"center"}},[t._v("名称")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("类型")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("时间")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),e("tbody",[e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("自动群员信息更新")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("cron")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("02:01")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("更新群员信息")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("群权限快速更新")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("interval")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("minutes=5")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("快速更新信息及权限")])])])])])}),[],!1,null,null,null);e.default=a.exports}}]); \ No newline at end of file diff --git a/assets/js/24.0a3aa4af.js b/assets/js/24.0a3aa4af.js deleted file mode 100644 index 910a66b05..000000000 --- a/assets/js/24.0a3aa4af.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[24],{622:function(t,s,i){"use strict";i.r(s);var l=i(12),a=Object(l.a)({},(function(){var t=this.$createElement,s=this._self._c||t;return s("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[s("div",{staticClass:"custom-block tip"},[s("p",{staticClass:"title"}),s("p",[this._v("使用文档仅仅包含此仓库的插件")])]),s("div",{staticClass:"custom-block tip"},[s("p",{staticClass:"title"}),s("p",[this._v("插件会更新迭代,文档可能更新不及时"),s("br"),this._v("\n请以插件帮助为准")])]),s("div",{staticClass:"custom-block tip"},[s("p",{staticClass:"title"}),s("p",[s("strong",[this._v("超级用户不受权限系统控制!")])])])])}),[],!1,null,null,null);s.default=a.exports}}]); \ No newline at end of file diff --git a/assets/js/24.30ad7117.js b/assets/js/24.30ad7117.js new file mode 100644 index 000000000..246f81767 --- /dev/null +++ b/assets/js/24.30ad7117.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[24],{435:function(t,e,_){"use strict";_.r(e);var v=_(2),n=Object(v.a)({},(function(){var t=this,e=t._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h2",{attrs:{id:"帮助"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#帮助"}},[t._v("#")]),t._v(" 帮助")]),t._v(" "),e("ul",[e("li",[e("strong",[t._v("模块")]),t._v(": "),e("code",[t._v("help")])]),t._v(" "),e("li",[e("strong",[t._v("群权限")]),t._v(" : "),e("code",[t._v("None")])]),t._v(" "),e("li",[e("strong",[t._v("说明")]),t._v(":"),e("br"),t._v("\n基本插件之一,图片形式的帮助插件")]),t._v(" "),e("li",[e("strong",[t._v("指令")]),t._v(":\n"),e("ul",[e("li",[t._v("帮助\n"),e("ul",[e("li",[e("code",[t._v("plugin_cmd: Optional[str]")]),t._v(":可选,功能名称或别名")])])])])])]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("权限")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),e("tbody",[e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("帮助")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("plugin_cmd")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("帮助"),e("br"),t._v("帮助色图")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("帮助插件,可以通过添加plugin_cmd来获取指定插件的帮助")])])])]),t._v(" "),e("h2",{attrs:{id:"签到"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#签到"}},[t._v("#")]),t._v(" 签到")]),t._v(" "),e("ul",[e("li",[e("strong",[t._v("模块")]),t._v(": "),e("code",[t._v("sign_in")])]),t._v(" "),e("li",[e("strong",[t._v("群权限")]),t._v(" : "),e("code",[t._v("5")])]),t._v(" "),e("li",[e("strong",[t._v("说明")]),t._v(":"),e("br"),t._v("\n普通的签到插件,可以获得好感度和金币,好感度和金币可以用作其他插件,是较为重要的插件")]),t._v(" "),e("li",[e("strong",[t._v("指令")]),t._v(":\n"),e("ul",[e("li",[t._v("签到\n"),e("ul",[e("li",[e("code",[t._v("all")]),t._v(": 可选,签到所有群")])])]),t._v(" "),e("li",[t._v("好感度排行\n"),e("ul",[e("li",[e("code",[t._v("num: int = 10")]),t._v(":可选,排行榜显示用户数量,至多50")])])]),t._v(" "),e("li",[t._v("好感度总榜\n"),e("ul",[e("li",[e("code",[t._v("_type: Optional[str]")]),t._v(":可选,通过“显示我”/“屏蔽我”来设置是否出现在榜单上")])])])])])]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("权限")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),e("tbody",[e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("签到")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v('?"all"')]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("签到"),e("br"),t._v("签到 all")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("普通的签到")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("我的签到/好感度")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("我的签到")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("查看自己的好感度")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("好感度排行")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("num")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("好感度排行")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("查看当前群的好感度排行,可以通过num来显示排行榜数量")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("好感度总榜")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("_type")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("好感度总榜"),e("br"),t._v("好感度总榜显示我")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("集合所有群的好感度总排行")])])])]),t._v(" "),e("h2",{attrs:{id:"昵称"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#昵称"}},[t._v("#")]),t._v(" 昵称")]),t._v(" "),e("ul",[e("li",[e("strong",[t._v("模块")]),t._v(": "),e("code",[t._v("nickname")])]),t._v(" "),e("li",[e("strong",[t._v("群权限")]),t._v(" : "),e("code",[t._v("None")])]),t._v(" "),e("li",[e("strong",[t._v("说明")]),t._v(":"),e("br"),t._v("\n昵称插件,贯穿整个项目的用户个人自定义昵称")]),t._v(" "),e("li",[e("strong",[t._v("指令")]),t._v(":\n"),e("ul",[e("li",[t._v("以后叫我\n"),e("ul",[e("li",[e("code",[t._v("nickname: str")]),t._v(":昵称")])])])])])]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("权限")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),e("tbody",[e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("以后叫我")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("nickname")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("以后叫我欧尼酱")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("养成第一步从互道昵称开始")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("我是谁")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("我是谁")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("考一考真寻还记不记的你的昵称")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("取消昵称")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("取消昵称")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("strong",[t._v("你伤害了真寻,逮捕!")])])])])]),t._v(" "),e("h2",{attrs:{id:"更新信息"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#更新信息"}},[t._v("#")]),t._v(" 更新信息")]),t._v(" "),e("ul",[e("li",[e("strong",[t._v("模块")]),t._v(": "),e("code",[t._v("update_info")])]),t._v(" "),e("li",[e("strong",[t._v("群权限")]),t._v(" : "),e("code",[t._v("5")])]),t._v(" "),e("li",[e("strong",[t._v("说明")]),t._v(":"),e("br"),t._v("\n发送更新完成后的更新日志信息图片")]),t._v(" "),e("li",[e("strong",[t._v("指令")]),t._v(":")])]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("权限")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),e("tbody",[e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("更新信息/更新日志")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("更新日志")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("None")])])])])])}),[],!1,null,null,null);e.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/25.58fb2299.js b/assets/js/25.58fb2299.js new file mode 100644 index 000000000..e28c47758 --- /dev/null +++ b/assets/js/25.58fb2299.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[25],{434:function(t,e,_){"use strict";_.r(e);var v=_(2),n=Object(v.a)({},(function(){var t=this,e=t._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h2",{attrs:{id:"好友群聊请求处理"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#好友群聊请求处理"}},[t._v("#")]),t._v(" 好友群聊请求处理")]),t._v(" "),e("ul",[e("li",[e("strong",[t._v("模块")]),t._v(": "),e("code",[t._v("auto_invite")])]),t._v(" "),e("li",[e("strong",[t._v("说明")]),t._v(":"),e("br"),t._v("\n好友请求,入群请求提醒,5分钟内不会提醒重复的请求(大概")])]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",{staticStyle:{"text-align":"center"}},[t._v("响应器")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),e("tbody",[e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("on_request")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("好友请求处理和收集")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("on_request")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("群聊请求处理,超级用户邀请会自动添加群认证")])])])]),t._v(" "),e("ul",[e("li",[e("strong",[t._v("定时任务")]),t._v(":")])]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",{staticStyle:{"text-align":"center"}},[t._v("名称")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("类型")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("时间")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),e("tbody",[e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("临时id清理")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("interval")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("minutes=5")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("清空临时id数据")])])])]),t._v(" "),e("h2",{attrs:{id:"群事件处理"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#群事件处理"}},[t._v("#")]),t._v(" 群事件处理")]),t._v(" "),e("ul",[e("li",[e("strong",[t._v("模块")]),t._v(": "),e("code",[t._v("group_handle")])]),t._v(" "),e("li",[e("strong",[t._v("说明")]),t._v(":"),e("br"),t._v("\n主要为新成员与退出成员数据的增删(真寻Bot被踢出时提醒),以及退群提醒和进群欢迎"),e("br"),t._v("\n进群欢迎提供 cd 限制,默认"),e("code",[t._v("5")]),t._v("秒"),e("br"),t._v("\n被强制拉群时会通过群认证退出该群")])]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",{staticStyle:{"text-align":"center"}},[t._v("响应器")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),e("tbody",[e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("on_notice")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("群成员新增处理,欢迎消息,新增数据,群认证检测")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("on_notice")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("群成员减少,退群提醒以及删除数据")])])])]),t._v(" "),e("h2",{attrs:{id:"定时任务"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#定时任务"}},[t._v("#")]),t._v(" 定时任务")]),t._v(" "),e("ul",[e("li",[e("strong",[t._v("模块")]),t._v(": "),e("code",[t._v("apscheduler")])]),t._v(" "),e("li",[e("strong",[t._v("说明")]),t._v(":"),e("br"),t._v("\n群内主要的定时任务,包括早晚安,自动更新群信息,好友信息等")]),t._v(" "),e("li",[e("strong",[t._v("定时任务")]),t._v(":")])]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",{staticStyle:{"text-align":"center"}},[t._v("名称")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("类型")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("时间")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),e("tbody",[e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("早安")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("cron")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("hour=6 minute=1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("每日"),e("code",[t._v("06:01")]),t._v("发送早安")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("晚安")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("cron")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("hour=23 minute=59")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("每日"),e("code",[t._v("23:59")]),t._v("发送晚安")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("群聊信息更新")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("cron")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("hour=3 minute=1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("每日"),e("code",[t._v("03:01")]),t._v("更新所有群聊信息")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("好友信息更新")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("cron")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("hour=3 minute=1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("每日"),e("code",[t._v("03:01")]),t._v("更新所有好友信息")])])])]),t._v(" "),e("h2",{attrs:{id:"权限检测"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#权限检测"}},[t._v("#")]),t._v(" 权限检测")]),t._v(" "),e("ul",[e("li",[e("strong",[t._v("模块")]),t._v(": "),e("code",[t._v("hooks")])]),t._v(" "),e("li",[e("strong",[t._v("说明")]),t._v(":"),e("br"),t._v("\n权限核心插件,所有权限检测必须的插件,非常重要")])]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",{staticStyle:{"text-align":"center"}},[t._v("模块")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("名称")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),e("tbody",[e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("auth_hook")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("插件权限检测")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("检测包括禁用,群权限,功能开关等权限检测")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("ban_hook")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("黑名单检测")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("黑名单权限检测")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("chkdsk_hook")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("恶意命令触发检测")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("检测是否连续重复快速调用同一种命令")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("limit_hook")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("插件限制检测")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("检测插件的"),e("strong",[t._v("cd")]),t._v(","),e("strong",[t._v("block")]),t._v(","),e("strong",[t._v("count")]),t._v("限制")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("withdraw_message_hook")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("消息撤回机制")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("自动消息撤回机制")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("other_hook")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("普通检测")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("相对不太重要的检测,缺失可能导致一些小问题")])])])]),t._v(" "),e("h2",{attrs:{id:"初始化"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#初始化"}},[t._v("#")]),t._v(" 初始化")]),t._v(" "),e("ul",[e("li",[e("strong",[t._v("模块")]),t._v(": "),e("code",[t._v("hooks")])]),t._v(" "),e("li",[e("strong",[t._v("说明")]),t._v(":"),e("br"),t._v("\n各种数据等初始化")])]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",{staticStyle:{"text-align":"center"}},[t._v("模块")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("名称")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),e("tbody",[e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("check_plugin_status")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("插件状态检测")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("检测插件是否正确加载")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("init_group_manager")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("初始化群数据")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("目前仅仅包含旧数据 -> 新数据 转换")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("init_none_plugin_count_manager")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("插件加载检测")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("容忍机制,当插件事件响应器连续5次加载失败,会以插件"),e("strong",[t._v("已删除")]),t._v("处理")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("init_plugins_config")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("初始化插件配置项")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("config.yaml")]),t._v("和"),e("code",[t._v("plugins2config.yaml")]),t._v("文件的生成")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("init_plugins_data")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("插件功能管理")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("插件总开关,插件状态等")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("init_plugins_limit")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("插件限制管理")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("插件限制管理器生成与存储")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("init_plugins_resources")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("插件资源管理")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("插件资源文件的移动与删除")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("init_plugins_settings")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("插件基础设置")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("非限制插件最基本的5项设置")])])])]),t._v(" "),e("h2",{attrs:{id:"执行脚本"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#执行脚本"}},[t._v("#")]),t._v(" 执行脚本")]),t._v(" "),e("ul",[e("li",[e("strong",[t._v("模块")]),t._v(": "),e("code",[t._v("scripts")])]),t._v(" "),e("li",[e("strong",[t._v("说明")]),t._v(":"),e("br"),t._v("\n执行一些必要的脚本,一般是各种修改后对新旧格式数据的转换等")])])])}),[],!1,null,null,null);e.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/25.a874b11e.js b/assets/js/25.a874b11e.js deleted file mode 100644 index ddbabb9ba..000000000 --- a/assets/js/25.a874b11e.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[25],{631:function(t,e,_){"use strict";_.r(e);var v=_(12),a=Object(v.a)({},(function(){var t=this,e=t.$createElement,_=t._self._c||e;return _("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[_("div",{staticClass:"custom-block tip"},[_("p",{staticClass:"title"}),_("p",[t._v("详细请查看真寻Bot的 “管理员帮助”")])]),_("h2",{attrs:{id:"管理员帮助"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#管理员帮助"}},[t._v("#")]),t._v(" 管理员帮助")]),t._v(" "),_("ul",[_("li",[_("strong",[t._v("模块")]),t._v(": "),_("code",[t._v("admin_help")])]),t._v(" "),_("li",[_("strong",[t._v("说明")]),t._v(":"),_("br"),t._v("\n管理员帮助总览")]),t._v(" "),_("li",[_("strong",[t._v("指令")]),t._v(":")])]),t._v(" "),_("table",[_("thead",[_("tr",[_("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("权限")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),_("tbody",[_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("管理员帮助")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("1")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("管理员帮助")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")])])])]),t._v(" "),_("h2",{attrs:{id:"群功能开关管理"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#群功能开关管理"}},[t._v("#")]),t._v(" 群功能开关管理")]),t._v(" "),_("ul",[_("li",[_("strong",[t._v("模块")]),t._v(": "),_("code",[t._v("switch_rule")])]),t._v(" "),_("li",[_("strong",[t._v("说明")]),t._v(":"),_("br"),t._v("\n可以对群功能的开关进行设置,包括被动技能"),_("br"),t._v(" "),_("code",[t._v("此功能含有额外超级用户操作")])]),t._v(" "),_("li",[_("strong",[t._v("指令")]),t._v(":\n"),_("ul",[_("li",[t._v("开启/关闭:\n"),_("ul",[_("li",[_("code",[t._v("plugin_cmd: str")]),t._v(":插件名称或别名")])])])])])]),t._v(" "),_("table",[_("thead",[_("tr",[_("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("权限")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),_("tbody",[_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("开启/关闭")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("plugin_cmd")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("2")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("开启色图"),_("br"),t._v("关闭色图")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("群功能开关,中间不要加空格!不要“开启 色图”")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("醒来")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("2")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("醒来")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("开启该群真寻的总开关")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("休息吧")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("2")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("休息吧")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("关闭该群真寻的总开关")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("开启/关闭全部功能")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("2")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("开启全部功能")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("开启/关闭该群的所有功能")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("群被动状态")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("2")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("群被动状态")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("查看当前被动技能开关状态")])])])]),t._v(" "),_("h2",{attrs:{id:"封禁用户"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#封禁用户"}},[t._v("#")]),t._v(" 封禁用户")]),t._v(" "),_("ul",[_("li",[_("strong",[t._v("模块")]),t._v(": "),_("code",[t._v("ban")])]),t._v(" "),_("li",[_("strong",[t._v("说明")]),t._v(":"),_("br"),t._v("\n封禁一个用户,该黑名单所有群共享"),_("br"),t._v("\n封禁对象的权限必须低于自身等级"),_("br"),t._v("\n.unban无法解封对用户封禁的管理员权限高于自身的封禁"),_("br"),t._v(" "),_("code",[t._v("此功能含有额外超级用户操作")])]),t._v(" "),_("li",[_("strong",[t._v("指令")]),t._v(":\n"),_("ul",[_("li",[t._v(".ban\n"),_("ul",[_("li",[_("code",[t._v("[at]")]),t._v(":at对象")]),t._v(" "),_("li",[_("code",[t._v("hour: Optional[int]")]),t._v(":可选,封禁时长(小时)")]),t._v(" "),_("li",[_("code",[t._v("minute: Optional[int]")]),t._v(":可选,封禁时长 (分钟)")])])]),t._v(" "),_("li",[t._v(".unban\n"),_("ul",[_("li",[_("code",[t._v("at")]),t._v(":at对象")])])])])])]),t._v(" "),_("table",[_("thead",[_("tr",[_("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("权限")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),_("tbody",[_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v(".ban")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("[at]"),_("br"),t._v("hour"),_("br"),t._v("minute")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("5")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v(".ban @A"),_("br"),t._v(".ban @A 5 10")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("封禁用户,没有hour和minute则永久封禁")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v(".unban")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("[at]")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("5")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v(".unban @A")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("解封当前用户,使用该命令的管理员权限必须大于或等于使用.ban管理员的权限")])])])]),t._v(" "),_("h2",{attrs:{id:"自定义群欢迎消息"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#自定义群欢迎消息"}},[t._v("#")]),t._v(" 自定义群欢迎消息")]),t._v(" "),_("ul",[_("li",[_("strong",[t._v("模块")]),t._v(": "),_("code",[t._v("custom_welcome_message")])]),t._v(" "),_("li",[_("strong",[t._v("说明")]),t._v(":"),_("br"),t._v("\n新成员加入群的欢迎消息自定义"),_("br"),t._v("\n在文本中添加"),_("code",[t._v("[at]")]),t._v("用于确定是否艾特新成员")]),t._v(" "),_("li",[_("strong",[t._v("指令")]),t._v(":\n"),_("ul",[_("li",[t._v("自定义群欢迎消息\n"),_("ul",[_("li",[_("code",[t._v("msg: str")]),t._v(":文本和图片消息,文本和图片至少存在一样")])])])])])]),t._v(" "),_("table",[_("thead",[_("tr",[_("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("权限")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),_("tbody",[_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("自定义群欢迎消息")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("msg")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("2")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("自定义群欢迎消息 等你好久了 [图片]")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("群欢迎消息")])])])]),t._v(" "),_("h2",{attrs:{id:"更新群组成员列表"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#更新群组成员列表"}},[t._v("#")]),t._v(" 更新群组成员列表")]),t._v(" "),_("ul",[_("li",[_("strong",[t._v("模块")]),t._v(": "),_("code",[t._v("update_group_member_info")])]),t._v(" "),_("li",[_("strong",[t._v("说明")]),t._v(":"),_("br"),t._v("\n更新群员信息,已经含有自动定时更新,一般来说不需要使用")]),t._v(" "),_("li",[_("strong",[t._v("指令")]),t._v(":")])]),t._v(" "),_("table",[_("thead",[_("tr",[_("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("权限")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),_("tbody",[_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("更新群组成员列表")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("1")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("更新群组成员列表")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")])])])]),t._v(" "),_("h2",{attrs:{id:"群管理员变动监测"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#群管理员变动监测"}},[t._v("#")]),t._v(" 群管理员变动监测")]),t._v(" "),_("ul",[_("li",[_("strong",[t._v("模块")]),t._v(": "),_("code",[t._v("admin_config")])]),t._v(" "),_("li",[_("strong",[t._v("说明")]),t._v(":"),_("br"),t._v("\n自动设置和取消群管理员权限")])]),t._v(" "),_("table",[_("thead",[_("tr",[_("th",{staticStyle:{"text-align":"center"}},[t._v("响应器")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),_("tbody",[_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("on_notice")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("监测群管理员变动,自动给予和收回权限")])])])]),t._v(" "),_("h2",{attrs:{id:"自动更新信息与权限"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#自动更新信息与权限"}},[t._v("#")]),t._v(" 自动更新信息与权限")]),t._v(" "),_("ul",[_("li",[_("p",[_("strong",[t._v("模块")]),t._v(": "),_("code",[t._v("timing_task")])])]),t._v(" "),_("li",[_("p",[_("strong",[t._v("说明")]),t._v(":"),_("br"),t._v("\n成员信息权限的自动更新")])]),t._v(" "),_("li",[_("p",[_("strong",[t._v("定时任务")]),t._v(":")])])]),t._v(" "),_("table",[_("thead",[_("tr",[_("th",{staticStyle:{"text-align":"center"}},[t._v("名称")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("类型")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("时间")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),_("tbody",[_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("自动群员信息更新")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("cron")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("02:01")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("更新群员信息")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("群权限快速更新")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("interval")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("minutes=5")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("快速更新信息及权限")])])])])])}),[],!1,null,null,null);e.default=a.exports}}]); \ No newline at end of file diff --git a/assets/js/26.aa18fa76.js b/assets/js/26.aa18fa76.js new file mode 100644 index 000000000..58f5c87bc --- /dev/null +++ b/assets/js/26.aa18fa76.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[26],{432:function(t,e,_){"use strict";_.r(e);var v=_(2),i=Object(v.a)({},(function(){var t=this,e=t._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h2",{attrs:{id:"商店"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#商店"}},[t._v("#")]),t._v(" 商店")]),t._v(" "),e("ul",[e("li",[e("strong",[t._v("模块")]),t._v(": "),e("code",[t._v("shop_handle")])]),t._v(" "),e("li",[e("strong",[t._v("群权限")]),t._v(" : "),e("code",[t._v("5")])]),t._v(" "),e("li",[e("strong",[t._v("说明")]),t._v(":"),e("br"),t._v("\n公开商店"),e("br"),t._v(" "),e("code",[t._v("此功能包含超级用户指令")])]),t._v(" "),e("li",[e("strong",[t._v("指令")]),t._v(":")])]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),e("tbody",[e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("商店")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("商店")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("显示商店图片")])])])]),t._v(" "),e("ul",[e("li",[e("strong",[t._v("超级用户指令")]),t._v(":\n"),e("ul",[e("li",[t._v("添加商品\n"),e("ul",[e("li",[e("code",[t._v("name: str")]),t._v(":商品名称")]),t._v(" "),e("li",[e("code",[t._v("price: int")]),t._v(":商品价格")]),t._v(" "),e("li",[e("code",[t._v("des: str")]),t._v(":商品简介")]),t._v(" "),e("li",[e("code",[t._v("discount: float")]),t._v(":商品折扣")]),t._v(" "),e("li",[e("code",[t._v("limit_time: int")]),t._v(":商品限时")])])]),t._v(" "),e("li",[t._v("删除商品\n"),e("ul",[e("li",[e("code",[t._v("name: str")]),t._v(":商品名称")]),t._v(" "),e("li",[e("code",[t._v("id: int")]),t._v(":商品id")])])]),t._v(" "),e("li",[t._v("修改商品\n"),e("ul",[e("li",[e("code",[t._v("name: str")]),t._v(":商品名称")]),t._v(" "),e("li",[e("code",[t._v("price: int")]),t._v(":商品价格")]),t._v(" "),e("li",[e("code",[t._v("des: str")]),t._v(":商品简介")]),t._v(" "),e("li",[e("code",[t._v("discount: float")]),t._v(":商品折扣")]),t._v(" "),e("li",[e("code",[t._v("limit_time: int")]),t._v(":商品限时")])])])])])]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),e("tbody",[e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("添加商品")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("name:[名称] price:[价格] des:[描述] ?discount:"),e("a",{attrs:{href:"%E5%B0%8F%E6%95%B0"}},[t._v("折扣")]),t._v(" ?limit_time:"),e("a",{attrs:{href:"%E5%B0%8F%E6%97%B6"}},[t._v("限时时间")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("添加商品 name:萝莉酒杯 price:9999 des:普通的酒杯,但是里面.. discount:0.4 limit_time:90"),e("br"),t._v("添加商品 name:可疑的药 price:5 des:效果未知")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}})]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("删除商品")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("name/id")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("删除商品 好感度卡"),e("br"),t._v("删除商品 1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("删除一个商品")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("修改商品")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("name:[名称或序号] price:[价格] des:[描述] discount:[折扣] limit_time:[限时]")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("修改商品 name:1 price:900")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("修改商品数据")])])])]),t._v(" "),e("h2",{attrs:{id:"使用道具"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#使用道具"}},[t._v("#")]),t._v(" 使用道具")]),t._v(" "),e("ul",[e("li",[e("strong",[t._v("模块")]),t._v(": "),e("code",[t._v("use")])]),t._v(" "),e("li",[e("strong",[t._v("群权限")]),t._v(" : "),e("code",[t._v("5")])]),t._v(" "),e("li",[e("strong",[t._v("说明")]),t._v(":"),e("br"),t._v("\n使用道具指令")]),t._v(" "),e("li",[e("strong",[t._v("指令")]),t._v(":\n"),e("ul",[e("li",[t._v("使用道具\n"),e("ul",[e("li",[e("code",[t._v("name: str")]),t._v(":商品名称")]),t._v(" "),e("li",[e("code",[t._v("id: int")]),t._v(":商品id,该id以"),e("code",[t._v("我的道具")]),t._v("为准")])])])])])]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),e("tbody",[e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("使用道具")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("name/id")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("使用道具好感度卡"),e("br"),t._v("使用道具1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("通过名称或id使用道具")])])])]),t._v(" "),e("h2",{attrs:{id:"购买道具"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#购买道具"}},[t._v("#")]),t._v(" 购买道具")]),t._v(" "),e("ul",[e("li",[e("strong",[t._v("模块")]),t._v(": "),e("code",[t._v("buy")])]),t._v(" "),e("li",[e("strong",[t._v("群权限")]),t._v(" : "),e("code",[t._v("5")])]),t._v(" "),e("li",[e("strong",[t._v("说明")]),t._v(":"),e("br"),t._v("\n购买道具指令")]),t._v(" "),e("li",[e("strong",[t._v("指令")]),t._v(":\n"),e("ul",[e("li",[t._v("使用道具\n"),e("ul",[e("li",[e("code",[t._v("name: str")]),t._v(":商品名称")]),t._v(" "),e("li",[e("code",[t._v("id: int")]),t._v(":商品id")]),t._v(" "),e("li",[e("code",[t._v("num: int")]),t._v(":可选,数量,默认1")])])])])])]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),e("tbody",[e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("购买道具")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("name/id num")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("购买道具好感度卡"),e("br"),t._v("购买道具1 5")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("通过名称或id购买道具,使用num批量购买")])])])]),t._v(" "),e("h2",{attrs:{id:"我的金币"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#我的金币"}},[t._v("#")]),t._v(" 我的金币")]),t._v(" "),e("ul",[e("li",[e("strong",[t._v("模块")]),t._v(": "),e("code",[t._v("gold")])]),t._v(" "),e("li",[e("strong",[t._v("群权限")]),t._v(" : "),e("code",[t._v("5")])]),t._v(" "),e("li",[e("strong",[t._v("说明")]),t._v(":"),e("br"),t._v("\n查看金币与群内金币排行")]),t._v(" "),e("li",[e("strong",[t._v("指令")]),t._v(":\n"),e("ul",[e("li",[t._v("金币排行\n"),e("ul",[e("li",[e("code",[t._v("num: int")]),t._v(":可选,排行榜人数,默认10")])])])])])]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),e("tbody",[e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("我的金币")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("我的金币")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("查看个人金币")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("金币排行")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("num")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("金币排行"),e("br"),t._v("金币排行50")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("群内个人金币排行")])])])]),t._v(" "),e("h2",{attrs:{id:"我的道具"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#我的道具"}},[t._v("#")]),t._v(" 我的道具")]),t._v(" "),e("ul",[e("li",[e("strong",[t._v("模块")]),t._v(": "),e("code",[t._v("my_props")])]),t._v(" "),e("li",[e("strong",[t._v("群权限")]),t._v(" : "),e("code",[t._v("5")])]),t._v(" "),e("li",[e("strong",[t._v("说明")]),t._v(":"),e("br"),t._v("\n查看个人道具指令")]),t._v(" "),e("li",[e("strong",[t._v("指令")]),t._v(":")])]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),e("tbody",[e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("我的道具")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("我的道具")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("查看个人道具")])])])]),t._v(" "),e("h2",{attrs:{id:"每日金币重置"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#每日金币重置"}},[t._v("#")]),t._v(" 每日金币重置")]),t._v(" "),e("ul",[e("li",[e("strong",[t._v("模块")]),t._v(": "),e("code",[t._v("reset_today_gold")])]),t._v(" "),e("li",[e("strong",[t._v("说明")]),t._v(":"),e("br"),t._v("\n每日获得金币,失去金币重置")]),t._v(" "),e("li",[e("strong",[t._v("定时任务")]),t._v(":")])]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",{staticStyle:{"text-align":"center"}},[t._v("名称")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("类型")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("时间")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),e("tbody",[e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("每日金币重置")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("cron")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("hour=0 minute=1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("每日"),e("code",[t._v("00:01")]),t._v("重置今日获取金币,失去金币")])])])])])}),[],!1,null,null,null);e.default=i.exports}}]); \ No newline at end of file diff --git a/assets/js/26.ad82a000.js b/assets/js/26.ad82a000.js deleted file mode 100644 index 758de48b2..000000000 --- a/assets/js/26.ad82a000.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[26],{626:function(t,e,_){"use strict";_.r(e);var v=_(12),n=Object(v.a)({},(function(){var t=this,e=t.$createElement,_=t._self._c||e;return _("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[_("h2",{attrs:{id:"帮助"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#帮助"}},[t._v("#")]),t._v(" 帮助")]),t._v(" "),_("ul",[_("li",[_("strong",[t._v("模块")]),t._v(": "),_("code",[t._v("help")])]),t._v(" "),_("li",[_("strong",[t._v("群权限")]),t._v(" : "),_("code",[t._v("None")])]),t._v(" "),_("li",[_("strong",[t._v("说明")]),t._v(":"),_("br"),t._v("\n基本插件之一,图片形式的帮助插件")]),t._v(" "),_("li",[_("strong",[t._v("指令")]),t._v(":\n"),_("ul",[_("li",[t._v("帮助\n"),_("ul",[_("li",[_("code",[t._v("plugin_cmd: Optional[str]")]),t._v(":可选,功能名称或别名")])])])])])]),t._v(" "),_("table",[_("thead",[_("tr",[_("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("权限")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),_("tbody",[_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("帮助")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("plugin_cmd")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("0")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("帮助"),_("br"),t._v("帮助色图")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("帮助插件,可以通过添加plugin_cmd来获取指定插件的帮助")])])])]),t._v(" "),_("h2",{attrs:{id:"签到"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#签到"}},[t._v("#")]),t._v(" 签到")]),t._v(" "),_("ul",[_("li",[_("strong",[t._v("模块")]),t._v(": "),_("code",[t._v("sign_in")])]),t._v(" "),_("li",[_("strong",[t._v("群权限")]),t._v(" : "),_("code",[t._v("5")])]),t._v(" "),_("li",[_("strong",[t._v("说明")]),t._v(":"),_("br"),t._v("\n普通的签到插件,可以获得好感度和金币,好感度和金币可以用作其他插件,是较为重要的插件")]),t._v(" "),_("li",[_("strong",[t._v("指令")]),t._v(":\n"),_("ul",[_("li",[t._v("签到\n"),_("ul",[_("li",[_("code",[t._v("all")]),t._v(": 可选,签到所有群")])])]),t._v(" "),_("li",[t._v("好感度排行\n"),_("ul",[_("li",[_("code",[t._v("num: int = 10")]),t._v(":可选,排行榜显示用户数量,至多50")])])]),t._v(" "),_("li",[t._v("好感度总榜\n"),_("ul",[_("li",[_("code",[t._v("_type: Optional[str]")]),t._v(":可选,通过“显示我”/“屏蔽我”来设置是否出现在榜单上")])])])])])]),t._v(" "),_("table",[_("thead",[_("tr",[_("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("权限")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),_("tbody",[_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("签到")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v('?"all"')]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("0")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("签到"),_("br"),t._v("签到 all")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("普通的签到")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("我的签到/好感度")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("0")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("我的签到")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("查看自己的好感度")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("好感度排行")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("num")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("0")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("好感度排行")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("查看当前群的好感度排行,可以通过num来显示排行榜数量")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("好感度总榜")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("_type")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("0")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("好感度总榜"),_("br"),t._v("好感度总榜显示我")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("集合所有群的好感度总排行")])])])]),t._v(" "),_("h2",{attrs:{id:"昵称"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#昵称"}},[t._v("#")]),t._v(" 昵称")]),t._v(" "),_("ul",[_("li",[_("strong",[t._v("模块")]),t._v(": "),_("code",[t._v("nickname")])]),t._v(" "),_("li",[_("strong",[t._v("群权限")]),t._v(" : "),_("code",[t._v("None")])]),t._v(" "),_("li",[_("strong",[t._v("说明")]),t._v(":"),_("br"),t._v("\n昵称插件,贯穿整个项目的用户个人自定义昵称")]),t._v(" "),_("li",[_("strong",[t._v("指令")]),t._v(":\n"),_("ul",[_("li",[t._v("以后叫我\n"),_("ul",[_("li",[_("code",[t._v("nickname: str")]),t._v(":昵称")])])])])])]),t._v(" "),_("table",[_("thead",[_("tr",[_("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("权限")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),_("tbody",[_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("以后叫我")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("nickname")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("0")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("以后叫我欧尼酱")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("养成第一步从互道昵称开始")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("我是谁")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("0")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("我是谁")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("考一考真寻还记不记的你的昵称")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("取消昵称")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("0")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("取消昵称")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[_("strong",[t._v("你伤害了真寻,逮捕!")])])])])]),t._v(" "),_("h2",{attrs:{id:"更新信息"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#更新信息"}},[t._v("#")]),t._v(" 更新信息")]),t._v(" "),_("ul",[_("li",[_("strong",[t._v("模块")]),t._v(": "),_("code",[t._v("update_info")])]),t._v(" "),_("li",[_("strong",[t._v("群权限")]),t._v(" : "),_("code",[t._v("5")])]),t._v(" "),_("li",[_("strong",[t._v("说明")]),t._v(":"),_("br"),t._v("\n发送更新完成后的更新日志信息图片")]),t._v(" "),_("li",[_("strong",[t._v("指令")]),t._v(":")])]),t._v(" "),_("table",[_("thead",[_("tr",[_("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("权限")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),_("tbody",[_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("更新信息/更新日志")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("0")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("更新日志")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")])])])])])}),[],!1,null,null,null);e.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/27.b7539040.js b/assets/js/27.b7539040.js new file mode 100644 index 000000000..6c0f9516b --- /dev/null +++ b/assets/js/27.b7539040.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[27],{440:function(t,e,_){"use strict";_.r(e);var v=_(2),l=Object(v.a)({},(function(){var t=this,e=t._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("div",{staticClass:"custom-block tip"},[e("p",{staticClass:"title"}),e("p",[t._v("详细请查看真寻Bot的 “超级用户帮助”")])]),e("h2",{attrs:{id:"超级用户帮助"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#超级用户帮助"}},[t._v("#")]),t._v(" 超级用户帮助")]),t._v(" "),e("ul",[e("li",[e("strong",[t._v("模块")]),t._v(": "),e("code",[t._v("super_help")])]),t._v(" "),e("li",[e("strong",[t._v("说明")]),t._v(":"),e("br"),t._v("\n超级用户帮助总览")]),t._v(" "),e("li",[e("strong",[t._v("指令")]),t._v(":")])]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),e("tbody",[e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("超级用户帮助")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("超级用户帮助")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("None")])])])]),t._v(" "),e("h2",{attrs:{id:"插件管理"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#插件管理"}},[t._v("#")]),t._v(" 插件管理")]),t._v(" "),e("ul",[e("li",[e("strong",[t._v("模块")]),t._v(": "),e("code",[t._v("switch_rule")])]),t._v(" "),e("li",[e("strong",[t._v("说明")]),t._v(":"),e("br"),t._v("\n插件总开关的禁用与维护"),e("br"),t._v("\n在"),e("strong",[t._v("群聊")]),t._v("中使用该功能与管理员插件无异"),e("br"),t._v("\n在"),e("strong",[t._v("私聊")]),t._v("中使用插件享受以下效果")]),t._v(" "),e("li",[e("strong",[t._v("指令")]),t._v(":\n"),e("ul",[e("li",[t._v("开启/关闭\n"),e("ul",[e("li",[e("code",[t._v("plugin_cmd: str")]),t._v(":插件名称或别名")]),t._v(" "),e("li",[e("code",[t._v("block_type: str")]),t._v(":禁用类型,"),e("code",[t._v('"all"')]),t._v(":默认值,全部禁用,"),e("code",[t._v('"group"/"g"')]),t._v(":群聊禁用,"),e("code",[t._v('"private"/"p"')]),t._v(":私聊禁用")])])])])])]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),e("tbody",[e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("开启/关闭")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("plugin_cmd block_type")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("开启色图"),e("br"),t._v("关闭色图 p"),e("br"),t._v("关闭色图 g")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("功能总开关,控制私聊群聊禁用等")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("功能状态")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("功能状态")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("查看当前功能禁用情况")])])])]),t._v(" "),e("h2",{attrs:{id:"好友-群组操作"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#好友-群组操作"}},[t._v("#")]),t._v(" 好友/群组操作")]),t._v(" "),e("ul",[e("li",[e("strong",[t._v("模块")]),t._v(": "),e("code",[t._v("bot_friend_group")])]),t._v(" "),e("li",[e("strong",[t._v("说明")]),t._v(":"),e("br"),t._v("\n显示真寻Bot所有的当前所有的好友/群组")]),t._v(" "),e("li",[e("strong",[t._v("指令")]),t._v(":\n"),e("ul",[e("li",[e("code",[t._v("id: int")]),t._v(":通过查看所有请求获取")])])])]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),e("tbody",[e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("查看所有好友")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("查看所有好友")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("None")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("查看所有群组")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("查看所有群组")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("None")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("同意好友请求")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("id")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("同意好友请求0")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("None")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("拒绝好友请求")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("id")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("拒绝好友请求0")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("None")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("同意群聊请求")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("id")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("同意群聊请求")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("None")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("拒绝群聊请求")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("id")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("拒绝群聊请求")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("None")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("查看所有请求")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("查看所有请求")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("查看所有好友请求,以上方法id的获取方式")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("清空所有请求")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("清空所有请求")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("清空保存的所有请求")])])])]),t._v(" "),e("h2",{attrs:{id:"清理临时数据"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#清理临时数据"}},[t._v("#")]),t._v(" 清理临时数据")]),t._v(" "),e("ul",[e("li",[e("strong",[t._v("模块")]),t._v(": "),e("code",[t._v("clear_data")])]),t._v(" "),e("li",[e("strong",[t._v("说明")]),t._v(":"),e("br"),t._v("\n清理已添加的至"),e("code",[t._v("resources_manager")]),t._v("的临时数据")]),t._v(" "),e("li",[e("strong",[t._v("指令")]),t._v(":")])]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),e("tbody",[e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("清理临时数据")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("清理临时数据")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("None")])])])]),t._v(" "),e("h2",{attrs:{id:"管理群操作"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#管理群操作"}},[t._v("#")]),t._v(" 管理群操作")]),t._v(" "),e("ul",[e("li",[e("strong",[t._v("模块")]),t._v(": "),e("code",[t._v("manager_group")])]),t._v(" "),e("li",[e("strong",[t._v("说明")]),t._v(":"),e("br"),t._v("\n对群聊的超级用户管理选项"),e("br"),t._v("\n当群权限改为"),e("code",[t._v("-1")]),t._v("时则完全屏蔽该群消息")]),t._v(" "),e("li",[e("strong",[t._v("指令")]),t._v(":\n"),e("ul",[e("li",[t._v("退群\n"),e("ul",[e("li",[e("code",[t._v("group_id: int")]),t._v(":群号")])])]),t._v(" "),e("li",[t._v("修改群权限\n"),e("ul",[e("li",[e("code",[t._v("group_id: int")]),t._v(":群号")]),t._v(" "),e("li",[e("code",[t._v("level: int")]),t._v(":权限等级,推荐 "),e("code",[t._v("-1~9")])])])]),t._v(" "),e("li",[t._v("添加/删除群白名单\n"),e("ul",[e("li",[e("code",[t._v("*group_id")]),t._v(":一个或多个群号,使用空格隔开")])])])])])]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),e("tbody",[e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("退群")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("group_id")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("退群 123456789")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("退出指定群聊")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("修改群权限")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("group_id level")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("修改群权限 12345678 9")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("修改指定群聊的群权限等级")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("添加群白名单")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("*group_id")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("添加群白名单 1234213 43423...")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("将一个或多个群添加至群白名单,白名单中的群不受功能维护限制")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("删除群白名单")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("*group_id")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("同上")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("同上")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("查看群白名单")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("查看群白名单")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("查看当前群白名单中的所有群聊id")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("添加群认证")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("*group_id")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("添加群认证 34532 324..")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("为一个或多个群添加群认证")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("删除群认证")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("*group_id")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("删除群认证 234422 222..")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("删除一个或多个群认证")])])])]),t._v(" "),e("h2",{attrs:{id:"重载插件配置"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#重载插件配置"}},[t._v("#")]),t._v(" 重载插件配置")]),t._v(" "),e("ul",[e("li",[e("strong",[t._v("模块")]),t._v(": "),e("code",[t._v("reload_setting")])]),t._v(" "),e("li",[e("strong",[t._v("说明")]),t._v(":"),e("br"),t._v("\n重载插件配置,包括"),e("code",[t._v("plugins2settings_manager")]),t._v(","),e("code",[t._v("plugins2cd_manager")]),t._v(","),e("code",[t._v("plugins2block_manager")]),t._v(","),e("code",[t._v("group_manager")]),t._v("四种配置重载")]),t._v(" "),e("li",[e("strong",[t._v("指令")]),t._v(":")])]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),e("tbody",[e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("重载配置")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("重载配置")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("None")])])])]),t._v(" "),e("h2",{attrs:{id:"管理员权限操作"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#管理员权限操作"}},[t._v("#")]),t._v(" 管理员权限操作")]),t._v(" "),e("ul",[e("li",[e("strong",[t._v("模块")]),t._v(": "),e("code",[t._v("set_admin_permissions")])]),t._v(" "),e("li",[e("strong",[t._v("说明")]),t._v(":"),e("br"),t._v("\n用于修改管理员权限,超级用户修改的权限不会被"),e("strong",[t._v("自动权限")]),t._v("修改")]),t._v(" "),e("li",[e("strong",[t._v("指令")]),t._v(":\n"),e("ul",[e("li",[t._v("添加权限\n"),e("ul",[e("li",[e("code",[t._v("[at]")]),t._v(":at对象")]),t._v(" "),e("li",[e("code",[t._v("qq")]),t._v(":指定qq")]),t._v(" "),e("li",[e("code",[t._v("group_id")]),t._v(":群号")]),t._v(" "),e("li",[e("code",[t._v("level: int")]),t._v(":权限等级,一般为"),e("code",[t._v("0~9")]),t._v(",非必要情况建议设置"),e("code",[t._v("5")]),t._v("及以下")])])]),t._v(" "),e("li",[t._v("删除权限\n"),e("ul",[e("li",[e("code",[t._v("[at]")]),t._v(":at对象")])])])])])]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),e("tbody",[e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("添加权限")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("[at] level")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("添加权限 @A 5")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("为A添加5级管理员权限")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("添加权限")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("qq group_id level")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("添加权限 @A 5")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("为A添加5级管理员权限")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("删除权限")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("[at]")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("删除权限 @A")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("删除A的管理员权限")])])])]),t._v(" "),e("h2",{attrs:{id:"更新群-好友信息"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#更新群-好友信息"}},[t._v("#")]),t._v(" 更新群/好友信息")]),t._v(" "),e("ul",[e("li",[e("strong",[t._v("模块")]),t._v(": "),e("code",[t._v("update_friend_group_info")])]),t._v(" "),e("li",[e("strong",[t._v("说明")]),t._v(":"),e("br"),t._v("\n快速更新当前所有群/好友信息")]),t._v(" "),e("li",[e("strong",[t._v("指令")]),t._v(":")])]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),e("tbody",[e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("更新好友信息")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("更新好友信息")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("None")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("更新群信息")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("更新群信息")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("None")])])])]),t._v(" "),e("h2",{attrs:{id:"广播"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#广播"}},[t._v("#")]),t._v(" 广播")]),t._v(" "),e("ul",[e("li",[e("strong",[t._v("模块")]),t._v(": "),e("code",[t._v("broadcast")])]),t._v(" "),e("li",[e("strong",[t._v("说明")]),t._v(":"),e("br"),t._v("\n对所有群聊发起广播消息")]),t._v(" "),e("li",[e("strong",[t._v("指令")]),t._v(":\n"),e("ul",[e("li",[t._v("广播-\n"),e("ul",[e("li",[e("code",[t._v("msg: str")]),t._v(":消息内容,可以添加图片")])])])])])]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),e("tbody",[e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("广播-")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("msg")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("广播- 我喜欢真寻 [图片]")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("对所有群聊进行社死")])])])]),t._v(" "),e("h2",{attrs:{id:"封禁用户"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#封禁用户"}},[t._v("#")]),t._v(" 封禁用户")]),t._v(" "),e("ul",[e("li",[e("strong",[t._v("模块")]),t._v(": "),e("code",[t._v("ban")])]),t._v(" "),e("li",[e("strong",[t._v("说明")]),t._v(":"),e("br"),t._v("\n相当于最上级的"),e("code",[t._v(".ban")]),t._v(",屏蔽用户所有消息,使用"),e("code",[t._v(".unban")]),t._v("解封")]),t._v(" "),e("li",[e("strong",[t._v("指令")]),t._v(":\n"),e("ul",[e("li",[t._v("b了\n"),e("ul",[e("li",[e("code",[t._v("[at]/qq")]),t._v(":at对象或指定qq")])])]),t._v(" "),e("li",[t._v("ban\n"),e("ul",[e("li",[e("code",[t._v("qq")]),t._v(": 用户qq")]),t._v(" "),e("li",[e("code",[t._v("hour")]),t._v(":可选,小时")]),t._v(" "),e("li",[e("code",[t._v("minute")]),t._v(":可选,分钟")])])])])])]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),e("tbody",[e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("b了")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("[at]/qq")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("b了 @A")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("屏蔽A的所有消息")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("ban")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("qq hour minute")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("ban 1234567")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("远程ban")])])])]),t._v(" "),e("h2",{attrs:{id:"执行sql"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#执行sql"}},[t._v("#")]),t._v(" 执行sql")]),t._v(" "),e("ul",[e("li",[e("strong",[t._v("模块")]),t._v(": "),e("code",[t._v("exec_sql")])]),t._v(" "),e("li",[e("strong",[t._v("说明")]),t._v(":"),e("br"),t._v("\n执行指定sql")]),t._v(" "),e("li",[e("strong",[t._v("指令")]),t._v(":\n"),e("ul",[e("li",[e("code",[t._v("sql: str")]),t._v(":sql语句")])])])]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),e("tbody",[e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("exec")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("sql")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("None")])])])])])}),[],!1,null,null,null);e.default=l.exports}}]); \ No newline at end of file diff --git a/assets/js/27.f8536418.js b/assets/js/27.f8536418.js deleted file mode 100644 index 58cdee9ee..000000000 --- a/assets/js/27.f8536418.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[27],{628:function(t,e,_){"use strict";_.r(e);var v=_(12),n=Object(v.a)({},(function(){var t=this,e=t.$createElement,_=t._self._c||e;return _("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[_("h2",{attrs:{id:"好友群聊请求处理"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#好友群聊请求处理"}},[t._v("#")]),t._v(" 好友群聊请求处理")]),t._v(" "),_("ul",[_("li",[_("strong",[t._v("模块")]),t._v(": "),_("code",[t._v("auto_invite")])]),t._v(" "),_("li",[_("strong",[t._v("说明")]),t._v(":"),_("br"),t._v("\n好友请求,入群请求提醒,5分钟内不会提醒重复的请求(大概")])]),t._v(" "),_("table",[_("thead",[_("tr",[_("th",{staticStyle:{"text-align":"center"}},[t._v("响应器")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),_("tbody",[_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("on_request")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("好友请求处理和收集")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("on_request")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("群聊请求处理,超级用户邀请会自动添加群认证")])])])]),t._v(" "),_("ul",[_("li",[_("strong",[t._v("定时任务")]),t._v(":")])]),t._v(" "),_("table",[_("thead",[_("tr",[_("th",{staticStyle:{"text-align":"center"}},[t._v("名称")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("类型")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("时间")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),_("tbody",[_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("临时id清理")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("interval")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("minutes=5")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("清空临时id数据")])])])]),t._v(" "),_("h2",{attrs:{id:"群事件处理"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#群事件处理"}},[t._v("#")]),t._v(" 群事件处理")]),t._v(" "),_("ul",[_("li",[_("strong",[t._v("模块")]),t._v(": "),_("code",[t._v("group_handle")])]),t._v(" "),_("li",[_("strong",[t._v("说明")]),t._v(":"),_("br"),t._v("\n主要为新成员与退出成员数据的增删(真寻Bot被踢出时提醒),以及退群提醒和进群欢迎"),_("br"),t._v("\n进群欢迎提供 cd 限制,默认"),_("code",[t._v("5")]),t._v("秒"),_("br"),t._v("\n被强制拉群时会通过群认证退出该群")])]),t._v(" "),_("table",[_("thead",[_("tr",[_("th",{staticStyle:{"text-align":"center"}},[t._v("响应器")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),_("tbody",[_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("on_notice")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("群成员新增处理,欢迎消息,新增数据,群认证检测")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("on_notice")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("群成员减少,退群提醒以及删除数据")])])])]),t._v(" "),_("h2",{attrs:{id:"定时任务"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#定时任务"}},[t._v("#")]),t._v(" 定时任务")]),t._v(" "),_("ul",[_("li",[_("strong",[t._v("模块")]),t._v(": "),_("code",[t._v("apscheduler")])]),t._v(" "),_("li",[_("strong",[t._v("说明")]),t._v(":"),_("br"),t._v("\n群内主要的定时任务,包括早晚安,自动更新群信息,好友信息等")]),t._v(" "),_("li",[_("strong",[t._v("定时任务")]),t._v(":")])]),t._v(" "),_("table",[_("thead",[_("tr",[_("th",{staticStyle:{"text-align":"center"}},[t._v("名称")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("类型")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("时间")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),_("tbody",[_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("早安")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("cron")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("hour=6 minute=1")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("每日"),_("code",[t._v("06:01")]),t._v("发送早安")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("晚安")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("cron")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("hour=23 minute=59")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("每日"),_("code",[t._v("23:59")]),t._v("发送晚安")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("群聊信息更新")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("cron")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("hour=3 minute=1")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("每日"),_("code",[t._v("03:01")]),t._v("更新所有群聊信息")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("好友信息更新")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("cron")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("hour=3 minute=1")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("每日"),_("code",[t._v("03:01")]),t._v("更新所有好友信息")])])])]),t._v(" "),_("h2",{attrs:{id:"权限检测"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#权限检测"}},[t._v("#")]),t._v(" 权限检测")]),t._v(" "),_("ul",[_("li",[_("strong",[t._v("模块")]),t._v(": "),_("code",[t._v("hooks")])]),t._v(" "),_("li",[_("strong",[t._v("说明")]),t._v(":"),_("br"),t._v("\n权限核心插件,所有权限检测必须的插件,非常重要")])]),t._v(" "),_("table",[_("thead",[_("tr",[_("th",{staticStyle:{"text-align":"center"}},[t._v("模块")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("名称")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),_("tbody",[_("tr",[_("td",{staticStyle:{"text-align":"center"}},[_("code",[t._v("auth_hook")])]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("插件权限检测")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("检测包括禁用,群权限,功能开关等权限检测")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[_("code",[t._v("ban_hook")])]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("黑名单检测")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("黑名单权限检测")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[_("code",[t._v("chkdsk_hook")])]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("恶意命令触发检测")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("检测是否连续重复快速调用同一种命令")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[_("code",[t._v("limit_hook")])]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("插件限制检测")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("检测插件的"),_("strong",[t._v("cd")]),t._v(","),_("strong",[t._v("block")]),t._v(","),_("strong",[t._v("count")]),t._v("限制")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[_("code",[t._v("withdraw_message_hook")])]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("消息撤回机制")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("自动消息撤回机制")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[_("code",[t._v("other_hook")])]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("普通检测")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("相对不太重要的检测,缺失可能导致一些小问题")])])])]),t._v(" "),_("h2",{attrs:{id:"初始化"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#初始化"}},[t._v("#")]),t._v(" 初始化")]),t._v(" "),_("ul",[_("li",[_("strong",[t._v("模块")]),t._v(": "),_("code",[t._v("hooks")])]),t._v(" "),_("li",[_("strong",[t._v("说明")]),t._v(":"),_("br"),t._v("\n各种数据等初始化")])]),t._v(" "),_("table",[_("thead",[_("tr",[_("th",{staticStyle:{"text-align":"center"}},[t._v("模块")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("名称")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),_("tbody",[_("tr",[_("td",{staticStyle:{"text-align":"center"}},[_("code",[t._v("check_plugin_status")])]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("插件状态检测")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("检测插件是否正确加载")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[_("code",[t._v("init_group_manager")])]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("初始化群数据")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("目前仅仅包含旧数据 -> 新数据 转换")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[_("code",[t._v("init_none_plugin_count_manager")])]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("插件加载检测")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("容忍机制,当插件事件响应器连续5次加载失败,会以插件"),_("strong",[t._v("已删除")]),t._v("处理")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[_("code",[t._v("init_plugins_config")])]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("初始化插件配置项")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[_("code",[t._v("config.yaml")]),t._v("和"),_("code",[t._v("plugins2config.yaml")]),t._v("文件的生成")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[_("code",[t._v("init_plugins_data")])]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("插件功能管理")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("插件总开关,插件状态等")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[_("code",[t._v("init_plugins_limit")])]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("插件限制管理")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("插件限制管理器生成与存储")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[_("code",[t._v("init_plugins_resources")])]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("插件资源管理")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("插件资源文件的移动与删除")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[_("code",[t._v("init_plugins_settings")])]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("插件基础设置")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("非限制插件最基本的5项设置")])])])]),t._v(" "),_("h2",{attrs:{id:"执行脚本"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#执行脚本"}},[t._v("#")]),t._v(" 执行脚本")]),t._v(" "),_("ul",[_("li",[_("strong",[t._v("模块")]),t._v(": "),_("code",[t._v("scripts")])]),t._v(" "),_("li",[_("strong",[t._v("说明")]),t._v(":"),_("br"),t._v("\n执行一些必要的脚本,一般是各种修改后对新旧格式数据的转换等")])])])}),[],!1,null,null,null);e.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/28.99a667cd.js b/assets/js/28.99a667cd.js deleted file mode 100644 index ba6fd93a2..000000000 --- a/assets/js/28.99a667cd.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[28],{627:function(t,e,_){"use strict";_.r(e);var v=_(12),i=Object(v.a)({},(function(){var t=this,e=t.$createElement,_=t._self._c||e;return _("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[_("h2",{attrs:{id:"商店"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#商店"}},[t._v("#")]),t._v(" 商店")]),t._v(" "),_("ul",[_("li",[_("strong",[t._v("模块")]),t._v(": "),_("code",[t._v("shop_handle")])]),t._v(" "),_("li",[_("strong",[t._v("群权限")]),t._v(" : "),_("code",[t._v("5")])]),t._v(" "),_("li",[_("strong",[t._v("说明")]),t._v(":"),_("br"),t._v("\n公开商店"),_("br"),t._v(" "),_("code",[t._v("此功能包含超级用户指令")])]),t._v(" "),_("li",[_("strong",[t._v("指令")]),t._v(":")])]),t._v(" "),_("table",[_("thead",[_("tr",[_("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),_("tbody",[_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("商店")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("商店")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("显示商店图片")])])])]),t._v(" "),_("ul",[_("li",[_("strong",[t._v("超级用户指令")]),t._v(":\n"),_("ul",[_("li",[t._v("添加商品\n"),_("ul",[_("li",[_("code",[t._v("name: str")]),t._v(":商品名称")]),t._v(" "),_("li",[_("code",[t._v("price: int")]),t._v(":商品价格")]),t._v(" "),_("li",[_("code",[t._v("des: str")]),t._v(":商品简介")]),t._v(" "),_("li",[_("code",[t._v("discount: float")]),t._v(":商品折扣")]),t._v(" "),_("li",[_("code",[t._v("limit_time: int")]),t._v(":商品限时")])])]),t._v(" "),_("li",[t._v("删除商品\n"),_("ul",[_("li",[_("code",[t._v("name: str")]),t._v(":商品名称")]),t._v(" "),_("li",[_("code",[t._v("id: int")]),t._v(":商品id")])])]),t._v(" "),_("li",[t._v("修改商品\n"),_("ul",[_("li",[_("code",[t._v("name: str")]),t._v(":商品名称")]),t._v(" "),_("li",[_("code",[t._v("price: int")]),t._v(":商品价格")]),t._v(" "),_("li",[_("code",[t._v("des: str")]),t._v(":商品简介")]),t._v(" "),_("li",[_("code",[t._v("discount: float")]),t._v(":商品折扣")]),t._v(" "),_("li",[_("code",[t._v("limit_time: int")]),t._v(":商品限时")])])])])])]),t._v(" "),_("table",[_("thead",[_("tr",[_("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),_("tbody",[_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("添加商品")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("name:[名称] price:[价格] des:[描述] ?discount:"),_("a",{attrs:{href:"%E5%B0%8F%E6%95%B0"}},[t._v("折扣")]),t._v(" ?limit_time:"),_("a",{attrs:{href:"%E5%B0%8F%E6%97%B6"}},[t._v("限时时间")])]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("添加商品 name:萝莉酒杯 price:9999 des:普通的酒杯,但是里面.. discount:0.4 limit_time:90"),_("br"),t._v("添加商品 name:可疑的药 price:5 des:效果未知")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}})]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("删除商品")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("name/id")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("删除商品 好感度卡"),_("br"),t._v("删除商品 1")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("删除一个商品")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("修改商品")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("name:[名称或序号] price:[价格] des:[描述] discount:[折扣] limit_time:[限时]")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("修改商品 name:1 price:900")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("修改商品数据")])])])]),t._v(" "),_("h2",{attrs:{id:"使用道具"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#使用道具"}},[t._v("#")]),t._v(" 使用道具")]),t._v(" "),_("ul",[_("li",[_("strong",[t._v("模块")]),t._v(": "),_("code",[t._v("use")])]),t._v(" "),_("li",[_("strong",[t._v("群权限")]),t._v(" : "),_("code",[t._v("5")])]),t._v(" "),_("li",[_("strong",[t._v("说明")]),t._v(":"),_("br"),t._v("\n使用道具指令")]),t._v(" "),_("li",[_("strong",[t._v("指令")]),t._v(":\n"),_("ul",[_("li",[t._v("使用道具\n"),_("ul",[_("li",[_("code",[t._v("name: str")]),t._v(":商品名称")]),t._v(" "),_("li",[_("code",[t._v("id: int")]),t._v(":商品id,该id以"),_("code",[t._v("我的道具")]),t._v("为准")])])])])])]),t._v(" "),_("table",[_("thead",[_("tr",[_("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),_("tbody",[_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("使用道具")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("name/id")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("使用道具好感度卡"),_("br"),t._v("使用道具1")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("通过名称或id使用道具")])])])]),t._v(" "),_("h2",{attrs:{id:"购买道具"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#购买道具"}},[t._v("#")]),t._v(" 购买道具")]),t._v(" "),_("ul",[_("li",[_("strong",[t._v("模块")]),t._v(": "),_("code",[t._v("buy")])]),t._v(" "),_("li",[_("strong",[t._v("群权限")]),t._v(" : "),_("code",[t._v("5")])]),t._v(" "),_("li",[_("strong",[t._v("说明")]),t._v(":"),_("br"),t._v("\n购买道具指令")]),t._v(" "),_("li",[_("strong",[t._v("指令")]),t._v(":\n"),_("ul",[_("li",[t._v("使用道具\n"),_("ul",[_("li",[_("code",[t._v("name: str")]),t._v(":商品名称")]),t._v(" "),_("li",[_("code",[t._v("id: int")]),t._v(":商品id")]),t._v(" "),_("li",[_("code",[t._v("num: int")]),t._v(":可选,数量,默认1")])])])])])]),t._v(" "),_("table",[_("thead",[_("tr",[_("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),_("tbody",[_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("购买道具")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("name/id num")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("购买道具好感度卡"),_("br"),t._v("购买道具1 5")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("通过名称或id购买道具,使用num批量购买")])])])]),t._v(" "),_("h2",{attrs:{id:"我的金币"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#我的金币"}},[t._v("#")]),t._v(" 我的金币")]),t._v(" "),_("ul",[_("li",[_("strong",[t._v("模块")]),t._v(": "),_("code",[t._v("gold")])]),t._v(" "),_("li",[_("strong",[t._v("群权限")]),t._v(" : "),_("code",[t._v("5")])]),t._v(" "),_("li",[_("strong",[t._v("说明")]),t._v(":"),_("br"),t._v("\n查看金币与群内金币排行")]),t._v(" "),_("li",[_("strong",[t._v("指令")]),t._v(":\n"),_("ul",[_("li",[t._v("金币排行\n"),_("ul",[_("li",[_("code",[t._v("num: int")]),t._v(":可选,排行榜人数,默认10")])])])])])]),t._v(" "),_("table",[_("thead",[_("tr",[_("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),_("tbody",[_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("我的金币")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("我的金币")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("查看个人金币")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("金币排行")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("num")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("金币排行"),_("br"),t._v("金币排行50")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("群内个人金币排行")])])])]),t._v(" "),_("h2",{attrs:{id:"我的道具"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#我的道具"}},[t._v("#")]),t._v(" 我的道具")]),t._v(" "),_("ul",[_("li",[_("strong",[t._v("模块")]),t._v(": "),_("code",[t._v("my_props")])]),t._v(" "),_("li",[_("strong",[t._v("群权限")]),t._v(" : "),_("code",[t._v("5")])]),t._v(" "),_("li",[_("strong",[t._v("说明")]),t._v(":"),_("br"),t._v("\n查看个人道具指令")]),t._v(" "),_("li",[_("strong",[t._v("指令")]),t._v(":")])]),t._v(" "),_("table",[_("thead",[_("tr",[_("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),_("tbody",[_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("我的道具")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("我的道具")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("查看个人道具")])])])]),t._v(" "),_("h2",{attrs:{id:"每日金币重置"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#每日金币重置"}},[t._v("#")]),t._v(" 每日金币重置")]),t._v(" "),_("ul",[_("li",[_("strong",[t._v("模块")]),t._v(": "),_("code",[t._v("reset_today_gold")])]),t._v(" "),_("li",[_("strong",[t._v("说明")]),t._v(":"),_("br"),t._v("\n每日获得金币,失去金币重置")]),t._v(" "),_("li",[_("strong",[t._v("定时任务")]),t._v(":")])]),t._v(" "),_("table",[_("thead",[_("tr",[_("th",{staticStyle:{"text-align":"center"}},[t._v("名称")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("类型")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("时间")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),_("tbody",[_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("每日金币重置")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("cron")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("hour=0 minute=1")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("每日"),_("code",[t._v("00:01")]),t._v("重置今日获取金币,失去金币")])])])])])}),[],!1,null,null,null);e.default=i.exports}}]); \ No newline at end of file diff --git a/assets/js/28.b4ff306c.js b/assets/js/28.b4ff306c.js new file mode 100644 index 000000000..4b18f3dda --- /dev/null +++ b/assets/js/28.b4ff306c.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[28],{454:function(s,t,a){"use strict";a.r(t);var n=a(2),r=Object(n.a)({},(function(){var s=this,t=s._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":s.$parent.slotKey}},[t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"title"}),t("p",[s._v("首次运行会在 "),t("strong",[s._v("data/configs/")]),s._v(" 和 "),t("strong",[s._v("data/")]),s._v(" 下生成配置文件"),t("br"),s._v("\n该页面解释配置文件注解")])]),t("div",{staticClass:"custom-block warning"},[t("p",{staticClass:"title"}),t("p",[s._v("修改yaml需要注意:"),t("br"),s._v("\n冒号后面要带 "),t("strong",[s._v("空格")]),s._v("!冒号后面要带 "),t("strong",[s._v("空格")]),s._v("!冒号后面要带 "),t("strong",[s._v("空格")]),s._v("!")])]),t("h1",{attrs:{id:"configs目录"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#configs目录"}},[s._v("#")]),s._v(" configs目录")]),s._v(" "),t("h2",{attrs:{id:"config-yaml"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#config-yaml"}},[s._v("#")]),s._v(" config.yaml")]),s._v(" "),t("p",[s._v("插件配置项文件,摒弃了原所有插件配置都在"),t("strong",[s._v("config.py")]),s._v(",对新增插件无法很好的进行统一配置管理"),t("br"),s._v("\n现在将通过插件标准将插件配置项统一管理和修改"),t("br"),s._v(" "),t("em",[t("strong",[s._v("所有插件的配置项全部在这里!")])]),t("br"),s._v(" "),t("em",[t("strong",[s._v("该文件自动生成,仅仅可修改值,请不要手动添加配置项")])]),t("br"),s._v("\n示例:")]),s._v(" "),t("div",{staticClass:"language-yaml line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-yaml"}},[t("code",[t("span",{pre:!0,attrs:{class:"token key atrule"}},[s._v("admin_bot_manage")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 群管理员操作")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# SET_GROUP_WELCOME_MESSAGE_LEVEL: 设置群欢迎消息权限")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# CHANGE_GROUP_SWITCH_LEVEL: 开关群功能权限")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# ADMIN_DEFAULT_AUTH: 默认群管理员权限")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token key atrule"}},[s._v("SET_GROUP_WELCOME_MESSAGE_LEVEL")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("2")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token key atrule"}},[s._v("CHANGE_GROUP_SWITCH_LEVEL")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("2")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token key atrule"}},[s._v("ADMIN_DEFAULT_AUTH")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("5")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("...")]),s._v("\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br"),t("span",{staticClass:"line-number"},[s._v("2")]),t("br"),t("span",{staticClass:"line-number"},[s._v("3")]),t("br"),t("span",{staticClass:"line-number"},[s._v("4")]),t("br"),t("span",{staticClass:"line-number"},[s._v("5")]),t("br"),t("span",{staticClass:"line-number"},[s._v("6")]),t("br"),t("span",{staticClass:"line-number"},[s._v("7")]),t("br"),t("span",{staticClass:"line-number"},[s._v("8")]),t("br"),t("span",{staticClass:"line-number"},[s._v("9")]),t("br")])]),t("h2",{attrs:{id:"plugins2config-yaml"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#plugins2config-yaml"}},[s._v("#")]),s._v(" plugins2config.yaml")]),s._v(" "),t("p",[s._v("该配置文件主要是用于生成"),t("strong",[s._v("configs/config.yaml")]),s._v("文件"),t("br"),s._v(" "),t("em",[t("strong",[s._v("该文件自动生成,不要修改和新增")])])])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/29.983a5a43.js b/assets/js/29.983a5a43.js deleted file mode 100644 index f9d219495..000000000 --- a/assets/js/29.983a5a43.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[29],{630:function(t,e,_){"use strict";_.r(e);var v=_(12),l=Object(v.a)({},(function(){var t=this,e=t.$createElement,_=t._self._c||e;return _("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[_("div",{staticClass:"custom-block tip"},[_("p",{staticClass:"title"}),_("p",[t._v("详细请查看真寻Bot的 “超级用户帮助”")])]),_("h2",{attrs:{id:"超级用户帮助"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#超级用户帮助"}},[t._v("#")]),t._v(" 超级用户帮助")]),t._v(" "),_("ul",[_("li",[_("strong",[t._v("模块")]),t._v(": "),_("code",[t._v("super_help")])]),t._v(" "),_("li",[_("strong",[t._v("说明")]),t._v(":"),_("br"),t._v("\n超级用户帮助总览")]),t._v(" "),_("li",[_("strong",[t._v("指令")]),t._v(":")])]),t._v(" "),_("table",[_("thead",[_("tr",[_("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),_("tbody",[_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("超级用户帮助")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("超级用户帮助")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")])])])]),t._v(" "),_("h2",{attrs:{id:"插件管理"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#插件管理"}},[t._v("#")]),t._v(" 插件管理")]),t._v(" "),_("ul",[_("li",[_("strong",[t._v("模块")]),t._v(": "),_("code",[t._v("switch_rule")])]),t._v(" "),_("li",[_("strong",[t._v("说明")]),t._v(":"),_("br"),t._v("\n插件总开关的禁用与维护"),_("br"),t._v("\n在"),_("strong",[t._v("群聊")]),t._v("中使用该功能与管理员插件无异"),_("br"),t._v("\n在"),_("strong",[t._v("私聊")]),t._v("中使用插件享受以下效果")]),t._v(" "),_("li",[_("strong",[t._v("指令")]),t._v(":\n"),_("ul",[_("li",[t._v("开启/关闭\n"),_("ul",[_("li",[_("code",[t._v("plugin_cmd: str")]),t._v(":插件名称或别名")]),t._v(" "),_("li",[_("code",[t._v("block_type: str")]),t._v(":禁用类型,"),_("code",[t._v('"all"')]),t._v(":默认值,全部禁用,"),_("code",[t._v('"group"/"g"')]),t._v(":群聊禁用,"),_("code",[t._v('"private"/"p"')]),t._v(":私聊禁用")])])])])])]),t._v(" "),_("table",[_("thead",[_("tr",[_("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),_("tbody",[_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("开启/关闭")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("plugin_cmd block_type")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("开启色图"),_("br"),t._v("关闭色图 p"),_("br"),t._v("关闭色图 g")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("功能总开关,控制私聊群聊禁用等")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("功能状态")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("功能状态")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("查看当前功能禁用情况")])])])]),t._v(" "),_("h2",{attrs:{id:"好友-群组操作"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#好友-群组操作"}},[t._v("#")]),t._v(" 好友/群组操作")]),t._v(" "),_("ul",[_("li",[_("strong",[t._v("模块")]),t._v(": "),_("code",[t._v("bot_friend_group")])]),t._v(" "),_("li",[_("strong",[t._v("说明")]),t._v(":"),_("br"),t._v("\n显示真寻Bot所有的当前所有的好友/群组")]),t._v(" "),_("li",[_("strong",[t._v("指令")]),t._v(":\n"),_("ul",[_("li",[_("code",[t._v("id: int")]),t._v(":通过查看所有请求获取")])])])]),t._v(" "),_("table",[_("thead",[_("tr",[_("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),_("tbody",[_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("查看所有好友")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("查看所有好友")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("查看所有群组")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("查看所有群组")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("同意好友请求")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("id")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("同意好友请求0")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("拒绝好友请求")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("id")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("拒绝好友请求0")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("同意群聊请求")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("id")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("同意群聊请求")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("拒绝群聊请求")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("id")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("拒绝群聊请求")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("查看所有请求")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("查看所有请求")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("查看所有好友请求,以上方法id的获取方式")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("清空所有请求")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("清空所有请求")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("清空保存的所有请求")])])])]),t._v(" "),_("h2",{attrs:{id:"清理临时数据"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#清理临时数据"}},[t._v("#")]),t._v(" 清理临时数据")]),t._v(" "),_("ul",[_("li",[_("strong",[t._v("模块")]),t._v(": "),_("code",[t._v("clear_data")])]),t._v(" "),_("li",[_("strong",[t._v("说明")]),t._v(":"),_("br"),t._v("\n清理已添加的至"),_("code",[t._v("resources_manager")]),t._v("的临时数据")]),t._v(" "),_("li",[_("strong",[t._v("指令")]),t._v(":")])]),t._v(" "),_("table",[_("thead",[_("tr",[_("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),_("tbody",[_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("清理临时数据")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("清理临时数据")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")])])])]),t._v(" "),_("h2",{attrs:{id:"管理群操作"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#管理群操作"}},[t._v("#")]),t._v(" 管理群操作")]),t._v(" "),_("ul",[_("li",[_("strong",[t._v("模块")]),t._v(": "),_("code",[t._v("manager_group")])]),t._v(" "),_("li",[_("strong",[t._v("说明")]),t._v(":"),_("br"),t._v("\n对群聊的超级用户管理选项"),_("br"),t._v("\n当群权限改为"),_("code",[t._v("-1")]),t._v("时则完全屏蔽该群消息")]),t._v(" "),_("li",[_("strong",[t._v("指令")]),t._v(":\n"),_("ul",[_("li",[t._v("退群\n"),_("ul",[_("li",[_("code",[t._v("group_id: int")]),t._v(":群号")])])]),t._v(" "),_("li",[t._v("修改群权限\n"),_("ul",[_("li",[_("code",[t._v("group_id: int")]),t._v(":群号")]),t._v(" "),_("li",[_("code",[t._v("level: int")]),t._v(":权限等级,推荐 "),_("code",[t._v("-1~9")])])])]),t._v(" "),_("li",[t._v("添加/删除群白名单\n"),_("ul",[_("li",[_("code",[t._v("*group_id")]),t._v(":一个或多个群号,使用空格隔开")])])])])])]),t._v(" "),_("table",[_("thead",[_("tr",[_("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),_("tbody",[_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("退群")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("group_id")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("退群 123456789")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("退出指定群聊")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("修改群权限")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("group_id level")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("修改群权限 12345678 9")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("修改指定群聊的群权限等级")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("添加群白名单")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("*group_id")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("添加群白名单 1234213 43423...")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("将一个或多个群添加至群白名单,白名单中的群不受功能维护限制")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("删除群白名单")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("*group_id")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("同上")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("同上")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("查看群白名单")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("查看群白名单")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("查看当前群白名单中的所有群聊id")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("添加群认证")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("*group_id")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("添加群认证 34532 324..")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("为一个或多个群添加群认证")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("删除群认证")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("*group_id")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("删除群认证 234422 222..")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("删除一个或多个群认证")])])])]),t._v(" "),_("h2",{attrs:{id:"重载插件配置"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#重载插件配置"}},[t._v("#")]),t._v(" 重载插件配置")]),t._v(" "),_("ul",[_("li",[_("strong",[t._v("模块")]),t._v(": "),_("code",[t._v("reload_setting")])]),t._v(" "),_("li",[_("strong",[t._v("说明")]),t._v(":"),_("br"),t._v("\n重载插件配置,包括"),_("code",[t._v("plugins2settings_manager")]),t._v(","),_("code",[t._v("plugins2cd_manager")]),t._v(","),_("code",[t._v("plugins2block_manager")]),t._v(","),_("code",[t._v("group_manager")]),t._v("四种配置重载")]),t._v(" "),_("li",[_("strong",[t._v("指令")]),t._v(":")])]),t._v(" "),_("table",[_("thead",[_("tr",[_("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),_("tbody",[_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("重载配置")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("重载配置")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")])])])]),t._v(" "),_("h2",{attrs:{id:"管理员权限操作"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#管理员权限操作"}},[t._v("#")]),t._v(" 管理员权限操作")]),t._v(" "),_("ul",[_("li",[_("strong",[t._v("模块")]),t._v(": "),_("code",[t._v("set_admin_permissions")])]),t._v(" "),_("li",[_("strong",[t._v("说明")]),t._v(":"),_("br"),t._v("\n用于修改管理员权限,超级用户修改的权限不会被"),_("strong",[t._v("自动权限")]),t._v("修改")]),t._v(" "),_("li",[_("strong",[t._v("指令")]),t._v(":\n"),_("ul",[_("li",[t._v("添加权限\n"),_("ul",[_("li",[_("code",[t._v("[at]")]),t._v(":at对象")]),t._v(" "),_("li",[_("code",[t._v("qq")]),t._v(":指定qq")]),t._v(" "),_("li",[_("code",[t._v("group_id")]),t._v(":群号")]),t._v(" "),_("li",[_("code",[t._v("level: int")]),t._v(":权限等级,一般为"),_("code",[t._v("0~9")]),t._v(",非必要情况建议设置"),_("code",[t._v("5")]),t._v("及以下")])])]),t._v(" "),_("li",[t._v("删除权限\n"),_("ul",[_("li",[_("code",[t._v("[at]")]),t._v(":at对象")])])])])])]),t._v(" "),_("table",[_("thead",[_("tr",[_("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),_("tbody",[_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("添加权限")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("[at] level")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("添加权限 @A 5")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("为A添加5级管理员权限")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("添加权限")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("qq group_id level")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("添加权限 @A 5")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("为A添加5级管理员权限")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("删除权限")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("[at]")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("删除权限 @A")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("删除A的管理员权限")])])])]),t._v(" "),_("h2",{attrs:{id:"更新群-好友信息"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#更新群-好友信息"}},[t._v("#")]),t._v(" 更新群/好友信息")]),t._v(" "),_("ul",[_("li",[_("strong",[t._v("模块")]),t._v(": "),_("code",[t._v("update_friend_group_info")])]),t._v(" "),_("li",[_("strong",[t._v("说明")]),t._v(":"),_("br"),t._v("\n快速更新当前所有群/好友信息")]),t._v(" "),_("li",[_("strong",[t._v("指令")]),t._v(":")])]),t._v(" "),_("table",[_("thead",[_("tr",[_("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),_("tbody",[_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("更新好友信息")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("更新好友信息")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("更新群信息")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("更新群信息")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")])])])]),t._v(" "),_("h2",{attrs:{id:"广播"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#广播"}},[t._v("#")]),t._v(" 广播")]),t._v(" "),_("ul",[_("li",[_("strong",[t._v("模块")]),t._v(": "),_("code",[t._v("broadcast")])]),t._v(" "),_("li",[_("strong",[t._v("说明")]),t._v(":"),_("br"),t._v("\n对所有群聊发起广播消息")]),t._v(" "),_("li",[_("strong",[t._v("指令")]),t._v(":\n"),_("ul",[_("li",[t._v("广播-\n"),_("ul",[_("li",[_("code",[t._v("msg: str")]),t._v(":消息内容,可以添加图片")])])])])])]),t._v(" "),_("table",[_("thead",[_("tr",[_("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),_("tbody",[_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("广播-")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("msg")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("广播- 我喜欢真寻 [图片]")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("对所有群聊进行社死")])])])]),t._v(" "),_("h2",{attrs:{id:"封禁用户"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#封禁用户"}},[t._v("#")]),t._v(" 封禁用户")]),t._v(" "),_("ul",[_("li",[_("strong",[t._v("模块")]),t._v(": "),_("code",[t._v("ban")])]),t._v(" "),_("li",[_("strong",[t._v("说明")]),t._v(":"),_("br"),t._v("\n相当于最上级的"),_("code",[t._v(".ban")]),t._v(",屏蔽用户所有消息,使用"),_("code",[t._v(".unban")]),t._v("解封")]),t._v(" "),_("li",[_("strong",[t._v("指令")]),t._v(":\n"),_("ul",[_("li",[t._v("b了\n"),_("ul",[_("li",[_("code",[t._v("[at]/qq")]),t._v(":at对象或指定qq")])])]),t._v(" "),_("li",[t._v("ban\n"),_("ul",[_("li",[_("code",[t._v("qq")]),t._v(": 用户qq")]),t._v(" "),_("li",[_("code",[t._v("hour")]),t._v(":可选,小时")]),t._v(" "),_("li",[_("code",[t._v("minute")]),t._v(":可选,分钟")])])])])])]),t._v(" "),_("table",[_("thead",[_("tr",[_("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),_("tbody",[_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("b了")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("[at]/qq")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("b了 @A")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("屏蔽A的所有消息")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("ban")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("qq hour minute")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("ban 1234567")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("远程ban")])])])]),t._v(" "),_("h2",{attrs:{id:"执行sql"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#执行sql"}},[t._v("#")]),t._v(" 执行sql")]),t._v(" "),_("ul",[_("li",[_("strong",[t._v("模块")]),t._v(": "),_("code",[t._v("exec_sql")])]),t._v(" "),_("li",[_("strong",[t._v("说明")]),t._v(":"),_("br"),t._v("\n执行指定sql")]),t._v(" "),_("li",[_("strong",[t._v("指令")]),t._v(":\n"),_("ul",[_("li",[_("code",[t._v("sql: str")]),t._v(":sql语句")])])])]),t._v(" "),_("table",[_("thead",[_("tr",[_("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),_("tbody",[_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("exec")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("sql")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")])])])])])}),[],!1,null,null,null);e.default=l.exports}}]); \ No newline at end of file diff --git a/assets/js/29.b05410ee.js b/assets/js/29.b05410ee.js new file mode 100644 index 000000000..770a4455a --- /dev/null +++ b/assets/js/29.b05410ee.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[29],{441:function(t,e,i){"use strict";i.r(e);var l=i(2),n=Object(l.a)({},(function(){var t=this,e=t._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h2",{attrs:{id:"超级用户插件"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#超级用户插件"}},[t._v("#")]),t._v(" 超级用户插件")]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",{staticStyle:{"text-align":"center"}},[t._v("名称")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("模块")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("作者")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("版本")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("群权限")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("路径")])])]),t._v(" "),e("tbody",[e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/docs/help_doc/public_plugins/superuser_plugins.html#管理员回复"}},[t._v("管理员回复")])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("dialogue")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("HibiKier")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0.1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("plugins/dialogue")])])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/docs/help_doc/public_plugins/superuser_plugins.html#真寻更新管理"}},[t._v("真寻更新管理")])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("check_zhenxun_update")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("HibiKier")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0.1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("plugins/check_zhenxun_update")])])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/docs/help_doc/public_plugins/superuser_plugins.html#管理员回复"}},[t._v("自检")])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("check")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("HibiKier")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0.1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("plugins/check")])])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/docs/help_doc/public_plugins/superuser_plugins.html#下载gocq"}},[t._v("下载gocq")])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("update_gocqhttp")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("HibiKier")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0.1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("plugins/update_gocqhttp")])])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/docs/help_doc/public_plugins/common_plugins/common_plugins.html#敏感词检测"}},[t._v("敏感词检测")])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("black_word")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("HibiKier")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0.1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("plugins/black_word")])])])])]),t._v(" "),e("h2",{attrs:{id:"管理员插件"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#管理员插件"}},[t._v("#")]),t._v(" 管理员插件")]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",{staticStyle:{"text-align":"center"}},[t._v("名称")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("模块")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("作者")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("版本")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("管理员权限")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("路径")])])]),t._v(" "),e("tbody",[e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/docs/help_doc/public_plugins/admin_plugins.html#上传图片"}},[t._v("上传图片")])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("upload_img")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("HibiKier")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0.1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("6")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("plugins/image_management/upload_img")])])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/docs/help_doc/public_plugins/admin_plugins.html#删除图片"}},[t._v("删除图片")])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("delete_img")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("HibiKier")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0.1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("7")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("plugins/image_management/delete_img")])])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/docs/help_doc/public_plugins/admin_plugins.html#移动图片"}},[t._v("移动图片")])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("move_img")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("HibiKier")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0.1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("7")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("plugins/image_management/move_img")])])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/docs/help_doc/public_plugins/admin_plugins.html#刷屏禁言"}},[t._v("刷屏禁言")])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("mute")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("HibiKier")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0.1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("5")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("plugins/mute")])])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/docs/help_doc/public_plugins/admin_plugins.html#撤回"}},[t._v("撤回")])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("withdraw")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("HibiKier")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0.1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("plugins/withdraw")])])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/docs/help_doc/public_plugins/admin_plugins.html#群词条设置"}},[t._v("群词条设置")])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("word_bank")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("HibiKier")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0.1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("plugins/word_bank")])])])])]),t._v(" "),e("h2",{attrs:{id:"常规插件"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#常规插件"}},[t._v("#")]),t._v(" 常规插件")]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",{staticStyle:{"text-align":"center"}},[t._v("名称")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("模块")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("作者")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("版本")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("群权限")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("路径")])])]),t._v(" "),e("tbody",[e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/docs/help_doc/public_plugins/common_plugins/common_plugins.html#智障智能聊天"}},[t._v("Ai")])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("ai")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("HibiKier")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0.1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("5")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("plugins/ai")])])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/docs/help_doc/public_plugins/common_plugins/common_plugins.html#alapi"}},[t._v("网易云热评")])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("comments_163")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("HibiKier")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0.1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("5")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("plugins/alapi/comments_163")])])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/docs/help_doc/public_plugins/common_plugins/common_plugins.html#alapi"}},[t._v("b封面")])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("cover")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("HibiKier")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0.1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("5")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("plugins/alapi/cover")])])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/docs/help_doc/public_plugins/common_plugins/common_plugins.html#alapi"}},[t._v("古诗")])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("poetry")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("HibiKier")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0.1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("5")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("plugins/alapi/poetry")])])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/docs/help_doc/public_plugins/common_plugins/common_plugins.html#alapi"}},[t._v("微博热搜")])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("wbtop")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("HibiKier")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0.1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("5")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("plugins/alapi/wbtop")])])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/docs/help_doc/public_plugins/common_plugins/common_plugins.html#b站订阅"}},[t._v("B站订阅")])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("bilibili_sub")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("HibiKier")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0.1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("5")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("plugins/bilibili_sub")])])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/docs/help_doc/public_plugins/common_plugins/common_plugins.html#磁力搜索"}},[t._v("磁力搜索")])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("bt")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("HibiKier")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0.1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("None(仅私聊)")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("plugins/bt")])])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/docs/help_doc/public_plugins/common_plugins/common_plugins.html#点歌"}},[t._v("点歌")])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("c_song")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("HibiKier")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0.1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("5")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("plugins/c_song")])])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/docs/help_doc/public_plugins/common_plugins/common_plugins.html#Cosplay"}},[t._v("Cosplay")])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("coser")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("HibiKier")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0.1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("5")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("plugins/coser")])])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/docs/help_doc/public_plugins/common_plugins/common_plugins.html#鲁迅说"}},[t._v("鲁迅说")])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("luxun")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("HibiKier")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0.1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("5")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("plugins/luxun")])])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/docs/help_doc/public_plugins/common_plugins/common_plugins.html#我有一个朋友"}},[t._v("我有一个朋友")])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("one_friend")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("HibiKier")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0.1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("5")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("plugins/one_friend")])])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/docs/help_doc/public_plugins/common_plugins/common_plugins.html#骂我"}},[t._v("骂我")])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("send_dinggong_voice")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("HibiKier")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0.1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("5")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("plugins/send_dinggong_voice")])])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/docs/help_doc/public_plugins/common_plugins/common_plugins.html#金币红包"}},[t._v("金币红包")])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("gold_redbag")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("HibiKier")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0.1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("5")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("plugins/gold_redbag")])])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/docs/help_doc/public_plugins/common_plugins/common_plugins.html#假消息"}},[t._v("假消息")])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("fake_msg")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("HibiKier")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0.1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("5")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("plugins/fake_msg")])])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/docs/help_doc/public_plugins/common_plugins/common_plugins.html#鸡汤"}},[t._v("鸡汤")])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("jitang")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("HibiKier")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0.1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("5")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("plugins/jitang")])])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/docs/help_doc/public_plugins/common_plugins/common_plugins.html#能不能好好说话"}},[t._v("能不能好好说话")])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("nbnhhsh")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("HibiKier")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0.1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("5")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("plugins/nbnhhsh")])])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/docs/help_doc/public_plugins/common_plugins/common_plugins.html#p搜"}},[t._v("p搜")])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("pid_search")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("HibiKier")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0.1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("5")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("plugins/pid_search")])])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/docs/help_doc/public_plugins/common_plugins/common_plugins.html#一言二次元语录"}},[t._v("一言二次元语录")])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("quotations")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("HibiKier")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0.1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("5")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("plugins/quotations")])])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/docs/help_doc/public_plugins/common_plugins/common_plugins.html#roll"}},[t._v("roll")])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("roll")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("HibiKier")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0.1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("5")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("plugins/roll")])])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/docs/help_doc/public_plugins/common_plugins/common_plugins.html#黑白草图"}},[t._v("黑白草图")])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("white2black_img")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("HibiKier")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0.1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("5")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("plugins/white2black_img")])])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/docs/help_doc/public_plugins/common_plugins/common_plugins.html#epic"}},[t._v("epic")])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("epic")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("AkashiCoin")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0.1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("5")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("plugins/epic")])])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/docs/help_doc/public_plugins/common_plugins/common_plugins.html#群词条"}},[t._v("群词条")])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("word_bank")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("HibiKier")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0.1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("plugins/word_bank")])])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/docs/help_doc/public_plugins/common_plugins/common_plugins.html#识图"}},[t._v("识图")])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("search_image")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("HibiKier")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0.1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("plugins/search_image")])])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/docs/help_doc/public_plugins/common_plugins/common_plugins.html#敏感词检测"}},[t._v("敏感词检测")])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("black_word")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("HibiKier")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0.1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("plugins/black_word")])])])])]),t._v(" "),e("h2",{attrs:{id:"一些工具"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#一些工具"}},[t._v("#")]),t._v(" 一些工具")]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",{staticStyle:{"text-align":"center"}},[t._v("名称")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("模块")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("作者")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("版本")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("群权限")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("路径")])])]),t._v(" "),e("tbody",[e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/docs/help_doc/public_plugins/utils_plugins/utils_plugins.html#搜番"}},[t._v("搜番")])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("search_anime")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("HibiKier")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0.1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("5")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("plugins/search_anime")])])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/docs/help_doc/public_plugins/utils_plugins/utils_plugins.html#Buff皮肤查询"}},[t._v("Buff皮肤查询")])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("search_buff_skin_price")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("HibiKier")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0.1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("5")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("plugins/search_buff_skin_price")])])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/docs/help_doc/public_plugins/utils_plugins/utils_plugins.html#翻译"}},[t._v("翻译")])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("translate")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("HibiKier")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0.1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("5")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("plugins/translate")])])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/docs/help_doc/public_plugins/utils_plugins/utils_plugins.html#天气"}},[t._v("天气查询")])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("weather")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("HibiKier")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0.1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("5")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("plugins/weather")])])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/docs/help_doc/public_plugins/utils_plugins/utils_plugins.html#识番"}},[t._v("识番")])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("what_anime")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("HibiKier")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0.1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("5")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("plugins/what_anime")])])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/docs/help_doc/public_plugins/utils_plugins/utils_plugins.html#疫情查询"}},[t._v("疫情查询")])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("yiqing")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("HibiKier & yzyyz1387")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0.1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("5")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("plugins/yiqing")])])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/docs/help_doc/public_plugins/utils_plugins/utils_plugins.html#图片修改"}},[t._v("图片修改")])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("update_pic")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("HibiKier")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0.1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("5")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("plugins/update_pic")])])])])]),t._v(" "),e("h2",{attrs:{id:"原神相关"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#原神相关"}},[t._v("#")]),t._v(" 原神相关")]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",{staticStyle:{"text-align":"center"}},[t._v("名称")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("模块")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("作者")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("版本")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("群权限")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("路径")])])]),t._v(" "),e("tbody",[e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/docs/help_doc/public_plugins/genshin_plugins/genshin_plugins.html#原神老黄历"}},[t._v("原神老黄历")])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("almanac")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("HibiKier")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0.1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("5")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("plugins/genshin/almanac")])])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/docs/help_doc/public_plugins/genshin_plugins/genshin_plugins.html#今日素材"}},[t._v("今日素材")])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("material_remind")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("HibiKier")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0.1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("5")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("plugins/genshin/material_remind")])])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/docs/help_doc/public_plugins/genshin_plugins/genshin_plugins.html#原神资源查找"}},[t._v("原神资源查找")])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("query_resource_points")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("HibiKier")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0.1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("5")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("plugins/genshin/query_resource_points")])])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/docs/help_doc/public_plugins/genshin_plugins/genshin_plugins.html#原神绑定"}},[t._v("原神绑定")])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("bind")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("HibiKier")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0.1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("5")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("plugins/genshin/query_user/bind")])])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/docs/help_doc/public_plugins/genshin_plugins/genshin_plugins.html#原神玩家查询"}},[t._v("原神玩家查询")])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("query_role")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("HibiKier")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0.1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("5")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("plugins/genshin/query_user/query_role")])])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/docs/help_doc/public_plugins/genshin_plugins/genshin_plugins.html#原神便笺查询"}},[t._v("原神便笺查询")])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("query_memo")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("HibiKier")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0.1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("5")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("plugins/genshin/query_user/query_memo")])])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/docs/help_doc/public_plugins/genshin_plugins/genshin_plugins.html#原神签到"}},[t._v("原神签到")])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("genshin_sign")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("HibiKier")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0.1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("5")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("plugins/genshin/query_user/genshin_sign")])])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/docs/help_doc/public_plugins/genshin_plugins/genshin_plugins.html#原神树脂提醒"}},[t._v("原神树脂提醒")])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("resin_remind")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("HibiKier")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0.1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("5")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("plugins/genshin/query_user/resin_remind")])])])])]),t._v(" "),e("h2",{attrs:{id:"商店"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#商店"}},[t._v("#")]),t._v(" 商店")]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",{staticStyle:{"text-align":"center"}},[t._v("名称")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("模块")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("作者")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("版本")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("群权限")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("路径")])])]),t._v(" "),e("tbody",[e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/docs/help_doc/public_plugins/shop_plugins/shop_plugins.html#商店"}},[t._v("商店")])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("shop_handle")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("HibiKier")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0.1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("5")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("plugins/shop/shop_handle")])])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/docs/help_doc/public_plugins/shop_plugins/shop_plugins.html#使用道具"}},[t._v("使用道具")])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("shop_handle")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("HibiKier")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0.1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("5")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("plugins/shop/shop_handle")])])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/docs/help_doc/public_plugins/shop_plugins/shop_plugins.html#购买道具"}},[t._v("购买道具")])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("buy")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("HibiKier")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0.1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("5")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("plugins/shop/buy")])])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/docs/help_doc/public_plugins/shop_plugins/shop_plugins.html#我的金币"}},[t._v("我的金币")])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("gold")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("HibiKier")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0.1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("5")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("plugins/shop/gold")])])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/docs/help_doc/public_plugins/shop_plugins/shop_plugins.html#我的道具"}},[t._v("我的道具")])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("my_props")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("HibiKier")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0.1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("5")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("plugins/shop/my_props")])])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/docs/help_doc/public_plugins/shop_plugins/shop_plugins.html#每日金币重置"}},[t._v("每日金币重置")])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("reset_today_gold")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("HibiKier")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0.1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("5")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("plugins/shop/reset_today_gold")])])])])]),t._v(" "),e("h2",{attrs:{id:"抽卡相关"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#抽卡相关"}},[t._v("#")]),t._v(" 抽卡相关")]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",{staticStyle:{"text-align":"center"}},[t._v("名称")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("模块")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("作者")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("版本")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("群权限")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("路径")])])]),t._v(" "),e("tbody",[e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/docs/help_doc/public_plugins/draw_card_plugins/draw_card_plugins.html#drawcard"}},[t._v("DrawCard")])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("draw_card")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("HibiKier")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0.1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("5")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("plugins/draw_card")])])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/docs/help_doc/public_plugins/draw_card_plugins/draw_card_plugins.html#Csgo开箱"}},[t._v("Csgo开箱")])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("open_cases")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("HibiKier")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0.1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("5")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("plugins/open_cases")])])])])]),t._v(" "),e("h2",{attrs:{id:"来点好康的"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#来点好康的"}},[t._v("#")]),t._v(" 来点好康的")]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",{staticStyle:{"text-align":"center"}},[t._v("名称")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("模块")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("作者")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("版本")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("群权限")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("路径")])])]),t._v(" "),e("tbody",[e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/docs/help_doc/public_plugins/pic_plugins/pic_plugins.html#发送图片"}},[t._v("发送图片")])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("send_img")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("HibiKier")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0.1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("5")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("plugins/image_management/send_img")])])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/docs/help_doc/public_plugins/pic_plugins/pic_plugins.html#pix"}},[t._v("Pix")])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("pix")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("HibiKier")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0.1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("5")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("plugins/pix_gally/pix")])])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/docs/help_doc/public_plugins/pic_plugins/pic_plugins.html#Pixiv排行榜/搜图"}},[t._v("Pixiv排行榜/搜图")])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("pixiv_rank_search")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("HibiKier")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0.1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("9")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("plugins/pixiv_rank_search")])])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/docs/help_doc/public_plugins/pic_plugins/pic_plugins.html#发送图片"}},[t._v("色图")])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("send_setu")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("HibiKier")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0.1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("9")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("plugins/send_setu_/send_setu")])])])])]),t._v(" "),e("h2",{attrs:{id:"群内小游戏"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#群内小游戏"}},[t._v("#")]),t._v(" 群内小游戏")]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",{staticStyle:{"text-align":"center"}},[t._v("名称")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("模块")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("作者")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("版本")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("群权限")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("路径")])])]),t._v(" "),e("tbody",[e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/docs/help_doc/public_plugins/game_plugins/game_plugins.html#俄罗斯轮盘"}},[t._v("俄罗斯轮盘")])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("russian")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("HibiKier")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0.1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("5")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("plugins/russian")])])])])]),t._v(" "),e("h2",{attrs:{id:"其他插件"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#其他插件"}},[t._v("#")]),t._v(" 其他插件")]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",{staticStyle:{"text-align":"center"}},[t._v("名称")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("模块")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("作者")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("版本")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("群权限")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("路径")])])]),t._v(" "),e("tbody",[e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/docs/help_doc/public_plugins/other_plugins/other_plugins.html#额外设置"}},[t._v("额外设置")])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("aconfig")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("HibiKier")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0.1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("plugins/aconfig")])])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/docs/help_doc/public_plugins/other_plugins/other_plugins.html#群聊最后聊天时间记录"}},[t._v("群聊最后聊天时间记录")])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("group_last_chat")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("HibiKier")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0.1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("plugins/group_last_chat")])])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/docs/help_doc/public_plugins/other_plugins/other_plugins.html#戳一戳"}},[t._v("戳一戳")])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("poke")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("HibiKier")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0.1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("5")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("plugins/apoke")])])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/docs/help_doc/public_plugins/other_plugins/other_plugins.html#功能调用统计"}},[t._v("功能调用统计")])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("statistics_hook")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("HibiKier")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0.1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("plugins/statistics/statistics_hook")])])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/docs/help_doc/public_plugins/other_plugins/other_plugins.html#功能调用统计可视化"}},[t._v("功能调用统计可视化")])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("statistics_handle")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("HibiKier")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0.1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("5")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("plugins/statistics/statistics_handle")])])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/docs/help_doc/public_plugins/other_plugins/other_plugins.html#复读"}},[t._v("复读")])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("fudu")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("HibiKier")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0.1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("plugins/fudu")])])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/docs/help_doc/public_plugins/other_plugins/other_plugins.html#查看群欢迎消息"}},[t._v("查看群欢迎消息")])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("group_welcome_msg")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("HibiKier")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0.1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("plugins/group_welcome_msg")])])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/docs/help_doc/public_plugins/other_plugins/other_plugins.html#我的权限/信息"}},[t._v("我的权限/信息")])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("my_info")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("HibiKier")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0.1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("5")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("plugins/my_info")])])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/docs/help_doc/public_plugins/other_plugins/other_plugins.html#B站转发解析"}},[t._v("B站转发解析")])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("parse_bilibili_json")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("HibiKier")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0.1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("plugins/parse_bilibili_json")])])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("RouterLink",{attrs:{to:"/docs/help_doc/public_plugins/other_plugins/other_plugins.html#B站转发解析"}},[t._v("词云")])],1),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("word_clouds")])]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("yajiwa")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("0.1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("5")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("code",[t._v("plugins/word_clouds")])])])])])])}),[],!1,null,null,null);e.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/3.2b1c97fb.js b/assets/js/3.2b1c97fb.js new file mode 100644 index 000000000..c48467553 --- /dev/null +++ b/assets/js/3.2b1c97fb.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{327:function(t,e,o){},328:function(t,e,o){},329:function(t,e,o){},332:function(t,e,o){},333:function(t,e,o){"use strict";o(16);var a=o(0),r=o(325),n=o(324),s=Object(a.c)({components:{RecoIcon:r.b},props:{pageInfo:{type:Object,default:()=>({})},currentTag:{type:String,default:""},showAccessNumber:{type:Boolean,default:!1}},setup(t,e){const o=Object(n.a)();return{numStyle:{fontSize:".9rem",fontWeight:"normal",color:"#999"},goTags:t=>{o.$route.path!==`/tag/${t}/`&&o.$router.push({path:`/tag/${t}/`})},formatDateValue:t=>new Intl.DateTimeFormat(o.$lang).format(new Date(t))}}}),i=(o(334),o(2)),c=Object(i.a)(s,(function(){var t=this,e=t._self._c;t._self._setupProxy;return e("div",[t.pageInfo.frontmatter.author||t.$themeConfig.author?e("reco-icon",{attrs:{icon:"reco-account"}},[e("span",[t._v(t._s(t.pageInfo.frontmatter.author||t.$themeConfig.author))])]):t._e(),t._v(" "),t.pageInfo.frontmatter.date?e("reco-icon",{attrs:{icon:"reco-date"}},[e("span",[t._v(t._s(t.formatDateValue(t.pageInfo.frontmatter.date)))])]):t._e(),t._v(" "),!0===t.showAccessNumber?e("reco-icon",{attrs:{icon:"reco-eye"}},[e("AccessNumber",{attrs:{idVal:t.pageInfo.path,numStyle:t.numStyle}})],1):t._e(),t._v(" "),t.pageInfo.frontmatter.tags?e("reco-icon",{staticClass:"tags",attrs:{icon:"reco-tag"}},t._l(t.pageInfo.frontmatter.tags,(function(o,a){return e("span",{key:a,staticClass:"tag-item",class:{active:t.currentTag==o},on:{click:function(e){return e.stopPropagation(),t.goTags(o)}}},[t._v(t._s(o))])})),0):t._e()],1)}),[],!1,null,"8a445198",null);e.a=c.exports},334:function(t,e,o){"use strict";o(327)},335:function(t,e,o){"use strict";o(328)},336:function(t,e,o){"use strict";o(329)},337:function(t,e,o){"use strict";var a=o(0),r={methods:{_getStoragePage(){const t=window.location.pathname,e=JSON.parse(sessionStorage.getItem("currentPage"));return null===e||t!==e.path?(sessionStorage.setItem("currentPage",JSON.stringify({page:1,path:""})),1):parseInt(e.page)},_setStoragePage(t){const e=window.location.pathname;sessionStorage.setItem("currentPage",JSON.stringify({page:t,path:e}))}}},n=(o(16),o(325)),s=o(333),i=Object(a.c)({components:{PageInfo:s.a,RecoIcon:n.b},props:["item","currentPage","currentTag"]}),c=(o(335),o(2)),l=Object(c.a)(i,(function(){var t=this,e=t._self._c;t._self._setupProxy;return e("div",{staticClass:"abstract-item",on:{click:function(e){return t.$router.push(t.item.path)}}},[t.item.frontmatter.sticky?e("reco-icon",{attrs:{icon:"reco-sticky"}}):t._e(),t._v(" "),e("div",{staticClass:"title"},[t.item.frontmatter.keys?e("reco-icon",{attrs:{icon:"reco-lock"}}):t._e(),t._v(" "),e("router-link",{attrs:{to:t.item.path}},[t._v(t._s(t.item.title))])],1),t._v(" "),e("div",{staticClass:"abstract",domProps:{innerHTML:t._s(t.item.excerpt)}}),t._v(" "),e("PageInfo",{attrs:{pageInfo:t.item,currentTag:t.currentTag}})],1)}),[],!1,null,"73a63558",null).exports,u=o(324),p=Object(a.c)({mixins:[r],components:{NoteAbstractItem:l},props:["data","currentTag"],setup(t,e){const o=Object(u.a)(),{data:r}=Object(a.i)(t),n=Object(a.h)(1),s=Object(a.a)(()=>{const t=(n.value-1)*o.$perPage,e=n.value*o.$perPage;return r.value.slice(t,e)});return Object(a.e)(()=>{n.value=o._getStoragePage()||1}),{currentPage:n,currentPageData:s,getCurrentPage:t=>{n.value=t,o._setStoragePage(t),e.emit("paginationChange",t)}}},watch:{$route(){this.currentPage=this._getStoragePage()||1}}}),g=(o(336),Object(c.a)(p,(function(){var t=this,e=t._self._c;t._self._setupProxy;return e("div",{staticClass:"abstract-wrapper"},[t._l(t.currentPageData,(function(o){return e("NoteAbstractItem",{key:o.path,attrs:{item:o,currentPage:t.currentPage,currentTag:t.currentTag}})})),t._v(" "),e("pagation",{staticClass:"pagation",attrs:{total:t.data.length,currentPage:t.currentPage},on:{getCurrentPage:t.getCurrentPage}})],2)}),[],!1,null,"21a20f36",null));e.a=g.exports},339:function(t,e,o){"use strict";o(332)},341:function(t,e,o){"use strict";var a=o(0),r=o(41),n=o(324),s=Object(a.c)({props:{currentTag:{type:String,default:""}},setup(t,e){const o=Object(n.a)();return{tags:Object(a.a)(()=>[{name:o.$recoLocales.all,path:"/tag/"},...o.$tagesList]),tagClick:t=>{e.emit("getCurrentTag",t)},getOneColor:r.b}}}),i=(o(339),o(2)),c=Object(i.a)(s,(function(){var t=this,e=t._self._c;t._self._setupProxy;return e("div",{staticClass:"tags"},t._l(t.tags,(function(o,a){return e("span",{directives:[{name:"show",rawName:"v-show",value:!o.pages||o.pages&&o.pages.length>0,expression:"!item.pages || (item.pages && item.pages.length > 0)"}],key:a,class:{active:o.name==t.currentTag},style:{backgroundColor:t.getOneColor()},on:{click:function(e){return t.tagClick(o)}}},[t._v(t._s(o.name))])})),0)}),[],!1,null,"cbf58c6c",null);e.a=c.exports},363:function(t,e,o){},364:function(t,e,o){},365:function(t,e,o){},366:function(t,e,o){},367:function(t,e,o){},368:function(t,e,o){},369:function(t,e,o){},401:function(t,e,o){"use strict";o(363)},402:function(t,e,o){"use strict";o(364)},403:function(t,e,o){t.exports=o.p+"assets/img/bg.2cfdbb33.svg"},404:function(t,e,o){"use strict";o(365)},405:function(t,e,o){"use strict";o(366)},406:function(t){t.exports=JSON.parse('{"a":"1.6.17"}')},407:function(t,e,o){"use strict";o(367)},408:function(t,e,o){"use strict";o(368)},409:function(t,e,o){"use strict";o(369)},414:function(t,e,o){"use strict";o.r(e);var a=o(0),r=o(342),n=o(325),s=o(324),i=Object(a.c)({components:{NavLink:r.a,ModuleTransition:n.a},setup(t,e){const o=Object(s.a)();return{recoShowModule:Object(s.b)(),actionLink:Object(a.a)(()=>o&&{link:o.$frontmatter.actionLink,text:o.$frontmatter.actionText}),heroImageStyle:Object(a.a)(()=>o.$frontmatter.heroImageStyle||{maxHeight:"200px",margin:"6rem auto 1.5rem"})}}}),c=(o(401),o(2)),l=Object(c.a)(i,(function(){var t=this,e=t._self._c;t._self._setupProxy;return e("div",{staticClass:"home"},[e("div",{staticClass:"hero"},[e("ModuleTransition",[t.recoShowModule&&t.$frontmatter.heroImage?e("img",{style:t.heroImageStyle||{},attrs:{src:t.$withBase(t.$frontmatter.heroImage),alt:"hero"}}):t._e()]),t._v(" "),e("ModuleTransition",{attrs:{delay:"0.04"}},[t.recoShowModule&&null!==t.$frontmatter.heroText?e("h1",{style:{marginTop:t.$frontmatter.heroImage?"0px":"140px"}},[t._v("\n "+t._s(t.$frontmatter.heroText||t.$title||"vuePress-theme-reco")+"\n ")]):t._e()]),t._v(" "),e("ModuleTransition",{attrs:{delay:"0.08"}},[t.recoShowModule&&null!==t.$frontmatter.tagline?e("p",{staticClass:"description"},[t._v("\n "+t._s(t.$frontmatter.tagline||t.$description||"Welcome to your vuePress-theme-reco site")+"\n ")]):t._e()]),t._v(" "),e("ModuleTransition",{attrs:{delay:"0.16"}},[t.recoShowModule&&t.$frontmatter.actionText&&t.$frontmatter.actionLink?e("p",{staticClass:"action"},[e("NavLink",{staticClass:"action-button",attrs:{item:t.actionLink}})],1):t._e()])],1),t._v(" "),e("ModuleTransition",{attrs:{delay:"0.24"}},[t.recoShowModule&&t.$frontmatter.features&&t.$frontmatter.features.length?e("div",{staticClass:"features"},t._l(t.$frontmatter.features,(function(o,a){return e("div",{key:a,staticClass:"feature"},[e("h2",[t._v(t._s(o.title))]),t._v(" "),e("p",[t._v(t._s(o.details))])])})),0):t._e()]),t._v(" "),e("ModuleTransition",{attrs:{delay:"0.32"}},[e("Content",{directives:[{name:"show",rawName:"v-show",value:t.recoShowModule,expression:"recoShowModule"}],staticClass:"home-center",attrs:{custom:""}})],1)],1)}),[],!1,null,null,null).exports,u=(o(16),o(341)),p=o(357),g=o.n(p),m=o(41);const h=()=>{const t=Object(s.a)(),e=Object(a.h)(!0),o=Object(a.g)({left:0,top:0});return Object(a.e)(()=>{e.value=!/Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)}),{popupWindowStyle:o,showDetail:a=>{const r=a.target;r.querySelector(".popup-window-wrapper").style.display="block";const n=r.querySelector(".popup-window"),s=document.querySelector(".info-wrapper"),{clientWidth:i}=r,{clientWidth:c,clientHeight:l}=n;if(e)o.left=(i-c)/2+"px",o.top=-l+"px",s.style.overflow="visible",t.$nextTick(()=>{(t=>{const{offsetWidth:e}=document.body,{x:a,width:r}=t.getBoundingClientRect(),n=e-(a+r);if(n<0){const{offsetLeft:e}=t;o.left=e+n+"px"}})(n)});else{const t=function(t){const e=document,o=t.getBoundingClientRect();let a=o.left,r=o.top;return a+=e.documentElement.scrollLeft||e.body.scrollLeft,r+=e.documentElement.scrollTop||e.body.scrollTop,{left:a,top:r}};s.style.overflow="hidden";const e=t(r).left-t(s).left;o.left=-e+(s.clientWidth-n.clientWidth)/2+"px",o.top=-l+"px"}},hideDetail:t=>{t.target.querySelector(".popup-window-wrapper").style.display="none"}}};var d=Object(a.c)({setup(t,e){const o=Object(s.a)(),{popupWindowStyle:r,showDetail:n,hideDetail:i}=h();return{dataAddColor:Object(a.a)(()=>{const{friendLink:t=[]}=o&&o.$themeConfig;return t.map(t=>(t.color=Object(m.b)(),t))}),popupWindowStyle:r,showDetail:n,hideDetail:i,getImgUrl:t=>{const{logo:e="",email:a=""}=t;return e&&/^http/.test(e)?e:e&&!/^http/.test(e)?o.$withBase(e):`//1.gravatar.com/avatar/${g()(a||"")}?s=50&d=mm&r=x`}}}}),f=(o(402),Object(c.a)(d,(function(){var t=this,e=t._self._c;t._self._setupProxy;return e("div",{staticClass:"friend-link-wrapper"},t._l(t.dataAddColor,(function(o,a){return e("div",{key:a,staticClass:"friend-link-item",attrs:{target:"_blank"},on:{mouseenter:function(e){return t.showDetail(e)},mouseleave:function(e){return t.hideDetail(e)}}},[e("span",{staticClass:"list-style",style:{backgroundColor:o.color}}),t._v("\n "+t._s(o.title)+"\n "),e("transition",{attrs:{name:"fade"}},[e("div",{staticClass:"popup-window-wrapper"},[e("div",{ref:"popupWindow",refInFor:!0,staticClass:"popup-window",style:t.popupWindowStyle},[e("div",{staticClass:"logo"},[e("img",{attrs:{src:t.getImgUrl(o)}})]),t._v(" "),e("div",{staticClass:"info"},[e("div",{staticClass:"title"},[e("h4",[t._v(t._s(o.title))]),t._v(" "),e("a",{staticClass:"btn-go",style:{backgroundColor:o.color},attrs:{href:o.link,target:"_blank"}},[t._v("GO")])]),t._v(" "),o.desc?e("p",[t._v(t._s(o.desc))]):t._e()])])])])],1)})),0)}),[],!1,null,"120fcf04",null).exports),v=o(337),_=o(375),b=Object(a.c)({components:{NoteAbstract:v.a,TagList:u.a,FriendLink:f,ModuleTransition:n.a,PersonalInfo:_.a,RecoIcon:n.b},setup(t,e){const r=Object(s.a)(),n=Object(a.g)({recoShow:!1,heroHeight:0}),i=Object(s.b)(),c=Object(a.a)(()=>r.$frontmatter.heroImageStyle||{}),l=Object(a.a)(()=>{const t={textAlign:"center",overflow:"hidden",background:`url(${r.$frontmatter.bgImage?r.$withBase(r.$frontmatter.bgImage):o(403)}) center/cover no-repeat`},{bgImageStyle:e}=r.$frontmatter;return e?{...t,...e}:t});return Object(a.e)(()=>{n.heroHeight=document.querySelector(".hero").clientHeight,n.recoShow=!0}),{recoShowModule:i,heroImageStyle:c,bgImageStyle:l,...Object(a.i)(n),getOneColor:m.b}},methods:{paginationChange(t){setTimeout(()=>{window.scrollTo(0,this.heroHeight)},100)},getPagesByTags(t){this.$router.push({path:t.path})}}}),C=(o(404),Object(c.a)(b,(function(){var t=this,e=t._self._c;t._self._setupProxy;return e("div",{staticClass:"home-blog"},[e("div",{staticClass:"hero",style:{...t.bgImageStyle}},[e("div",[e("ModuleTransition",[t.recoShowModule&&t.$frontmatter.heroImage?e("img",{staticClass:"hero-img",style:t.heroImageStyle||{},attrs:{src:t.$withBase(t.$frontmatter.heroImage),alt:"hero"}}):t._e()]),t._v(" "),e("ModuleTransition",{attrs:{delay:"0.04"}},[t.recoShowModule&&null!==t.$frontmatter.heroText?e("h1",[t._v("\n "+t._s(t.$frontmatter.heroText||t.$title||"vuePress-theme-reco")+"\n ")]):t._e()]),t._v(" "),e("ModuleTransition",{attrs:{delay:"0.08"}},[t.recoShowModule&&null!==t.$frontmatter.tagline?e("p",{staticClass:"description"},[t._v("\n "+t._s(t.$frontmatter.tagline||t.$description||"Welcome to your vuePress-theme-reco site")+"\n ")]):t._e()])],1)]),t._v(" "),e("ModuleTransition",{attrs:{delay:"0.16"}},[e("div",{directives:[{name:"show",rawName:"v-show",value:t.recoShowModule,expression:"recoShowModule"}],staticClass:"home-blog-wrapper"},[e("div",{staticClass:"blog-list"},[e("note-abstract",{attrs:{data:t.$recoPosts},on:{paginationChange:t.paginationChange}})],1),t._v(" "),e("div",{staticClass:"info-wrapper"},[e("PersonalInfo"),t._v(" "),e("h4",[e("reco-icon",{attrs:{icon:"reco-category"}}),t._v(" "+t._s(t.$recoLocales.category))],1),t._v(" "),e("ul",{staticClass:"category-wrapper"},t._l(this.$categories.list,(function(o,a){return e("li",{key:a,staticClass:"category-item"},[e("router-link",{attrs:{to:o.path}},[e("span",{staticClass:"category-name"},[t._v(t._s(o.name))]),t._v(" "),e("span",{staticClass:"post-num",style:{backgroundColor:t.getOneColor()}},[t._v(t._s(o.pages.length))])])],1)})),0),t._v(" "),e("hr"),t._v(" "),0!==t.$tags.list.length?e("h4",[e("reco-icon",{attrs:{icon:"reco-tag"}}),t._v(" "+t._s(t.$recoLocales.tag))],1):t._e(),t._v(" "),e("TagList",{on:{getCurrentTag:t.getPagesByTags}}),t._v(" "),t.$themeConfig.friendLink&&0!==t.$themeConfig.friendLink.length?e("h4",[e("reco-icon",{attrs:{icon:"reco-friend"}}),t._v(" "+t._s(t.$recoLocales.friendLink))],1):t._e(),t._v(" "),e("FriendLink")],1)])]),t._v(" "),e("ModuleTransition",{attrs:{delay:"0.24"}},[e("Content",{directives:[{name:"show",rawName:"v-show",value:t.recoShowModule,expression:"recoShowModule"}],staticClass:"home-center",attrs:{custom:""}})],1)],1)}),[],!1,null,null,null).exports),w=o(333),$=o(17);function y(t,e,o){const a=[];!function t(e,o){for(let a=0,r=e.length;a{const{isShowComments:t}=o.$frontmatter,{showComment:e}=o.$themeConfig.valineConfig||{showComment:!0};return!1!==e&&!1!==t||!1===e&&!0===t}),c=Object(a.a)(()=>{const{$themeConfig:{valineConfig:t},$themeLocaleConfig:{valineConfig:e}}=o||{},a=e||t;return a&&0!=a.visitor}),l=Object(a.a)(()=>!1!==o.$themeConfig.lastUpdated&&o.$page.lastUpdated),u=Object(a.a)(()=>"string"==typeof o.$themeLocaleConfig.lastUpdated?o.$themeLocaleConfig.lastUpdated:"string"==typeof o.$themeConfig.lastUpdated?o.$themeConfig.lastUpdated:"Last Updated"),p=Object(a.a)(()=>{const t=o.$frontmatter.prev;return!1===t?void 0:t?Object($.k)(o.$site.pages,t,o.$route.path):(e=o.$page,a=r.value,y(e,a,-1));var e,a}),g=Object(a.a)(()=>{const t=o.$frontmatter.next;return!1===g?void 0:t?Object($.k)(o.$site.pages,t,o.$route.path):(e=o.$page,a=r.value,y(e,a,1));var e,a}),m=Object(a.a)(()=>{if(!1===o.$frontmatter.editLink)return!1;const{repo:t,editLinks:e,docsDir:a="",docsBranch:r="master",docsRepo:n=t}=o.$themeConfig;return n&&e&&o.$page.relativePath?function(t,e,o,a,r){if(/bitbucket.org/.test(t)){return($.i.test(e)?e:t).replace($.c,"")+"/src"+`/${a}/`+(o?o.replace($.c,"")+"/":"")+r+`?mode=edit&spa=0&at=${a}&fileviewer=file-view-default`}return($.i.test(e)?e:"https://github.com/"+e).replace($.c,"")+"/edit"+`/${a}/`+(o?o.replace($.c,"")+"/":"")+r}(t,n,a,r,o.$page.relativePath):""}),h=Object(a.a)(()=>o.$themeLocaleConfig.editLinkText||o.$themeConfig.editLinkText||"Edit this page"),d=Object(a.a)(()=>o.$showSubSideBar?{}:{paddingRight:"0"});return{recoShowModule:n,shouldShowComments:i,showAccessNumber:c,lastUpdated:l,lastUpdatedText:u,prev:p,next:g,editLink:m,editLinkText:h,pageStyle:d}}}),S=(o(405),Object(c.a)(O,(function(){var t=this,e=t._self._c;t._self._setupProxy;return e("main",{staticClass:"page",style:t.pageStyle},[e("section",{directives:[{name:"show",rawName:"v-show",value:t.recoShowModule,expression:"recoShowModule"}]},[e("div",{staticClass:"page-title"},[e("h1",{staticClass:"title"},[t._v(t._s(t.$page.title))]),t._v(" "),e("PageInfo",{attrs:{pageInfo:t.$page,showAccessNumber:t.showAccessNumber}})],1),t._v(" "),e("Content",{staticClass:"theme-reco-content"})],1),t._v(" "),t.recoShowModule?e("footer",{staticClass:"page-edit"},[t.editLink?e("div",{staticClass:"edit-link"},[e("a",{attrs:{href:t.editLink,target:"_blank",rel:"noopener noreferrer"}},[t._v(t._s(t.editLinkText))]),t._v(" "),e("OutboundLink")],1):t._e(),t._v(" "),t.lastUpdated?e("div",{staticClass:"last-updated"},[e("span",{staticClass:"prefix"},[t._v(t._s(t.lastUpdatedText)+": ")]),t._v(" "),e("span",{staticClass:"time"},[t._v(t._s(t.lastUpdated))])]):t._e()]):t._e(),t._v(" "),t.recoShowModule&&(t.prev||t.next)?e("div",{staticClass:"page-nav"},[e("p",{staticClass:"inner"},[t.prev?e("span",{staticClass:"prev"},[t.prev?e("router-link",{staticClass:"prev",attrs:{to:t.prev.path}},[t._v("\n "+t._s(t.prev.title||t.prev.path)+"\n ")]):t._e()],1):t._e(),t._v(" "),t.next?e("span",{staticClass:"next"},[t.next?e("router-link",{attrs:{to:t.next.path}},[t._v("\n "+t._s(t.next.title||t.next.path)+"\n ")]):t._e()],1):t._e()])]):t._e(),t._v(" "),t.recoShowModule?e("Comments",{attrs:{isShowComments:t.shouldShowComments}}):t._e()],1)}),[],!1,null,null,null).exports),j=o(406),k=Object(a.c)({components:{RecoIcon:n.b},setup(t,e){const o=Object(s.a)(),r=Object(a.a)(()=>{var t,e;const a=null==o||null===(t=o.$themeConfig)||void 0===t?void 0:t.valineConfig,r=(null==o||null===(e=o.$themeLocaleConfig)||void 0===e?void 0:e.valineConfig)||a;return r&&0!=r.visitor});return{version:j.a,showAccessNumber:r}}}),x=(o(407),Object(c.a)(k,(function(){var t=this,e=t._self._c;t._self._setupProxy;return e("div",{staticClass:"footer-wrapper"},[e("span",[e("reco-icon",{attrs:{icon:"reco-theme"}}),t._v(" "),e("a",{attrs:{target:"blank",href:"https://vuepress-theme-reco.recoluan.com"}},[t._v(t._s("vuepress-theme-reco@"+t.version))])],1),t._v(" "),t.$themeConfig.record?e("span",[e("reco-icon",{attrs:{icon:"reco-beian"}}),t._v(" "),e("a",{attrs:{href:t.$themeConfig.recordLink||"#"}},[t._v(t._s(t.$themeConfig.record))])],1):t._e(),t._v(" "),e("span",[e("reco-icon",{attrs:{icon:"reco-copyright"}}),t._v(" "),e("a",[t.$themeConfig.author?e("span",[t._v(t._s(t.$themeConfig.author))]):t._e(),t._v("\n   \n "),t.$themeConfig.startYear&&t.$themeConfig.startYear!=(new Date).getFullYear()?e("span",[t._v(t._s(t.$themeConfig.startYear)+" - ")]):t._e(),t._v("\n "+t._s((new Date).getFullYear())+"\n ")])],1),t._v(" "),e("span",{directives:[{name:"show",rawName:"v-show",value:t.showAccessNumber,expression:"showAccessNumber"}]},[e("reco-icon",{attrs:{icon:"reco-eye"}}),t._v(" "),e("AccessNumber",{attrs:{idVal:"/"}})],1),t._v(" "),t.$themeConfig.cyberSecurityRecord?e("p",{staticClass:"cyber-security"},[e("img",{attrs:{src:"https://img.alicdn.com/tfs/TB1..50QpXXXXX7XpXXXXXXXXXX-40-40.png",alt:""}}),t._v(" "),e("a",{attrs:{href:t.$themeConfig.cyberSecurityLink||"#"}},[t._v(t._s(t.$themeConfig.cyberSecurityRecord))])]):t._e(),t._v(" "),e("Comments",{attrs:{isShowComments:!1}})],1)}),[],!1,null,"29dae040",null).exports),P=o(340),I=Object(a.c)({components:{HomeBlog:C,Home:l,Page:S,Common:P.a,Footer:x,ModuleTransition:n.a},setup(t,e){const o=Object(s.a)(),r=Object(a.a)(()=>{const{$page:t,$site:e,$localePath:a}=o;return t?Object($.l)(t,t.regularPath,e,a):[]}),n=Object(a.a)(()=>{const{type:t}=o.$themeConfig||{};return t?"blog"==t?"HomeBlog":t:"Home"}),i=Object(a.h)(!1);Object(a.e)(()=>{i.value=!0});const c=Object(a.a)(()=>null==o?void 0:o.$page.path);return{sidebarItems:r,homeCom:n,show:i,path:c}}}),T=(o(408),o(409),Object(c.a)(I,(function(){var t=this,e=t._self._c;t._self._setupProxy;return e("Common",{attrs:{sidebarItems:t.sidebarItems,showModule:t.show}},[t.$frontmatter.home?e(t.homeCom,{tag:"component"}):e("div",[t.sidebarItems.length>0?e("ModuleTransition",[e("Page",{key:t.path,attrs:{"sidebar-items":t.sidebarItems}})],1):e("Page",{key:t.path,attrs:{"sidebar-items":t.sidebarItems}})],1),t._v(" "),t.$frontmatter.home?e("Footer",{staticClass:"footer"}):t._e()],1)}),[],!1,null,null,null));e.default=T.exports}}]); \ No newline at end of file diff --git a/assets/js/3.a9dcdb28.js b/assets/js/3.a9dcdb28.js deleted file mode 100644 index 6179c4b6c..000000000 --- a/assets/js/3.a9dcdb28.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{506:function(t,e,a){},507:function(t,e,a){},508:function(t,e,a){},509:function(t,e,a){},510:function(t,e,a){"use strict";a(71);var r=a(163),n=a(505),o=Object(r.b)({components:{RecoIcon:n.b},props:{pageInfo:{type:Object,default:function(){return{}}},currentTag:{type:String,default:""},showAccessNumber:{type:Boolean,default:!1}},setup:function(t,e){var a=Object(r.c)().proxy;return{numStyle:{fontSize:".9rem",fontWeight:"normal",color:"#999"},goTags:function(t){a.$route.path!=="/tag/".concat(t,"/")&&a.$router.push({path:"/tag/".concat(t,"/")})},formatDateValue:function(t){return new Intl.DateTimeFormat(a.$lang).format(new Date(t))}}}}),s=(a(512),a(12)),i=Object(s.a)(o,(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",[t.pageInfo.frontmatter.author||t.$themeConfig.author?a("reco-icon",{attrs:{icon:"reco-account"}},[a("span",[t._v(t._s(t.pageInfo.frontmatter.author||t.$themeConfig.author))])]):t._e(),t._v(" "),t.pageInfo.frontmatter.date?a("reco-icon",{attrs:{icon:"reco-date"}},[a("span",[t._v(t._s(t.formatDateValue(t.pageInfo.frontmatter.date)))])]):t._e(),t._v(" "),!0===t.showAccessNumber?a("reco-icon",{attrs:{icon:"reco-eye"}},[a("AccessNumber",{attrs:{idVal:t.pageInfo.path,numStyle:t.numStyle}})],1):t._e(),t._v(" "),t.pageInfo.frontmatter.tags?a("reco-icon",{staticClass:"tags",attrs:{icon:"reco-tag"}},t._l(t.pageInfo.frontmatter.tags,(function(e,r){return a("span",{key:r,staticClass:"tag-item",class:{active:t.currentTag==e},on:{click:function(a){return a.stopPropagation(),t.goTags(e)}}},[t._v(t._s(e))])})),0):t._e()],1)}),[],!1,null,"1ff7123e",null);e.a=i.exports},512:function(t,e,a){"use strict";a(506)},513:function(t,e,a){"use strict";a(507)},514:function(t,e,a){"use strict";a(508)},515:function(t,e,a){"use strict";a(48);var r=a(163),n=(a(164),a(276),{methods:{_getStoragePage:function(){var t=window.location.pathname,e=JSON.parse(sessionStorage.getItem("currentPage"));return null===e||t!==e.path?(sessionStorage.setItem("currentPage",JSON.stringify({page:1,path:""})),1):parseInt(e.page)},_setStoragePage:function(t){var e=window.location.pathname;sessionStorage.setItem("currentPage",JSON.stringify({page:t,path:e}))}}}),o=a(505),s=a(510),i=Object(r.b)({components:{PageInfo:s.a,RecoIcon:o.b},props:["item","currentPage","currentTag"]}),c=(a(513),a(12)),l=Object(c.a)(i,(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"abstract-item",on:{click:function(e){return t.$router.push(t.item.path)}}},[t.item.frontmatter.sticky?a("reco-icon",{attrs:{icon:"reco-sticky"}}):t._e(),t._v(" "),a("div",{staticClass:"title"},[t.item.frontmatter.keys?a("reco-icon",{attrs:{icon:"reco-lock"}}):t._e(),t._v(" "),a("router-link",{attrs:{to:t.item.path}},[t._v(t._s(t.item.title))])],1),t._v(" "),a("div",{staticClass:"abstract",domProps:{innerHTML:t._s(t.item.excerpt)}}),t._v(" "),a("PageInfo",{attrs:{pageInfo:t.item,currentTag:t.currentTag}})],1)}),[],!1,null,"ff2c8be0",null).exports,u=Object(r.b)({mixins:[n],components:{NoteAbstractItem:l},props:["data","currentTag"],setup:function(t,e){var a=Object(r.c)().proxy,n=Object(r.i)(t).data,o=Object(r.h)(1),s=Object(r.a)((function(){var t=(o.value-1)*a.$perPage,e=o.value*a.$perPage;return n.value.slice(t,e)}));return Object(r.e)((function(){o.value=a._getStoragePage()||1})),{currentPage:o,currentPageData:s,getCurrentPage:function(t){o.value=t,a._setStoragePage(t),e.emit("paginationChange",t)}}},watch:{$route:function(){this.currentPage=this._getStoragePage()||1}}}),p=(a(514),Object(c.a)(u,(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"abstract-wrapper"},[t._l(t.currentPageData,(function(e){return a("NoteAbstractItem",{key:e.path,attrs:{item:e,currentPage:t.currentPage,currentTag:t.currentTag}})})),t._v(" "),a("pagation",{staticClass:"pagation",attrs:{total:t.data.length,currentPage:t.currentPage},on:{getCurrentPage:t.getCurrentPage}})],2)}),[],!1,null,"5a259143",null));e.a=p.exports},518:function(t,e,a){"use strict";a(509)},520:function(t,e,a){"use strict";var r=a(74),n=(a(123),a(163)),o=a(96),s=Object(n.b)({props:{currentTag:{type:String,default:""}},setup:function(t,e){var a=Object(n.c)().proxy;return{tags:Object(n.a)((function(){return[{name:a.$recoLocales.all,path:"/tag/"}].concat(Object(r.a)(a.$tagesList))})),tagClick:function(t){e.emit("getCurrentTag",t)},getOneColor:o.b}}}),i=(a(518),a(12)),c=Object(i.a)(s,(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"tags"},t._l(t.tags,(function(e,r){return a("span",{directives:[{name:"show",rawName:"v-show",value:!e.pages||e.pages&&e.pages.length>0,expression:"!item.pages || (item.pages && item.pages.length > 0)"}],key:r,class:{active:e.name==t.currentTag},style:{backgroundColor:t.getOneColor()},on:{click:function(a){return t.tagClick(e)}}},[t._v(t._s(e.name))])})),0)}),[],!1,null,"125939b4",null);e.a=c.exports},542:function(t,e,a){},543:function(t,e,a){},544:function(t,e,a){},545:function(t,e,a){},546:function(t,e,a){},547:function(t,e,a){},591:function(t,e,a){"use strict";a(542)},592:function(t,e,a){"use strict";a(543)},593:function(t,e,a){t.exports=a.p+"assets/img/bg.2cfdbb33.svg"},594:function(t,e,a){"use strict";a(544)},595:function(t,e,a){"use strict";a(545)},596:function(t,e,a){"use strict";a(546)},597:function(t){t.exports=JSON.parse('{"a":"1.6.6"}')},598:function(t,e,a){"use strict";a(547)},605:function(t,e,a){"use strict";a.r(e);var r=a(163),n=a(522),o=a(505),s=Object(r.b)({components:{NavLink:n.a,ModuleTransition:o.a},setup:function(t,e){var a=Object(r.c)().proxy;return{recoShowModule:Object(r.a)((function(){return a&&a.$parent.recoShowModule})),actionLink:Object(r.a)((function(){return a&&{link:a.$frontmatter.actionLink,text:a.$frontmatter.actionText}})),heroImageStyle:Object(r.a)((function(){return a.$frontmatter.heroImageStyle||{maxHeight:"200px",margin:"6rem auto 1.5rem"}}))}}}),i=(a(591),a(12)),c=Object(i.a)(s,(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"home"},[a("div",{staticClass:"hero"},[a("ModuleTransition",[t.recoShowModule&&t.$frontmatter.heroImage?a("img",{style:t.heroImageStyle||{},attrs:{src:t.$withBase(t.$frontmatter.heroImage),alt:"hero"}}):t._e()]),t._v(" "),a("ModuleTransition",{attrs:{delay:"0.04"}},[t.recoShowModule&&null!==t.$frontmatter.heroText?a("h1",{style:{marginTop:t.$frontmatter.heroImage?"0px":"140px"}},[t._v("\n "+t._s(t.$frontmatter.heroText||t.$title||"vuePress-theme-reco")+"\n ")]):t._e()]),t._v(" "),a("ModuleTransition",{attrs:{delay:"0.08"}},[t.recoShowModule&&null!==t.$frontmatter.tagline?a("p",{staticClass:"description"},[t._v("\n "+t._s(t.$frontmatter.tagline||t.$description||"Welcome to your vuePress-theme-reco site")+"\n ")]):t._e()]),t._v(" "),a("ModuleTransition",{attrs:{delay:"0.16"}},[t.recoShowModule&&t.$frontmatter.actionText&&t.$frontmatter.actionLink?a("p",{staticClass:"action"},[a("NavLink",{staticClass:"action-button",attrs:{item:t.actionLink}})],1):t._e()])],1),t._v(" "),a("ModuleTransition",{attrs:{delay:"0.24"}},[t.recoShowModule&&t.$frontmatter.features&&t.$frontmatter.features.length?a("div",{staticClass:"features"},t._l(t.$frontmatter.features,(function(e,r){return a("div",{key:r,staticClass:"feature"},[a("h2",[t._v(t._s(e.title))]),t._v(" "),a("p",[t._v(t._s(e.details))])])})),0):t._e()]),t._v(" "),a("ModuleTransition",{attrs:{delay:"0.32"}},[a("Content",{directives:[{name:"show",rawName:"v-show",value:t.recoShowModule,expression:"recoShowModule"}],staticClass:"home-center",attrs:{custom:""}})],1)],1)}),[],!1,null,null,null).exports,l=a(14),u=(a(47),a(520)),p=(a(25),a(55),a(54),a(537)),g=a.n(p),f=a(96),d=function(){var t=Object(r.c)().proxy,e=Object(r.h)(!0),a=Object(r.g)({left:0,top:0});return Object(r.e)((function(){e.value=!/Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)})),{popupWindowStyle:a,showDetail:function(r){var n=r.target;n.querySelector(".popup-window-wrapper").style.display="block";var o=n.querySelector(".popup-window"),s=document.querySelector(".info-wrapper"),i=n.clientWidth,c=o.clientWidth,l=o.clientHeight;if(e)a.left=(i-c)/2+"px",a.top=-l+"px",s.style.overflow="visible",t.$nextTick((function(){!function(t){var e=document.body.offsetWidth,r=t.getBoundingClientRect(),n=e-(r.x+r.width);if(n<0){var o=t.offsetLeft;a.left=o+n+"px"}}(o)}));else{var u=function(t){var e=document,a=t.getBoundingClientRect(),r=a.left,n=a.top;return{left:r+=e.documentElement.scrollLeft||e.body.scrollLeft,top:n+=e.documentElement.scrollTop||e.body.scrollTop}};s.style.overflow="hidden";var p=u(n).left-u(s).left;a.left=-p+(s.clientWidth-o.clientWidth)/2+"px",a.top=-l+"px"}},hideDetail:function(t){t.target.querySelector(".popup-window-wrapper").style.display="none"}}},m=Object(r.b)({setup:function(t,e){var a=Object(r.c)().proxy,n=d(),o=n.popupWindowStyle,s=n.showDetail,i=n.hideDetail;return{dataAddColor:Object(r.a)((function(){var t=(a&&a.$themeConfig).friendLink;return(void 0===t?[]:t).map((function(t){return t.color=Object(f.b)(),t}))})),popupWindowStyle:o,showDetail:s,hideDetail:i,getImgUrl:function(t){var e=t.logo,r=void 0===e?"":e,n=t.email,o=void 0===n?"":n;return r&&/^http/.test(r)?r:r&&!/^http/.test(r)?a.$withBase(r):"//1.gravatar.com/avatar/".concat(g()(o||""),"?s=50&d=mm&r=x")}}}}),h=(a(592),Object(i.a)(m,(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"friend-link-wrapper"},t._l(t.dataAddColor,(function(e,r){return a("div",{key:r,staticClass:"friend-link-item",attrs:{target:"_blank"},on:{mouseenter:function(e){return t.showDetail(e)},mouseleave:function(e){return t.hideDetail(e)}}},[a("span",{staticClass:"list-style",style:{backgroundColor:e.color}}),t._v("\n "+t._s(e.title)+"\n "),a("transition",{attrs:{name:"fade"}},[a("div",{staticClass:"popup-window-wrapper"},[a("div",{ref:"popupWindow",refInFor:!0,staticClass:"popup-window",style:t.popupWindowStyle},[a("div",{staticClass:"logo"},[a("img",{attrs:{src:t.getImgUrl(e)}})]),t._v(" "),a("div",{staticClass:"info"},[a("div",{staticClass:"title"},[a("h4",[t._v(t._s(e.title))]),t._v(" "),a("a",{staticClass:"btn-go",style:{backgroundColor:e.color},attrs:{href:e.link,target:"_blank"}},[t._v("GO")])]),t._v(" "),e.desc?a("p",[t._v(t._s(e.desc))]):t._e()])])])])],1)})),0)}),[],!1,null,"7e691180",null).exports),v=a(515),_=a(554),b=Object(r.b)({components:{NoteAbstract:v.a,TagList:u.a,FriendLink:h,ModuleTransition:o.a,PersonalInfo:_.a,RecoIcon:o.b},setup:function(t,e){var n=Object(r.c)().proxy,o=Object(r.g)({recoShow:!1,heroHeight:0}),s=Object(r.a)((function(){return n&&n.$parent.recoShowModule})),i=Object(r.a)((function(){return n.$frontmatter.heroImageStyle||{}})),c=Object(r.a)((function(){var t=n.$frontmatter.bgImage?n.$withBase(n.$frontmatter.bgImage):a(593),e={textAlign:"center",overflow:"hidden",background:"url(".concat(t,") center/cover no-repeat")},r=n.$frontmatter.bgImageStyle;return r?Object(l.a)(Object(l.a)({},e),r):e}));return Object(r.e)((function(){o.heroHeight=document.querySelector(".hero").clientHeight,o.recoShow=!0})),Object(l.a)(Object(l.a)({recoShowModule:s,heroImageStyle:i,bgImageStyle:c},Object(r.i)(o)),{},{getOneColor:f.b})},methods:{paginationChange:function(t){var e=this;setTimeout((function(){window.scrollTo(0,e.heroHeight)}),100)},getPagesByTags:function(t){this.$router.push({path:t.path})}}}),C=(a(594),Object(i.a)(b,(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"home-blog"},[a("div",{staticClass:"hero",style:Object.assign({},t.bgImageStyle)},[a("div",[a("ModuleTransition",[t.recoShowModule&&t.$frontmatter.heroImage?a("img",{staticClass:"hero-img",style:t.heroImageStyle||{},attrs:{src:t.$withBase(t.$frontmatter.heroImage),alt:"hero"}}):t._e()]),t._v(" "),a("ModuleTransition",{attrs:{delay:"0.04"}},[t.recoShowModule&&null!==t.$frontmatter.heroText?a("h1",[t._v("\n "+t._s(t.$frontmatter.heroText||t.$title||"vuePress-theme-reco")+"\n ")]):t._e()]),t._v(" "),a("ModuleTransition",{attrs:{delay:"0.08"}},[t.recoShowModule&&null!==t.$frontmatter.tagline?a("p",{staticClass:"description"},[t._v("\n "+t._s(t.$frontmatter.tagline||t.$description||"Welcome to your vuePress-theme-reco site")+"\n ")]):t._e()])],1)]),t._v(" "),a("ModuleTransition",{attrs:{delay:"0.16"}},[a("div",{directives:[{name:"show",rawName:"v-show",value:t.recoShowModule,expression:"recoShowModule"}],staticClass:"home-blog-wrapper"},[a("div",{staticClass:"blog-list"},[a("note-abstract",{attrs:{data:t.$recoPosts},on:{paginationChange:t.paginationChange}})],1),t._v(" "),a("div",{staticClass:"info-wrapper"},[a("PersonalInfo"),t._v(" "),a("h4",[a("reco-icon",{attrs:{icon:"reco-category"}}),t._v(" "+t._s(t.$recoLocales.category))],1),t._v(" "),a("ul",{staticClass:"category-wrapper"},t._l(this.$categories.list,(function(e,r){return a("li",{key:r,staticClass:"category-item"},[a("router-link",{attrs:{to:e.path}},[a("span",{staticClass:"category-name"},[t._v(t._s(e.name))]),t._v(" "),a("span",{staticClass:"post-num",style:{backgroundColor:t.getOneColor()}},[t._v(t._s(e.pages.length))])])],1)})),0),t._v(" "),a("hr"),t._v(" "),0!==t.$tags.list.length?a("h4",[a("reco-icon",{attrs:{icon:"reco-tag"}}),t._v(" "+t._s(t.$recoLocales.tag))],1):t._e(),t._v(" "),a("TagList",{on:{getCurrentTag:t.getPagesByTags}}),t._v(" "),t.$themeConfig.friendLink&&0!==t.$themeConfig.friendLink.length?a("h4",[a("reco-icon",{attrs:{icon:"reco-friend"}}),t._v(" "+t._s(t.$recoLocales.friendLink))],1):t._e(),t._v(" "),a("FriendLink")],1)])]),t._v(" "),a("ModuleTransition",{attrs:{delay:"0.24"}},[a("Content",{directives:[{name:"show",rawName:"v-show",value:t.recoShowModule,expression:"recoShowModule"}],staticClass:"home-center",attrs:{custom:""}})],1)],1)}),[],!1,null,null,null).exports),w=(a(56),a(510)),$=a(36),y=a(93),O=a(74),S=(a(123),Object(r.b)({setup:function(t,e){var a=Object(r.c)().proxy;return{headers:Object(r.a)((function(){return a.$showSubSideBar?a.$page.headers:[]})),isLinkActive:function(t){var e=Object($.f)(a.$route,a.$page.path+"#"+t.slug);return e&&setTimeout((function(){document.querySelector(".reco-side-".concat(t.slug)).scrollIntoView()}),300),e}}},render:function(t){var e=this;return t("ul",{class:{"sub-sidebar-wrapper":!0},style:{width:this.headers.length>0?"12rem":"0"}},Object(O.a)(this.headers.map((function(a){return t("li",{class:Object(y.a)({active:e.isLinkActive(a)},"level-".concat(a.level),!0),attr:{key:a.title}},[t("router-link",{class:Object(y.a)({"sidebar-link":!0},"reco-side-".concat(a.slug),!0),props:{to:"".concat(e.$page.path,"#").concat(a.slug)}},a.title)])}))))}})),j=(a(595),Object(i.a)(S,void 0,void 0,!1,null,"70334359",null).exports);function x(t,e,a){var r=[];!function t(e,a){for(var r=0,n=e.length;r<]\\d*-\\d{1,2}-\\d{1,2})?$")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("记录名单"),e("br"),t._v("记录名单u:12345678")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("查看记录名单或搜索")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("设置惩罚")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("qq id punish_level")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("设置惩罚 12345678 1 4")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("手动设置惩罚")])])])])])}),[],!1,null,null,null);e.default=l.exports}}]); \ No newline at end of file diff --git a/assets/js/37.e0f88dca.js b/assets/js/37.e0f88dca.js deleted file mode 100644 index ca7732ff0..000000000 --- a/assets/js/37.e0f88dca.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[37],{635:function(t,e,_){"use strict";_.r(e);var v=_(12),n=Object(v.a)({},(function(){var t=this,e=t.$createElement,_=t._self._c||e;return _("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[_("h2",{attrs:{id:"额外设置"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#额外设置"}},[t._v("#")]),t._v(" 额外设置")]),t._v(" "),_("ul",[_("li",[_("strong",[t._v("模块")]),t._v(": "),_("code",[t._v("aconfig")])]),t._v(" "),_("li",[_("strong",[t._v("说明")]),t._v(":"),_("br"),t._v("\n一些自定义的额外设置")]),t._v(" "),_("li",[_("strong",[t._v("指令")]),t._v(":")])]),t._v(" "),_("table",[_("thead",[_("tr",[_("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),_("tbody",[_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("打游戏")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("打游戏")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("打游戏图片,图片目录"),_("code",[t._v("dayouxi")]),t._v(",cd默认300秒")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("自我介绍")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("自我介绍")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("真寻的自我介绍")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("老婆")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("老婆")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[_("strong",[t._v("是我老婆")])])])])]),t._v(" "),_("h2",{attrs:{id:"群聊最后聊天时间记录"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#群聊最后聊天时间记录"}},[t._v("#")]),t._v(" 群聊最后聊天时间记录")]),t._v(" "),_("ul",[_("li",[_("strong",[t._v("模块")]),t._v(": "),_("code",[t._v("group_last_chat")])]),t._v(" "),_("li",[_("strong",[t._v("说明")]),t._v(":"),_("br"),t._v("\n记录群聊活跃程序,当在"),_("code",[t._v("36")]),t._v("小时内没有任何发言时,关闭所有被动技能")]),t._v(" "),_("li",[_("strong",[t._v("指令")]),t._v(":"),_("br"),t._v("\nNone")])]),t._v(" "),_("h2",{attrs:{id:"戳一戳"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#戳一戳"}},[t._v("#")]),t._v(" 戳一戳")]),t._v(" "),_("ul",[_("li",[_("strong",[t._v("模块")]),t._v(": "),_("code",[t._v("poke")])]),t._v(" "),_("li",[_("strong",[t._v("群权限")]),t._v(": "),_("code",[t._v("5")])]),t._v(" "),_("li",[_("strong",[t._v("说明")]),t._v(":"),_("br"),t._v("\n戳一戳发送钉宫语音,美图图库,萝莉图库图片,有小概率被拉黑1分钟")]),t._v(" "),_("li",[_("strong",[t._v("指令")]),t._v(":"),_("br"),t._v("\nNone")])]),t._v(" "),_("h2",{attrs:{id:"功能调用统计"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#功能调用统计"}},[t._v("#")]),t._v(" 功能调用统计")]),t._v(" "),_("ul",[_("li",[_("strong",[t._v("模块")]),t._v(": "),_("code",[t._v("statistics_hook")])]),t._v(" "),_("li",[_("strong",[t._v("说明")]),t._v(":"),_("br"),t._v("\n统计功能使用情况")]),t._v(" "),_("li",[_("strong",[t._v("指令")]),t._v(":"),_("br"),t._v("\nNone")])]),t._v(" "),_("h2",{attrs:{id:"功能调用统计可视化"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#功能调用统计可视化"}},[t._v("#")]),t._v(" 功能调用统计可视化")]),t._v(" "),_("ul",[_("li",[_("strong",[t._v("模块")]),t._v(": "),_("code",[t._v("statistics_handle")])]),t._v(" "),_("li",[_("strong",[t._v("群权限")]),t._v(": "),_("code",[t._v("5")])]),t._v(" "),_("li",[_("strong",[t._v("说明")]),t._v(":"),_("br"),t._v("\n功能调用统计数值的可视化"),_("br"),t._v(" "),_("code",[t._v("此功能包含超级用户指令")])]),t._v(" "),_("li",[_("strong",[t._v("指令")]),t._v(":\n"),_("ul",[_("li",[_("code",[t._v("plugin: str")]),t._v(":插件名称或别名")])])])]),t._v(" "),_("table",[_("thead",[_("tr",[_("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),_("tbody",[_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("功能调用统计")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("功能调用统计")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("查看群内功能调用情况")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("周功能调用统计")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("plugin")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("周功能调用统计"),_("br"),t._v("周功能调用统计签到")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("查看全部或单个插件一周内调用情况")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("月功能调用统计")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("plugin")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("月功能调用统计"),_("br"),t._v("月功能调用统计签到")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("查看全部或单个插件一个月内调用情况")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("我的功能调用统计")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("我的功能调用统计")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("个人功能调用统计情况")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("我的日功能调用统计")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("我的周功能调用统计"),_("br"),t._v("我的周功能调用统计签到")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("查看个人今日内调用情况")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("我的周功能调用统计")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("plugin")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("我的周功能调用统计"),_("br"),t._v("我的周功能调用统计签到")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("查看个人全部或单个插件一周内调用情况")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("我的月功能调用统计")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("plugin")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("我的月功能调用统计"),_("br"),t._v("我的月功能调用统计签到")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("查看个人全部或单个插件一个月内调用情况")])])])]),t._v(" "),_("ul",[_("li",[_("strong",[t._v("超级用户指令")]),t._v(":")])]),t._v(" "),_("table",[_("thead",[_("tr",[_("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),_("tbody",[_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("全局功能调用统计")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("全局功能调用统计")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("查看统合所有群聊的功能调用统计")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("全局日功能调用统计")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("全局日功能调用统计")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("查看今日内插件的调用情况")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("全局周功能调用统计")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("plugin")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("全局周功能调用统计"),_("br"),t._v("全局周功能调用统计签到")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("查看全局所有或单个插件一周内调用情况")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("全局月功能调用统计")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("plugin")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("全局月功能调用统计"),_("br"),t._v("全局月功能调用统计签到")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("查看全局所有或单个插件一个月内调用情况")])])])]),t._v(" "),_("h2",{attrs:{id:"复读"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#复读"}},[t._v("#")]),t._v(" 复读")]),t._v(" "),_("ul",[_("li",[_("strong",[t._v("模块")]),t._v(": "),_("code",[t._v("fudu")])]),t._v(" "),_("li",[_("strong",[t._v("说明")]),t._v(":"),_("br"),t._v("\n相同消息重复"),_("code",[t._v("3")]),t._v("次概率复读,且也有概率打断复读")]),t._v(" "),_("li",[_("strong",[t._v("指令")]),t._v(":"),_("br"),t._v("\nNone")])]),t._v(" "),_("h2",{attrs:{id:"查看群欢迎消息"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#查看群欢迎消息"}},[t._v("#")]),t._v(" 查看群欢迎消息")]),t._v(" "),_("ul",[_("li",[_("strong",[t._v("模块")]),t._v(": "),_("code",[t._v("group_welcome_msg")])]),t._v(" "),_("li",[_("strong",[t._v("群权限")]),t._v(": "),_("code",[t._v("5")])]),t._v(" "),_("li",[_("strong",[t._v("说明")]),t._v(":"),_("br"),t._v("\n查看当前群内的欢迎消息内容")]),t._v(" "),_("li",[_("strong",[t._v("指令")]),t._v(":")])]),t._v(" "),_("table",[_("thead",[_("tr",[_("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),_("tbody",[_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("查看群欢迎消息")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("查看群欢迎消息")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")])])])]),t._v(" "),_("h2",{attrs:{id:"我的权限-信息"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#我的权限-信息"}},[t._v("#")]),t._v(" 我的权限/信息")]),t._v(" "),_("ul",[_("li",[_("strong",[t._v("模块")]),t._v(": "),_("code",[t._v("my_info")])]),t._v(" "),_("li",[_("strong",[t._v("群权限")]),t._v(": "),_("code",[t._v("5")])]),t._v(" "),_("li",[_("strong",[t._v("说明")]),t._v(":"),_("br"),t._v("\n查看群内个人信息及权限")]),t._v(" "),_("li",[_("strong",[t._v("指令")]),t._v(":")])]),t._v(" "),_("table",[_("thead",[_("tr",[_("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),_("tbody",[_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("我的权限")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("我的权限")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("我的信息")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("我的信息")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")])])])]),t._v(" "),_("h2",{attrs:{id:"b站转发解析"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#b站转发解析"}},[t._v("#")]),t._v(" B站转发解析")]),t._v(" "),_("ul",[_("li",[_("strong",[t._v("模块")]),t._v(": "),_("code",[t._v("parse_bilibili_json")])]),t._v(" "),_("li",[_("strong",[t._v("说明")]),t._v(":"),_("br"),t._v("\nbilibili转发解析,目前支持bv,bilibili链接,b站手机端转发卡片,cv,b23.tv等,相同url在5分钟内不会重复解析")]),t._v(" "),_("li",[_("strong",[t._v("指令")]),t._v(":"),_("br"),t._v("\nNone")])]),t._v(" "),_("h2",{attrs:{id:"关于"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#关于"}},[t._v("#")]),t._v(" 关于")]),t._v(" "),_("ul",[_("li",[_("strong",[t._v("模块")]),t._v(": "),_("code",[t._v("about")])]),t._v(" "),_("li",[_("strong",[t._v("群权限")]),t._v(": "),_("code",[t._v("5")])]),t._v(" "),_("li",[_("strong",[t._v("说明")]),t._v(":"),_("br"),t._v("\n关于真寻的关于")]),t._v(" "),_("li",[_("strong",[t._v("指令")]),t._v(":")])]),t._v(" "),_("table",[_("thead",[_("tr",[_("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),_("tbody",[_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("关于")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("关于")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")])])])]),t._v(" "),_("h2",{attrs:{id:"词云"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#词云"}},[t._v("#")]),t._v(" 词云")]),t._v(" "),_("ul",[_("li",[_("strong",[t._v("模块")]),t._v(": "),_("code",[t._v("word_clouds")])]),t._v(" "),_("li",[_("strong",[t._v("群权限")]),t._v(": "),_("code",[t._v("5")])]),t._v(" "),_("li",[_("strong",[t._v("说明")]),t._v(":"),_("br"),t._v("\n真寻时刻关注着你!获取自己或群聊的词云报告")]),t._v(" "),_("li",[_("strong",[t._v("指令")]),t._v(":")])]),t._v(" "),_("table",[_("thead",[_("tr",[_("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),_("tbody",[_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("今日词云")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("今日词云")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("获取今天的词云")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("昨日词云")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("昨日词云")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("获取昨天的词云")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("本周词云")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("本周词云")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("获取本周词云")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("本月词云")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("本月词云")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("获取本月词云")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("年度词云")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("年度词云")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("获取年度词云")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("历史词云")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("历史词云 2022-01-01"),_("br"),t._v("历史词云 2022-01-01~2022-02-22"),_("br"),t._v("历史词云 2022-02-22T11:11:11~2022-02-22T22:22:22")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("获取某日的词云或指定时间段的词云")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("我的今日词云")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("我的今日词云")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("获取我的今天的词云")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("我的昨日词云")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("我的昨日词云")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("获取我的昨天的词云")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("我的本周词云")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("我的本周词云")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("获取我的本周词云")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("我的本月词云")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("我的本月词云")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("获取我的本月词云")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("我的年度词云")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("我的年度词云")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("获取我的年度词云")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("我的历史词云")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("我的历史词云 2022-01-01"),_("br"),t._v("历史词云 2022-01-01~2022-02-22"),_("br"),t._v("历史词云 2022-02-22T11:11:11~2022-02-22T22:22:22")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("获取我的某日的词云或指定时间段的词云")])])])])])}),[],!1,null,null,null);e.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/38.3746fe4a.js b/assets/js/38.3746fe4a.js deleted file mode 100644 index d136bcecd..000000000 --- a/assets/js/38.3746fe4a.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[38],{637:function(t,e,i){"use strict";i.r(e);var _=i(12),v=Object(_.a)({},(function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[i("h2",{attrs:{id:"发送图片"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#发送图片"}},[t._v("#")]),t._v(" 发送图片")]),t._v(" "),i("ul",[i("li",[i("strong",[t._v("模块")]),t._v(": "),i("code",[t._v("image_management/send_img")])]),t._v(" "),i("li",[i("strong",[t._v("群权限")]),t._v(" : "),i("code",[t._v("5")])]),t._v(" "),i("li",[i("strong",[t._v("说明")]),t._v(":"),i("br"),t._v("\n发送本地图库图片"),i("br"),t._v(" "),i("code",[t._v("此功能包含管理员指令")])]),t._v(" "),i("li",[i("strong",[t._v("指令")]),t._v(":\n"),i("ul",[i("li",[t._v("[图库名称]:公开图库列表\n"),i("ul",[i("li",[i("code",[t._v("id: int")]),t._v(":可选,指定id")])])])])])]),t._v(" "),i("table",[i("thead",[i("tr",[i("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),i("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),i("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),i("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),i("tbody",[i("tr",[i("td",{staticStyle:{"text-align":"center"}},[t._v("[图库名称]")]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[t._v("id")]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[t._v("萝莉"),i("br"),t._v("萝莉 66")]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[t._v("发送随机图或指定id图")])]),t._v(" "),i("tr",[i("td",{staticStyle:{"text-align":"center"}},[t._v("爬/爪巴")]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[t._v("爬")]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[t._v("我直接丢人爬了")])]),t._v(" "),i("tr",[i("td",{staticStyle:{"text-align":"center"}},[t._v("查看公开图库")]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[t._v("查看公开图库")]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[t._v("查看配置中的所有公开图库")])])])]),t._v(" "),i("h2",{attrs:{id:"pix"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#pix"}},[t._v("#")]),t._v(" PIX")]),t._v(" "),i("ul",[i("li",[i("strong",[t._v("模块")]),t._v(": "),i("code",[t._v("pix")])]),t._v(" "),i("li",[i("strong",[t._v("群权限")]),t._v(" : "),i("code",[t._v("5")])]),t._v(" "),i("li",[i("strong",[t._v("说明")]),t._v(":"),i("br"),t._v("\n私有图库收藏,主要收集群友和自己的xp"),i("br"),t._v("\n同时对"),i("a",{attrs:{href:"https://github.com/Ailitonia",target:"_blank",rel:"noopener noreferrer"}},[t._v("Ailitonia"),i("OutboundLink")],1),t._v("佬"),i("a",{attrs:{href:"https://github.com/Ailitonia/omega-miya",target:"_blank",rel:"noopener noreferrer"}},[t._v("omega-miya"),i("OutboundLink")],1),t._v("手筛精品图库的支持,将"),i("a",{attrs:{href:"https://github.com/Ailitonia/omega-miya/blob/master/archive_data/db_pixiv.7z",target:"_blank",rel:"noopener noreferrer"}},[t._v("数据库"),i("OutboundLink")],1),t._v("放置在根目录后发送"),i("code",[t._v("检测omega图库")]),t._v(",并修改在配置文件中将比例配置项\n"),i("code",[t._v("此功能包含超级用户指令")])]),t._v(" "),i("li",[i("strong",[t._v("指令")]),t._v(":\n"),i("ul",[i("li",[t._v("pix\n"),i("ul",[i("li",[i("code",[t._v("tag: str")]),t._v(":可选,指定一个或多个tag")]),t._v(" "),i("li",[i("code",[t._v("num: int")]),t._v(":指定数量")])])]),t._v(" "),i("li",[t._v("添加pix关键词\n"),i("ul",[i("li",[i("code",[t._v("keyword: str")]),t._v(":关键词")])])]),t._v(" "),i("li",[t._v("添加pixuid\n"),i("ul",[i("li",[i("code",[t._v("uid: int")]),t._v(":画师uid")])])]),t._v(" "),i("li",[t._v("添加pixpid\n"),i("ul",[i("li",[i("code",[t._v("pid: int")]),t._v(":插画pid")])])]),t._v(" "),i("li",[t._v("查看pix图库\n"),i("ul",[i("li",[i("code",[t._v("tag: str")]),t._v(":可选,指定一个或多个tag")])])])])])]),t._v(" "),i("table",[i("thead",[i("tr",[i("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),i("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),i("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),i("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),i("tbody",[i("tr",[i("td",{staticStyle:{"text-align":"center"}},[t._v("pix")]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[t._v("*tag num")]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[t._v("pix萝莉 白丝 2")]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[t._v("要2张包含萝莉白丝的图片")])]),t._v(" "),i("tr",[i("td",{staticStyle:{"text-align":"center"}},[t._v("添加pix关键词")]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[t._v("keyword")]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[t._v("添加pix关键词萝莉")]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[t._v("添加一个 萝莉 关键词")])]),t._v(" "),i("tr",[i("td",{staticStyle:{"text-align":"center"}},[t._v("添加pixuid")]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[t._v("uid")]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[t._v("添加pixuid23213")]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[t._v("添加一个 uid")])]),t._v(" "),i("tr",[i("td",{staticStyle:{"text-align":"center"}},[t._v("添加pixpid")]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[t._v("pid")]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[t._v("添加pixpid21332")]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[t._v("添加一个 pid")])]),t._v(" "),i("tr",[i("td",{staticStyle:{"text-align":"center"}},[t._v("查看pix图库")]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[t._v("*tag")]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[t._v("查看pix图库"),i("br"),t._v("查看pix图库萝莉")]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[t._v("查看全部或指定tag的pix图库数量")])]),t._v(" "),i("tr",[i("td",{staticStyle:{"text-align":"center"}},[t._v("显示pix关键词")]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[t._v("显示pix关键词")]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[t._v("查看已收录的pix关键词")])])])]),t._v(" "),i("ul",[i("li",[i("strong",[t._v("超级用户指令")]),t._v(":\n"),i("ul",[i("li",[t._v("pix\n"),i("ul",[i("li",[i("code",[t._v("tag: str")]),t._v(":可选,指定一个或多个tag")]),t._v(" "),i("li",[i("code",[t._v("num: int")]),t._v(":指定数量")]),t._v(" "),i("li",[i("code",[t._v("-type: str")]),t._v(":特殊类型图片,"),i("code",[t._v("-s")]),t._v(":色图,"),i("code",[t._v("-r")]),t._v(":r18图片")])])]),t._v(" "),i("li",[t._v("添加pix黑名单\n"),i("ul",[i("li",[i("code",[t._v("pid: str")]),t._v(":指定pid或指定分p")])])]),t._v(" "),i("li",[t._v("通过/取消/删除pix关键词\n"),i("ul",[i("li",[i("code",[t._v("type: str")]),t._v(":关键词,uid或pid")])])]),t._v(" "),i("li",[t._v("删除pix图片\n"),i("ul",[i("li",[i("code",[t._v("pid: int")]),t._v(":删除一个或多个指定的pid")])])]),t._v(" "),i("li",[t._v("更新pix关键词\n"),i("ul",[i("li",[i("code",[t._v("type: str")]),t._v(":可选,默认全部,指定更新关键词,uid或pid")]),t._v(" "),i("li",[i("code",[t._v("num: int")]),t._v(":可选,默认全部,指定更新数量数量")])])])])])]),t._v(" "),i("table",[i("thead",[i("tr",[i("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),i("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),i("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),i("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),i("tbody",[i("tr",[i("td",{staticStyle:{"text-align":"center"}},[t._v("pix")]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[t._v("*tag num -type")]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[t._v("pix 萝莉 -r")]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[t._v("来一张萝莉r18色图")])]),t._v(" "),i("tr",[i("td",{staticStyle:{"text-align":"center"}},[t._v("添加pix黑名单")]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[t._v("pid")]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[t._v("添加pix黑名单348284"),i("br"),t._v("添加pix黑名单234944_p0")]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[t._v("添加一个pid或指定pid_P黑名单")])]),t._v(" "),i("tr",[i("td",{staticStyle:{"text-align":"center"}},[t._v("通过pix关键词")]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[t._v("type")]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[t._v("通过pix关键词萝莉"),i("br"),t._v("通过pix关键词uid:1238123"),i("br"),t._v("通过pix关键词pid:22333")]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[t._v("通过指定关键词,uid或pid")])]),t._v(" "),i("tr",[i("td",{staticStyle:{"text-align":"center"}},[t._v("取消pix关键词")]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[t._v("type")]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[t._v("同上")]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[t._v("不通过指定关键词,uid或pid")])]),t._v(" "),i("tr",[i("td",{staticStyle:{"text-align":"center"}},[t._v("删除pix关键词")]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[t._v("type")]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[t._v("同上")]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[t._v("删除已存在的关键词,uid或pid")])]),t._v(" "),i("tr",[i("td",{staticStyle:{"text-align":"center"}},[t._v("删除pix图片")]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[t._v("*pid")]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[t._v("删除pix图片1238421 231...")]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[t._v("删除存在的指定pid图片")])]),t._v(" "),i("tr",[i("td",{staticStyle:{"text-align":"center"}},[t._v("更新pix关键词")]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[t._v("type num")]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[t._v("更新pix关键词"),i("br"),t._v("更新pix关键词keyword"),i("br"),t._v("更新pix关键词pid 10")]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[t._v("更新全部或指定数量的关键词,uid或pid")])]),t._v(" "),i("tr",[i("td",{staticStyle:{"text-align":"center"}},[t._v("显示pix关键词")]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[t._v("显示pix关键词")]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[t._v("查看已收录的pix关键词,且额外查看待收录的关键词")])])])]),t._v(" "),i("h2",{attrs:{id:"pixiv排行榜-搜图"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#pixiv排行榜-搜图"}},[t._v("#")]),t._v(" Pixiv排行榜/搜图")]),t._v(" "),i("ul",[i("li",[i("strong",[t._v("模块")]),t._v(": "),i("code",[t._v("pixiv_rank_search")])]),t._v(" "),i("li",[i("strong",[t._v("群权限")]),t._v(" : "),i("code",[t._v("9")])]),t._v(" "),i("li",[i("strong",[t._v("说明")]),t._v(":"),i("br"),t._v("\n私有图库收藏,主要收集群友和自己的xp")]),t._v(" "),i("li",[i("strong",[t._v("指令")]),t._v(":\n"),i("ul",[i("li",[t._v("p站排行\n"),i("ul",[i("li",[i("code",[t._v("type: int")]),t._v(":指定排行榜,默认1,R18部分仅供私聊\n"),i("ul",[i("li",[t._v("日排行")]),t._v(" "),i("li",[t._v("周排行")]),t._v(" "),i("li",[t._v("月排行")]),t._v(" "),i("li",[t._v("原创排行")]),t._v(" "),i("li",[t._v("新人排行")]),t._v(" "),i("li",[t._v("R18日排行")]),t._v(" "),i("li",[t._v("R18周排行")]),t._v(" "),i("li",[t._v("R18受男性欢迎排行")]),t._v(" "),i("li",[t._v("R18重口排行【慎重!】")])])]),t._v(" "),i("li",[i("code",[t._v("date: date")]),t._v(":可选,指定日期,示例:2021-3-11")])])]),t._v(" "),i("li",[t._v("搜图\n"),i("ul",[i("li",[i("code",[t._v("keyword: str")]),t._v(":关键词")])])])])])]),t._v(" "),i("table",[i("thead",[i("tr",[i("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),i("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),i("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),i("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),i("tbody",[i("tr",[i("td",{staticStyle:{"text-align":"center"}},[t._v("p站排行")]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[t._v("type date")]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[t._v("p站排行2")]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[t._v("查看Pixiv指定排行榜")])]),t._v(" "),i("tr",[i("td",{staticStyle:{"text-align":"center"}},[t._v("搜图")]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[t._v("keyword")]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[t._v("搜图萝莉")]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[t._v("搜索指定关键词图片,群聊中会屏蔽R18部分")])])])]),t._v(" "),i("h2",{attrs:{id:"色图"}},[i("a",{staticClass:"header-anchor",attrs:{href:"#色图"}},[t._v("#")]),t._v(" 色图")]),t._v(" "),i("ul",[i("li",[i("strong",[t._v("模块")]),t._v(": "),i("code",[t._v("send_setu_")])]),t._v(" "),i("li",[i("strong",[t._v("群权限")]),t._v(" : "),i("code",[t._v("9")])]),t._v(" "),i("li",[i("strong",[t._v("说明")]),t._v(":"),i("br"),t._v("\nlolicon色图库"),i("br"),t._v(" "),i("code",[t._v("此功能包含超级用户指令")])]),t._v(" "),i("li",[i("strong",[t._v("指令")]),t._v(":\n"),i("ul",[i("li",[t._v("色图\n"),i("ul",[i("li",[i("code",[t._v("id: int")]),t._v(":可选,指定本地id")]),t._v(" "),i("li",[i("code",[t._v("tag: str")]),t._v(":可选,一个或多个指定tag色图")])])]),t._v(" "),i("li",[t._v("[cnt]张[tag]色图\n"),i("ul",[i("li",[i("code",[t._v("cnt: int")]),t._v(":指定数量")]),t._v(" "),i("li",[i("code",[t._v("tag: str")]),t._v(":可选,随机或指定一个或多个tag色图")])])]),t._v(" "),i("li",[t._v("色图r\n"),i("ul",[i("li",[i("code",[t._v("tag: str")]),t._v(":可选,随机或指定一个或多个tag的r18色图")])])])])])]),t._v(" "),i("table",[i("thead",[i("tr",[i("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),i("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),i("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),i("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),i("tbody",[i("tr",[i("td",{staticStyle:{"text-align":"center"}},[t._v("色图")]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[t._v("id")]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[t._v("色图"),i("br"),t._v("色图23")]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[t._v("随机色图或指定id的本地色图")])]),t._v(" "),i("tr",[i("td",{staticStyle:{"text-align":"center"}},[t._v("色图")]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[t._v("*tag")]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[t._v("色图 萝莉"),i("br"),t._v("色图萝莉")]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[t._v("少女 白丝")])]),t._v(" "),i("tr",[i("td",{staticStyle:{"text-align":"center"}},[t._v("[cnt]张[tag]色图")]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[t._v("cnt *tag")]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[t._v("4张萝莉色图")]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[t._v("色图连发,tag与上相同")])]),t._v(" "),i("tr",[i("td",{staticStyle:{"text-align":"center"}},[t._v("色图r")]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[t._v("*tag")]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[t._v("色图r 萝莉")]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[t._v("10连发r18指定tag或随机色图")])])])]),t._v(" "),i("ul",[i("li",[i("strong",[t._v("超级用户指令")]),t._v(":")])]),t._v(" "),i("table",[i("thead",[i("tr",[i("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),i("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),i("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),i("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),i("tbody",[i("tr",[i("td",{staticStyle:{"text-align":"center"}},[t._v("更新色图")]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[t._v("更新色图")]),t._v(" "),i("td",{staticStyle:{"text-align":"center"}},[t._v("更新下载保存在数据库中的所有色图")])])])])])}),[],!1,null,null,null);e.default=v.exports}}]); \ No newline at end of file diff --git a/assets/js/38.48cb871d.js b/assets/js/38.48cb871d.js new file mode 100644 index 000000000..1c9a4108b --- /dev/null +++ b/assets/js/38.48cb871d.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[38],{448:function(t,e,_){"use strict";_.r(e);var v=_(2),n=Object(v.a)({},(function(){var t=this,e=t._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h2",{attrs:{id:"搜番"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#搜番"}},[t._v("#")]),t._v(" 搜番")]),t._v(" "),e("ul",[e("li",[e("strong",[t._v("模块")]),t._v(": "),e("code",[t._v("search_anime")])]),t._v(" "),e("li",[e("strong",[t._v("群权限")]),t._v(" : "),e("code",[t._v("5")])]),t._v(" "),e("li",[e("strong",[t._v("说明")]),t._v(":"),e("br"),t._v("\n搜索指定番剧种子链接")]),t._v(" "),e("li",[e("strong",[t._v("指令")]),t._v(":\n"),e("ul",[e("li",[t._v("搜番\n"),e("ul",[e("li",[e("code",[t._v("keyword: str")]),t._v(":关键词")])])])])])]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),e("tbody",[e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("搜番")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("keyword")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("搜番刀剑神域")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("搜索指定番剧")])])])]),t._v(" "),e("h2",{attrs:{id:"buff皮肤查询"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#buff皮肤查询"}},[t._v("#")]),t._v(" Buff皮肤查询")]),t._v(" "),e("ul",[e("li",[e("strong",[t._v("模块")]),t._v(": "),e("code",[t._v("search_buff_skin_price")])]),t._v(" "),e("li",[e("strong",[t._v("群权限")]),t._v(" : "),e("code",[t._v("5")])]),t._v(" "),e("li",[e("strong",[t._v("说明")]),t._v(":"),e("br"),t._v("\n在线搜索Buff指定皮肤的当前底价"),e("br"),t._v(" "),e("strong",[t._v("该功能需要配置Cookie")])]),t._v(" "),e("li",[e("strong",[t._v("指令")]),t._v(":\n"),e("ul",[e("li",[t._v("查询皮肤\n"),e("ul",[e("li",[e("code",[t._v("weapon: str")]),t._v(":指定武器")]),t._v(" "),e("li",[e("code",[t._v("skin: str")]),t._v(":指定皮肤")])])])])])]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),e("tbody",[e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("查询皮肤")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("weapon skin")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("查询皮肤 ak47 二西莫夫")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("查询指定武器指定皮肤的底价")])])])]),t._v(" "),e("h2",{attrs:{id:"翻译"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#翻译"}},[t._v("#")]),t._v(" 翻译")]),t._v(" "),e("ul",[e("li",[e("strong",[t._v("模块")]),t._v(": "),e("code",[t._v("translate")])]),t._v(" "),e("li",[e("strong",[t._v("群权限")]),t._v(" : "),e("code",[t._v("5")])]),t._v(" "),e("li",[e("strong",[t._v("说明")]),t._v(":"),e("br"),t._v("\n四种语言互翻")]),t._v(" "),e("li",[e("strong",[t._v("指令")]),t._v(":")])]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),e("tbody",[e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("翻英")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("中文")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("翻英爱")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("中文->英文")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("翻日")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("中文")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("翻日爱")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("中文->日文")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("翻韩")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("中文")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("翻韩爱")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("中文->韩文")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("英翻")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("英文")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("英翻love")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("英文->中文")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("日翻")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("日文")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("日翻愛")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("日文->中文")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("韩翻")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("韩文")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("韩翻사랑")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("韩文->中文")])])])]),t._v(" "),e("h2",{attrs:{id:"天气"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#天气"}},[t._v("#")]),t._v(" 天气")]),t._v(" "),e("ul",[e("li",[e("strong",[t._v("模块")]),t._v(": "),e("code",[t._v("weather")])]),t._v(" "),e("li",[e("strong",[t._v("群权限")]),t._v(" : "),e("code",[t._v("5")])]),t._v(" "),e("li",[e("strong",[t._v("说明")]),t._v(":"),e("br"),t._v("\n简简单单的查天气吧")]),t._v(" "),e("li",[e("strong",[t._v("指令")]),t._v(":")])]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),e("tbody",[e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v(".{0,10}市?的?天气.{0,10}")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("北京天气/天气温州")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("采用正则获取城市后查询天气")])])])]),t._v(" "),e("h2",{attrs:{id:"识番"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#识番"}},[t._v("#")]),t._v(" 识番")]),t._v(" "),e("ul",[e("li",[e("strong",[t._v("模块")]),t._v(": "),e("code",[t._v("what_anime")])]),t._v(" "),e("li",[e("strong",[t._v("群权限")]),t._v(" : "),e("code",[t._v("5")])]),t._v(" "),e("li",[e("strong",[t._v("说明")]),t._v(":"),e("br"),t._v("\n使用api.trace.moe,以图识番")]),t._v(" "),e("li",[e("strong",[t._v("指令")]),t._v(":")])]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),e("tbody",[e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("识番")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("[图片]")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("识番 [图片]")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("图片需要尽可能完整取黑边,不要再识别头像了(")])])])]),t._v(" "),e("h2",{attrs:{id:"疫情查询"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#疫情查询"}},[t._v("#")]),t._v(" 疫情查询")]),t._v(" "),e("ul",[e("li",[e("strong",[t._v("模块")]),t._v(": "),e("code",[t._v("yiqing")])]),t._v(" "),e("li",[e("strong",[t._v("群权限")]),t._v(" : "),e("code",[t._v("5")])]),t._v(" "),e("li",[e("strong",[t._v("说明")]),t._v(":"),e("br"),t._v("\n腾讯API全国疫情查询"),e("br"),t._v("\n国外疫情查询")]),t._v(" "),e("li",[e("strong",[t._v("作者")]),t._v(":\n"),e("ul",[e("li",[e("a",{attrs:{href:"https://github.com/HibiKier",target:"_blank",rel:"noopener noreferrer"}},[t._v("HibiKier"),e("OutboundLink")],1),t._v(":国内疫情查询")]),t._v(" "),e("li",[e("a",{attrs:{href:"https://github.com/yzyyz1387",target:"_blank",rel:"noopener noreferrer"}},[t._v("yzyyz1387"),e("OutboundLink")],1),t._v(":国际疫情查询")])])]),t._v(" "),e("li",[e("strong",[t._v("指令")]),t._v(":")])]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),e("tbody",[e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("疫情")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("province/city")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("疫情北京"),e("br"),t._v("疫情宁波")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("如果省份和城市重名的话默认省份,在后面添加"),e("strong",[t._v("市")]),t._v("即可查询城市,例如:疫情吉林市")])])])]),t._v(" "),e("h2",{attrs:{id:"图片修改"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#图片修改"}},[t._v("#")]),t._v(" 图片修改")]),t._v(" "),e("ul",[e("li",[e("strong",[t._v("模块")]),t._v(": "),e("code",[t._v("update_picture")])]),t._v(" "),e("li",[e("strong",[t._v("群权限")]),t._v(" : "),e("code",[t._v("5")])]),t._v(" "),e("li",[e("strong",[t._v("说明")]),t._v(":"),e("br"),t._v("\n简易粗糙的pil或cv2图片修改操作"),e("br"),t._v(" "),e("strong",[t._v("方法可以使用中文 或 数字 来选择,即 改图 修改尺寸= 改图 1")])]),t._v(" "),e("li",[e("strong",[t._v("指令")]),t._v(":\n"),e("ul",[e("li",[t._v("修改尺寸\n"),e("ul",[e("li",[e("code",[t._v("width: int")]),t._v(":宽度")]),t._v(" "),e("li",[e("code",[t._v("height: int")]),t._v(":高度")])])]),t._v(" "),e("li",[t._v("等比压缩\n"),e("ul",[e("li",[e("code",[t._v("ratio: float")]),t._v(":比例")])])]),t._v(" "),e("li",[t._v("旋转图片\n"),e("ul",[e("li",[e("code",[t._v("angle: int")]),t._v(":旋转角度")])])])])])]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("方法")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),e("tbody",[e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("改图/修改图片")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("修改尺寸/1")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("width height [图片]")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("改图修改尺寸 100 200 [图片]")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("将图片尺寸改为100*200")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("改图/修改图片")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("等比压缩/2")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("ratio [图片]")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("改图等比压缩 0.8 [图片]")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("将图片压缩大小")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("改图/修改图片")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("旋转图片/3")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("angle [图片]")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("改图旋转图片 30 [图片]")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("将图片旋转指定角度")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("改图/修改图片")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("水平翻转/4")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("[图片]")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("改图水平翻转 [图片]")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("将图片水平翻转")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("改图/修改图片")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("铅笔滤镜/5")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("[图片]")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("改图铅笔滤镜 [图片]")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("添加铅笔滤镜")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("改图/修改图片")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("模糊效果/6")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("[图片]")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("改图模糊效果 [图片]")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("添加模糊效果")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("改图/修改图片")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("锐化效果/7")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("[图片]")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("改图锐化效果 [图片]")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("添加锐化效果")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("改图/修改图片")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("高斯模糊/8")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("[图片]")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("改图高斯模糊 [图片]")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("添加高斯模糊")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("改图/修改图片")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("边缘检测/9")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("[图片]")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("改图边缘检测 [图片]")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("添加边缘检测")])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[t._v("改图/修改图片")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("底色替换/10")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("[红/蓝] [红/蓝/白/绿/黄] [图片]")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("改图底色替换 红 蓝 [图片]")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("将红/蓝纯底色替换其他五种颜色")])])])])])}),[],!1,null,null,null);e.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/39.9e7b52c5.js b/assets/js/39.9e7b52c5.js new file mode 100644 index 000000000..e4b090332 --- /dev/null +++ b/assets/js/39.9e7b52c5.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[39],{445:function(t,s,a){"use strict";a.r(s);var l=a(2),o=Object(l.a)({},(function(){var t=this,s=t._self._c;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[s("h1",{attrs:{id:"前言"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#前言"}},[t._v("#")]),t._v(" 前言")]),t._v(" "),s("p",[s("s",[t._v("真寻bot非常可爱,嗯,这是我要提醒你的")])]),t._v(" "),s("div",{staticClass:"custom-block tip"},[s("p",{staticClass:"title"}),s("p",[t._v("自建可能会遇到各种花里胡哨的麻烦,如果没有一些基础的话,前面可是困难重重啊少年")])]),s("h1",{attrs:{id:"安装真寻bot-你需要具备"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#安装真寻bot-你需要具备"}},[t._v("#")]),t._v(" 安装真寻bot,你需要具备")]),t._v(" "),s("ul",[s("li",[t._v("一定的基础,包括但不限于稍微熟悉linux或windows cmd命令行")]),t._v(" "),s("li",[t._v("一些百度/Google的能力")]),t._v(" "),s("li",[t._v("一台服务器")])])])}),[],!1,null,null,null);s.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/39.bcc8e7b6.js b/assets/js/39.bcc8e7b6.js deleted file mode 100644 index 3f5c972a3..000000000 --- a/assets/js/39.bcc8e7b6.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[39],{640:function(t,e,_){"use strict";_.r(e);var v=_(12),l=Object(v.a)({},(function(){var t=this,e=t.$createElement,_=t._self._c||e;return _("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[_("h2",{attrs:{id:"管理员回复"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#管理员回复"}},[t._v("#")]),t._v(" 管理员回复")]),t._v(" "),_("ul",[_("li",[_("strong",[t._v("模块")]),t._v(": "),_("code",[t._v("dialogue")])]),t._v(" "),_("li",[_("strong",[t._v("说明")]),t._v(":"),_("br"),t._v("\n超级用户对用户的联系")]),t._v(" "),_("li",[_("strong",[t._v("指令")]),t._v(":\n"),_("ul",[_("li",[_("code",[t._v("/t [qq] [group_id] [文本]")]),t._v(": 在group回复指定用户")]),t._v(" "),_("li",[_("code",[t._v("/t [qq] [文本]")]),t._v(": 私聊用户")]),t._v(" "),_("li",[_("code",[t._v("/t -1 [group_id] [文本]")]),t._v(": 在group内发送消息")]),t._v(" "),_("li",[_("code",[t._v("/t [id] [文本]")]),t._v(": 回复指定id的对话,id在 /t 中获取")])])])]),t._v(" "),_("table",[_("thead",[_("tr",[_("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),_("tbody",[_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("/t")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("qq group_id msg")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("/t 73747222 32848432 你好啊"),_("br"),t._v("/t 73747222 你好不好"),_("br"),t._v("/t -1 32848432 我不太好"),_("br"),t._v("/t 0 我收到你的话了")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")])])])]),t._v(" "),_("h2",{attrs:{id:"真寻更新管理"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#真寻更新管理"}},[t._v("#")]),t._v(" 真寻更新管理")]),t._v(" "),_("ul",[_("li",[_("strong",[t._v("模块")]),t._v(": "),_("code",[t._v("check_zhenxun_update")])]),t._v(" "),_("li",[_("strong",[t._v("说明")]),t._v(":"),_("br"),t._v("\n真寻自动更新检测"),_("br"),t._v(" "),_("code",[t._v("重启")]),t._v("功能需要先自行修改根目录"),_("code",[t._v("restart.sh")]),t._v("文件")]),t._v(" "),_("li",[_("strong",[t._v("指令")]),t._v(":")])]),t._v(" "),_("table",[_("thead",[_("tr",[_("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),_("tbody",[_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("检查更新真寻")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("检查更新真寻")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("检查更新")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("重启")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("重新")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("重新启动真寻")])])])]),t._v(" "),_("ul",[_("li",[_("strong",[t._v("定时任务")]),t._v(":")])]),t._v(" "),_("table",[_("thead",[_("tr",[_("th",{staticStyle:{"text-align":"center"}},[t._v("名称")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("类型")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("时间")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),_("tbody",[_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("自动检查更新")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("cron")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("hour=12")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("每日12:00检查真寻是否更新,需要配置项"),_("code",[t._v("AUTO_UPDATE_ZHENXUN=True")])])])])]),t._v(" "),_("h2",{attrs:{id:"自检"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#自检"}},[t._v("#")]),t._v(" 自检")]),t._v(" "),_("ul",[_("li",[_("strong",[t._v("模块")]),t._v(": "),_("code",[t._v("check")])]),t._v(" "),_("li",[_("strong",[t._v("说明")]),t._v(":"),_("br"),t._v("\n检查服务器状态")]),t._v(" "),_("li",[_("strong",[t._v("指令")]),t._v(":")])]),t._v(" "),_("table",[_("thead",[_("tr",[_("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),_("tbody",[_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("自检")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("自检")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")])])])]),t._v(" "),_("h2",{attrs:{id:"下载gocq"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#下载gocq"}},[t._v("#")]),t._v(" 下载gocq")]),t._v(" "),_("ul",[_("li",[_("strong",[t._v("模块")]),t._v(": "),_("code",[t._v("update_gocqhttp")])]),t._v(" "),_("li",[_("strong",[t._v("说明")]),t._v(":"),_("br"),t._v("\n检测下载gocq并上传至指定群聊")]),t._v(" "),_("li",[_("strong",[t._v("指令")]),t._v(":")])]),t._v(" "),_("table",[_("thead",[_("tr",[_("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),_("tbody",[_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("更新gocq")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("更新gocq")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")])])])]),t._v(" "),_("ul",[_("li",[_("strong",[t._v("定时任务")]),t._v(":")])]),t._v(" "),_("table",[_("thead",[_("tr",[_("th",{staticStyle:{"text-align":"center"}},[t._v("名称")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("类型")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("时间")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),_("tbody",[_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("自动检测下载gocq")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("cron")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("hour=3 minute=1")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("每日"),_("code",[t._v("03:01")]),t._v("检测下载最新版gocq并上传指定群聊")])])])]),t._v(" "),_("h2",{attrs:{id:"敏感词检测"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#敏感词检测"}},[t._v("#")]),t._v(" 敏感词检测")]),t._v(" "),_("ul",[_("li",[_("strong",[t._v("模块")]),t._v(": "),_("code",[t._v("black_word")])]),t._v(" "),_("li",[_("strong",[t._v("说明")]),t._v(":"),_("br"),t._v("\n一转攻势,重拳出击!辱骂真寻的人必须得到惩罚!"),_("br"),t._v(" "),_("code",[t._v("此功能含有额外超级用户操作")])]),t._v(" "),_("li",[_("strong",[t._v("指令")]),t._v(":\n"),_("ul",[_("li",[t._v("设置惩罚")]),t._v(" "),_("li",[_("code",[t._v("qq")]),t._v(":指定qq")]),t._v(" "),_("li",[_("code",[t._v("id")]),t._v(":记录对应id,该id从记录名单中获取")]),t._v(" "),_("li",[_("code",[t._v("punish_level")]),t._v(":惩罚等级")])])])]),t._v(" "),_("table",[_("thead",[_("tr",[_("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),_("tbody",[_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("^记录名单(u:\\d*)?(g:\\d*)?(d[=><]\\d*-\\d{1,2}-\\d{1,2})?$")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("记录名单"),_("br"),t._v("记录名单u:12345678")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("查看记录名单或搜索")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("设置惩罚")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("qq id punish_level")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("设置惩罚 12345678 1 4")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("手动设置惩罚")])])])])])}),[],!1,null,null,null);e.default=l.exports}}]); \ No newline at end of file diff --git a/assets/js/4.682beda7.js b/assets/js/4.682beda7.js deleted file mode 100644 index 582982266..000000000 --- a/assets/js/4.682beda7.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{506:function(t,e,a){},507:function(t,e,a){},508:function(t,e,a){},509:function(t,e,a){},510:function(t,e,a){"use strict";a(71);var n=a(163),r=a(505),o=Object(n.b)({components:{RecoIcon:r.b},props:{pageInfo:{type:Object,default:function(){return{}}},currentTag:{type:String,default:""},showAccessNumber:{type:Boolean,default:!1}},setup:function(t,e){var a=Object(n.c)().proxy;return{numStyle:{fontSize:".9rem",fontWeight:"normal",color:"#999"},goTags:function(t){a.$route.path!=="/tag/".concat(t,"/")&&a.$router.push({path:"/tag/".concat(t,"/")})},formatDateValue:function(t){return new Intl.DateTimeFormat(a.$lang).format(new Date(t))}}}}),c=(a(512),a(12)),s=Object(c.a)(o,(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",[t.pageInfo.frontmatter.author||t.$themeConfig.author?a("reco-icon",{attrs:{icon:"reco-account"}},[a("span",[t._v(t._s(t.pageInfo.frontmatter.author||t.$themeConfig.author))])]):t._e(),t._v(" "),t.pageInfo.frontmatter.date?a("reco-icon",{attrs:{icon:"reco-date"}},[a("span",[t._v(t._s(t.formatDateValue(t.pageInfo.frontmatter.date)))])]):t._e(),t._v(" "),!0===t.showAccessNumber?a("reco-icon",{attrs:{icon:"reco-eye"}},[a("AccessNumber",{attrs:{idVal:t.pageInfo.path,numStyle:t.numStyle}})],1):t._e(),t._v(" "),t.pageInfo.frontmatter.tags?a("reco-icon",{staticClass:"tags",attrs:{icon:"reco-tag"}},t._l(t.pageInfo.frontmatter.tags,(function(e,n){return a("span",{key:n,staticClass:"tag-item",class:{active:t.currentTag==e},on:{click:function(a){return a.stopPropagation(),t.goTags(e)}}},[t._v(t._s(e))])})),0):t._e()],1)}),[],!1,null,"1ff7123e",null);e.a=s.exports},512:function(t,e,a){"use strict";a(506)},513:function(t,e,a){"use strict";a(507)},514:function(t,e,a){"use strict";a(508)},515:function(t,e,a){"use strict";a(48);var n=a(163),r=(a(164),a(276),{methods:{_getStoragePage:function(){var t=window.location.pathname,e=JSON.parse(sessionStorage.getItem("currentPage"));return null===e||t!==e.path?(sessionStorage.setItem("currentPage",JSON.stringify({page:1,path:""})),1):parseInt(e.page)},_setStoragePage:function(t){var e=window.location.pathname;sessionStorage.setItem("currentPage",JSON.stringify({page:t,path:e}))}}}),o=a(505),c=a(510),s=Object(n.b)({components:{PageInfo:c.a,RecoIcon:o.b},props:["item","currentPage","currentTag"]}),i=(a(513),a(12)),u=Object(i.a)(s,(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"abstract-item",on:{click:function(e){return t.$router.push(t.item.path)}}},[t.item.frontmatter.sticky?a("reco-icon",{attrs:{icon:"reco-sticky"}}):t._e(),t._v(" "),a("div",{staticClass:"title"},[t.item.frontmatter.keys?a("reco-icon",{attrs:{icon:"reco-lock"}}):t._e(),t._v(" "),a("router-link",{attrs:{to:t.item.path}},[t._v(t._s(t.item.title))])],1),t._v(" "),a("div",{staticClass:"abstract",domProps:{innerHTML:t._s(t.item.excerpt)}}),t._v(" "),a("PageInfo",{attrs:{pageInfo:t.item,currentTag:t.currentTag}})],1)}),[],!1,null,"ff2c8be0",null).exports,g=Object(n.b)({mixins:[r],components:{NoteAbstractItem:u},props:["data","currentTag"],setup:function(t,e){var a=Object(n.c)().proxy,r=Object(n.i)(t).data,o=Object(n.h)(1),c=Object(n.a)((function(){var t=(o.value-1)*a.$perPage,e=o.value*a.$perPage;return r.value.slice(t,e)}));return Object(n.e)((function(){o.value=a._getStoragePage()||1})),{currentPage:o,currentPageData:c,getCurrentPage:function(t){o.value=t,a._setStoragePage(t),e.emit("paginationChange",t)}}},watch:{$route:function(){this.currentPage=this._getStoragePage()||1}}}),l=(a(514),Object(i.a)(g,(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"abstract-wrapper"},[t._l(t.currentPageData,(function(e){return a("NoteAbstractItem",{key:e.path,attrs:{item:e,currentPage:t.currentPage,currentTag:t.currentTag}})})),t._v(" "),a("pagation",{staticClass:"pagation",attrs:{total:t.data.length,currentPage:t.currentPage},on:{getCurrentPage:t.getCurrentPage}})],2)}),[],!1,null,"5a259143",null));e.a=l.exports},518:function(t,e,a){"use strict";a(509)},520:function(t,e,a){"use strict";var n=a(74),r=(a(123),a(163)),o=a(96),c=Object(r.b)({props:{currentTag:{type:String,default:""}},setup:function(t,e){var a=Object(r.c)().proxy;return{tags:Object(r.a)((function(){return[{name:a.$recoLocales.all,path:"/tag/"}].concat(Object(n.a)(a.$tagesList))})),tagClick:function(t){e.emit("getCurrentTag",t)},getOneColor:o.b}}}),s=(a(518),a(12)),i=Object(s.a)(c,(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"tags"},t._l(t.tags,(function(e,n){return a("span",{directives:[{name:"show",rawName:"v-show",value:!e.pages||e.pages&&e.pages.length>0,expression:"!item.pages || (item.pages && item.pages.length > 0)"}],key:n,class:{active:e.name==t.currentTag},style:{backgroundColor:t.getOneColor()},on:{click:function(a){return t.tagClick(e)}}},[t._v(t._s(e.name))])})),0)}),[],!1,null,"125939b4",null);e.a=i.exports},548:function(t,e,a){},599:function(t,e,a){"use strict";a(548)},609:function(t,e,a){"use strict";a.r(e);a(47);var n=a(163),r=a(519),o=a(515),c=a(520),s=a(505),i=a(94),u=a(517),g=Object(n.b)({mixins:[u.a],components:{Common:r.a,NoteAbstract:o.a,TagList:c.a,ModuleTransition:s.a},setup:function(t,e){var a=Object(n.c)().proxy;return{posts:Object(n.a)((function(){var t=a.$currentTags.pages;return t=Object(i.a)(t),Object(i.c)(t),t})),getCurrentTag:function(t){e.emit("currentTag",t)},tagClick:function(t){a.$route.path!==t.path&&a.$router.push({path:t.path})},paginationChange:function(t){setTimeout((function(){window.scrollTo(0,0)}),100)}}}}),l=(a(511),a(599),a(12)),p=Object(l.a)(g,(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("Common",{staticClass:"tag-wrapper",attrs:{sidebar:!1}},[a("ModuleTransition",[a("TagList",{directives:[{name:"show",rawName:"v-show",value:t.recoShowModule,expression:"recoShowModule"}],staticClass:"tags",attrs:{currentTag:t.$currentTags.key},on:{getCurrentTag:t.tagClick}})],1),t._v(" "),a("ModuleTransition",{attrs:{delay:"0.08"}},[a("note-abstract",{directives:[{name:"show",rawName:"v-show",value:t.recoShowModule,expression:"recoShowModule"}],staticClass:"list",attrs:{data:t.posts,currentTag:t.$currentTags.key},on:{paginationChange:t.paginationChange}})],1)],1)}),[],!1,null,"ab813f74",null);e.default=p.exports}}]); \ No newline at end of file diff --git a/assets/js/4.a204b62c.js b/assets/js/4.a204b62c.js new file mode 100644 index 000000000..b6c322e0f --- /dev/null +++ b/assets/js/4.a204b62c.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{326:function(t,e,a){},327:function(t,e,a){},328:function(t,e,a){},329:function(t,e,a){},330:function(t,e,a){"use strict";a(326)},331:function(t,e,a){},332:function(t,e,a){},333:function(t,e,a){"use strict";a(16);var r=a(0),n=a(325),s=a(324),o=Object(r.c)({components:{RecoIcon:n.b},props:{pageInfo:{type:Object,default:()=>({})},currentTag:{type:String,default:""},showAccessNumber:{type:Boolean,default:!1}},setup(t,e){const a=Object(s.a)();return{numStyle:{fontSize:".9rem",fontWeight:"normal",color:"#999"},goTags:t=>{a.$route.path!==`/tag/${t}/`&&a.$router.push({path:`/tag/${t}/`})},formatDateValue:t=>new Intl.DateTimeFormat(a.$lang).format(new Date(t))}}}),c=(a(334),a(2)),i=Object(c.a)(o,(function(){var t=this,e=t._self._c;t._self._setupProxy;return e("div",[t.pageInfo.frontmatter.author||t.$themeConfig.author?e("reco-icon",{attrs:{icon:"reco-account"}},[e("span",[t._v(t._s(t.pageInfo.frontmatter.author||t.$themeConfig.author))])]):t._e(),t._v(" "),t.pageInfo.frontmatter.date?e("reco-icon",{attrs:{icon:"reco-date"}},[e("span",[t._v(t._s(t.formatDateValue(t.pageInfo.frontmatter.date)))])]):t._e(),t._v(" "),!0===t.showAccessNumber?e("reco-icon",{attrs:{icon:"reco-eye"}},[e("AccessNumber",{attrs:{idVal:t.pageInfo.path,numStyle:t.numStyle}})],1):t._e(),t._v(" "),t.pageInfo.frontmatter.tags?e("reco-icon",{staticClass:"tags",attrs:{icon:"reco-tag"}},t._l(t.pageInfo.frontmatter.tags,(function(a,r){return e("span",{key:r,staticClass:"tag-item",class:{active:t.currentTag==a},on:{click:function(e){return e.stopPropagation(),t.goTags(a)}}},[t._v(t._s(a))])})),0):t._e()],1)}),[],!1,null,"8a445198",null);e.a=i.exports},334:function(t,e,a){"use strict";a(327)},335:function(t,e,a){"use strict";a(328)},336:function(t,e,a){"use strict";a(329)},337:function(t,e,a){"use strict";var r=a(0),n={methods:{_getStoragePage(){const t=window.location.pathname,e=JSON.parse(sessionStorage.getItem("currentPage"));return null===e||t!==e.path?(sessionStorage.setItem("currentPage",JSON.stringify({page:1,path:""})),1):parseInt(e.page)},_setStoragePage(t){const e=window.location.pathname;sessionStorage.setItem("currentPage",JSON.stringify({page:t,path:e}))}}},s=(a(16),a(325)),o=a(333),c=Object(r.c)({components:{PageInfo:o.a,RecoIcon:s.b},props:["item","currentPage","currentTag"]}),i=(a(335),a(2)),u=Object(i.a)(c,(function(){var t=this,e=t._self._c;t._self._setupProxy;return e("div",{staticClass:"abstract-item",on:{click:function(e){return t.$router.push(t.item.path)}}},[t.item.frontmatter.sticky?e("reco-icon",{attrs:{icon:"reco-sticky"}}):t._e(),t._v(" "),e("div",{staticClass:"title"},[t.item.frontmatter.keys?e("reco-icon",{attrs:{icon:"reco-lock"}}):t._e(),t._v(" "),e("router-link",{attrs:{to:t.item.path}},[t._v(t._s(t.item.title))])],1),t._v(" "),e("div",{staticClass:"abstract",domProps:{innerHTML:t._s(t.item.excerpt)}}),t._v(" "),e("PageInfo",{attrs:{pageInfo:t.item,currentTag:t.currentTag}})],1)}),[],!1,null,"73a63558",null).exports,g=a(324),l=Object(r.c)({mixins:[n],components:{NoteAbstractItem:u},props:["data","currentTag"],setup(t,e){const a=Object(g.a)(),{data:n}=Object(r.i)(t),s=Object(r.h)(1),o=Object(r.a)(()=>{const t=(s.value-1)*a.$perPage,e=s.value*a.$perPage;return n.value.slice(t,e)});return Object(r.e)(()=>{s.value=a._getStoragePage()||1}),{currentPage:s,currentPageData:o,getCurrentPage:t=>{s.value=t,a._setStoragePage(t),e.emit("paginationChange",t)}}},watch:{$route(){this.currentPage=this._getStoragePage()||1}}}),p=(a(336),Object(i.a)(l,(function(){var t=this,e=t._self._c;t._self._setupProxy;return e("div",{staticClass:"abstract-wrapper"},[t._l(t.currentPageData,(function(a){return e("NoteAbstractItem",{key:a.path,attrs:{item:a,currentPage:t.currentPage,currentTag:t.currentTag}})})),t._v(" "),e("pagation",{staticClass:"pagation",attrs:{total:t.data.length,currentPage:t.currentPage},on:{getCurrentPage:t.getCurrentPage}})],2)}),[],!1,null,"21a20f36",null));e.a=p.exports},338:function(t,e,a){"use strict";a(331)},339:function(t,e,a){"use strict";a(332)},341:function(t,e,a){"use strict";var r=a(0),n=a(41),s=a(324),o=Object(r.c)({props:{currentTag:{type:String,default:""}},setup(t,e){const a=Object(s.a)();return{tags:Object(r.a)(()=>[{name:a.$recoLocales.all,path:"/tag/"},...a.$tagesList]),tagClick:t=>{e.emit("getCurrentTag",t)},getOneColor:n.b}}}),c=(a(339),a(2)),i=Object(c.a)(o,(function(){var t=this,e=t._self._c;t._self._setupProxy;return e("div",{staticClass:"tags"},t._l(t.tags,(function(a,r){return e("span",{directives:[{name:"show",rawName:"v-show",value:!a.pages||a.pages&&a.pages.length>0,expression:"!item.pages || (item.pages && item.pages.length > 0)"}],key:r,class:{active:a.name==t.currentTag},style:{backgroundColor:t.getOneColor()},on:{click:function(e){return t.tagClick(a)}}},[t._v(t._s(a.name))])})),0)}),[],!1,null,"cbf58c6c",null);e.a=i.exports},370:function(t,e,a){},410:function(t,e,a){"use strict";a(370)},417:function(t,e,a){"use strict";a.r(e);a(16);var r=a(0),n=a(340),s=a(337),o=a(341),c=a(25),i=a(324),u=Object(r.c)({components:{Common:n.a,NoteAbstract:s.a,TagList:o.a},setup(t,e){const a=Object(i.a)();return{posts:Object(r.a)(()=>{let t=a.$currentTags.pages;return t=Object(c.a)(t),Object(c.c)(t),t}),getCurrentTag:t=>{e.emit("currentTag",t)},tagClick:t=>{a.$route.path!==t.path&&a.$router.push({path:t.path})},paginationChange:t=>{setTimeout(()=>{window.scrollTo(0,0)},100)}}}}),g=(a(330),a(338),a(410),a(2)),l=Object(g.a)(u,(function(){var t=this._self._c;this._self._setupProxy;return t("Common",{staticClass:"tag-wrapper",attrs:{sidebar:!1}},[t("TagList",{staticClass:"tags",attrs:{currentTag:this.$currentTags.key},on:{getCurrentTag:this.tagClick}}),this._v(" "),t("note-abstract",{staticClass:"list",attrs:{data:this.posts,currentTag:this.$currentTags.key},on:{paginationChange:this.paginationChange}})],1)}),[],!1,null,"c29f409a",null);e.default=l.exports}}]); \ No newline at end of file diff --git a/assets/js/40.02805295.js b/assets/js/40.02805295.js new file mode 100644 index 000000000..87225e67c --- /dev/null +++ b/assets/js/40.02805295.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[40],{451:function(s,t,a){"use strict";a.r(t);var n=a(2),e=Object(n.a)({},(function(){var s=this,t=s._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":s.$parent.slotKey}},[t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"title"}),t("p",[s._v("一个关系型数据库,占用比mysql小小小小多了..."),t("br"),s._v("\n目前来看postgresql版本似乎对真寻没有太大影响(指9.0以上),不会影响正常使用")])]),t("h1",{attrs:{id:"开始安装"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#开始安装"}},[s._v("#")]),s._v(" 开始安装")]),s._v(" "),t("h2",{attrs:{id:"_1-安装"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_1-安装"}},[s._v("#")]),s._v(" 1.安装")]),s._v(" "),t("p",[s._v("1.直接命令行输入")]),s._v(" "),t("div",{staticClass:"language-bash line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[t("span",{pre:!0,attrs:{class:"token function"}},[s._v("sudo")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token function"}},[s._v("apt")]),s._v(" update\n"),t("span",{pre:!0,attrs:{class:"token function"}},[s._v("sudo")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token function"}},[s._v("apt")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token function"}},[s._v("install")]),s._v(" postgresql postgresql-contrib\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br"),t("span",{staticClass:"line-number"},[s._v("2")]),t("br")])]),t("ol",{attrs:{start:"2"}},[t("li",[s._v("创建数据库和用户(依次输入)")])]),s._v(" "),t("div",{staticClass:"language-bash line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[t("span",{pre:!0,attrs:{class:"token function"}},[s._v("sudo")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token function"}},[s._v("su")]),s._v(" - postgres "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 切换用户")]),s._v("\npsql\n "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 用户名↓ # 密码↓")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# CREATE USER uname WITH PASSWORD 'zhenxun'; # 创建用户(可不执行)")]),s._v("\n\n "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 密码↓")]),s._v("\nalter user postgres with password "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v("'zhenxun_bot'")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(";")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 修改postgres的密码")]),s._v("\n\n "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 数据库名称↓ 所有者(用户名)↓")]),s._v("\nCREATE DATABASE zhenxun_bot OWNER postgres"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(";")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 创建数据库")]),s._v("\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br"),t("span",{staticClass:"line-number"},[s._v("2")]),t("br"),t("span",{staticClass:"line-number"},[s._v("3")]),t("br"),t("span",{staticClass:"line-number"},[s._v("4")]),t("br"),t("span",{staticClass:"line-number"},[s._v("5")]),t("br"),t("span",{staticClass:"line-number"},[s._v("6")]),t("br"),t("span",{staticClass:"line-number"},[s._v("7")]),t("br"),t("span",{staticClass:"line-number"},[s._v("8")]),t("br"),t("span",{staticClass:"line-number"},[s._v("9")]),t("br"),t("span",{staticClass:"line-number"},[s._v("10")]),t("br")])]),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"title"}),t("p",[s._v("到这一步数据库已经可以正常使用了!以下步骤主要用于外网可以连接入服务器数据库,可以等需要的时候再配置。")])]),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"title"}),t("p",[s._v("✨✨ 成功完成了"),t("code",[s._v("Postgresql")]),s._v("的数据库配置,马上要安装真寻了捏 ✨✨")])]),t("h2",{attrs:{id:"_2-配置外网连接-可省略"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2-配置外网连接-可省略"}},[s._v("#")]),s._v(" 2.配置外网连接(可省略)")]),s._v(" "),t("ol",[t("li",[t("p",[s._v("编辑数据库配置文件(路径请已自己的为准)")]),s._v(" "),t("ul",[t("li",[s._v("打开数据库配置文件")])]),s._v(" "),t("div",{staticClass:"language-bash line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[t("span",{pre:!0,attrs:{class:"token function"}},[s._v("vim")]),s._v(" /etc/postgresql/12/main/postgresql.conf\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br")])]),t("ul",[t("li",[s._v("找到 "),t("code",[s._v("listen_addresses: '*'")]),s._v(" 取消前面的 "),t("code",[s._v("#")]),s._v(" 注释,使用:wq保存退出")])]),s._v(" "),t("blockquote",[t("p",[s._v("建议公网ip同时修改 Port")])]),s._v(" "),t("ul",[t("li",[s._v("打开 "),t("strong",[s._v("pg_hba.conf")])])]),s._v(" "),t("div",{staticClass:"language-bash line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[t("span",{pre:!0,attrs:{class:"token function"}},[s._v("vim")]),s._v(" /etc/postgresql/12/main/pg_hba.conf\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br")])]),t("ul",[t("li",[t("p",[s._v("在最下添加或修改后,使用:wq保存退出")]),s._v(" "),t("div",{staticClass:"language- line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[s._v(" # 允许任意用户从任意机器上以密码方式访问数据库\n host all all 0.0.0.0/0 md5\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br"),t("span",{staticClass:"line-number"},[s._v("2")]),t("br")])])])])]),s._v(" "),t("li",[t("p",[s._v("重启数据库")])])]),s._v(" "),t("div",{staticClass:"language-bash line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[t("span",{pre:!0,attrs:{class:"token function"}},[s._v("sudo")]),s._v(" systemctl restart postgresql\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br")])])])}),[],!1,null,null,null);t.default=e.exports}}]); \ No newline at end of file diff --git a/assets/js/40.b73ff2e9.js b/assets/js/40.b73ff2e9.js deleted file mode 100644 index dfed1124b..000000000 --- a/assets/js/40.b73ff2e9.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[40],{638:function(t,e,_){"use strict";_.r(e);var v=_(12),n=Object(v.a)({},(function(){var t=this,e=t.$createElement,_=t._self._c||e;return _("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[_("h2",{attrs:{id:"搜番"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#搜番"}},[t._v("#")]),t._v(" 搜番")]),t._v(" "),_("ul",[_("li",[_("strong",[t._v("模块")]),t._v(": "),_("code",[t._v("search_anime")])]),t._v(" "),_("li",[_("strong",[t._v("群权限")]),t._v(" : "),_("code",[t._v("5")])]),t._v(" "),_("li",[_("strong",[t._v("说明")]),t._v(":"),_("br"),t._v("\n搜索指定番剧种子链接")]),t._v(" "),_("li",[_("strong",[t._v("指令")]),t._v(":\n"),_("ul",[_("li",[t._v("搜番\n"),_("ul",[_("li",[_("code",[t._v("keyword: str")]),t._v(":关键词")])])])])])]),t._v(" "),_("table",[_("thead",[_("tr",[_("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),_("tbody",[_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("搜番")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("keyword")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("搜番刀剑神域")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("搜索指定番剧")])])])]),t._v(" "),_("h2",{attrs:{id:"buff皮肤查询"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#buff皮肤查询"}},[t._v("#")]),t._v(" Buff皮肤查询")]),t._v(" "),_("ul",[_("li",[_("strong",[t._v("模块")]),t._v(": "),_("code",[t._v("search_buff_skin_price")])]),t._v(" "),_("li",[_("strong",[t._v("群权限")]),t._v(" : "),_("code",[t._v("5")])]),t._v(" "),_("li",[_("strong",[t._v("说明")]),t._v(":"),_("br"),t._v("\n在线搜索Buff指定皮肤的当前底价"),_("br"),t._v(" "),_("strong",[t._v("该功能需要配置Cookie")])]),t._v(" "),_("li",[_("strong",[t._v("指令")]),t._v(":\n"),_("ul",[_("li",[t._v("查询皮肤\n"),_("ul",[_("li",[_("code",[t._v("weapon: str")]),t._v(":指定武器")]),t._v(" "),_("li",[_("code",[t._v("skin: str")]),t._v(":指定皮肤")])])])])])]),t._v(" "),_("table",[_("thead",[_("tr",[_("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),_("tbody",[_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("查询皮肤")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("weapon skin")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("查询皮肤 ak47 二西莫夫")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("查询指定武器指定皮肤的底价")])])])]),t._v(" "),_("h2",{attrs:{id:"翻译"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#翻译"}},[t._v("#")]),t._v(" 翻译")]),t._v(" "),_("ul",[_("li",[_("strong",[t._v("模块")]),t._v(": "),_("code",[t._v("translate")])]),t._v(" "),_("li",[_("strong",[t._v("群权限")]),t._v(" : "),_("code",[t._v("5")])]),t._v(" "),_("li",[_("strong",[t._v("说明")]),t._v(":"),_("br"),t._v("\n四种语言互翻")]),t._v(" "),_("li",[_("strong",[t._v("指令")]),t._v(":")])]),t._v(" "),_("table",[_("thead",[_("tr",[_("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),_("tbody",[_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("翻英")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("中文")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("翻英爱")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("中文->英文")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("翻日")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("中文")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("翻日爱")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("中文->日文")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("翻韩")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("中文")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("翻韩爱")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("中文->韩文")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("英翻")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("英文")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("英翻love")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("英文->中文")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("日翻")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("日文")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("日翻愛")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("日文->中文")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("韩翻")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("韩文")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("韩翻사랑")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("韩文->中文")])])])]),t._v(" "),_("h2",{attrs:{id:"天气"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#天气"}},[t._v("#")]),t._v(" 天气")]),t._v(" "),_("ul",[_("li",[_("strong",[t._v("模块")]),t._v(": "),_("code",[t._v("weather")])]),t._v(" "),_("li",[_("strong",[t._v("群权限")]),t._v(" : "),_("code",[t._v("5")])]),t._v(" "),_("li",[_("strong",[t._v("说明")]),t._v(":"),_("br"),t._v("\n简简单单的查天气吧")]),t._v(" "),_("li",[_("strong",[t._v("指令")]),t._v(":")])]),t._v(" "),_("table",[_("thead",[_("tr",[_("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),_("tbody",[_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v(".{0,10}市?的?天气.{0,10}")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("None")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("北京天气/天气温州")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("采用正则获取城市后查询天气")])])])]),t._v(" "),_("h2",{attrs:{id:"识番"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#识番"}},[t._v("#")]),t._v(" 识番")]),t._v(" "),_("ul",[_("li",[_("strong",[t._v("模块")]),t._v(": "),_("code",[t._v("what_anime")])]),t._v(" "),_("li",[_("strong",[t._v("群权限")]),t._v(" : "),_("code",[t._v("5")])]),t._v(" "),_("li",[_("strong",[t._v("说明")]),t._v(":"),_("br"),t._v("\n使用api.trace.moe,以图识番")]),t._v(" "),_("li",[_("strong",[t._v("指令")]),t._v(":")])]),t._v(" "),_("table",[_("thead",[_("tr",[_("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),_("tbody",[_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("识番")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("[图片]")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("识番 [图片]")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("图片需要尽可能完整取黑边,不要再识别头像了(")])])])]),t._v(" "),_("h2",{attrs:{id:"疫情查询"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#疫情查询"}},[t._v("#")]),t._v(" 疫情查询")]),t._v(" "),_("ul",[_("li",[_("strong",[t._v("模块")]),t._v(": "),_("code",[t._v("yiqing")])]),t._v(" "),_("li",[_("strong",[t._v("群权限")]),t._v(" : "),_("code",[t._v("5")])]),t._v(" "),_("li",[_("strong",[t._v("说明")]),t._v(":"),_("br"),t._v("\n腾讯API全国疫情查询"),_("br"),t._v("\n国外疫情查询")]),t._v(" "),_("li",[_("strong",[t._v("作者")]),t._v(":\n"),_("ul",[_("li",[_("a",{attrs:{href:"https://github.com/HibiKier",target:"_blank",rel:"noopener noreferrer"}},[t._v("HibiKier"),_("OutboundLink")],1),t._v(":国内疫情查询")]),t._v(" "),_("li",[_("a",{attrs:{href:"https://github.com/yzyyz1387",target:"_blank",rel:"noopener noreferrer"}},[t._v("yzyyz1387"),_("OutboundLink")],1),t._v(":国际疫情查询")])])]),t._v(" "),_("li",[_("strong",[t._v("指令")]),t._v(":")])]),t._v(" "),_("table",[_("thead",[_("tr",[_("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),_("tbody",[_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("疫情")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("province/city")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("疫情北京"),_("br"),t._v("疫情宁波")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("如果省份和城市重名的话默认省份,在后面添加"),_("strong",[t._v("市")]),t._v("即可查询城市,例如:疫情吉林市")])])])]),t._v(" "),_("h2",{attrs:{id:"图片修改"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#图片修改"}},[t._v("#")]),t._v(" 图片修改")]),t._v(" "),_("ul",[_("li",[_("strong",[t._v("模块")]),t._v(": "),_("code",[t._v("update_picture")])]),t._v(" "),_("li",[_("strong",[t._v("群权限")]),t._v(" : "),_("code",[t._v("5")])]),t._v(" "),_("li",[_("strong",[t._v("说明")]),t._v(":"),_("br"),t._v("\n简易粗糙的pil或cv2图片修改操作"),_("br"),t._v(" "),_("strong",[t._v("方法可以使用中文 或 数字 来选择,即 改图 修改尺寸= 改图 1")])]),t._v(" "),_("li",[_("strong",[t._v("指令")]),t._v(":\n"),_("ul",[_("li",[t._v("修改尺寸\n"),_("ul",[_("li",[_("code",[t._v("width: int")]),t._v(":宽度")]),t._v(" "),_("li",[_("code",[t._v("height: int")]),t._v(":高度")])])]),t._v(" "),_("li",[t._v("等比压缩\n"),_("ul",[_("li",[_("code",[t._v("ratio: float")]),t._v(":比例")])])]),t._v(" "),_("li",[t._v("旋转图片\n"),_("ul",[_("li",[_("code",[t._v("angle: int")]),t._v(":旋转角度")])])])])])]),t._v(" "),_("table",[_("thead",[_("tr",[_("th",{staticStyle:{"text-align":"center"}},[t._v("指令")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("方法")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("参数")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("示例")]),t._v(" "),_("th",{staticStyle:{"text-align":"center"}},[t._v("说明")])])]),t._v(" "),_("tbody",[_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("改图/修改图片")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("修改尺寸/1")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("width height [图片]")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("改图修改尺寸 100 200 [图片]")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("将图片尺寸改为100*200")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("改图/修改图片")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("等比压缩/2")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("ratio [图片]")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("改图等比压缩 0.8 [图片]")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("将图片压缩大小")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("改图/修改图片")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("旋转图片/3")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("angle [图片]")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("改图旋转图片 30 [图片]")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("将图片旋转指定角度")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("改图/修改图片")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("水平翻转/4")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("[图片]")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("改图水平翻转 [图片]")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("将图片水平翻转")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("改图/修改图片")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("铅笔滤镜/5")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("[图片]")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("改图铅笔滤镜 [图片]")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("添加铅笔滤镜")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("改图/修改图片")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("模糊效果/6")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("[图片]")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("改图模糊效果 [图片]")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("添加模糊效果")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("改图/修改图片")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("锐化效果/7")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("[图片]")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("改图锐化效果 [图片]")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("添加锐化效果")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("改图/修改图片")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("高斯模糊/8")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("[图片]")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("改图高斯模糊 [图片]")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("添加高斯模糊")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("改图/修改图片")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("边缘检测/9")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("[图片]")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("改图边缘检测 [图片]")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("添加边缘检测")])]),t._v(" "),_("tr",[_("td",{staticStyle:{"text-align":"center"}},[t._v("改图/修改图片")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("底色替换/10")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("[红/蓝] [红/蓝/白/绿/黄] [图片]")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("改图底色替换 红 蓝 [图片]")]),t._v(" "),_("td",{staticStyle:{"text-align":"center"}},[t._v("将红/蓝纯底色替换其他五种颜色")])])])])])}),[],!1,null,null,null);e.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/41.203e0629.js b/assets/js/41.203e0629.js new file mode 100644 index 000000000..a3fd03446 --- /dev/null +++ b/assets/js/41.203e0629.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[41],{455:function(t,_,s){"use strict";s.r(_);var r=s(2),e=Object(r.a)({},(function(){var t=this,_=t._self._c;return _("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[_("div",{staticClass:"custom-block tip"},[_("p",{staticClass:"title"}),_("p",[t._v("一个关系型数据库,占用比mysql小小小小多了..."),_("br"),t._v("\n目前来看postgresql版本似乎对真寻没有太大影响(指9.0以上),不会影响正常使用")])]),_("h1",{attrs:{id:"开始安装"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#开始安装"}},[t._v("#")]),t._v(" 开始安装")]),t._v(" "),_("h2",{attrs:{id:"_1-下载"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#_1-下载"}},[t._v("#")]),t._v(" 1.下载")]),t._v(" "),_("p",[t._v("点击"),_("a",{attrs:{href:"https://get.enterprisedb.com/postgresql/postgresql-15.1-1-windows-x64.exe",target:"_blank",rel:"noopener noreferrer"}},[t._v("这里"),_("OutboundLink")],1),t._v("将下载Postgresql-15.1-1版本安装包")]),t._v(" "),_("h2",{attrs:{id:"_2-安装"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#_2-安装"}},[t._v("#")]),t._v(" 2.安装")]),t._v(" "),_("p",[t._v("1.双击安装程序,点击"),_("code",[t._v("Next")]),_("br"),t._v(" "),_("img",{attrs:{src:"/zhenxun_bot/postgresql/install_1.png",alt:"_"}})]),t._v(" "),_("p",[t._v("2.选择安装路径(没有特殊情况一般默认即可),继续"),_("code",[t._v("Next")])]),t._v(" "),_("div",{staticClass:"custom-block warning"},[_("p",{staticClass:"title"}),_("p",[t._v("安装路径请不要出现中文!")])]),_("p",[_("img",{attrs:{src:"/zhenxun_bot/postgresql/install_2.png",alt:"_"}})]),t._v(" "),_("p",[t._v("3.去掉"),_("code",[t._v("Stack Builder")]),t._v("即可,不影响使用,"),_("code",[t._v("Next")]),_("br"),t._v(" "),_("img",{attrs:{src:"/zhenxun_bot/postgresql/install_3.png",alt:"_"}})]),t._v(" "),_("p",[t._v("4.数据存储路径(没有特殊情况一般默认即可),"),_("code",[t._v("Next")]),_("br"),t._v(" "),_("img",{attrs:{src:"/zhenxun_bot/postgresql/install_4.png",alt:"_"}})]),t._v(" "),_("p",[t._v("5.输入postgres用户的密码,例如: "),_("code",[t._v("zhenxun_bot")]),_("br"),t._v(" "),_("img",{attrs:{src:"/zhenxun_bot/postgresql/install_5.png",alt:"_"}})]),t._v(" "),_("p",[t._v("6.默认端口,"),_("code",[t._v("Next")]),_("br"),t._v(" "),_("img",{attrs:{src:"/zhenxun_bot/postgresql/install_6.png",alt:"_"}})]),t._v(" "),_("p",[t._v("7.接下来一路"),_("code",[t._v("Next")]),t._v("直到进入安装"),_("br"),t._v(" "),_("img",{attrs:{src:"/zhenxun_bot/postgresql/install_7.png",alt:"_"}})]),t._v(" "),_("p",[t._v("8.✨✨ 安装完成 ✨✨"),_("br"),t._v(" "),_("img",{attrs:{src:"/zhenxun_bot/postgresql/install_8.png",alt:"_"}})]),t._v(" "),_("h2",{attrs:{id:"_3-配置连接"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#_3-配置连接"}},[t._v("#")]),t._v(" 3.配置连接")]),t._v(" "),_("p",[t._v("1.找到安装的pgAdmin,直接启动!"),_("br"),t._v(" "),_("img",{attrs:{src:"/zhenxun_bot/postgresql/setup_1.png",alt:"_"}})]),t._v(" "),_("div",{staticClass:"custom-block tip"},[_("p",{staticClass:"title"}),_("p",[t._v("是英文界面?别急,已"),_("a",{attrs:{href:"https://www.baidu.com/baidu?tn=monline_3_dg&ie=utf-8&wd=pgadmin4%E8%AE%BE%E7%BD%AE%E4%B8%AD%E6%96%87",target:"_blank",rel:"noopener noreferrer"}},[t._v("百度"),_("OutboundLink")],1)])]),_("p",[t._v("2.新建连接")]),t._v(" "),_("p",[t._v("左侧栏右键点击"),_("code",[t._v("Servers")]),t._v("后选择"),_("code",[t._v("Register")]),t._v(",在点击"),_("code",[t._v("服务器")]),_("br"),t._v(" "),_("img",{attrs:{src:"/zhenxun_bot/postgresql/setup_2.png",alt:"_"}})]),t._v(" "),_("p",[t._v("3.随便(bushi 起一个响亮的名字"),_("br"),t._v(" "),_("img",{attrs:{src:"/zhenxun_bot/postgresql/setup_3.png",alt:"_"}})]),t._v(" "),_("p",[t._v("4.填写配置"),_("br"),t._v("\n填写"),_("code",[t._v("主机名称/地址")]),t._v(",如果是连接远程服务器的话对应的服务器IP,本地的话可以直接填写"),_("code",[t._v("127.0.0.1")]),_("br"),t._v(" "),_("code",[t._v("端口")]),t._v("就是安装时配置的端口,没有修改的话默认"),_("code",[t._v("5432")]),_("br"),t._v(" "),_("code",[t._v("密码")]),t._v("就是安装时配置的密码"),_("br"),t._v(" "),_("img",{attrs:{src:"/zhenxun_bot/postgresql/setup_4.png",alt:"_"}})]),t._v(" "),_("p",[t._v("5.✨✨ 点击保存 ✨✨"),_("br"),t._v("\n左侧栏会出现一头🐘"),_("br"),t._v(" "),_("img",{attrs:{src:"/zhenxun_bot/postgresql/setup_5.png",alt:"_"}})]),t._v(" "),_("h2",{attrs:{id:"_4-新建数据库"}},[_("a",{staticClass:"header-anchor",attrs:{href:"#_4-新建数据库"}},[t._v("#")]),t._v(" 4.新建数据库")]),t._v(" "),_("p",[t._v("1.展开🐘🐘"),_("br"),t._v("\n右击"),_("code",[t._v("数据库")]),t._v(",选择"),_("code",[t._v("创建")]),t._v("后点击"),_("code",[t._v("数据库")]),_("br"),t._v(" "),_("img",{attrs:{src:"/zhenxun_bot/postgresql/create_1.png",alt:"_"}})]),t._v(" "),_("p",[t._v("2.✨✨ 直接创建! ✨✨"),_("br"),t._v("\n设置数据库名称后点击"),_("code",[t._v("保存")]),t._v(" "),_("img",{attrs:{src:"/zhenxun_bot/postgresql/create_2.png",alt:"_"}})]),t._v(" "),_("div",{staticClass:"custom-block tip"},[_("p",{staticClass:"title"}),_("p",[t._v("✨✨ 嗨呀,终于完成"),_("code",[t._v("Postgresql")]),t._v("的数据库配置了,好累呀,火速下一步,安装真寻捏 ✨✨")])])])}),[],!1,null,null,null);_.default=e.exports}}]); \ No newline at end of file diff --git a/assets/js/41.a97c74e6.js b/assets/js/41.a97c74e6.js deleted file mode 100644 index d447669e6..000000000 --- a/assets/js/41.a97c74e6.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[41],{639:function(t,s,a){"use strict";a.r(s);var e=a(12),l=Object(e.a)({},(function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"前言"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#前言"}},[t._v("#")]),t._v(" 前言")]),t._v(" "),a("p",[a("s",[t._v("真寻bot非常可爱,嗯,这是我要提醒你的")])]),t._v(" "),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"title"}),a("p",[t._v("自建可能会遇到各种花里胡哨的麻烦,如果没有一些基础的话,前面可是困难重重啊少年")])]),a("h1",{attrs:{id:"安装真寻bot-你需要具备"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#安装真寻bot-你需要具备"}},[t._v("#")]),t._v(" 安装真寻bot,你需要具备")]),t._v(" "),a("ul",[a("li",[t._v("一定的基础,包括但不限于稍微熟悉linux或windows cmd命令行")]),t._v(" "),a("li",[t._v("一些百度/Google的能力")]),t._v(" "),a("li",[t._v("一台服务器")])])])}),[],!1,null,null,null);s.default=l.exports}}]); \ No newline at end of file diff --git a/assets/js/42.a28142bc.js b/assets/js/42.a28142bc.js new file mode 100644 index 000000000..fcded6942 --- /dev/null +++ b/assets/js/42.a28142bc.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[42],{449:function(t,e,n){"use strict";n.r(e);var r=n(2),a=Object(r.a)({},(function(){var t=this,e=t._self._c;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h2",{attrs:{id:"挑一个喜欢的"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#挑一个喜欢的"}},[t._v("#")]),t._v(" 挑一个喜欢的")]),t._v(" "),e("p",[t._v("本项目符合 "),e("a",{attrs:{href:"https://github.com/howmanybots/onebot",target:"_blank",rel:"noopener noreferrer"}},[t._v("OneBot"),e("OutboundLink")],1),t._v(" 标准,可基于以下项目与机器人框架/平台进行交互")]),t._v(" "),e("table",[e("thead",[e("tr",[e("th",{staticStyle:{"text-align":"center"}},[t._v("项目地址")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("平台")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("核心作者")]),t._v(" "),e("th",{staticStyle:{"text-align":"center"}},[t._v("文档")])])]),t._v(" "),e("tbody",[e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("a",{attrs:{href:"https://github.com/LLOneBot/LLOneBot",target:"_blank",rel:"noopener noreferrer"}},[t._v("LLOneBot"),e("OutboundLink")],1)]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("NTQQ")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("linyuchen")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("a",{attrs:{href:"https://llonebot.github.io/zh-CN/guide/getting-started",target:"_blank",rel:"noopener noreferrer"}},[t._v("文档"),e("OutboundLink")],1)])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("a",{attrs:{href:"https://github.com/NapNeko/NapCatQQ",target:"_blank",rel:"noopener noreferrer"}},[t._v("Napcat"),e("OutboundLink")],1)]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("NTQQ")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("NapNeko")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("a",{attrs:{href:"https://napneko.github.io/zh-CN/guide/getting-started",target:"_blank",rel:"noopener noreferrer"}},[t._v("文档"),e("OutboundLink")],1)])]),t._v(" "),e("tr",[e("td",{staticStyle:{"text-align":"center"}},[e("a",{attrs:{href:"https://github.com/LagrangeDev/Lagrange.Core",target:"_blank",rel:"noopener noreferrer"}},[t._v("Lagrange.Core"),e("OutboundLink")],1)]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("?")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[t._v("LagrangeDev/Linwenxuan04")]),t._v(" "),e("td",{staticStyle:{"text-align":"center"}},[e("a",{attrs:{href:"https://github.com/LagrangeDev/Lagrange.Core/blob/master/README_zh.md",target:"_blank",rel:"noopener noreferrer"}},[t._v("文档"),e("OutboundLink")],1)])])])])])}),[],!1,null,null,null);e.default=a.exports}}]); \ No newline at end of file diff --git a/assets/js/42.da549470.js b/assets/js/42.da549470.js deleted file mode 100644 index f284dd7a2..000000000 --- a/assets/js/42.da549470.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[42],{647:function(t,s,r){"use strict";r.r(s);var e=r(12),o=Object(e.a)({},(function(){var t=this,s=t.$createElement,r=t._self._c||s;return r("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[r("div",{staticClass:"custom-block tip"},[r("p",{staticClass:"title"}),r("p",[t._v("go-cqhttp 是什么?"),r("br"),t._v("\n使用OneBot协议实现的无头QQ,接受消息发往后端处理")])]),r("h1",{attrs:{id:"如何安装"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#如何安装"}},[t._v("#")]),t._v(" 如何安装?")]),t._v(" "),r("h2",{attrs:{id:"_1-下载"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#_1-下载"}},[t._v("#")]),t._v(" 1.下载")]),t._v(" "),r("p",[t._v("从"),r("a",{attrs:{href:"https://github.com/Mrs4s/go-cqhttp",target:"_blank",rel:"noopener noreferrer"}},[t._v("Mrs4s / go-cqhttp"),r("OutboundLink")],1),t._v("的"),r("a",{attrs:{href:"https://github.com/Mrs4s/go-cqhttp/releases",target:"_blank",rel:"noopener noreferrer"}},[t._v("Release"),r("OutboundLink")],1),t._v("中下载与你系统对应的最新版本")]),t._v(" "),r("div",{staticClass:"custom-block tip"},[r("p",{staticClass:"title"}),r("p",[t._v("如果你是windows: 一般是下载 "),r("code",[t._v("go-cqhttp_windows_amd64.zip")])])]),r("h2",{attrs:{id:"_2-配置"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#_2-配置"}},[t._v("#")]),t._v(" 2.配置")]),t._v(" "),r("p",[t._v("1.解压后会得到"),r("code",[t._v("go-cqhttp")]),t._v(",首次运行会让你选择通信方式,选择 "),r("code",[t._v("3")]),t._v(" (反向 Websocket 通信),会生成一个配置文件"),r("strong",[t._v("config.yml")]),t._v(" "),r("img",{attrs:{src:"/zhenxun_bot/gocq/gocq0.png",alt:"_"}})]),t._v(" "),r("ol",[r("li",[t._v("打开"),r("strong",[t._v("config.yml")]),t._v("文件,将uin修改为bot账号"),r("br"),t._v(" "),r("img",{attrs:{src:"/zhenxun_bot/gocq/gocq1.png",alt:"_"}})]),t._v(" "),r("li",[t._v("在"),r("strong",[t._v("config.yml")]),t._v("文件中将"),r("br"),t._v(" "),r("code",[t._v("universal: ws://your_websocket_universal.server")]),r("br"),t._v("\n修改为"),r("br"),t._v(" "),r("code",[t._v("universal: ws://127.0.0.1:8080/onebot/v11/ws/")])])]),t._v(" "),r("p",[r("img",{attrs:{src:"/zhenxun_bot/gocq/gocq2.png",alt:"_"}})]),t._v(" "),r("h2",{attrs:{id:"_3-启动"}},[r("a",{staticClass:"header-anchor",attrs:{href:"#_3-启动"}},[t._v("#")]),t._v(" 3.启动")]),t._v(" "),r("p",[t._v("重启go-cqhttp后选择扫码登录"),r("br"),t._v("\n成功后会提示警告,别担心,这些提示将在完成真寻启动时消失\n"),r("img",{attrs:{src:"/zhenxun_bot/gocq/gocq3.png",alt:"_"}})]),t._v(" "),r("div",{staticClass:"custom-block tip"},[r("p",{staticClass:"title"}),r("p",[t._v("✨✨ "),r("em",[r("strong",[t._v("到这一步已经成功完成gocq方面的配置了,可以进行下一步!")])]),t._v(" ✨✨")])]),r("div",{staticClass:"custom-block tip"},[r("p",{staticClass:"title"}),r("p",[t._v("因本项目需要发送语音文件等,需要依赖ffmpeg,点击"),r("a",{attrs:{href:"https://docs.go-cqhttp.org/guide/quick_start.html#%E5%AE%89%E8%A3%85-ffmpeg",target:"_blank",rel:"noopener noreferrer"}},[t._v("这里"),r("OutboundLink")],1),t._v("查看go-cqhttp的ffmpeg安装文档")])]),r("div",{staticClass:"custom-block tip"},[r("p",{staticClass:"title"}),r("p",[t._v("没有 ws-reverse 怎么办?"),r("br"),t._v("\n第二步的配置文件选错了,删除"),r("strong",[t._v("config.yml")]),t._v("重新生成即可")])])])}),[],!1,null,null,null);s.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/43.37aa8929.js b/assets/js/43.37aa8929.js new file mode 100644 index 000000000..fb12c2ae4 --- /dev/null +++ b/assets/js/43.37aa8929.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[43],{450:function(s,a,t){"use strict";t.r(a);var e=t(2),n=Object(e.a)({},(function(){var s=this,a=s._self._c;return a("ContentSlotsDistributor",{attrs:{"slot-key":s.$parent.slotKey}},[a("h1",{attrs:{id:"恭喜-经历困难之后到了最后一步-那就是持久化运行-0v"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#恭喜-经历困难之后到了最后一步-那就是持久化运行-0v"}},[s._v("#")]),s._v(" 恭喜!经历困难之后到了最后一步,那就是持久化运行 0v<")]),s._v(" "),a("div",{staticClass:"custom-block warning"},[a("p",{staticClass:"title"}),a("p",[s._v("本节教程为Linux持久化运行教程,Windows可直接跳过")])]),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"title"}),a("p",[s._v("教程中使用的是较为简单的Screen,如果你有其他工具的使用经验,可以跳过本节。")])]),a("h1",{attrs:{id:"即刻开始-以ubuntu为例"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#即刻开始-以ubuntu为例"}},[s._v("#")]),s._v(" 即刻开始(以Ubuntu为例)")]),s._v(" "),a("p",[s._v("1.安装screen")]),s._v(" "),a("div",{staticClass:"language-bash line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[a("span",{pre:!0,attrs:{class:"token function"}},[s._v("sudo")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[s._v("apt")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[s._v("install")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[s._v("screen")]),s._v("\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br")])]),a("p",[s._v("2.创建会话")]),s._v(" "),a("div",{staticClass:"language-bash line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[a("span",{pre:!0,attrs:{class:"token function"}},[s._v("screen")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[s._v("-S")]),s._v(" zhenxun\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br")])]),a("p",[s._v("3.进入真寻目录")]),s._v(" "),a("div",{staticClass:"language-bash line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[a("span",{pre:!0,attrs:{class:"token builtin class-name"}},[s._v("cd")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("..")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("..")]),s._v(".\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br")])]),a("p",[s._v("4.启动!")]),s._v(" "),a("div",{staticClass:"language-bash line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[s._v("poetry shell "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 进入虚拟环境")]),s._v("\npython3 bot.py\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br"),a("span",{staticClass:"line-number"},[s._v("2")]),a("br")])]),a("h1",{attrs:{id:"如果退出或关闭后"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#如果退出或关闭后"}},[s._v("#")]),s._v(" 如果退出或关闭后")]),s._v(" "),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"title"}),a("p",[s._v("使用以下命令恢复会话")]),s._v(" "),a("div",{staticClass:"language-bash line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[a("span",{pre:!0,attrs:{class:"token function"}},[s._v("screen")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token parameter variable"}},[s._v("-r")]),s._v(" zhenxun\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br")])])])])}),[],!1,null,null,null);a.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/43.ec225ed7.js b/assets/js/43.ec225ed7.js deleted file mode 100644 index 3435a242a..000000000 --- a/assets/js/43.ec225ed7.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[43],{641:function(a,s,t){"use strict";t.r(s);var e=t(12),n=Object(e.a)({},(function(){var a=this,s=a.$createElement,t=a._self._c||s;return t("ContentSlotsDistributor",{attrs:{"slot-key":a.$parent.slotKey}},[t("h1",{attrs:{id:"这一步并不是必须的-只是为了可视化方便管理-并且webui也还未完善"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#这一步并不是必须的-只是为了可视化方便管理-并且webui也还未完善"}},[a._v("#")]),a._v(" 这一步并不是必须的!只是为了可视化方便管理,并且webUi也还未完善")]),a._v(" "),t("div",{staticClass:"custom-block warning"},[t("p",{staticClass:"title"}),t("p",[a._v("因为我是直接使用vue run的,所以该教程也以vue run为主,其他方式如nginx可略过")])]),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"title"}),t("p",[a._v("别忘了打开服务器端口,默认是8081,修改端口在vue.config.js文件中!")])]),t("h1",{attrs:{id:"开始安装"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#开始安装"}},[a._v("#")]),a._v(" 开始安装")]),a._v(" "),t("h2",{attrs:{id:"安装nodejs"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#安装nodejs"}},[a._v("#")]),a._v(" 安装nodejs")]),a._v(" "),t("p",[a._v("略(百度很多教程,我的环境是Nodejs14")]),a._v(" "),t("h2",{attrs:{id:"安装yarn"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#安装yarn"}},[a._v("#")]),a._v(" 安装yarn")]),a._v(" "),t("div",{staticClass:"language- line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[a._v("npm install -g yarn\n")])]),a._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[a._v("1")]),t("br")])]),t("h2",{attrs:{id:"安装vue-cli"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#安装vue-cli"}},[a._v("#")]),a._v(" 安装vue-cli")]),a._v(" "),t("div",{staticClass:"language- line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[a._v("yarn global add @vue/cli\n")])]),a._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[a._v("1")]),t("br")])]),t("h2",{attrs:{id:"获取项目"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#获取项目"}},[a._v("#")]),a._v(" 获取项目")]),a._v(" "),t("p",[a._v("点击 "),t("a",{attrs:{href:"https://codeload.github.com/HibiKier/zhenxun_bot_webui/zip/refs/heads/main",target:"_blank",rel:"noopener noreferrer"}},[a._v("WebUi"),t("OutboundLink")],1),a._v(" 下载项目压缩包"),t("br"),a._v("\nor")]),a._v(" "),t("div",{staticClass:"language- line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[a._v("git clone https://github.com/HibiKier/zhenxun_bot_webui.git\n")])]),a._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[a._v("1")]),t("br")])]),t("h2",{attrs:{id:"安装依赖"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#安装依赖"}},[a._v("#")]),a._v(" 安装依赖")]),a._v(" "),t("div",{staticClass:"language- line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[a._v("yarn\n")])]),a._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[a._v("1")]),t("br")])]),t("h2",{attrs:{id:"开始运行"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#开始运行"}},[a._v("#")]),a._v(" 开始运行")]),a._v(" "),t("div",{staticClass:"language- line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[a._v("yarn run serve\n")])]),a._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[a._v("1")]),t("br")])]),t("h1",{attrs:{id:"配置账号密码"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#配置账号密码"}},[a._v("#")]),a._v(" 配置账号密码")]),a._v(" "),t("p",[a._v("在"),t("code",[a._v("configs/config.yaml")]),a._v("文件中配置项设置账号密码")]),a._v(" "),t("div",{staticClass:"language-yaml line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-yaml"}},[t("code",[t("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("web-ui")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v("\n "),t("span",{pre:!0,attrs:{class:"token comment"}},[a._v("# web-ui")]),a._v("\n "),t("span",{pre:!0,attrs:{class:"token comment"}},[a._v("# USERNAME: 前端管理用户名")]),a._v("\n "),t("span",{pre:!0,attrs:{class:"token comment"}},[a._v("# PASSWORD: 前端管理密码")]),a._v("\n "),t("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("USERNAME")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v(" admin\n "),t("span",{pre:!0,attrs:{class:"token key atrule"}},[a._v("PASSWORD")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(":")]),a._v(" \n")])]),a._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[a._v("1")]),t("br"),t("span",{staticClass:"line-number"},[a._v("2")]),t("br"),t("span",{staticClass:"line-number"},[a._v("3")]),t("br"),t("span",{staticClass:"line-number"},[a._v("4")]),t("br"),t("span",{staticClass:"line-number"},[a._v("5")]),t("br"),t("span",{staticClass:"line-number"},[a._v("6")]),t("br")])]),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"title"}),t("p",[a._v("必须要设置账号密码,否则无法登陆!")])])])}),[],!1,null,null,null);s.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/44.ae409f72.js b/assets/js/44.ae409f72.js new file mode 100644 index 000000000..45cff789b --- /dev/null +++ b/assets/js/44.ae409f72.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[44],{452:function(s,a,n){"use strict";n.r(a);var e=n(2),t=Object(e.a)({},(function(){var s=this,a=s._self._c;return a("ContentSlotsDistributor",{attrs:{"slot-key":s.$parent.slotKey}},[a("h1",{attrs:{id:"这一步并不是必须的-只是为了可视化方便管理"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#这一步并不是必须的-只是为了可视化方便管理"}},[s._v("#")]),s._v(" 这一步并不是必须的!只是为了可视化方便管理")]),s._v(" "),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"title"}),a("p",[s._v("别忘了打开服务器端口,默认是8081,修改端口在vue.config.js文件中!")])]),a("h1",{attrs:{id:"开始安装"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#开始安装"}},[s._v("#")]),s._v(" 开始安装")]),s._v(" "),a("h2",{attrs:{id:"安装ngnix"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#安装ngnix"}},[s._v("#")]),s._v(" 安装ngnix")]),s._v(" "),a("div",{staticClass:"language-bash line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[a("span",{pre:!0,attrs:{class:"token function"}},[s._v("sudo")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[s._v("apt")]),s._v(" update\n"),a("span",{pre:!0,attrs:{class:"token function"}},[s._v("sudo")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[s._v("apt")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[s._v("install")]),s._v(" nginx\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br"),a("span",{staticClass:"line-number"},[s._v("2")]),a("br")])]),a("h2",{attrs:{id:"下载文件"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#下载文件"}},[s._v("#")]),s._v(" 下载文件")]),s._v(" "),a("p",[s._v("打开 "),a("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot_webui/releases",target:"_blank",rel:"noopener noreferrer"}},[s._v("Releases"),a("OutboundLink")],1),s._v(" 下载最新版本文件"),a("br"),s._v("\n将文件夹解压后放入 "),a("code",[s._v("/var/www/html")]),s._v("或"),a("code",[s._v("/usr/share/nginx")]),s._v(" 下")]),s._v(" "),a("h2",{attrs:{id:"修改配置文件"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#修改配置文件"}},[s._v("#")]),s._v(" 修改配置文件")]),s._v(" "),a("p",[s._v("在"),a("code",[s._v("/etc/nginx/")]),s._v(" 目录下新建 "),a("code",[s._v("hosts")]),s._v(" 目录"),a("br"),s._v("\n在"),a("code",[s._v("/etc/nginx/")]),s._v(" 目录下打开nginx.conf文件")]),s._v(" "),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[s._v("vim nginx.conf\n\n# 在http中最后添加 include /etc/nginx/hosts/*.host;\n\nhttp {\n ...\n\n include /etc/nginx/hosts/*.host;\n}\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br"),a("span",{staticClass:"line-number"},[s._v("2")]),a("br"),a("span",{staticClass:"line-number"},[s._v("3")]),a("br"),a("span",{staticClass:"line-number"},[s._v("4")]),a("br"),a("span",{staticClass:"line-number"},[s._v("5")]),a("br"),a("span",{staticClass:"line-number"},[s._v("6")]),a("br"),a("span",{staticClass:"line-number"},[s._v("7")]),a("br"),a("span",{staticClass:"line-number"},[s._v("8")]),a("br"),a("span",{staticClass:"line-number"},[s._v("9")]),a("br")])]),a("p",[s._v("打开"),a("code",[s._v("/etc/nginx/hosts")]),s._v(" 目录下新建 "),a("code",[s._v("server0.host")]),s._v("文件")]),s._v(" "),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[s._v("upstream backend {\n server localhost:11451; # 真寻的端口号\n keepalive 64;\n}\n\nmap $http_upgrade $connection_upgrade {\n default upgrade;\n '' close;\n}\n\nserver {\n listen 9999; #自己设置的webui端口号\n server_name localhost; #自己设置ip地址\n #access_log logs/host.access.log main;\n location / {\n root /usr/share/nginx/dist; #这里写vue项目打包好的dist文件的地址,真寻前端文件\n index index.html; #这里是vue项目的首页,需要保证dist中有index.html文件\n try_files $uri $uri/ =404;\n error_page 405 =200 $request_uri;\n }\n location @router {\n\t\t\trewrite ^.*$ /index.html last; #解决重新刷新页面,页面空白的问题\n\t\t}\n\n add_header backendCode $upstream_status;\n add_header BackendIP \"$upstream_addr;\" always;\n location /zhenxun/api/ {\n proxy_pass http://localhost:11451/zhenxun/api/; #自己设置的api地址\n }\n location /zhenxun/socket/ {\n proxy_pass http://backend; \n # 请求服务器升级协议为 WebSocket\n proxy_http_version 1.1;\n proxy_set_header Upgrade $http_upgrade;\n proxy_set_header Connection $connection_upgrade;\n \n # 设置读写超时时间,默认 60s 无数据连接将会断开\n proxy_read_timeout 300s;\n proxy_send_timeout 300s;\n\n # Host 主机名\n proxy_set_header Host $host;\n # X-Real-IP 将真实访问者的远端 IP 地址转发给代理服务器\n proxy_set_header X-Real-IP $remote_addr;\n # X-Forwarded-For 标记客户端通过代理连接到服务器的源 IP\n proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n # X-Forwarded-Host 标记客户端通过代理连接到服务器的原始主机\n proxy_set_header X-Forwarded-Host $host:$server_port;\n # X-Forwarded-Server 代理服务器的主机名\n proxy_set_header X-Forwarded-Server $host;\n # X-Forwarded-Port 定义客户端请求的原始端口\n proxy_set_header X-Forwarded-Port $server_port;\n # X-Forwarded-Proto 标记客户端通过代理连接到服务器的协议\n proxy_set_header X-Forwarded-Proto $scheme;\n # proxy_set_header X-Forwarded-Proto $proxy_x_forwarded_proto;\n\n }\n error_page 500 502 503 504 /50x.html;#错误页面\n}\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br"),a("span",{staticClass:"line-number"},[s._v("2")]),a("br"),a("span",{staticClass:"line-number"},[s._v("3")]),a("br"),a("span",{staticClass:"line-number"},[s._v("4")]),a("br"),a("span",{staticClass:"line-number"},[s._v("5")]),a("br"),a("span",{staticClass:"line-number"},[s._v("6")]),a("br"),a("span",{staticClass:"line-number"},[s._v("7")]),a("br"),a("span",{staticClass:"line-number"},[s._v("8")]),a("br"),a("span",{staticClass:"line-number"},[s._v("9")]),a("br"),a("span",{staticClass:"line-number"},[s._v("10")]),a("br"),a("span",{staticClass:"line-number"},[s._v("11")]),a("br"),a("span",{staticClass:"line-number"},[s._v("12")]),a("br"),a("span",{staticClass:"line-number"},[s._v("13")]),a("br"),a("span",{staticClass:"line-number"},[s._v("14")]),a("br"),a("span",{staticClass:"line-number"},[s._v("15")]),a("br"),a("span",{staticClass:"line-number"},[s._v("16")]),a("br"),a("span",{staticClass:"line-number"},[s._v("17")]),a("br"),a("span",{staticClass:"line-number"},[s._v("18")]),a("br"),a("span",{staticClass:"line-number"},[s._v("19")]),a("br"),a("span",{staticClass:"line-number"},[s._v("20")]),a("br"),a("span",{staticClass:"line-number"},[s._v("21")]),a("br"),a("span",{staticClass:"line-number"},[s._v("22")]),a("br"),a("span",{staticClass:"line-number"},[s._v("23")]),a("br"),a("span",{staticClass:"line-number"},[s._v("24")]),a("br"),a("span",{staticClass:"line-number"},[s._v("25")]),a("br"),a("span",{staticClass:"line-number"},[s._v("26")]),a("br"),a("span",{staticClass:"line-number"},[s._v("27")]),a("br"),a("span",{staticClass:"line-number"},[s._v("28")]),a("br"),a("span",{staticClass:"line-number"},[s._v("29")]),a("br"),a("span",{staticClass:"line-number"},[s._v("30")]),a("br"),a("span",{staticClass:"line-number"},[s._v("31")]),a("br"),a("span",{staticClass:"line-number"},[s._v("32")]),a("br"),a("span",{staticClass:"line-number"},[s._v("33")]),a("br"),a("span",{staticClass:"line-number"},[s._v("34")]),a("br"),a("span",{staticClass:"line-number"},[s._v("35")]),a("br"),a("span",{staticClass:"line-number"},[s._v("36")]),a("br"),a("span",{staticClass:"line-number"},[s._v("37")]),a("br"),a("span",{staticClass:"line-number"},[s._v("38")]),a("br"),a("span",{staticClass:"line-number"},[s._v("39")]),a("br"),a("span",{staticClass:"line-number"},[s._v("40")]),a("br"),a("span",{staticClass:"line-number"},[s._v("41")]),a("br"),a("span",{staticClass:"line-number"},[s._v("42")]),a("br"),a("span",{staticClass:"line-number"},[s._v("43")]),a("br"),a("span",{staticClass:"line-number"},[s._v("44")]),a("br"),a("span",{staticClass:"line-number"},[s._v("45")]),a("br"),a("span",{staticClass:"line-number"},[s._v("46")]),a("br"),a("span",{staticClass:"line-number"},[s._v("47")]),a("br"),a("span",{staticClass:"line-number"},[s._v("48")]),a("br"),a("span",{staticClass:"line-number"},[s._v("49")]),a("br"),a("span",{staticClass:"line-number"},[s._v("50")]),a("br"),a("span",{staticClass:"line-number"},[s._v("51")]),a("br"),a("span",{staticClass:"line-number"},[s._v("52")]),a("br"),a("span",{staticClass:"line-number"},[s._v("53")]),a("br"),a("span",{staticClass:"line-number"},[s._v("54")]),a("br"),a("span",{staticClass:"line-number"},[s._v("55")]),a("br"),a("span",{staticClass:"line-number"},[s._v("56")]),a("br"),a("span",{staticClass:"line-number"},[s._v("57")]),a("br"),a("span",{staticClass:"line-number"},[s._v("58")]),a("br"),a("span",{staticClass:"line-number"},[s._v("59")]),a("br")])]),a("h2",{attrs:{id:"重启nginx"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#重启nginx"}},[s._v("#")]),s._v(" 重启nginx")]),s._v(" "),a("div",{staticClass:"language-bash line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[a("span",{pre:!0,attrs:{class:"token function"}},[s._v("sudo")]),s._v(" systemctl restart nginx\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br")])]),a("h1",{attrs:{id:"配置账号密码"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#配置账号密码"}},[s._v("#")]),s._v(" 配置账号密码")]),s._v(" "),a("p",[s._v("在"),a("code",[s._v("data/config.yaml")]),s._v("文件中配置项设置账号密码")]),s._v(" "),a("div",{staticClass:"language-yaml line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-yaml"}},[a("code",[a("span",{pre:!0,attrs:{class:"token key atrule"}},[s._v("web-ui")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# web-ui")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# USERNAME: 前端管理用户名")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# PASSWORD: 前端管理密码")]),s._v("\n "),a("span",{pre:!0,attrs:{class:"token key atrule"}},[s._v("USERNAME")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" admin\n "),a("span",{pre:!0,attrs:{class:"token key atrule"}},[s._v("PASSWORD")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" \n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br"),a("span",{staticClass:"line-number"},[s._v("2")]),a("br"),a("span",{staticClass:"line-number"},[s._v("3")]),a("br"),a("span",{staticClass:"line-number"},[s._v("4")]),a("br"),a("span",{staticClass:"line-number"},[s._v("5")]),a("br"),a("span",{staticClass:"line-number"},[s._v("6")]),a("br")])]),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"title"}),a("p",[s._v("必须要设置账号密码,否则无法登陆!")])])])}),[],!1,null,null,null);a.default=t.exports}}]); \ No newline at end of file diff --git a/assets/js/44.fd021a6d.js b/assets/js/44.fd021a6d.js deleted file mode 100644 index 32990c723..000000000 --- a/assets/js/44.fd021a6d.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[44],{643:function(s,t,a){"use strict";a.r(t);var n=a(12),r=Object(n.a)({},(function(){var s=this,t=s.$createElement,a=s._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":s.$parent.slotKey}},[a("div",{staticClass:"custom-block warning"},[a("p",{staticClass:"title"},[s._v("版本警告")]),a("p",[s._v("真寻Bot需要python环境为 "),a("strong",[s._v("python3.8")]),s._v(" | "),a("strong",[s._v("python3.9")]),s._v(" | "),a("strong",[s._v("python3.10")])])]),a("h1",{attrs:{id:"开始部署"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#开始部署"}},[s._v("#")]),s._v(" 开始部署")]),s._v(" "),a("ol",[a("li",[s._v("从 "),a("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot",target:"_blank",rel:"noopener noreferrer"}},[s._v("HibiKier / zhenxun_bot"),a("OutboundLink")],1),s._v(" clone代码 或 直接下载 "),a("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/archive/refs/heads/main.zip",target:"_blank",rel:"noopener noreferrer"}},[s._v("压缩包"),a("OutboundLink")],1),s._v(" 解压")]),s._v(" "),a("li",[s._v("安装依赖包")])]),s._v(" "),a("div",{staticClass:"language-shell line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-shell"}},[a("code",[s._v("pip3 "),a("span",{pre:!0,attrs:{class:"token function"}},[s._v("install")]),s._v(" poetry "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 使用poetry管理python包")]),s._v("\npoetry "),a("span",{pre:!0,attrs:{class:"token function"}},[s._v("install")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 安装依赖")]),s._v("\n\npoetry shell "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 进入虚拟环境")]),s._v("\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("## playwright 需要安装额外的系统环境,在命令行输入以下")]),s._v("\nplaywright "),a("span",{pre:!0,attrs:{class:"token function"}},[s._v("install")]),s._v(" chromium\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 该命令在win下无需输入")]),s._v("\nplaywright install-deps chromium\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br"),a("span",{staticClass:"line-number"},[s._v("2")]),a("br"),a("span",{staticClass:"line-number"},[s._v("3")]),a("br"),a("span",{staticClass:"line-number"},[s._v("4")]),a("br"),a("span",{staticClass:"line-number"},[s._v("5")]),a("br"),a("span",{staticClass:"line-number"},[s._v("6")]),a("br"),a("span",{staticClass:"line-number"},[s._v("7")]),a("br"),a("span",{staticClass:"line-number"},[s._v("8")]),a("br"),a("span",{staticClass:"line-number"},[s._v("9")]),a("br"),a("span",{staticClass:"line-number"},[s._v("10")]),a("br")])]),a("ol",{attrs:{start:"3"}},[a("li",[s._v("设置超级用户,打开 "),a("strong",[s._v(".env.dev")]),s._v(" 文件,在"),a("code",[s._v("SUPERUSERS")]),s._v("中添加自己的QQ")])]),s._v(" "),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[s._v('SUPERUSERS=["123456789"]\n')])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br")])]),a("ol",{attrs:{start:"4"}},[a("li",[s._v("打开 "),a("strong",[s._v("configs/config.py")]),s._v(" 填写数据库数据")])]),s._v(" "),a("div",{staticClass:"language-python line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-python"}},[a("code",[a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 数据库(必要)")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 如果填写了bind就不需要再填写后面的字段了#)")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v('# 示例:"bind": "postgres://user:password@127.0.0.1:5432/database"')]),s._v("\nbind"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("str")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('""')]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 数据库连接链接")]),s._v("\nsql_name"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("str")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"postgres"')]),s._v("\nuser"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("str")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('""')]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 数据用户名")]),s._v("\npassword"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("str")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('""')]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 数据库密码")]),s._v("\naddress"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("str")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('""')]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 数据库地址")]),s._v("\nport"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("str")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('""')]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 数据库端口")]),s._v("\ndatabase"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("str")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('""')]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 数据库名称")]),s._v("\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("############################################################")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("### 如果你是与教程一模一样的命令代码,且数据库也在该服务器上 ###")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("############################################################")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 可以直接复制以下配置")]),s._v("\nbind"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("str")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('""')]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 数据库连接链接")]),s._v("\nsql_name"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("str")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"postgres"')]),s._v("\nuser"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("str")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"postgres"')]),s._v("\npassword"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("str")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"zhenxun_bot"')]),s._v("\naddress"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("str")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"127.0.0.1"')]),s._v("\nport"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("str")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"5432"')]),s._v("\ndatabase"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token builtin"}},[s._v("str")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v('"zhenxun_bot"')]),s._v("\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br"),a("span",{staticClass:"line-number"},[s._v("2")]),a("br"),a("span",{staticClass:"line-number"},[s._v("3")]),a("br"),a("span",{staticClass:"line-number"},[s._v("4")]),a("br"),a("span",{staticClass:"line-number"},[s._v("5")]),a("br"),a("span",{staticClass:"line-number"},[s._v("6")]),a("br"),a("span",{staticClass:"line-number"},[s._v("7")]),a("br"),a("span",{staticClass:"line-number"},[s._v("8")]),a("br"),a("span",{staticClass:"line-number"},[s._v("9")]),a("br"),a("span",{staticClass:"line-number"},[s._v("10")]),a("br"),a("span",{staticClass:"line-number"},[s._v("11")]),a("br"),a("span",{staticClass:"line-number"},[s._v("12")]),a("br"),a("span",{staticClass:"line-number"},[s._v("13")]),a("br"),a("span",{staticClass:"line-number"},[s._v("14")]),a("br"),a("span",{staticClass:"line-number"},[s._v("15")]),a("br"),a("span",{staticClass:"line-number"},[s._v("16")]),a("br"),a("span",{staticClass:"line-number"},[s._v("17")]),a("br"),a("span",{staticClass:"line-number"},[s._v("18")]),a("br"),a("span",{staticClass:"line-number"},[s._v("19")]),a("br"),a("span",{staticClass:"line-number"},[s._v("20")]),a("br"),a("span",{staticClass:"line-number"},[s._v("21")]),a("br"),a("span",{staticClass:"line-number"},[s._v("22")]),a("br")])]),a("ol",[a("li",[s._v("启动真寻,会在 "),a("strong",[s._v("configs")]),s._v(" 和 "),a("strong",[s._v("data/configs")]),s._v(" 目录下生成各种配置文件")])]),s._v(" "),a("div",{staticClass:"language-bash line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[s._v("python3 bot.py\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# or")]),s._v("\npython bot.py\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br"),a("span",{staticClass:"line-number"},[s._v("2")]),a("br"),a("span",{staticClass:"line-number"},[s._v("3")]),a("br")])]),a("ol",{attrs:{start:"6"}},[a("li",[s._v("打开 "),a("strong",[s._v("configs/config.yaml")]),s._v(",里面包含的是各种插件的配置项,填写完毕后重启真寻Bot")])]),s._v(" "),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"title"},[s._v("提示")]),a("p",[s._v("首次启动会下载资源,时间较久,请耐心等待")])]),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"title"}),a("p",[s._v("✨✨ "),a("em",[a("strong",[s._v("同时打开gocq和zhenxun,已经可以正常运行了呀")])]),s._v(" ✨✨")])])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/45.087e2595.js b/assets/js/45.087e2595.js deleted file mode 100644 index 28cc3e955..000000000 --- a/assets/js/45.087e2595.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[45],{648:function(s,t,a){"use strict";a.r(t);var n=a(12),e=Object(n.a)({},(function(){var s=this,t=s.$createElement,a=s._self._c||t;return a("ContentSlotsDistributor",{attrs:{"slot-key":s.$parent.slotKey}},[a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"title"}),a("p",[s._v("一个关系型数据库,占用比mysql小小小小多了..."),a("br"),s._v("\n目前来看postgresql版本似乎对真寻没有太大影响(指9.0以上),不会影响正常使用")])]),a("h1",{attrs:{id:"开始安装"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#开始安装"}},[s._v("#")]),s._v(" 开始安装")]),s._v(" "),a("h2",{attrs:{id:"_1-安装"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#_1-安装"}},[s._v("#")]),s._v(" 1.安装")]),s._v(" "),a("p",[s._v("1.直接命令行输入")]),s._v(" "),a("div",{staticClass:"language-bash line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[a("span",{pre:!0,attrs:{class:"token function"}},[s._v("sudo")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[s._v("apt")]),s._v(" update\n"),a("span",{pre:!0,attrs:{class:"token function"}},[s._v("sudo")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[s._v("apt")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[s._v("install")]),s._v(" postgresql postgresql-contrib\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br"),a("span",{staticClass:"line-number"},[s._v("2")]),a("br")])]),a("ol",{attrs:{start:"2"}},[a("li",[s._v("创建数据库和用户(依次输入)")])]),s._v(" "),a("div",{staticClass:"language-bash line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[a("span",{pre:!0,attrs:{class:"token function"}},[s._v("sudo")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token function"}},[s._v("su")]),s._v(" - postgres "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 切换用户")]),s._v("\npsql\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 用户名↓ # 密码↓")]),s._v("\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# CREATE USER uname WITH PASSWORD 'zhenxun'; # 创建用户(可不执行)")]),s._v("\n\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 密码↓")]),s._v("\nalter user postgres with password "),a("span",{pre:!0,attrs:{class:"token string"}},[s._v("'zhenxun_bot'")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(";")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 修改postgres的密码")]),s._v("\n\n "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 数据库名称↓ 所有者(用户名)↓")]),s._v("\nCREATE DATABASE zhenxun_bot OWNER postgres"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(";")]),s._v(" "),a("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 创建数据库")]),s._v("\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br"),a("span",{staticClass:"line-number"},[s._v("2")]),a("br"),a("span",{staticClass:"line-number"},[s._v("3")]),a("br"),a("span",{staticClass:"line-number"},[s._v("4")]),a("br"),a("span",{staticClass:"line-number"},[s._v("5")]),a("br"),a("span",{staticClass:"line-number"},[s._v("6")]),a("br"),a("span",{staticClass:"line-number"},[s._v("7")]),a("br"),a("span",{staticClass:"line-number"},[s._v("8")]),a("br"),a("span",{staticClass:"line-number"},[s._v("9")]),a("br"),a("span",{staticClass:"line-number"},[s._v("10")]),a("br")])]),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"title"}),a("p",[s._v("到这一步数据库已经可以正常使用了!以下步骤主要用于外网可以连接入服务器数据库,可以等需要的时候再配置。")])]),a("div",{staticClass:"custom-block tip"},[a("p",{staticClass:"title"}),a("p",[s._v("✨✨ 成功完成了"),a("code",[s._v("Postgresql")]),s._v("的数据库配置,马上要安装真寻了捏 ✨✨")])]),a("h2",{attrs:{id:"_2-配置外网连接-可省略"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#_2-配置外网连接-可省略"}},[s._v("#")]),s._v(" 2.配置外网连接(可省略)")]),s._v(" "),a("ol",[a("li",[a("p",[s._v("编辑数据库配置文件(路径请已自己的为准)")]),s._v(" "),a("ul",[a("li",[s._v("打开数据库配置文件")])]),s._v(" "),a("div",{staticClass:"language-bash line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[a("span",{pre:!0,attrs:{class:"token function"}},[s._v("vim")]),s._v(" /etc/postgresql/12/main/postgresql.conf\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br")])]),a("ul",[a("li",[s._v("找到 "),a("code",[s._v("listen_addresses: '*'")]),s._v(" 取消前面的 "),a("code",[s._v("#")]),s._v(" 注释,使用:wq保存退出")])]),s._v(" "),a("blockquote",[a("p",[s._v("建议公网ip同时修改 Port")])]),s._v(" "),a("ul",[a("li",[s._v("打开 "),a("strong",[s._v("pg_hba.conf")])])]),s._v(" "),a("div",{staticClass:"language-bash line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[a("span",{pre:!0,attrs:{class:"token function"}},[s._v("vim")]),s._v(" /etc/postgresql/12/main/pg_hba.conf\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br")])]),a("ul",[a("li",[a("p",[s._v("在最下添加或修改后,使用:wq保存退出")]),s._v(" "),a("div",{staticClass:"language- line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-text"}},[a("code",[s._v(" # 允许任意用户从任意机器上以密码方式访问数据库\n host all all 0.0.0.0/0 md5\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br"),a("span",{staticClass:"line-number"},[s._v("2")]),a("br")])])])])]),s._v(" "),a("li",[a("p",[s._v("重启数据库")])])]),s._v(" "),a("div",{staticClass:"language-bash line-numbers-mode"},[a("pre",{pre:!0,attrs:{class:"language-bash"}},[a("code",[a("span",{pre:!0,attrs:{class:"token function"}},[s._v("sudo")]),s._v(" systemctl restart postgresql\n")])]),s._v(" "),a("div",{staticClass:"line-numbers-wrapper"},[a("span",{staticClass:"line-number"},[s._v("1")]),a("br")])])])}),[],!1,null,null,null);t.default=e.exports}}]); \ No newline at end of file diff --git a/assets/js/45.473586fc.js b/assets/js/45.473586fc.js new file mode 100644 index 000000000..e4977a8f5 --- /dev/null +++ b/assets/js/45.473586fc.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[45],{453:function(s,t,n){"use strict";n.r(t);var a=n(2),r=Object(a.a)({},(function(){var s=this,t=s._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":s.$parent.slotKey}},[t("div",{staticClass:"custom-block warning"},[t("p",{staticClass:"title"},[s._v("版本警告")]),t("p",[s._v("真寻Bot需要python环境为 "),t("strong",[s._v("python3.9+")])])]),t("h1",{attrs:{id:"开始部署"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#开始部署"}},[s._v("#")]),s._v(" 开始部署")]),s._v(" "),t("ol",[t("li",[s._v("从 "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot",target:"_blank",rel:"noopener noreferrer"}},[s._v("HibiKier / zhenxun_bot"),t("OutboundLink")],1),s._v(" clone代码 或 直接下载 "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/archive/refs/heads/main.zip",target:"_blank",rel:"noopener noreferrer"}},[s._v("压缩包"),t("OutboundLink")],1),s._v(" 解压")]),s._v(" "),t("li",[s._v("安装依赖包")])]),s._v(" "),t("div",{staticClass:"language-shell line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-shell"}},[t("code",[s._v("pip3 "),t("span",{pre:!0,attrs:{class:"token function"}},[s._v("install")]),s._v(" poetry "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 使用poetry管理python包")]),s._v("\npoetry "),t("span",{pre:!0,attrs:{class:"token function"}},[s._v("install")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 安装依赖")]),s._v("\n\npoetry shell "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 进入虚拟环境")]),s._v("\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("## playwright 需要安装额外的系统环境,在命令行输入以下")]),s._v("\nplaywright "),t("span",{pre:!0,attrs:{class:"token function"}},[s._v("install")]),s._v(" chromium\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 在Linux环境还需要安装额外依赖")]),s._v("\nplaywright install-deps chromium\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br"),t("span",{staticClass:"line-number"},[s._v("2")]),t("br"),t("span",{staticClass:"line-number"},[s._v("3")]),t("br"),t("span",{staticClass:"line-number"},[s._v("4")]),t("br"),t("span",{staticClass:"line-number"},[s._v("5")]),t("br"),t("span",{staticClass:"line-number"},[s._v("6")]),t("br"),t("span",{staticClass:"line-number"},[s._v("7")]),t("br"),t("span",{staticClass:"line-number"},[s._v("8")]),t("br"),t("span",{staticClass:"line-number"},[s._v("9")]),t("br"),t("span",{staticClass:"line-number"},[s._v("10")]),t("br")])]),t("ol",{attrs:{start:"3"}},[t("li",[s._v("设置超级用户,打开 "),t("strong",[s._v(".env.dev")]),s._v(" 文件,在"),t("code",[s._v("SUPERUSERS")]),s._v("和"),t("code",[s._v("qq")]),s._v("中添加自己的QQ")])]),s._v(" "),t("div",{staticClass:"language-python line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-python"}},[t("code",[s._v("SUPERUSERS"),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("[")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"123456789"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("]")]),s._v("\n\nPLATFORM_SUPERUSERS "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),s._v(" '\n "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"qq"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("[")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"123456789"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("]")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"dodo"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("[")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("]")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"kaiheila"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("[")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("]")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"discord"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("[")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("]")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n'\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br"),t("span",{staticClass:"line-number"},[s._v("2")]),t("br"),t("span",{staticClass:"line-number"},[s._v("3")]),t("br"),t("span",{staticClass:"line-number"},[s._v("4")]),t("br"),t("span",{staticClass:"line-number"},[s._v("5")]),t("br"),t("span",{staticClass:"line-number"},[s._v("6")]),t("br"),t("span",{staticClass:"line-number"},[s._v("7")]),t("br"),t("span",{staticClass:"line-number"},[s._v("8")]),t("br"),t("span",{staticClass:"line-number"},[s._v("9")]),t("br"),t("span",{staticClass:"line-number"},[s._v("10")]),t("br")])]),t("ol",{attrs:{start:"4"}},[t("li",[s._v("首次运行后会在data目录下生成 "),t("strong",[s._v("database.json")]),s._v("(数据库配置) 和 "),t("strong",[s._v("config.yaml")]),s._v("(插件配置) 文件")])]),s._v(" "),t("div",{staticClass:"language-python line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-python"}},[t("code",[t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 数据库(必要)")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 如果填写了bind就不需要再填写后面的字段了#)")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v('# 示例:"bind": "postgres://user:password@127.0.0.1:5432/database"')]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"bind"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('""')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"sql_name"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"postgres"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"user"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('""')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 用户名")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"password"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('""')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 密码")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"address"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('""')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 地址")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"port"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('""')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 端口")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"database"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('""')]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 数据库名")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("############################################################")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("### 如果你是与教程一模一样的命令代码,且数据库也在该服务器上 ###")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("############################################################")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 可以直接复制以下配置")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("{")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"bind"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('""')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"sql_name"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"postgres"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"user"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"postgres"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 用户名")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"password"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"zhenxun_bot"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 密码")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"address"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"127.0.0.1"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 地址")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"port"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"5432"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 端口")]),s._v("\n "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"database"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(":")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"zhenxun_bot"')]),s._v(" "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 数据库名")]),s._v("\n"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("}")]),s._v("\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br"),t("span",{staticClass:"line-number"},[s._v("2")]),t("br"),t("span",{staticClass:"line-number"},[s._v("3")]),t("br"),t("span",{staticClass:"line-number"},[s._v("4")]),t("br"),t("span",{staticClass:"line-number"},[s._v("5")]),t("br"),t("span",{staticClass:"line-number"},[s._v("6")]),t("br"),t("span",{staticClass:"line-number"},[s._v("7")]),t("br"),t("span",{staticClass:"line-number"},[s._v("8")]),t("br"),t("span",{staticClass:"line-number"},[s._v("9")]),t("br"),t("span",{staticClass:"line-number"},[s._v("10")]),t("br"),t("span",{staticClass:"line-number"},[s._v("11")]),t("br"),t("span",{staticClass:"line-number"},[s._v("12")]),t("br"),t("span",{staticClass:"line-number"},[s._v("13")]),t("br"),t("span",{staticClass:"line-number"},[s._v("14")]),t("br"),t("span",{staticClass:"line-number"},[s._v("15")]),t("br"),t("span",{staticClass:"line-number"},[s._v("16")]),t("br"),t("span",{staticClass:"line-number"},[s._v("17")]),t("br"),t("span",{staticClass:"line-number"},[s._v("18")]),t("br"),t("span",{staticClass:"line-number"},[s._v("19")]),t("br"),t("span",{staticClass:"line-number"},[s._v("20")]),t("br"),t("span",{staticClass:"line-number"},[s._v("21")]),t("br"),t("span",{staticClass:"line-number"},[s._v("22")]),t("br"),t("span",{staticClass:"line-number"},[s._v("23")]),t("br"),t("span",{staticClass:"line-number"},[s._v("24")]),t("br"),t("span",{staticClass:"line-number"},[s._v("25")]),t("br"),t("span",{staticClass:"line-number"},[s._v("26")]),t("br")])]),t("ol",{attrs:{start:"5"}},[t("li",[s._v("启动真寻,会在 "),t("strong",[s._v("configs")]),s._v(" 和 "),t("strong",[s._v("data/configs")]),s._v(" 目录下生成各种配置文件")])]),s._v(" "),t("div",{staticClass:"language-bash line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[s._v("python3 bot.py\n"),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# or")]),s._v("\npython bot.py\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br"),t("span",{staticClass:"line-number"},[s._v("2")]),t("br"),t("span",{staticClass:"line-number"},[s._v("3")]),t("br")])]),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"title"},[s._v("提示")]),t("p",[s._v("首次启动会下载资源,时间较久,请耐心等待")])]),t("h2",{attrs:{id:"当你的控制台出现以下日志-说明你已经成功了🎉🎉"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#当你的控制台出现以下日志-说明你已经成功了🎉🎉"}},[s._v("#")]),s._v(" 当你的控制台出现以下日志,说明你已经成功了🎉🎉")]),s._v(" "),t("div",{staticClass:"language-bash line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[s._v("08-14 "),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("23")]),s._v(":18:44 "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("[")]),s._v("INFO"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("]")]),s._v(" zhenxun "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("|")]),s._v(" CMD"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("[")]),s._v("Web UI"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("]")]),s._v(" API启动成功\n08-14 "),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("23")]),s._v(":18:44 "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("[")]),s._v("INFO"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("]")]),s._v(" uvicorn "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("|")]),s._v(" Application startup complete.\n08-14 "),t("span",{pre:!0,attrs:{class:"token number"}},[s._v("23")]),s._v(":18:44 "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("[")]),s._v("INFO"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("]")]),s._v(" uvicorn "),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("|")]),s._v(" Uvicorn running on http://127.0.0.1:8080 "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("Press CTRL+C to quit"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v("\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br"),t("span",{staticClass:"line-number"},[s._v("2")]),t("br"),t("span",{staticClass:"line-number"},[s._v("3")]),t("br")])]),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"title"})])])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/46.0d5eedf6.js b/assets/js/46.0d5eedf6.js deleted file mode 100644 index fa52daf8b..000000000 --- a/assets/js/46.0d5eedf6.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[46],{644:function(t,_,s){"use strict";s.r(_);var e=s(12),r=Object(e.a)({},(function(){var t=this,_=t.$createElement,s=t._self._c||_;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[s("div",{staticClass:"custom-block tip"},[s("p",{staticClass:"title"}),s("p",[t._v("一个关系型数据库,占用比mysql小小小小多了..."),s("br"),t._v("\n目前来看postgresql版本似乎对真寻没有太大影响(指9.0以上),不会影响正常使用")])]),s("h1",{attrs:{id:"开始安装"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#开始安装"}},[t._v("#")]),t._v(" 开始安装")]),t._v(" "),s("h2",{attrs:{id:"_1-下载"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#_1-下载"}},[t._v("#")]),t._v(" 1.下载")]),t._v(" "),s("p",[t._v("点击"),s("a",{attrs:{href:"https://get.enterprisedb.com/postgresql/postgresql-15.1-1-windows-x64.exe",target:"_blank",rel:"noopener noreferrer"}},[t._v("这里"),s("OutboundLink")],1),t._v("将下载Postgresql-15.1-1版本安装包")]),t._v(" "),s("h2",{attrs:{id:"_2-安装"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#_2-安装"}},[t._v("#")]),t._v(" 2.安装")]),t._v(" "),s("p",[t._v("1.双击安装程序,点击"),s("code",[t._v("Next")]),s("br"),t._v(" "),s("img",{attrs:{src:"/zhenxun_bot/postgresql/install_1.png",alt:"_"}})]),t._v(" "),s("p",[t._v("2.选择安装路径(没有特殊情况一般默认即可),继续"),s("code",[t._v("Next")])]),t._v(" "),s("div",{staticClass:"custom-block warning"},[s("p",{staticClass:"title"}),s("p",[t._v("安装路径请不要出现中文!")])]),s("p",[s("img",{attrs:{src:"/zhenxun_bot/postgresql/install_2.png",alt:"_"}})]),t._v(" "),s("p",[t._v("3.去掉"),s("code",[t._v("Stack Builder")]),t._v("即可,不影响使用,"),s("code",[t._v("Next")]),s("br"),t._v(" "),s("img",{attrs:{src:"/zhenxun_bot/postgresql/install_3.png",alt:"_"}})]),t._v(" "),s("p",[t._v("4.数据存储路径(没有特殊情况一般默认即可),"),s("code",[t._v("Next")]),s("br"),t._v(" "),s("img",{attrs:{src:"/zhenxun_bot/postgresql/install_4.png",alt:"_"}})]),t._v(" "),s("p",[t._v("5.输入postgres用户的密码,例如: "),s("code",[t._v("zhenxun_bot")]),s("br"),t._v(" "),s("img",{attrs:{src:"/zhenxun_bot/postgresql/install_5.png",alt:"_"}})]),t._v(" "),s("p",[t._v("6.默认端口,"),s("code",[t._v("Next")]),s("br"),t._v(" "),s("img",{attrs:{src:"/zhenxun_bot/postgresql/install_6.png",alt:"_"}})]),t._v(" "),s("p",[t._v("7.接下来一路"),s("code",[t._v("Next")]),t._v("直到进入安装"),s("br"),t._v(" "),s("img",{attrs:{src:"/zhenxun_bot/postgresql/install_7.png",alt:"_"}})]),t._v(" "),s("p",[t._v("8.✨✨ 安装完成 ✨✨"),s("br"),t._v(" "),s("img",{attrs:{src:"/zhenxun_bot/postgresql/install_8.png",alt:"_"}})]),t._v(" "),s("h2",{attrs:{id:"_3-配置连接"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#_3-配置连接"}},[t._v("#")]),t._v(" 3.配置连接")]),t._v(" "),s("p",[t._v("1.找到安装的pgAdmin,直接启动!"),s("br"),t._v(" "),s("img",{attrs:{src:"/zhenxun_bot/postgresql/setup_1.png",alt:"_"}})]),t._v(" "),s("div",{staticClass:"custom-block tip"},[s("p",{staticClass:"title"}),s("p",[t._v("是英文界面?别急,已"),s("a",{attrs:{href:"https://www.baidu.com/baidu?tn=monline_3_dg&ie=utf-8&wd=pgadmin4%E8%AE%BE%E7%BD%AE%E4%B8%AD%E6%96%87",target:"_blank",rel:"noopener noreferrer"}},[t._v("百度"),s("OutboundLink")],1)])]),s("p",[t._v("2.新建连接")]),t._v(" "),s("p",[t._v("左侧栏右键点击"),s("code",[t._v("Servers")]),t._v("后选择"),s("code",[t._v("Register")]),t._v(",在点击"),s("code",[t._v("服务器")]),s("br"),t._v(" "),s("img",{attrs:{src:"/zhenxun_bot/postgresql/setup_2.png",alt:"_"}})]),t._v(" "),s("p",[t._v("3.随便(bushi 起一个响亮的名字"),s("br"),t._v(" "),s("img",{attrs:{src:"/zhenxun_bot/postgresql/setup_3.png",alt:"_"}})]),t._v(" "),s("p",[t._v("4.填写配置"),s("br"),t._v("\n填写"),s("code",[t._v("主机名称/地址")]),t._v(",如果是连接远程服务器的话对应的服务器IP,本地的话可以直接填写"),s("code",[t._v("127.0.0.1")]),s("br"),t._v(" "),s("code",[t._v("端口")]),t._v("就是安装时配置的端口,没有修改的话默认"),s("code",[t._v("5432")]),s("br"),t._v(" "),s("code",[t._v("密码")]),t._v("就是安装时配置的密码"),s("br"),t._v(" "),s("img",{attrs:{src:"/zhenxun_bot/postgresql/setup_4.png",alt:"_"}})]),t._v(" "),s("p",[t._v("5.✨✨ 点击保存 ✨✨"),s("br"),t._v("\n左侧栏会出现一头🐘"),s("br"),t._v(" "),s("img",{attrs:{src:"/zhenxun_bot/postgresql/setup_5.png",alt:"_"}})]),t._v(" "),s("h2",{attrs:{id:"_4-新建数据库"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#_4-新建数据库"}},[t._v("#")]),t._v(" 4.新建数据库")]),t._v(" "),s("p",[t._v("1.展开🐘🐘"),s("br"),t._v("\n右击"),s("code",[t._v("数据库")]),t._v(",选择"),s("code",[t._v("创建")]),t._v("后点击"),s("code",[t._v("数据库")]),s("br"),t._v(" "),s("img",{attrs:{src:"/zhenxun_bot/postgresql/create_1.png",alt:"_"}})]),t._v(" "),s("p",[t._v("2.✨✨ 直接创建! ✨✨"),s("br"),t._v("\n设置数据库名称后点击"),s("code",[t._v("保存")]),t._v(" "),s("img",{attrs:{src:"/zhenxun_bot/postgresql/create_2.png",alt:"_"}})]),t._v(" "),s("div",{staticClass:"custom-block tip"},[s("p",{staticClass:"title"}),s("p",[t._v("✨✨ 嗨呀,终于完成"),s("code",[t._v("Postgresql")]),t._v("的数据库配置了,好累呀,火速下一步,安装真寻捏 ✨✨")])])])}),[],!1,null,null,null);_.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/46.d0b8b81e.js b/assets/js/46.d0b8b81e.js new file mode 100644 index 000000000..c3d31f035 --- /dev/null +++ b/assets/js/46.d0b8b81e.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[46],{456:function(_,t,v){"use strict";v.r(t);var r=v(2),i=Object(r.a)({},(function(){var _=this,t=_._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":_.$parent.slotKey}},[t("h3",{attrs:{id:"_2022-9-19"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-9-19"}},[_._v("#")]),_._v(" 2022/9/19")]),_._v(" "),t("ul",[t("li",[_._v("更换bilibili_sub获取用户昵称用的API&尝试修了一下get_video() "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/1097",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/1097"),t("OutboundLink")],1)]),_._v(" "),t("li",[_._v("修复csgo每日开箱可以多开一次")])]),_._v(" "),t("h3",{attrs:{id:"_2022-9-18"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-9-18"}},[_._v("#")]),_._v(" 2022/9/18")]),_._v(" "),t("ul",[t("li",[_._v("修复 bilireq 版本过低导致 B 站视频解析错误 "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/1096",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/1090"),t("OutboundLink")],1)])]),_._v(" "),t("h3",{attrs:{id:"_2022-9-16"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-9-16"}},[_._v("#")]),_._v(" 2022/9/16")]),_._v(" "),t("ul",[t("li",[_._v("fix: bilibili_sub, azur_draw_card "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/1090",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/1090"),t("OutboundLink")],1)]),_._v(" "),t("li",[_._v("修复原神资源查询查询完毕后图片存储错误")]),_._v(" "),t("li",[_._v("b站订阅发送 与 b站订阅 使用相同开关,即:关闭b站订阅")])]),_._v(" "),t("h3",{attrs:{id:"_2022-9-10"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-9-10"}},[_._v("#")]),_._v(" 2022/9/10")]),_._v(" "),t("ul",[t("li",[_._v("自定义群欢迎消息参数不完全时提示报错")]),_._v(" "),t("li",[_._v("修改bt插件的url地址 "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/1067",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/1067"),t("OutboundLink")],1)])]),_._v(" "),t("h3",{attrs:{id:"_2022-9-8"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-9-8"}},[_._v("#")]),_._v(" 2022/9/8")]),_._v(" "),t("ul",[t("li",[_._v("添加插件数据初始化判断")])]),_._v(" "),t("h3",{attrs:{id:"_2022-9-4"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-9-4"}},[_._v("#")]),_._v(" 2022/9/4")]),_._v(" "),t("ul",[t("li",[_._v("旧词条提供图片迁移(需要重新获取old_model文件,并将数据库中user_qq为0的数据删除)")])]),_._v(" "),t("h3",{attrs:{id:"_2022-9-3"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-9-3"}},[_._v("#")]),_._v(" 2022/9/3")]),_._v(" "),t("ul",[t("li",[_._v("原神玩家查询增加须弥地区 "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/1053",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/1053"),t("OutboundLink")],1)]),_._v(" "),t("li",[_._v("av号覆盖全面,且修复av号链接 "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/1033",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/1033"),t("OutboundLink")],1)]),_._v(" "),t("li",[_._v("修复词条含有CQ回答的模糊匹配无法被解析")]),_._v(" "),t("li",[_._v("禁言检测图片在内存中获取图片hash")]),_._v(" "),t("li",[_._v("B站订阅在群里中任意群管理员可以统一管理(原来为管理员1无法删除管理员2的订阅)")]),_._v(" "),t("li",[_._v("修复原神资源查询地图api数据变更导致更新的地图不完全")])]),_._v(" "),t("h3",{attrs:{id:"_2022-8-27"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-8-27"}},[_._v("#")]),_._v(" 2022/8/27")]),_._v(" "),t("ul",[t("li",[_._v("修复签到积分双倍后,日志记录获得积分变4倍问题 "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/1044",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/1044"),t("OutboundLink")],1)])]),_._v(" "),t("h3",{attrs:{id:"_2022-8-26"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-8-26"}},[_._v("#")]),_._v(" 2022/8/26")]),_._v(" "),t("ul",[t("li",[_._v("修复群管理员无法添加词条")]),_._v(" "),t("li",[_._v('修复词条关键词"问"前空格问题')])]),_._v(" "),t("h3",{attrs:{id:"_2022-8-23"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-8-23"}},[_._v("#")]),_._v(" 2022/8/23")]),_._v(" "),t("ul",[t("li",[_._v("修了下模糊匹配 issue#1026 "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/1026",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/1026"),t("OutboundLink")],1)])]),_._v(" "),t("h3",{attrs:{id:"_2022-8-22"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-8-22"}},[_._v("#")]),_._v(" 2022/8/22")]),_._v(" "),t("ul",[t("li",[_._v("修复首次安装时词条旧表出错(因为根本就没有这张表!)")]),_._v(" "),t("li",[_._v("取消配置替换定时任务,统一存储")]),_._v(" "),t("li",[_._v("对米游社cookie进行判断,整合米游社签到信息 "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/1014",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/1014"),t("OutboundLink")],1)]),_._v(" "),t("li",[_._v("修正尘歌壶和质变仪图片获取地址 "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/1010",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/1010"),t("OutboundLink")],1)]),_._v(" "),t("li",[_._v("修复词库问答 "),t("strong",[_._v("很多")]),_._v(" 问题"),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/1012",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/1012"),t("OutboundLink")],1)])]),_._v(" "),t("h3",{attrs:{id:"_2022-8-21-v0-1-6-3"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-8-21-v0-1-6-3"}},[_._v("#")]),_._v(" 2022/8/21 [v0.1.6.3]")]),_._v(" "),t("ul",[t("li",[_._v("重构群词条,改为词库Plus,增加 精准|模糊|正则 问题匹配,问题与回答均支持at,image,face,超级用户额外提供 全局|私聊 词库设置,数据迁移目前只提供了问题和回答都是纯文本的词条")]),_._v(" "),t("li",[_._v("修复b站转发解析av号无法解析")]),_._v(" "),t("li",[_._v("B站订阅直播订阅支持短号")]),_._v(" "),t("li",[_._v("开箱提供重置开箱命令,重置今日所有开箱数据(重置次数,并不会删除今日已开箱记录)")]),_._v(" "),t("li",[_._v("提供全局字典GDict,通过from utils.manager import GDict导入")]),_._v(" "),t("li",[_._v("适配omega 13w张图的数据结构表(建议删表重导)")]),_._v(" "),t("li",[_._v("除首次启动外将配置替换加入单次定时任务,加快启动速度")]),_._v(" "),t("li",[_._v("fix: WordBank.check() "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/1008",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/1008"),t("OutboundLink")],1)]),_._v(" "),t("li",[_._v("改进插件 "),t("code",[_._v("我有一个朋友")]),_._v(",避免触发过于频繁 "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/1001",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/1001"),t("OutboundLink")],1)]),_._v(" "),t("li",[_._v("原神便笺新增洞天宝钱和参量质变仪提示 "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/1005",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/1005"),t("OutboundLink")],1)]),_._v(" "),t("li",[_._v("新增米游社签到功能,自动领取(白嫖)米游币 "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/991",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/991"),t("OutboundLink")],1)])]),_._v(" "),t("h3",{attrs:{id:"_2022-8-14"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-8-14"}},[_._v("#")]),_._v(" 2022/8/14")]),_._v(" "),t("ul",[t("li",[_._v("修复epic未获取到时间时出错")]),_._v(" "),t("li",[_._v("修复订阅主播时动态获取的id是直播间id")])]),_._v(" "),t("h3",{attrs:{id:"_2022-8-8"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-8-8"}},[_._v("#")]),_._v(" 2022/8/8")]),_._v(" "),t("ul",[t("li",[_._v("修复赛马娘重载卡池失败的问题 "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/969",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/969"),t("OutboundLink")],1)])]),_._v(" "),t("h3",{attrs:{id:"_2022-8-3"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-8-3"}},[_._v("#")]),_._v(" 2022/8/3")]),_._v(" "),t("ul",[t("li",[_._v("修复 bili动态链接在投稿视频时URL和分割线连在一起 "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/961",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/951"),t("OutboundLink")],1)]),_._v(" "),t("li",[_._v("更新 Epic 免费游戏商城链接拼接规则 "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/957",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/957"),t("OutboundLink")],1)])]),_._v(" "),t("h3",{attrs:{id:"_2022-8-6"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-8-6"}},[_._v("#")]),_._v(" 2022/8/6")]),_._v(" "),t("ul",[t("li",[_._v("修复了原神自动签到返回invalid request的问题,新增查看我的cookie命令 "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/971",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/971"),t("OutboundLink")],1)])]),_._v(" "),t("h3",{attrs:{id:"_2022-7-31"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-7-31"}},[_._v("#")]),_._v(" 2022/7/31")]),_._v(" "),t("ul",[t("li",[_._v("对nonebot.beta4中PluginMeta进行解析")]),_._v(" "),t("li",[_._v("修改webui元祖类型无法正确转换类型")]),_._v(" "),t("li",[_._v("查看订阅以图片形式发送")]),_._v(" "),t("li",[_._v("修复pix无图时不会提醒而是出错")])]),_._v(" "),t("h3",{attrs:{id:"_2022-7-30"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-7-30"}},[_._v("#")]),_._v(" 2022/7/30")]),_._v(" "),t("ul",[t("li",[_._v("替换了cos和bt的url "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/951",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/951"),t("OutboundLink")],1)]),_._v(" "),t("li",[_._v("发言记录统计添加日消息统计 "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/953",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/953"),t("OutboundLink")],1)])]),_._v(" "),t("h3",{attrs:{id:"_2022-7-24-v0-1-6-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-7-24-v0-1-6-2"}},[_._v("#")]),_._v(" 2022/7/24 [v0.1.6.2]")]),_._v(" "),t("ul",[t("li",[_._v("订阅up动态提供直链")])]),_._v(" "),t("h3",{attrs:{id:"_2022-7-23"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-7-23"}},[_._v("#")]),_._v(" 2022/7/23")]),_._v(" "),t("ul",[t("li",[_._v("优化开箱次数判断")])]),_._v(" "),t("h3",{attrs:{id:"_2022-7-16"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-7-16"}},[_._v("#")]),_._v(" 2022/7/16")]),_._v(" "),t("ul",[t("li",[_._v("cos提供连发命令")]),_._v(" "),t("li",[_._v("修复B站视频解析中b23解析错误")])]),_._v(" "),t("h3",{attrs:{id:"_2022-7-13"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-7-13"}},[_._v("#")]),_._v(" 2022/7/13")]),_._v(" "),t("ul",[t("li",[_._v("B站订阅提供配置项"),t("code",[_._v("LIVE_MSG_AT_ALL")]),_._v(","),t("code",[_._v("UP_MSG_AT_ALL")]),_._v(":控制UP动态投稿和直播是否AT全体")]),_._v(" "),t("li",[_._v("修改了Omega图库检测的数据库文件名")]),_._v(" "),t("li",[_._v("game_utils提供了Game类")])]),_._v(" "),t("h3",{attrs:{id:"_2022-7-7"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-7-7"}},[_._v("#")]),_._v(" 2022/7/7")]),_._v(" "),t("ul",[t("li",[_._v("微博热搜选择单条热搜时也会检测时效性 "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/891",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/891"),t("OutboundLink")],1)])]),_._v(" "),t("h3",{attrs:{id:"_2022-7-4"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-7-4"}},[_._v("#")]),_._v(" 2022/7/4")]),_._v(" "),t("ul",[t("li",[_._v("修复商品未设置限购时无法购买")]),_._v(" "),t("li",[_._v("修复B站订阅UP动态 "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/886",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/886"),t("OutboundLink")],1)]),_._v(" "),t("li",[_._v("修复色图命令带tag时配置项"),t("code",[_._v("MAX_ONCE_NUM2FORWARD")]),_._v("无法生效")])]),_._v(" "),t("h3",{attrs:{id:"_2022-7-3-v0-1-6-1"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-7-3-v0-1-6-1"}},[_._v("#")]),_._v(" 2022/7/3 [v0.1.6.1]")]),_._v(" "),t("ul",[t("li",[_._v("BagUser提供方法"),t("code",[_._v("check_props")]),_._v("方法,用于判断用户是否含有该道具并是否使用")]),_._v(" "),t("li",[_._v("优化商品显示图片,提供限制,限购,折扣提示")]),_._v(" "),t("li",[_._v("修复图库内图片无法被连续删除的问题 "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/879",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/879"),t("OutboundLink")],1)]),_._v(" "),t("li",[_._v("色图提供配置项"),t("code",[_._v("MAX_ONCE_NUM2FORWARD")]),_._v(":群聊中单次发送图片数量达到指定时使用合并转发")]),_._v(" "),t("li",[_._v("优化修复了商品修改命令")]),_._v(" "),t("li",[_._v("B站订阅UP动态改为详情页截图")])]),_._v(" "),t("h3",{attrs:{id:"_2022-6-28"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-6-28"}},[_._v("#")]),_._v(" 2022/6/28")]),_._v(" "),t("ul",[t("li",[_._v("修复色图插件api修改无法搜索图片 "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/866",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/866"),t("OutboundLink")],1)])]),_._v(" "),t("h3",{attrs:{id:"_2022-6-26"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-6-26"}},[_._v("#")]),_._v(" 2022/6/26")]),_._v(" "),t("ul",[t("li",[_._v("替换了bt URL")]),_._v(" "),t("li",[_._v("PIX当使用pid查询图片时,会发送该pid下所有图片")]),_._v(" "),t("li",[_._v("商店提供了每日购买次数限制")])]),_._v(" "),t("h3",{attrs:{id:"_2022-6-24"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-6-24"}},[_._v("#")]),_._v(" 2022/6/24")]),_._v(" "),t("ul",[t("li",[_._v("对WSL虚拟机 代理 添加写法 "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/847",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/847"),t("OutboundLink")],1)])]),_._v(" "),t("h3",{attrs:{id:"_2022-6-21"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-6-21"}},[_._v("#")]),_._v(" 2022/6/21")]),_._v(" "),t("ul",[t("li",[_._v("update parse_bilibili "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/840",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/840"),t("OutboundLink")],1)])]),_._v(" "),t("h3",{attrs:{id:"_2022-6-19-v0-1-6-0"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-6-19-v0-1-6-0"}},[_._v("#")]),_._v(" 2022/6/19 [v0.1.6.0]")]),_._v(" "),t("ul",[t("li",[_._v("暂时使用hook修复webui中plugins2setting修改时会改变plugins2setting.cmd为字符串")]),_._v(" "),t("li",[_._v("修复原神树脂重复提醒的bug "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/828",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/828"),t("OutboundLink")],1)]),_._v(" "),t("li",[_._v("词条优化问题展示,修改含机器人昵称和@逻辑 "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/835",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/835"),t("OutboundLink")],1)])]),_._v(" "),t("h3",{attrs:{id:"_2022-6-18"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-6-18"}},[_._v("#")]),_._v(" 2022/6/18")]),_._v(" "),t("ul",[t("li",[_._v("修复昵称系统"),t("code",[_._v("BLACK_WORD")]),_._v("为空时造成报错")]),_._v(" "),t("li",[_._v("修复特殊头像时背景透明化出错")]),_._v(" "),t("li",[_._v("修复text2image纯文本时换行时颜色不统一")]),_._v(" "),t("li",[_._v("优化webUI,当有插件出错时不会影响其他插件显示")]),_._v(" "),t("li",[_._v("优化Config类型注释 "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/830",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/830"),t("OutboundLink")],1)]),_._v(" "),t("li",[_._v("优化browser")])]),_._v(" "),t("h3",{attrs:{id:"_2022-6-17"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-6-17"}},[_._v("#")]),_._v(" 2022/6/17")]),_._v(" "),t("ul",[t("li",[_._v("修复wordbank的一些小问题 @pull/820")])]),_._v(" "),t("h3",{attrs:{id:"_2022-6-14"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-6-14"}},[_._v("#")]),_._v(" 2022/6/14")]),_._v(" "),t("ul",[t("li",[_._v("AsyncHttpx提供可关闭 ssl 验证参数 "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/812",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/812"),t("OutboundLink")],1)]),_._v(" "),t("li",[_._v("fix: 自动更新群组 "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/810",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/810"),t("OutboundLink")],1)]),_._v(" "),t("li",[_._v("fix: 修复添加词条时对answer中图片的处理 "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/806",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/806"),t("OutboundLink")],1)]),_._v(" "),t("li",[_._v("修复pix中指定num无法生效")]),_._v(" "),t("li",[_._v("替换了bt URL")])]),_._v(" "),t("h3",{attrs:{id:"_2022-6-13"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-6-13"}},[_._v("#")]),_._v(" 2022/6/13")]),_._v(" "),t("ul",[t("li",[_._v("Windows 重启适配 "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/804",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/804"),t("OutboundLink")],1)]),_._v(" "),t("li",[_._v("色图等提供修改md5方法 "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/800",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/800"),t("OutboundLink")],1)]),_._v(" "),t("li",[_._v("webui中token.json文件写入补充 "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/798",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/798"),t("OutboundLink")],1)]),_._v(" "),t("li",[_._v("修复识图某些图片可能会出错")])]),_._v(" "),t("h3",{attrs:{id:"_2022-6-11"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-6-11"}},[_._v("#")]),_._v(" 2022/6/11")]),_._v(" "),t("ul",[t("li",[_._v("pix当只有一个tag时且为数字时可以通过添加'#'防止判定为数量")])]),_._v(" "),t("h3",{attrs:{id:"_2022-6-9"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-6-9"}},[_._v("#")]),_._v(" 2022/6/9")]),_._v(" "),t("ul",[t("li",[_._v("修复b站订阅同群二人以上相同订阅时发送多次信息")]),_._v(" "),t("li",[_._v("修复超级用户帮助中缺少了 ‘插件商店’ 相关帮助")]),_._v(" "),t("li",[_._v("昵称系统提供了详细帮助")])]),_._v(" "),t("h3",{attrs:{id:"_2022-6-5-v0-1-5-9"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-6-5-v0-1-5-9"}},[_._v("#")]),_._v(" 2022/6/5 [v0.1.5.9]")]),_._v(" "),t("ul",[t("li",[_._v("webui修复plugin2setting中cmd从list转变为str")]),_._v(" "),t("li",[_._v("当命令"),t("code",[_._v("我的金币")]),_._v("被风控时将以图片形式发送")]),_._v(" "),t("li",[_._v("fix gold_redbag "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/763",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/763"),t("OutboundLink")],1)]),_._v(" "),t("li",[_._v("金币红包功能增加更多封面 "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/764",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/764"),t("OutboundLink")],1)])]),_._v(" "),t("h3",{attrs:{id:"_2022-6-3"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-6-3"}},[_._v("#")]),_._v(" 2022/6/3")]),_._v(" "),t("ul",[t("li",[_._v("插件仓库在已安装插件边上会提示[已安装]")]),_._v(" "),t("li",[_._v("修复ShopRegister kwargs某些字段无效")]),_._v(" "),t("li",[_._v("调整了一下查看所有请求中的年龄绘制 "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/745",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/745"),t("OutboundLink")],1)]),_._v(" "),t("li",[_._v("修复原神树脂提醒bug "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/756",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/756"),t("OutboundLink")],1)])]),_._v(" "),t("h3",{attrs:{id:"_2022-5-31"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-5-31"}},[_._v("#")]),_._v(" 2022/5/31")]),_._v(" "),t("ul",[t("li",[_._v("修复开启/关闭全部功能时帮助图片未重绘 "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/721",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/721"),t("OutboundLink")],1)]),_._v(" "),t("li",[_._v("bot_friend_group将group_handle.修改为friend_handle. "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/711",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/711"),t("OutboundLink")],1)]),_._v(" "),t("li",[_._v("修复发红包图片背景未透明化;修复原神树脂提醒参数错误 "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/712",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/712"),t("OutboundLink")],1)]),_._v(" "),t("li",[_._v("修复抽卡插件:方舟更新UP池信息时,若公告的第一个池子过期会导致无法更新UP池信息 "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/707",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/707"),t("OutboundLink")],1)]),_._v(" "),t("li",[_._v("商店插件判断是否有requirements.txt文件 "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/705",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/705"),t("OutboundLink")],1)]),_._v(" "),t("li",[_._v("删除原神玩家查询api返回变更的多余键值")]),_._v(" "),t("li",[_._v("优化了text2image方法")])]),_._v(" "),t("h3",{attrs:{id:"_2022-5-29-v0-1-5-8"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-5-29-v0-1-5-8"}},[_._v("#")]),_._v(" 2022/5/29 [v0.1.5.8]")]),_._v(" "),t("ul",[t("li",[_._v("提供了真寻适配仓库的插件 安装/卸载 操作")]),_._v(" "),t("li",[_._v("暂时关闭了插件资源清空")]),_._v(" "),t("li",[_._v("通过指令安装插件时会在插件目录下生成plugin_info.json记录当前插件信息")])]),_._v(" "),t("h3",{attrs:{id:"_2022-5-28"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-5-28"}},[_._v("#")]),_._v(" 2022/5/28")]),_._v(" "),t("ul",[t("li",[_._v("修复私聊无法添加昵称")]),_._v(" "),t("li",[_._v("修复原神玩家查询层岩巨渊地下矿区没开时报错")]),_._v(" "),t("li",[_._v("修复 "),t("code",[_._v("休息吧")]),_._v(" 无法阻断戳一戳")]),_._v(" "),t("li",[_._v("当图库无图片时,戳一戳将略过发送图片")]),_._v(" "),t("li",[_._v("新增搜图提供配置项"),t("code",[_._v("ALLOW_GROUP_R18")]),_._v(":允许在群聊中使用r18参数")]),_._v(" "),t("li",[_._v("新增自动更新插件"),t("code",[_._v("UPDATE_REMIND")]),_._v(":新版本提醒,原配置项"),t("code",[_._v("AUTO_UPDATE_ZHENXUN")]),_._v("改为自动更新升级")]),_._v(" "),t("li",[_._v("black_word新增当群权限为-1时不再检测该群")]),_._v(" "),t("li",[_._v("修复非超级用户绑定原神cookie会被black_word阻拦")]),_._v(" "),t("li",[_._v("修复微博热搜报错,发红包小bug "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/688",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/688"),t("OutboundLink")],1)]),_._v(" "),t("li",[_._v("更多的中文提示")])]),_._v(" "),t("h3",{attrs:{id:"_2022-5-26"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-5-26"}},[_._v("#")]),_._v(" 2022/5/26")]),_._v(" "),t("ul",[t("li",[_._v("修复[滴滴滴]会被转义成[滴滴滴]导致无法触发的问题")]),_._v(" "),t("li",[_._v("将一些错误以中文提示输出")]),_._v(" "),t("li",[_._v("更新BT搜索源地址 "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/668",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/668"),t("OutboundLink")],1)]),_._v(" "),t("li",[_._v("更新抽卡插件 "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/667",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/667"),t("OutboundLink")],1)])]),_._v(" "),t("h3",{attrs:{id:"_2022-5-25"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-5-25"}},[_._v("#")]),_._v(" 2022/5/25")]),_._v(" "),t("ul",[t("li",[_._v("修复webui中CountLimit字段limit_type类型错误")]),_._v(" "),t("li",[_._v("修改nickname插件:一处文案错误,添加敏感词 "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/624",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/624"),t("OutboundLink")],1)]),_._v(" "),t("li",[_._v("gamedraw的ba卡池搬运了过来并且进行了真寻的适配 "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/617",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/617"),t("OutboundLink")],1)]),_._v(" "),t("li",[_._v("feat: stream downloading and progress "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/607",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/607"),t("OutboundLink")],1)]),_._v(" "),t("li",[_._v("修改翻译插件,添加缺失的冒号 "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/602",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/602"),t("OutboundLink")],1)]),_._v(" "),t("li",[_._v("修复碧蓝航线/明日方舟up池解析出错的问题 "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/602",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/610"),t("OutboundLink")],1)])]),_._v(" "),t("h3",{attrs:{id:"_2022-5-24"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-5-24"}},[_._v("#")]),_._v(" 2022/5/24")]),_._v(" "),t("ul",[t("li",[_._v("fix: 修正了签到时日期时间的显示不补齐零的bug (符合日期时间表示法 ISO 8601)"),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/600",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/600"),t("OutboundLink")],1)]),_._v(" "),t("li",[_._v('更新"微博热搜"接口 '),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/579",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/579"),t("OutboundLink")],1)]),_._v(" "),t("li",[_._v("refactor&fix(manager): modify argument "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/576",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/576"),t("OutboundLink")],1)]),_._v(" "),t("li",[_._v("修复复读不能复读图片的问题 "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/573",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/573"),t("OutboundLink")],1)]),_._v(" "),t("li",[_._v("修复抽卡插件:方舟抽卡的抽取和显示问题 "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/581",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/581"),t("OutboundLink")],1)])]),_._v(" "),t("h3",{attrs:{id:"_2022-5-23-v0-1-5-6"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-5-23-v0-1-5-6"}},[_._v("#")]),_._v(" 2022/5/23 [v0.1.5.6]")]),_._v(" "),t("ul",[t("li",[_._v('修复"清除已删除插件数据" '),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/545",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/545"),t("OutboundLink")],1)]),_._v(" "),t("li",[_._v("修复有置顶的up主B站动态获取失败 "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/552",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/552"),t("OutboundLink")],1)]),_._v(" "),t("li",[_._v("添加pixiv搜图多关键词支持;修复p站搜图数量参数问题 "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/441",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/441"),t("OutboundLink")],1)]),_._v(" "),t("li",[_._v("修复开箱更新价格错误传参")]),_._v(" "),t("li",[_._v("修复pix无法正确查询uid")]),_._v(" "),t("li",[_._v("新增色图插件添加配置项"),t("code",[_._v("ALLOW_GROUP_R18")]),_._v(":允许群聊中使用色图r")]),_._v(" "),t("li",[_._v("新增PIX插件添加配置项"),t("code",[_._v("ALLOW_GROUP_SETU")]),_._v(":允许非超级用户使用-s参数")]),_._v(" "),t("li",[_._v("新增PIX插件添加配置项"),t("code",[_._v("ALLOW_GROUP_R18")]),_._v(":允许非超级用户使用-r参数")])]),_._v(" "),t("h3",{attrs:{id:"_2022-5-22-v0-1-5-4"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-5-22-v0-1-5-4"}},[_._v("#")]),_._v(" 2022/5/22 [v0.1.5.4]")]),_._v(" "),t("ul",[t("li",[_._v("使用action自动更新poetry.lock "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/515",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/515"),t("OutboundLink")],1)]),_._v(" "),t("li",[_._v("fix(bilibili_sub): card is None and timeout "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/516",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/516"),t("OutboundLink")],1)]),_._v(" "),t("li",[_._v("修复了epic有时获取新免费游戏消息时获取不到图片")]),_._v(" "),t("li",[_._v("修复好感度满时签到出错(虽然是不可能满的")]),_._v(" "),t("li",[_._v("修复原神资源图标下载路径错误")]),_._v(" "),t("li",[_._v("修复自动更新群组可能失败")])]),_._v(" "),t("h3",{attrs:{id:"_2022-5-21"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-5-21"}},[_._v("#")]),_._v(" 2022/5/21")]),_._v(" "),t("ul",[t("li",[_._v("修复搜番无结果时报错无正确反馈")]),_._v(" "),t("li",[_._v("解锁了windows上无法使用playwright的限制")]),_._v(" "),t("li",[_._v("修复p搜对应pid有多张图时出错,改为连续发送图片")]),_._v(" "),t("li",[_._v("修复p搜对数字的错误判断")]),_._v(" "),t("li",[_._v("修复添加商品折扣无法正确添加")]),_._v(" "),t("li",[_._v("修复了bilibili订阅直播间订阅up名称不一致的问题")]),_._v(" "),t("li",[_._v("修复原神玩家查询没开地图时报错")]),_._v(" "),t("li",[_._v("最低priority修改为 999")]),_._v(" "),t("li",[_._v("修复刷屏检测失效")]),_._v(" "),t("li",[_._v("修复刷屏检测设置命令无法生效")]),_._v(" "),t("li",[_._v("优化刷屏显示设置禁言时长显示,并改为分钟")]),_._v(" "),t("li",[_._v("修复了多连开箱无法指定武器箱")]),_._v(" "),t("li",[_._v("修复识番链接无法正确获取")]),_._v(" "),t("li",[_._v("新增真寻入群时即刻刷新权限")]),_._v(" "),t("li",[_._v("提高了微博热搜截图的等待时间")])]),_._v(" "),t("h3",{attrs:{id:"_2022-5-19"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-5-19"}},[_._v("#")]),_._v(" 2022/5/19")]),_._v(" "),t("ul",[t("li",[_._v("fix: mihoyo bbs api changed "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/357",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/357"),t("OutboundLink")],1)]),_._v(" "),t("li",[_._v("Add word_clouds "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/265",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/265"),t("OutboundLink")],1)]),_._v(" "),t("li",[_._v("Fix wrong live streamer name "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/284",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/284"),t("OutboundLink")],1)])]),_._v(" "),t("h3",{attrs:{id:"_2022-5-16"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-5-16"}},[_._v("#")]),_._v(" 2022/5/16")]),_._v(" "),t("ul",[t("li",[_._v("词条支持图片和@问题 "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/160",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/160"),t("OutboundLink")],1)])]),_._v(" "),t("h3",{attrs:{id:"_2022-5-15"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-5-15"}},[_._v("#")]),_._v(" 2022/5/15")]),_._v(" "),t("ul",[t("li",[_._v("修复了商店商品无法正确添加")]),_._v(" "),t("li",[_._v("修复了多张色图无法正确发送")])]),_._v(" "),t("h3",{attrs:{id:"_2022-5-14"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-5-14"}},[_._v("#")]),_._v(" 2022/5/14")]),_._v(" "),t("ul",[t("li",[_._v("修复B站动态生成失败的问题 "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/159",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/159"),t("OutboundLink")],1)])]),_._v(" "),t("h3",{attrs:{id:"_2022-5-11"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-5-11"}},[_._v("#")]),_._v(" 2022/5/11")]),_._v(" "),t("ul",[t("li",[_._v("fix: 更改p搜api,解决p搜无法使用的问题 "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/155",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/155"),t("OutboundLink")],1)])]),_._v(" "),t("h3",{attrs:{id:"_2022-5-9-v0-1-5-3"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-5-9-v0-1-5-3"}},[_._v("#")]),_._v(" 2022/5/9 [v0.1.5.3]")]),_._v(" "),t("ul",[t("li",[_._v("替换了疫情API")]),_._v(" "),t("li",[_._v("修复了私聊.ban/.unban出错")])]),_._v(" "),t("h3",{attrs:{id:"_2022-5-5"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-5-5"}},[_._v("#")]),_._v(" 2022/5/5")]),_._v(" "),t("ul",[t("li",[_._v("修改bilibili_sub插件在windows平台下报错 "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/153",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/153"),t("OutboundLink")],1)])]),_._v(" "),t("h3",{attrs:{id:"_2022-5-3-v0-1-5-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-5-3-v0-1-5-2"}},[_._v("#")]),_._v(" 2022/5/3 [v0.1.5.2]")]),_._v(" "),t("ul",[t("li",[_._v("商品使用函数可以添加特定参数,例如:user_id, group_id, ShopParam等以及自己提供的参数")]),_._v(" "),t("li",[_._v("添加商品注册装饰器shop_register")]),_._v(" "),t("li",[_._v("修复商品函数kwargs无法获取参数值")])]),_._v(" "),t("h2",{attrs:{id:"_2022-5-1"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-5-1"}},[_._v("#")]),_._v(" 2022/5/1")]),_._v(" "),t("ul",[t("li",[_._v("删除了"),t("code",[_._v("group_last_chat")]),_._v("插件(该功能可由"),t("code",[_._v("chat_history")]),_._v("替代")]),_._v(" "),t("li",[_._v("新增敏感词检测(全新反击系统,是时候重拳出击了")])]),_._v(" "),t("h2",{attrs:{id:"_2022-4-26"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-4-26"}},[_._v("#")]),_._v(" 2022/4/26")]),_._v(" "),t("ul",[t("li",[_._v("修复了群白名单无法正确添加")]),_._v(" "),t("li",[_._v("优化了管理员帮助图片,背景图层将位于最下层")]),_._v(" "),t("li",[_._v("修复了树脂140时不断提醒(未测试")]),_._v(" "),t("li",[_._v("新增了消息记录的消息排行")]),_._v(" "),t("li",[_._v("WebUI新增CPU,内存,磁盘监控")]),_._v(" "),t("li",[_._v("WebUI新增资源文件夹统计可视化")])]),_._v(" "),t("h2",{attrs:{id:"_2022-4-12"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-4-12"}},[_._v("#")]),_._v(" 2022/4/12")]),_._v(" "),t("ul",[t("li",[_._v("修复b了命令私聊出错")])]),_._v(" "),t("h2",{attrs:{id:"_2022-4-10-v0-1-4-7"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-4-10-v0-1-4-7"}},[_._v("#")]),_._v(" 2022/4/10 [v0.1.4.7]")]),_._v(" "),t("ul",[t("li",[_._v("新增消息记录模块")]),_._v(" "),t("li",[_._v("丰富处理请求操作提示")]),_._v(" "),t("li",[_._v("web ui新增配置项修改")])]),_._v(" "),t("h2",{attrs:{id:"_2022-4-9"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-4-9"}},[_._v("#")]),_._v(" 2022/4/9")]),_._v(" "),t("ul",[t("li",[_._v("fix: 更新问题,戳一戳图片路径问题 "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/144",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/144"),t("OutboundLink")],1)])]),_._v(" "),t("h2",{attrs:{id:"_2022-4-8"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-4-8"}},[_._v("#")]),_._v(" 2022/4/8")]),_._v(" "),t("ul",[t("li",[_._v("修复原神玩家查询")])]),_._v(" "),t("h2",{attrs:{id:"_2022-4-6"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-4-6"}},[_._v("#")]),_._v(" 2022/4/6")]),_._v(" "),t("ul",[t("li",[_._v("update search_type "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/143",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/143"),t("OutboundLink")],1)])]),_._v(" "),t("h2",{attrs:{id:"_2022-4-5-v0-1-4-6"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-4-5-v0-1-4-6"}},[_._v("#")]),_._v(" 2022/4/5 [v0.1.4.6]")]),_._v(" "),t("ul",[t("li",[_._v("修复web修改插件后帮助图片生成错误")])]),_._v(" "),t("h2",{attrs:{id:"_2022-4-4-v0-1-4-5"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-4-4-v0-1-4-5"}},[_._v("#")]),_._v(" 2022/4/4 [v0.1.4.5]")]),_._v(" "),t("ul",[t("li",[_._v("替换了bt搜索URL")]),_._v(" "),t("li",[_._v("优化使用playwright的相关代码")]),_._v(" "),t("li",[_._v("原神玩家查询新增层岩巨渊探索")]),_._v(" "),t("li",[_._v("修复原神便笺角色头像黑框")]),_._v(" "),t("li",[_._v("修复同意群聊请求错误")]),_._v(" "),t("li",[_._v("提供webui方面的api")]),_._v(" "),t("li",[_._v("新增web-ui(前端简易管理页面插件)插件")])]),_._v(" "),t("h2",{attrs:{id:"_2022-3-21"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-3-21"}},[_._v("#")]),_._v(" 2022/3/21")]),_._v(" "),t("ul",[t("li",[_._v("修复statistics_handle.py乱码")])]),_._v(" "),t("h2",{attrs:{id:"_2022-3-18-v0-1-4-4"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-3-18-v0-1-4-4"}},[_._v("#")]),_._v(" 2022/3/18 [v0.1.4.4]")]),_._v(" "),t("ul",[t("li",[_._v("修复戳一戳无法功能关闭与ban禁用")]),_._v(" "),t("li",[_._v("新增图片搜索 search_image")])]),_._v(" "),t("h2",{attrs:{id:"_2022-3-7"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-3-7"}},[_._v("#")]),_._v(" 2022/3/7")]),_._v(" "),t("ul",[t("li",[_._v("优化增删权限插件")])]),_._v(" "),t("h2",{attrs:{id:"_2022-3-6"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-3-6"}},[_._v("#")]),_._v(" 2022/3/6")]),_._v(" "),t("ul",[t("li",[_._v("修复树脂提醒无法开启")]),_._v(" "),t("li",[_._v("修复p搜图片路径错误")])]),_._v(" "),t("h2",{attrs:{id:"_2022-3-3-v0-1-4-3"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-3-3-v0-1-4-3"}},[_._v("#")]),_._v(" 2022/3/3 [v0.1.4.3]")]),_._v(" "),t("ul",[t("li",[_._v("修复手动同意群聊请求依旧退出")])]),_._v(" "),t("h2",{attrs:{id:"_2022-3-1-v0-1-4-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-3-1-v0-1-4-2"}},[_._v("#")]),_._v(" 2022/3/1 [v0.1.4.2]")]),_._v(" "),t("ul",[t("li",[_._v("0.1.4内容")])]),_._v(" "),t("h2",{attrs:{id:"_2022-2-27-v0-1-4-1"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-2-27-v0-1-4-1"}},[_._v("#")]),_._v(" 2022/2/27 [v0.1.4.1]")]),_._v(" "),t("ul",[t("li",[_._v("优化抽卡")])]),_._v(" "),t("h2",{attrs:{id:"_2022-2-25-v0-1-4"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-2-25-v0-1-4"}},[_._v("#")]),_._v(" 2022/2/25 [v0.1.4]")]),_._v(" "),t("ul",[t("li",[_._v("PIX提供配置MAX_ONCE_NUM2FORWARD:当单次发送图片超过指定张数且在群聊时,将转为合并消息")]),_._v(" "),t("li",[_._v("修复点歌无法正确发送")]),_._v(" "),t("li",[_._v("修复我有一个朋友有时文本会包含CQ码")]),_._v(" "),t("li",[_._v("修复群欢消息被动控制文本未删除 "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/124",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/124"),t("OutboundLink")],1)]),_._v(" "),t("li",[_._v("message_builder.image不再提供参数:abspath")])]),_._v(" "),t("h2",{attrs:{id:"_2022-2-23"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-2-23"}},[_._v("#")]),_._v(" 2022/2/23")]),_._v(" "),t("ul",[t("li",[_._v("插件状态将从已加载插件模块中读取")]),_._v(" "),t("li",[_._v("修复b站订阅插件订阅失败问题")]),_._v(" "),t("li",[_._v("修复重启命令无法使用")])]),_._v(" "),t("h2",{attrs:{id:"_2022-2-21-v0-1-3-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-2-21-v0-1-3-2"}},[_._v("#")]),_._v(" 2022/2/21 [v0.1.3.2]")]),_._v(" "),t("ul",[t("li",[_._v("群权限为-1时,超级用户发送的命令依旧生效")]),_._v(" "),t("li",[_._v("当群权限为-1时,被动技能也将不会发送")]),_._v(" "),t("li",[_._v("修复功能开关,b站转发解析,复读 ignore无法使用")]),_._v(" "),t("li",[_._v("修复色图下载文件名与路径错误")]),_._v(" "),t("li",[_._v("修复被动技能提醒有时无法删除控制文本")])]),_._v(" "),t("h2",{attrs:{id:"_2022-2-20-v0-1-3-1"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-2-20-v0-1-3-1"}},[_._v("#")]),_._v(" 2022/2/20 [v0.1.3.1]")]),_._v(" "),t("ul",[t("li",[_._v("修复pix下载临时文件目录错误")]),_._v(" "),t("li",[_._v("修复AI,天气,发送图片ignore导致无法使用")]),_._v(" "),t("li",[_._v("修复纯文本被动技能提醒有时无法删除控制文本")])]),_._v(" "),t("h2",{attrs:{id:"_2022-2-19-v0-1-3-nonebot-beta2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-2-19-v0-1-3-nonebot-beta2"}},[_._v("#")]),_._v(" 2022/2/19 [v0.1.3] (nonebot beta2!)")]),_._v(" "),t("ul",[t("li",[t("p",[_._v("由于nonebot升级版本,提供更新建议("),t("strong",[_._v("该次升级将会导致nonebot.beta1以下的插件无法使用")])]),_._v(" "),t("ul",[t("li",[_._v("保证services,utils,configs,plugins,basic_plugins,文件夹均为最新")]),_._v(" "),t("li",[_._v("根目录有pyproject.toml与poetry.lock")]),_._v(" "),t("li",[_._v("执行命令:\n"),t("ul",[t("li",[_._v("pip3 install poetry")]),_._v(" "),t("li",[_._v("poetry install")]),_._v(" "),t("li",[_._v("poetry shell")]),_._v(" "),t("li",[_._v("playwright install chromium")]),_._v(" "),t("li",[_._v("python3 bot.py")])])])])]),_._v(" "),t("li",[t("p",[_._v("适配nonebot.beta2")])]),_._v(" "),t("li",[t("p",[_._v("删除图片搜索 nonebot_plugin_picsearcher")])]),_._v(" "),t("li",[t("p",[_._v("替换cos api")])]),_._v(" "),t("li",[t("p",[_._v("原神签到树脂提醒新增绑定群里,在某群绑定uid就会在某群发送提醒信息(有好友则私聊,需要重新绑定uid")])]),_._v(" "),t("li",[t("p",[_._v("修改update_info.json")])]),_._v(" "),t("li",[t("p",[_._v("修复原神资源查询下载数据失败时导致报错")])]),_._v(" "),t("li",[t("p",[_._v("优化BuildImage.circle()锯齿问题 "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/109",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/109"),t("OutboundLink")],1)])]),_._v(" "),t("li",[t("p",[_._v("epic restful 替换 "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/119",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/119"),t("OutboundLink")],1)])]),_._v(" "),t("li",[t("p",[_._v("fix: 修复远古时期残留的epic推送问题 "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/122",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/122"),t("OutboundLink")],1)])])]),_._v(" "),t("h2",{attrs:{id:"_2022-2-11"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-2-11"}},[_._v("#")]),_._v(" 2022/2/11")]),_._v(" "),t("ul",[t("li",[_._v("修复pix不使用反代无法下载图片")])]),_._v(" "),t("h2",{attrs:{id:"_2022-2-10-v0-1-1"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-2-10-v0-1-1"}},[_._v("#")]),_._v(" 2022/2/10 [v0.1.1]")]),_._v(" "),t("ul",[t("li",[_._v("修复购买道具出错")])]),_._v(" "),t("h2",{attrs:{id:"_2022-2-9-v0-1"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-2-9-v0-1"}},[_._v("#")]),_._v(" 2022/2/9 [v0.1]")]),_._v(" "),t("ul",[t("li",[_._v("新增原神自动签到和手动签到")]),_._v(" "),t("li",[_._v("新增原神树脂提醒")]),_._v(" "),t("li",[_._v("新增手动重载Config.yaml命令以及重载配置定时任务(极少部分帮助或配置可能需要重启")]),_._v(" "),t("li",[_._v("修改了发送本地图库的matcher,改为on_message")]),_._v(" "),t("li",[_._v("register_use可以通过返回值发送消息")]),_._v(" "),t("li",[_._v("修复修改商品时限制时间出错")]),_._v(" "),t("li",[_._v("修复超时商品依旧可以被购买")])]),_._v(" "),t("h2",{attrs:{id:"_2022-1-16-v0-0-9-0"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-1-16-v0-0-9-0"}},[_._v("#")]),_._v(" 2022/1/16 [v0.0.9.0]")]),_._v(" "),t("ul",[t("li",[_._v("Ai提供文本敏感词过滤器")]),_._v(" "),t("li",[_._v("疫情插件适配新版腾讯API")]),_._v(" "),t("li",[_._v("修复/t回复带空格切分")]),_._v(" "),t("li",[_._v("修复原神玩家查询缺少渊下宫和稻妻家园以及角色不完全")]),_._v(" "),t("li",[_._v("修复方法 text2image 中 padding 和 font 无法对纯文本生效")]),_._v(" "),t("li",[_._v("修复签到图片中信息并未使用配置文件中的色图概率")]),_._v(" "),t("li",[_._v("修改原神大地图合成方式,改为先压缩再合成")]),_._v(" "),t("li",[_._v("bag_user弃用字段props(该字段会在下次更新删除),使用新字段property")]),_._v(" "),t("li",[_._v("数据库中所有belonging_group统一修改为group_id")]),_._v(" "),t("li",[_._v("商店将registered_use和register_goods更名为register_use何register_goods")]),_._v(" "),t("li",[_._v("商品注册提供了kwargs参数提供:\n"),t("ul",[t("li",[_._v("bot")]),_._v(" "),t("li",[_._v("event")]),_._v(" "),t("li",[_._v("特殊字段\n"),t("ul",[t("li",[_._v("“send_success_msg”(发送成功的交互信息->即:使用道具 {name} {num} 次成功)")]),_._v(" "),t("li",[_._v("“_max_num_limit”(该道具单次使用的最多个数,默认1)")])])])])])]),_._v(" "),t("h2",{attrs:{id:"_2022-1-5-v0-0-8-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2022-1-5-v0-0-8-2"}},[_._v("#")]),_._v(" 2022/1/5 [v0.0.8.2]")]),_._v(" "),t("ul",[t("li",[_._v("提供金币消费hook,可在plugins2settings.yaml中配置该功能需要消费的金币")]),_._v(" "),t("li",[_._v("商店插件将作为内置插件移动至basic_plugins")]),_._v(" "),t("li",[_._v("商店插件通过export提供了方法,不需要修改商店插件代码添加商品数据和生效方法")]),_._v(" "),t("li",[_._v("修改了hook插件顺序,主要以auth_hook为主")]),_._v(" "),t("li",[_._v("修改商店图片样式")]),_._v(" "),t("li",[_._v("取消每次启动更新城市列表(首次除外),采用定时更新,加快bot启动速度")]),_._v(" "),t("li",[_._v("取消每次启动时截取今日素材,采用调用时截取保存,加快bot启动速度")]),_._v(" "),t("li",[_._v("更新色图时当图片404时会删除并替换")]),_._v(" "),t("li",[_._v("疫情消息回复改为图片")]),_._v(" "),t("li",[_._v("修复商店折扣和限时时间无法生效")]),_._v(" "),t("li",[_._v("修复原神玩家查询尘歌壶缺少图片")])]),_._v(" "),t("h2",{attrs:{id:"_2021-12-26"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2021-12-26"}},[_._v("#")]),_._v(" 2021/12/26")]),_._v(" "),t("ul",[t("li",[_._v("修复群词条问题 空格 会被录入导致不断回复")]),_._v(" "),t("li",[_._v("修复米游社app替换api导致无法正常查询")])]),_._v(" "),t("h2",{attrs:{id:"_2021-12-24"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2021-12-24"}},[_._v("#")]),_._v(" 2021/12/24")]),_._v(" "),t("ul",[t("li",[_._v("支持国际疫情数据查询 "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/99",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/99"),t("OutboundLink")],1)])]),_._v(" "),t("h2",{attrs:{id:"_2021-12-20"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2021-12-20"}},[_._v("#")]),_._v(" 2021/12/20")]),_._v(" "),t("ul",[t("li",[_._v("只有发布小于存储时间的新动态/视频的时候才获取并推送 "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/96",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/96"),t("OutboundLink")],1)])]),_._v(" "),t("h2",{attrs:{id:"_2021-12-16-v0-0-7-0"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2021-12-16-v0-0-7-0"}},[_._v("#")]),_._v(" 2021/12/16 [v0.0.7.0]")]),_._v(" "),t("ul",[t("li",[_._v("提供了真寻群聊功能总开关和对应默认配置项,命令:休息吧 醒来")]),_._v(" "),t("li",[_._v("新增原神玩家查询,原神便笺查询")]),_._v(" "),t("li",[_._v("群功能管理提供全部开启/关闭命令:开启/关闭全部功能")]),_._v(" "),t("li",[_._v("提供主要数据自动备份,且提供自定义配置项")]),_._v(" "),t("li",[_._v("提供命令:关于,用于介绍Bot之类的")]),_._v(" "),t("li",[_._v("新增命令exec,用于执行sql语句")]),_._v(" "),t("li",[_._v('签到提供参数 "all",用于签到所有群聊')]),_._v(" "),t("li",[_._v("Ban提醒提供cd")]),_._v(" "),t("li",[_._v("本地图库提供配置项SHOW_ID,用于设置发送图片时是否显示id")]),_._v(" "),t("li",[_._v("色图和PIX提供配置项SHOW_INFO,用于设置发送图片时是否显示图片信息")]),_._v(" "),t("li",[_._v("所有被动技能提供了进群默认状态配置项")]),_._v(" "),t("li",[_._v("修复添加权限第二种添加形式无法正确添加正确的权限")]),_._v(" "),t("li",[_._v("修复签到获取好感度卡时金币不会增加")]),_._v(" "),t("li",[_._v("修复当红包数量不合法时依旧扣除金币")]),_._v(" "),t("li",[_._v("修复金币红包再次使用塞红包时无法正确退回上次未开完的金币")]),_._v(" "),t("li",[_._v("修复 滴滴滴- 只包含图片时不会发送至管理员")]),_._v(" "),t("li",[_._v("修复添加权限等级错误")]),_._v(" "),t("li",[_._v("修复群词条以bot名称为开头时无法正确触发")]),_._v(" "),t("li",[_._v("修改了权限插件加载顺序防止小概率优先加载权限插件引起报错")]),_._v(" "),t("li",[_._v("本地图库新图库会统一建立在resource/img/image_management文件夹下,如果该文件夹内未找到图库,会从上级目录查找(即:resource/img/)")])]),_._v(" "),t("h2",{attrs:{id:"_2021-12-1-v0-0-6-5-6"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2021-12-1-v0-0-6-5-6"}},[_._v("#")]),_._v(" 2021/12/1 [v0.0.6.5/6]")]),_._v(" "),t("ul",[t("li",[_._v("群权限-1时超级用户命令依旧生效")]),_._v(" "),t("li",[_._v("修复以真寻为开头的词条不会被回复")]),_._v(" "),t("li",[_._v("修复购买道具可以为负数")]),_._v(" "),t("li",[_._v("P站排行/搜图提供配置项,将略过大于指定张数的作品")]),_._v(" "),t("li",[_._v("昵称提供关键词屏蔽配置项,会将指定关键词替换为“*”")]),_._v(" "),t("li",[_._v("取消了自动更新,改为自动检测版本")]),_._v(" "),t("li",[_._v("自动更新不再覆盖config.py和移动config.yaml")])]),_._v(" "),t("h2",{attrs:{id:"_2021-11-29-v0-0-6-4"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2021-11-29-v0-0-6-4"}},[_._v("#")]),_._v(" 2021/11/29 [v0.0.6.4]")]),_._v(" "),t("ul",[t("li",[_._v("新增cos图撤回配置项")]),_._v(" "),t("li",[_._v("新增默认群权限配置项")]),_._v(" "),t("li",[_._v("修复权限等级类配置无法正常应用")])]),_._v(" "),t("h2",{attrs:{id:"_2021-11-24-v0-0-6-3"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2021-11-24-v0-0-6-3"}},[_._v("#")]),_._v(" 2021/11/24 [v0.0.6.3]")]),_._v(" "),t("ul",[t("li",[_._v("修复在线搜索色图出错")]),_._v(" "),t("li",[_._v("修复pix无法正确获取HIBIAPI")])]),_._v(" "),t("h2",{attrs:{id:"_2021-11-23-v0-0-6-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2021-11-23-v0-0-6-2"}},[_._v("#")]),_._v(" 2021/11/23 [v0.0.6.2]")]),_._v(" "),t("ul",[t("li",[_._v("替换cos API")]),_._v(" "),t("li",[_._v("提供私聊b了,即跨群b了用户")]),_._v(" "),t("li",[_._v("修复游戏抽卡导入角色失败(原神)")]),_._v(" "),t("li",[_._v("修复无Pixiv代理时报错")]),_._v(" "),t("li",[_._v("将项目中大部分aiohttp替换为httpx")]),_._v(" "),t("li",[_._v("删除了丘丘人翻译插件")]),_._v(" "),t("li",[_._v("新增群词条")]),_._v(" "),t("li",[_._v("修复游戏抽卡碧蓝航线bwiki格式更改导致获取报错")]),_._v(" "),t("li",[_._v("首次启动会生成配置文件后停止程序,配置后再次启动即可")])]),_._v(" "),t("h2",{attrs:{id:"_2021-11-18"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2021-11-18"}},[_._v("#")]),_._v(" 2021/11/18")]),_._v(" "),t("ul",[t("li",[_._v("修复超级用户无法正确拉真寻入群")])]),_._v(" "),t("h2",{attrs:{id:"_2021-11-14"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2021-11-14"}},[_._v("#")]),_._v(" 2021/11/14")]),_._v(" "),t("ul",[t("li",[_._v("修复功能总开关无法正确开启")])]),_._v(" "),t("h2",{attrs:{id:"_2021-11-12"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2021-11-12"}},[_._v("#")]),_._v(" 2021/11/12")]),_._v(" "),t("ul",[t("li",[_._v("修复PIX无法url无法正确获取")])]),_._v(" "),t("h2",{attrs:{id:"_2021-11-10"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2021-11-10"}},[_._v("#")]),_._v(" 2021/11/10")]),_._v(" "),t("ul",[t("li",[_._v("修复PIX表重复创建导致首次无法运行")]),_._v(" "),t("li",[_._v("检测Omage图库改为命令方式:检测omega图库")])]),_._v(" "),t("h2",{attrs:{id:"_2021-11-9"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2021-11-9"}},[_._v("#")]),_._v(" 2021/11/9")]),_._v(" "),t("ul",[t("li",[_._v("修复管理员帮助无法正常响应")]),_._v(" "),t("li",[_._v("修复被ban时会一直回复被ban提醒")])]),_._v(" "),t("h2",{attrs:{id:"_2021-11-5"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2021-11-5"}},[_._v("#")]),_._v(" 2021/11/5")]),_._v(" "),t("ul",[t("li",[_._v("修复ai没有图灵key时报错")]),_._v(" "),t("li",[_._v("提供图片路径resource/img/background/check")])]),_._v(" "),t("h2",{attrs:{id:"_2021-11-4"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2021-11-4"}},[_._v("#")]),_._v(" 2021/11/4")]),_._v(" "),t("ul",[t("li",[_._v("通用排行榜改用图片消息,且可以自定义排行榜人数")]),_._v(" "),t("li",[_._v("优化CreateMat排行榜数据显示")]),_._v(" "),t("li",[_._v("修复了pix更新多余参数导致失败的问题")]),_._v(" "),t("li",[_._v("修复滴滴滴-注入风险")]),_._v(" "),t("li",[_._v("修复无法正常关闭滴滴滴,戳一戳")]),_._v(" "),t("li",[_._v("添加了发送图片撤回配置项WITHDRAW_IMAGE_TIME")]),_._v(" "),t("li",[_._v("修复了天气regex文本过长时会正则匹配过久导致nb卡顿")]),_._v(" "),t("li",[_._v("message_build新增custom_forward_msg用于快捷生成转发消息")]),_._v(" "),t("li",[_._v("插件配置改为yaml存储,新增Config,用于获取和新增插件配置")]),_._v(" "),t("li",[_._v("新增 当插件加载失败时,会发送消息提醒超级用户,且在功能状态中对应失败插件写上[ERROR]")]),_._v(" "),t("li",[_._v("修复当查看-spuer插件帮助时无法正确回复")]),_._v(" "),t("li",[_._v("群内帮助图片会随群内功能开关和插件总开关变化")]),_._v(" "),t("li",[_._v("自检改为图像形式")]),_._v(" "),t("li",[_._v("更新色图删除了rar_setu,r18_rar和rar文件夹,压缩将统一在temp文件夹")]),_._v(" "),t("li",[_._v("更新色图只有在有更新数量或报错时才会提醒超级用户")]),_._v(" "),t("li",[_._v("群欢迎消息加入cd")]),_._v(" "),t("li",[_._v("加入资源管理resources_manager")]),_._v(" "),t("li",[_._v("新增 好友请求/群聊邀请 控制命令")])]),_._v(" "),t("h2",{attrs:{id:"_2021-10-15"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2021-10-15"}},[_._v("#")]),_._v(" 2021/10/15")]),_._v(" "),t("ul",[t("li",[_._v("适配了原神资源查询米游社地图返回的新格式")])]),_._v(" "),t("h2",{attrs:{id:"_2021-10-8"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2021-10-8"}},[_._v("#")]),_._v(" 2021/10/8")]),_._v(" "),t("ul",[t("li",[_._v("修复疫情省份查询失效")]),_._v(" "),t("li",[_._v("修复功能调用统计全局下统计可能发生错误")])]),_._v(" "),t("h2",{attrs:{id:"_2021-10-4"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2021-10-4"}},[_._v("#")]),_._v(" 2021/10/4")]),_._v(" "),t("ul",[t("li",[_._v("修复了功能调用统计失效问题")]),_._v(" "),t("li",[_._v("当色图库中没有色图时,会在线搜索色图而不是‘没找到符合条件的色图...’")]),_._v(" "),t("li",[_._v("快速更新权限再给超级用户发送错误日志")]),_._v(" "),t("li",[_._v("修复疫情未加载省份城市无法正常使用")])]),_._v(" "),t("h2",{attrs:{id:"_2021-10-3"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2021-10-3"}},[_._v("#")]),_._v(" 2021/10/3")]),_._v(" "),t("ul",[t("li",[_._v("对插件进行分离")]),_._v(" "),t("li",[_._v("重写了插件与限制管理器以及帮助获取")]),_._v(" "),t("li",[_._v("修改一些插件目录和数据存储目录")]),_._v(" "),t("li",[_._v("插件通用配置与限制数据将以ymal文件存储 [路径:data/configs]")]),_._v(" "),t("li",[_._v("所有商店相关操作调用统计合并为商店(包括之前已经保存的数据,会先进行备份)")]),_._v(" "),t("li",[_._v("简化了点歌的代码相关")]),_._v(" "),t("li",[_._v("修复了碧蓝航线抽卡新框导致报错无法正常初始化")]),_._v(" "),t("li",[_._v("修复了P站排行/搜图在PC端无法正常显示")]),_._v(" "),t("li",[_._v("添加了插件对超级用户是否限制的配置 ‘limit_superuser’")]),_._v(" "),t("li",[_._v("添加命令 ‘重载插件配置’,用于生效手动修改配文件")]),_._v(" "),t("li",[_._v("超级用户帮助可以添加 -super 来显示该插件的超级用户帮助,示例:帮助.ban -super")]),_._v(" "),t("li",[_._v("原神黄历改为网页截图")]),_._v(" "),t("li",[_._v("修改了鲁迅说逻辑结构")]),_._v(" "),t("li",[_._v("修改了统计图表样式,改为自定义CreateMat")]),_._v(" "),t("li",[_._v("节日红包不再被24小时限制,群内多个节日红包将会覆盖")]),_._v(" "),t("li",[_._v("当群权限为-1时,不会对群发送修改权限通知,并屏蔽此群一切命令(包括提醒)")]),_._v(" "),t("li",[_._v("修复了红包数量可以过大或为负数,红包数量大于群员数量时会修改为群员数量")]),_._v(" "),t("li",[_._v("修复了负数开箱")]),_._v(" "),t("li",[_._v("签到最低好感度设置为0.01 "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/53",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/53"),t("OutboundLink")],1)]),_._v(" "),t("li",[_._v("pip安装新依赖 ruamel.yaml")]),_._v(" "),t("li",[_._v("修复功能 EPIC "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/58",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/58"),t("OutboundLink")],1)])]),_._v(" "),t("h2",{attrs:{id:"_2021-9-10"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2021-9-10"}},[_._v("#")]),_._v(" 2021/9/10")]),_._v(" "),t("ul",[t("li",[_._v("修复撤回消息有时无法正确获取消息id")])]),_._v(" "),t("h2",{attrs:{id:"_2021-9-9"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2021-9-9"}},[_._v("#")]),_._v(" 2021/9/9")]),_._v(" "),t("ul",[t("li",[_._v("替换coser API")]),_._v(" "),t("li",[_._v("修复签到uid可能不默认为0")]),_._v(" "),t("li",[_._v("修复签到可能重复的问题")]),_._v(" "),t("li",[_._v("修复无订阅时递归出错")]),_._v(" "),t("li",[_._v("启用了plugins2info_dict, plugins2cd_dict, plugins2exists_dict配置文件,通过USE_CONFIG_FILE=True开启")]),_._v(" "),t("li",[_._v("修复涩图local_id会被固定为50")]),_._v(" "),t("li",[_._v("优化图库数量查询")]),_._v(" "),t("li",[_._v("修复原神大地图过大无法打开报错")]),_._v(" "),t("li",[_._v("修复无法显示正确的涩图上限")])]),_._v(" "),t("h2",{attrs:{id:"_2021-9-7"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2021-9-7"}},[_._v("#")]),_._v(" 2021/9/7")]),_._v(" "),t("ul",[t("li",[_._v("修改 update_info.json")]),_._v(" "),t("li",[_._v("修改 更新信息 图片大小")]),_._v(" "),t("li",[_._v("修复 查看订阅 命令 UP和番剧无法正常显示")]),_._v(" "),t("li",[_._v("修复订阅推送无法正确推送")]),_._v(" "),t("li",[_._v("修复搜图返回列表为空时无法正确回复 "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/40",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/40"),t("OutboundLink")],1)])]),_._v(" "),t("h2",{attrs:{id:"_2021-9-5"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2021-9-5"}},[_._v("#")]),_._v(" 2021/9/5")]),_._v(" "),t("ul",[t("li",[_._v("添加配置PIX_IMAGE_SIZE,调整PIX下载图片大小,当设置的图片404时,改为原图")]),_._v(" "),t("li",[_._v("新增配置DEFAULT_GROUP_LEVEL,默认群等级")]),_._v(" "),t("li",[_._v("新增超级用户功能 super ban,将屏蔽被ban用户的所有消息,指令:b了")]),_._v(" "),t("li",[_._v("b站转发解析支持纯BV号解析,且五分钟内不会解析相同url")]),_._v(" "),t("li",[_._v("俄罗斯轮盘新增 连胜/最高连胜/连败/最高连败 纪录,新增 最高连胜排行榜/最高连败排行榜")]),_._v(" "),t("li",[_._v("增加扩展图库 OmegaPixivIllusts,不想自己找图的人福音("),t("a",{attrs:{href:"https://github.com/Ailitonia",target:"_blank",rel:"noopener noreferrer"}},[_._v("Ailitonia"),t("OutboundLink")],1),_._v(" 佬的高质量精品手筛图库)("),t("a",{attrs:{href:"https://github.com/Ailitonia/omega-miya/blob/master/archive_data/db_pixiv.7z",target:"_blank",rel:"noopener noreferrer"}},[_._v("传送门"),t("OutboundLink")],1),_._v(" ),可以手动导入图库,也可以将解压文件放在bot.py同级目录重启bot")]),_._v(" "),t("li",[_._v("增加配置PIX_OMEGA_PIXIV_RATIO,PIX功能发送PIX图库和扩展图库OmegaPixivIllusts图片的比例,如果没有使用扩展图库OmegaPixivIllusts,请设置为(10, 0)")]),_._v(" "),t("li",[_._v("增加配置WITHDRAW_PIX_TIME,用于配置在开关PIX图片在群私聊的自动撤回")]),_._v(" "),t("li",[_._v("上传图库cases, 开箱 也可以连抽(未更新过没有价格)")]),_._v(" "),t("li",[_._v("新增命令 查看群白名单")]),_._v(" "),t("li",[_._v('plugins2info_dict新增键"default_status",设置加入新群时功能的默认开关状态')]),_._v(" "),t("li",[_._v("增加配置plugins2exists_dict,可自定义是否阻塞某命令同时触发多次")]),_._v(" "),t("li",[_._v("增加配置plugins2cd_dict,可自定义为命令添加cd")]),_._v(" "),t("li",[_._v("新增B站订阅(直播/番剧/UP)[测试],提供命令:添加订阅 [主播/UP/番剧] [id/链接/番名],删除订阅 [id],查看订阅")]),_._v(" "),t("li",[_._v("优化pix和色图的数据库查询")]),_._v(" "),t("li",[_._v("触发已关闭的功能的正则时不再触发ai")]),_._v(" "),t("li",[_._v("更换coser API")]),_._v(" "),t("li",[_._v("PIX搜索pid功能在群聊无法搜索PIX图库的r18和OmegaPixivIllusts的r15以及r18,超级用户除外")]),_._v(" "),t("li",[_._v("PIX单次搜索的图片张数超级用户限制为至多30张,普通用户10张")]),_._v(" "),t("li",[_._v("PIX超级用户新增-s,-r,可以通过pix -s 查看图库的涩图,pix -r查看图库的r18图,支持搜索,当然,pix图库只区分了r18和非r18,如果-s查询到不色的图也问题不大")]),_._v(" "),t("li",[_._v("优化P站排行和搜图,现在需要艾特,改为使用HIBIAPI,在群内时将使用合并消息(群聊搜图会屏蔽R-18)")]),_._v(" "),t("li",[_._v("win10下playwright相关功能无法使用,但是不再需要删除文件")]),_._v(" "),t("li",[_._v("签到大改,优化签到方式与逻辑,改为图片形式发送,有概率额外获得随机道具(好感度有加成)")]),_._v(" "),t("li",[_._v("修改撤回功能,改为回复撤回,回复发送撤回")]),_._v(" "),t("li",[_._v("更改logging为loguru")]),_._v(" "),t("li",[_._v("删除了 发送图片 中的 [N]张图[keyword] 功能")]),_._v(" "),t("li",[_._v("修复私聊 关闭[功能] 默认不为 全部 而要添加参数 ‘a’")]),_._v(" "),t("li",[_._v("修复0权限用户可以修改禁言检测相关设置")])]),_._v(" "),t("h2",{attrs:{id:"_2021-8-17"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2021-8-17"}},[_._v("#")]),_._v(" 2021/8/17")]),_._v(" "),t("ul",[t("li",[_._v("新增配置CHECK_NOTICE_INFO_CD,修改群权限,个人权限检测各种检测的提示消息cd")]),_._v(" "),t("li",[_._v("新增功能‘连续上传图片’功能,直到输入‘stop’停止")]),_._v(" "),t("li",[_._v("新增功能维护时白名单以及对应命令(白名单中的群聊不受维护限制)")]),_._v(" "),t("li",[_._v("新增ALAPI功能,微博热搜,可以通过序号来查看部分热搜内容")]),_._v(" "),t("li",[_._v("新增配置NICKNAME,偶尔也想换换名字的说(自我介绍仅当NICKNAME=真寻时生效)")]),_._v(" "),t("li",[_._v("提供 更新信息 命令,可以使群员查看更新内容(可开关,与其他功能无异,但不会被统计,该命令图片由自动更新生成)")]),_._v(" "),t("li",[_._v("超级用户可以通过私聊来对指定qq进行ban/unban")]),_._v(" "),t("li",[_._v("超级用户帮助改为图片形式")]),_._v(" "),t("li",[_._v("公开图库删除‘色图’")]),_._v(" "),t("li",[_._v("群权限检测,个人权限检测,功能开关检测合并,权限检测顺序:个人权限 > 群权限 > 插件开关 >超级用户禁用某群插件 > 超级用户限制群里插件 > 插件维护检测")]),_._v(" "),t("li",[_._v("重写群功能管理,超级用户可对群/私聊分别禁用,也可禁用指定群指定功能,新增命令‘功能状态’,超级用户关闭功能提供参数(默认ALL):group/g(群聊),private/p(私聊)")]),_._v(" "),t("li",[_._v("超级用户不会被任何权限等检测阻挡")]),_._v(" "),t("li",[_._v("不会重复复读,复读消息只会发送一次")]),_._v(" "),t("li",[_._v("b站转发解析支持b23.tv,www.bilibili.com链接,cv专栏(playwright截图,压缩倍率0.5,较慢且文字可能不清晰,后优化)")]),_._v(" "),t("li",[_._v("我有一个朋友功能,当艾特一个对象时,‘朋友’改为艾特对象的群名片或昵称")]),_._v(" "),t("li",[_._v("修复‘上传/删除/移动图片’目录不正确")]),_._v(" "),t("li",[_._v("修复天气功能,当城市名在‘天气’后时报错")]),_._v(" "),t("li",[_._v("修复配置INITIAL_SETU_PROBABILITY不生效")])]),_._v(" "),t("h2",{attrs:{id:"_2021-8-10"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2021-8-10"}},[_._v("#")]),_._v(" 2021/8/10")]),_._v(" "),t("ul",[t("li",[_._v("重复的好友请求和邀群提示在5分钟内不会重复提示")]),_._v(" "),t("li",[_._v("疫情会优先检查城市,城市省份市区重名时请添加‘市’")]),_._v(" "),t("li",[_._v("添加命令‘原神资源查找’,‘设置cookie’")]),_._v(" "),t("li",[_._v("添加配置AUTO_UPDATE_ZHENXUN,是否自动更新真寻,默认True")]),_._v(" "),t("li",[_._v("添加配置MAX_RUSSIAN_BET_GOLD,俄罗斯轮盘赌注最大金额,默认1000")]),_._v(" "),t("li",[_._v("检查更新真寻定时任务时间改为12 : 00")]),_._v(" "),t("li",[_._v("添加功能能不能好好说话(nbnhhsh)")]),_._v(" "),t("li",[_._v("添加功能随机roll,无参为数字,有参为随机参数")]),_._v(" "),t("li",[_._v("添加linux重启脚本以及重启命令‘重启’(建议首次生成restart.sh先查看命令是否正确)")]),_._v(" "),t("li",[_._v("修复管理员功能的权限检测")]),_._v(" "),t("li",[_._v("修复丢人爬开关")])]),_._v(" "),t("h2",{attrs:{id:"_2021-8-6"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2021-8-6"}},[_._v("#")]),_._v(" 2021/8/6")]),_._v(" "),t("ul",[t("li",[_._v("天气查询会优先遍历城市")]),_._v(" "),t("li",[_._v("添加自动更新真寻命令")])]),_._v(" "),t("h4",{attrs:{id:"如果你的版本为-2021-8-4-可以直接复制plugins-check-zhenxun-update后-通过指令来更新真寻"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#如果你的版本为-2021-8-4-可以直接复制plugins-check-zhenxun-update后-通过指令来更新真寻"}},[_._v("#")]),_._v(" 如果你的版本为 2021/8/4,可以直接复制plugins/check_zhenxun_update后,通过指令来更新真寻")]),_._v(" "),t("h2",{attrs:{id:"_2021-8-4"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2021-8-4"}},[_._v("#")]),_._v(" 2021/8/4")]),_._v(" "),t("ul",[t("li",[_._v("修改天气与疫情城市数据,改为api获取,丰富疫情的回复消息")]),_._v(" "),t("li",[_._v("原神资源查询,大地图将被压缩至9M,且启动时当大地图存在时不再自动更新地图")]),_._v(" "),t("li",[_._v("下载数据库内色图时将直接存储至_setu,不再存储至临时文件")]),_._v(" "),t("li",[_._v("重复的好友请求或邀请请求在一定时间不会重复发送提醒")]),_._v(" "),t("li",[_._v("添加每日自动清理临时图片定时任务")]),_._v(" "),t("li",[_._v("修复金币排行显示")]),_._v(" "),t("li",[_._v("修复无法正常关闭戳一戳功能")])]),_._v(" "),t("h2",{attrs:{id:"_2021-7-30"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2021-7-30"}},[_._v("#")]),_._v(" 2021/7/30")]),_._v(" "),t("ul",[t("li",[_._v("重构代码,进行优化,添加注释,删除冗余代码,降低代码耦合")]),_._v(" "),t("li",[_._v("添加功能:PIX(一套快捷的pixiv存图命令,自建图库存储url等信息?意在获取自己或群友xp的图)")]),_._v(" "),t("li",[_._v("添加功能:清理临时图片文件(temp/rar/r18_rar文件夹)")]),_._v(" "),t("li",[_._v("添加额外定时任务(5分钟检测一次),解决加入新群时无法及时为管理员提供权限")]),_._v(" "),t("li",[_._v("添加配置ALAPI_AI_CHECK,开关AI回复文本检测")]),_._v(" "),t("li",[_._v("添加配置IMPORT_DEFAULT_SHOP_GOODS,控制是否导入内置的三个商品(好感度加持卡ⅠⅡⅢ)")]),_._v(" "),t("li",[_._v("添加配置ONLY_USE_LOCAL_SETU,仅仅使用本地色图(有的话),提升速度,但无法在线搜索色图和保存链接")]),_._v(" "),t("li",[_._v("添加配置WITHDRAW_SETU_TIME,是否需要延迟撤回色图,可配置仅群里,私聊或全部")]),_._v(" "),t("li",[_._v("好友请求,入群请求,滴滴滴-,/t,被踢出群提醒,的提示消息更加丰富")]),_._v(" "),t("li",[_._v("彻底重写原神资源查找,添加规划路线(路线残缺缺缺缺版,有空补)添加命令‘更新原神资源信息’,强制更新地图等资源")]),_._v(" "),t("li",[_._v("优化色图和P站排行/搜图检测用户是否正在触发命令代码")]),_._v(" "),t("li",[_._v("当群最后发言大于36小时,也会关闭广播通知")]),_._v(" "),t("li",[_._v("功能维护时超级用户依然可以调用(苦了谁都不能苦了自己)")]),_._v(" "),t("li",[_._v("修复获取赛马娘UP公告")]),_._v(" "),t("li",[_._v("重写 色图/更新色图\n"),t("ul",[t("li",[_._v("色图数据存储改为数据库,启动时会更新之前的色图数据(有的话),更新完毕后会删除原数据文件,如果需要保留请提前备份,")]),_._v(" "),t("li",[_._v("lolicon api改为v2")]),_._v(" "),t("li",[_._v("取消r18次数限制")]),_._v(" "),t("li",[_._v("单次搜索至多保存100条链接")]),_._v(" "),t("li",[_._v("添加定时撤回")]),_._v(" "),t("li",[_._v("暂时取消上传/删除色图")])])]),_._v(" "),t("li"),_._v(" "),t("li",[_._v("更新建议(不要替换你的data和resources文件夹!)\n"),t("ul",[t("li",[_._v("删除configs,plugins,services,utils,models文件夹重新clone")]),_._v(" "),t("li",[_._v("删除多余文件夹,resources/img/genshin/seek_god_eye")]),_._v(" "),t("li",[_._v("清空resources/img/genshin/genshin_icon文件夹,仅保留box.png和box_alpha.png")]),_._v(" "),t("li",[_._v("替换bot.py")])])])]),_._v(" "),t("h2",{attrs:{id:"_2021-7-27"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2021-7-27"}},[_._v("#")]),_._v(" 2021/7/27")]),_._v(" "),t("ul",[t("li",[_._v("原神今日素材改为单张截图+拼图,更新文件utils/img_utils.py及plugins/genshin/material_remind/"),t("strong",[_._v("init")]),_._v(".py")])]),_._v(" "),t("h2",{attrs:{id:"_2021-7-26"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2021-7-26"}},[_._v("#")]),_._v(" 2021/7/26")]),_._v(" "),t("ul",[t("li",[_._v("修复原神今日素材稻妻城开放后截图不完整的问题")])]),_._v(" "),t("h2",{attrs:{id:"_2021-7-14"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2021-7-14"}},[_._v("#")]),_._v(" 2021/7/14")]),_._v(" "),t("ul",[t("li",[_._v("原神今日素材自动更新时间由 00:01 -> 04:01 "),t("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/issues/7",target:"_blank",rel:"noopener noreferrer"}},[_._v("#issues7"),t("OutboundLink")],1)]),_._v(" "),t("li",[_._v("小问题的修复和优化")])]),_._v(" "),t("h2",{attrs:{id:"_2021-7-12"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2021-7-12"}},[_._v("#")]),_._v(" 2021/7/12")]),_._v(" "),t("ul",[t("li",[_._v("修复开箱功能单抽出金时存储格式错误导致 ‘我的金色’ 无法正常发送图片")]),_._v(" "),t("li",[_._v("小问题的修复和优化")])]),_._v(" "),t("h2",{attrs:{id:"_2021-7-6"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2021-7-6"}},[_._v("#")]),_._v(" 2021/7/6")]),_._v(" "),t("ul",[t("li",[_._v("识番功能 trace.moe 替换为新API(旧API已失效)")]),_._v(" "),t("li",[_._v("小问题的修复和优化")])]),_._v(" "),t("h2",{attrs:{id:"_2021-6-30"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2021-6-30"}},[_._v("#")]),_._v(" 2021/6/30")]),_._v(" "),t("ul",[t("li",[_._v("将plugin2name和plugin2level合并为plugin2info")]),_._v(" "),t("li",[_._v("util改为utils(。。!)")]),_._v(" "),t("li",[_._v("修复当用户发送速度极快时开箱会突破每日限制")]),_._v(" "),t("li",[_._v("新增功能:通过PID获取图片")]),_._v(" "),t("li",[_._v("发送图片新增功能:搜索图片")]),_._v(" "),t("li",[_._v("功能统计可视化")]),_._v(" "),t("li",[_._v("新增命令:好感度总排行")]),_._v(" "),t("li",[_._v('原神每日素材改为从"可莉特调"截图,提供命令‘更新原神每日素材’和定时任务')]),_._v(" "),t("li",[_._v("修复月功能统计错误的问题")])]),_._v(" "),t("h2",{attrs:{id:"_2021-6-24"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2021-6-24"}},[_._v("#")]),_._v(" 2021/6/24")]),_._v(" "),t("ul",[t("li",[_._v("添加了一些ALAPI:网易云热评,获取b站视频封面,古诗(需要填写ALAPI_TOKEN)")]),_._v(" "),t("li",[_._v("如果填写了ALAPI_TOKEN,将会检测备用接口回复的文本是否合规")]),_._v(" "),t("li",[_._v("优化了色图,当搜索色图下载失败时,会从本地色图库中发送相关tag色图")]),_._v(" "),t("li",[_._v("当网易云点歌繁忙时会尝试多次点歌")])]),_._v(" "),t("h2",{attrs:{id:"_2021-6-23"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2021-6-23"}},[_._v("#")]),_._v(" 2021/6/23")]),_._v(" "),t("ul",[t("li",[_._v("添加功能:群权限(所以说内鬼都快爬,可以在configs/config.py中修改各个功能的权限等级)")]),_._v(" "),t("li",[_._v("优化了数据统计,将以7天,30天为周期,为将来更方便实现数据可视化")]),_._v(" "),t("li",[_._v("更新坎公骑冠剑UP卡池")]),_._v(" "),t("li",[_._v("修复赛马娘UP卡池")]),_._v(" "),t("li",[_._v("修复一些小问题")])]),_._v(" "),t("h2",{attrs:{id:"_2021-6-18"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2021-6-18"}},[_._v("#")]),_._v(" 2021/6/18")]),_._v(" "),t("ul",[t("li",[_._v("修复p站排行,搜图因网络问题爆炸时没有具体回复")]),_._v(" "),t("li",[_._v("更换色图显示方式为 id,title,author,pid")]),_._v(" "),t("li",[_._v("修复修改商品后商品顺序改变")]),_._v(" "),t("li",[_._v("滴滴滴- 和 /t支持图片回复")]),_._v(" "),t("li",[_._v("将/t回复更加简单(可以通过序号),且可以直接发送群")]),_._v(" "),t("li",[_._v("修复bt功能无法交互")])]),_._v(" "),t("h2",{attrs:{id:"_2021-6-17"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2021-6-17"}},[_._v("#")]),_._v(" 2021/6/17")]),_._v(" "),t("ul",[t("li",[_._v("修复p站排行,搜图因网络问题爆炸时没有具体回复")]),_._v(" "),t("li",[_._v("更换色图显示方式为 id,title,author,pid")])]),_._v(" "),t("h2",{attrs:{id:"_2021-6-15"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2021-6-15"}},[_._v("#")]),_._v(" 2021/6/15")]),_._v(" "),t("ul",[t("li",[_._v("修改了‘帮助’功能,具体为‘帮助 指令名’,未指定指令名时则为查看全部功能列表")]),_._v(" "),t("li",[_._v("修改了色图的存储数据格式")]),_._v(" "),t("li",[_._v("色图功能搜索的色图改为随机从urls中随机抽取")]),_._v(" "),t("li",[_._v("将商品数据存储入数据库,提供 '增加/删除/修改商品' 指令")]),_._v(" "),t("li",[_._v("商店列表图片不再使用固定背景图,改为直接拼图")]),_._v(" "),t("li",[_._v("增加功能:俄罗斯轮盘/胜场排行/败场排行/欧洲人排行/慈善家排行")]),_._v(" "),t("li",[_._v("增加功能:金币红包(节日红包与群红包相互独立)")]),_._v(" "),t("li",[_._v("金币排行")]),_._v(" "),t("li",[_._v("重写一个朋友插件")]),_._v(" "),t("li",[_._v("其他微小调整")])]),_._v(" "),t("h2",{attrs:{id:"_2021-6-4"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2021-6-4"}},[_._v("#")]),_._v(" 2021/6/4")]),_._v(" "),t("ul",[t("li",[_._v("重写BT功能")]),_._v(" "),t("li",[_._v("进行一些BUG修复和微小调整")]),_._v(" "),t("li",[_._v("添加撤回功能"),t("a",{attrs:{href:"https://github.com/MeetWq/nonebot-plugin-withdraw",target:"_blank",rel:"noopener noreferrer"}},[_._v("nonebot-plugin-withdraw"),t("OutboundLink")],1)]),_._v(" "),t("li",[_._v("为色图功能添加额外的 上传色图 和 删除色图方法(影响hash)")])]),_._v(" "),t("h2",{attrs:{id:"_2021-5-26"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#_2021-5-26"}},[_._v("#")]),_._v(" 2021/5/26")]),_._v(" "),t("ul",[t("li",[_._v("将语录源更换为一言api")])])])}),[],!1,null,null,null);t.default=i.exports}}]); \ No newline at end of file diff --git a/assets/js/47.efc7b6ea.js b/assets/js/47.efc7b6ea.js deleted file mode 100644 index d2435d611..000000000 --- a/assets/js/47.efc7b6ea.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[47],{645:function(s,a,t){"use strict";t.r(a);var e=t(12),n=Object(e.a)({},(function(){var s=this,a=s.$createElement,t=s._self._c||a;return t("ContentSlotsDistributor",{attrs:{"slot-key":s.$parent.slotKey}},[t("h1",{attrs:{id:"恭喜-经历困难之后到了最后一步-那就是持久化运行-0v"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#恭喜-经历困难之后到了最后一步-那就是持久化运行-0v"}},[s._v("#")]),s._v(" 恭喜!经历困难之后到了最后一步,那就是持久化运行 0v<")]),s._v(" "),t("div",{staticClass:"custom-block warning"},[t("p",{staticClass:"title"}),t("p",[s._v("本节教程为Linux持久化运行教程,Windows可直接跳过")])]),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"title"}),t("p",[s._v("教程中使用的是较为简单的Screen,如果你有其他工具的使用经验,可以跳过本节。")])]),t("h1",{attrs:{id:"即刻开始-以ubuntu为例"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#即刻开始-以ubuntu为例"}},[s._v("#")]),s._v(" 即刻开始(以Ubuntu为例)")]),s._v(" "),t("p",[s._v("1.安装screen")]),s._v(" "),t("div",{staticClass:"language-bash line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[t("span",{pre:!0,attrs:{class:"token function"}},[s._v("sudo")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token function"}},[s._v("apt")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token function"}},[s._v("install")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token function"}},[s._v("screen")]),s._v("\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br")])]),t("p",[s._v("2.创建会话")]),s._v(" "),t("div",{staticClass:"language-bash line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[t("span",{pre:!0,attrs:{class:"token function"}},[s._v("screen")]),s._v(" -S zhenxun\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br")])]),t("p",[s._v("3.进入真寻目录")]),s._v(" "),t("div",{staticClass:"language-bash line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[t("span",{pre:!0,attrs:{class:"token builtin class-name"}},[s._v("cd")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("..")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("..")]),s._v(".\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br")])]),t("p",[s._v("4.启动!")]),s._v(" "),t("div",{staticClass:"language-bash line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[s._v("poetry shell "),t("span",{pre:!0,attrs:{class:"token comment"}},[s._v("# 进入虚拟环境")]),s._v("\npython3 bot.py\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br"),t("span",{staticClass:"line-number"},[s._v("2")]),t("br")])]),t("h1",{attrs:{id:"如果退出或关闭后"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#如果退出或关闭后"}},[s._v("#")]),s._v(" 如果退出或关闭后")]),s._v(" "),t("div",{staticClass:"custom-block tip"},[t("p",{staticClass:"title"}),t("p",[s._v("使用以下命令恢复会话")]),s._v(" "),t("div",{staticClass:"language-bash line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-bash"}},[t("code",[t("span",{pre:!0,attrs:{class:"token function"}},[s._v("screen")]),s._v(" -r zhenxun\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br")])])])])}),[],!1,null,null,null);a.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/48.0ea34501.js b/assets/js/48.0ea34501.js deleted file mode 100644 index b495bd932..000000000 --- a/assets/js/48.0ea34501.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[48],{649:function(_,t,v){"use strict";v.r(t);var r=v(12),i=Object(r.a)({},(function(){var _=this,t=_.$createElement,v=_._self._c||t;return v("ContentSlotsDistributor",{attrs:{"slot-key":_.$parent.slotKey}},[v("h3",{attrs:{id:"_2022-9-19"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-9-19"}},[_._v("#")]),_._v(" 2022/9/19")]),_._v(" "),v("ul",[v("li",[_._v("更换bilibili_sub获取用户昵称用的API&尝试修了一下get_video() "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/1097",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/1097"),v("OutboundLink")],1)]),_._v(" "),v("li",[_._v("修复csgo每日开箱可以多开一次")])]),_._v(" "),v("h3",{attrs:{id:"_2022-9-18"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-9-18"}},[_._v("#")]),_._v(" 2022/9/18")]),_._v(" "),v("ul",[v("li",[_._v("修复 bilireq 版本过低导致 B 站视频解析错误 "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/1096",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/1090"),v("OutboundLink")],1)])]),_._v(" "),v("h3",{attrs:{id:"_2022-9-16"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-9-16"}},[_._v("#")]),_._v(" 2022/9/16")]),_._v(" "),v("ul",[v("li",[_._v("fix: bilibili_sub, azur_draw_card "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/1090",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/1090"),v("OutboundLink")],1)]),_._v(" "),v("li",[_._v("修复原神资源查询查询完毕后图片存储错误")]),_._v(" "),v("li",[_._v("b站订阅发送 与 b站订阅 使用相同开关,即:关闭b站订阅")])]),_._v(" "),v("h3",{attrs:{id:"_2022-9-10"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-9-10"}},[_._v("#")]),_._v(" 2022/9/10")]),_._v(" "),v("ul",[v("li",[_._v("自定义群欢迎消息参数不完全时提示报错")]),_._v(" "),v("li",[_._v("修改bt插件的url地址 "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/1067",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/1067"),v("OutboundLink")],1)])]),_._v(" "),v("h3",{attrs:{id:"_2022-9-8"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-9-8"}},[_._v("#")]),_._v(" 2022/9/8")]),_._v(" "),v("ul",[v("li",[_._v("添加插件数据初始化判断")])]),_._v(" "),v("h3",{attrs:{id:"_2022-9-4"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-9-4"}},[_._v("#")]),_._v(" 2022/9/4")]),_._v(" "),v("ul",[v("li",[_._v("旧词条提供图片迁移(需要重新获取old_model文件,并将数据库中user_qq为0的数据删除)")])]),_._v(" "),v("h3",{attrs:{id:"_2022-9-3"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-9-3"}},[_._v("#")]),_._v(" 2022/9/3")]),_._v(" "),v("ul",[v("li",[_._v("原神玩家查询增加须弥地区 "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/1053",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/1053"),v("OutboundLink")],1)]),_._v(" "),v("li",[_._v("av号覆盖全面,且修复av号链接 "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/1033",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/1033"),v("OutboundLink")],1)]),_._v(" "),v("li",[_._v("修复词条含有CQ回答的模糊匹配无法被解析")]),_._v(" "),v("li",[_._v("禁言检测图片在内存中获取图片hash")]),_._v(" "),v("li",[_._v("B站订阅在群里中任意群管理员可以统一管理(原来为管理员1无法删除管理员2的订阅)")]),_._v(" "),v("li",[_._v("修复原神资源查询地图api数据变更导致更新的地图不完全")])]),_._v(" "),v("h3",{attrs:{id:"_2022-8-27"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-8-27"}},[_._v("#")]),_._v(" 2022/8/27")]),_._v(" "),v("ul",[v("li",[_._v("修复签到积分双倍后,日志记录获得积分变4倍问题 "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/1044",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/1044"),v("OutboundLink")],1)])]),_._v(" "),v("h3",{attrs:{id:"_2022-8-26"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-8-26"}},[_._v("#")]),_._v(" 2022/8/26")]),_._v(" "),v("ul",[v("li",[_._v("修复群管理员无法添加词条")]),_._v(" "),v("li",[_._v('修复词条关键词"问"前空格问题')])]),_._v(" "),v("h3",{attrs:{id:"_2022-8-23"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-8-23"}},[_._v("#")]),_._v(" 2022/8/23")]),_._v(" "),v("ul",[v("li",[_._v("修了下模糊匹配 issue#1026 "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/1026",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/1026"),v("OutboundLink")],1)])]),_._v(" "),v("h3",{attrs:{id:"_2022-8-22"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-8-22"}},[_._v("#")]),_._v(" 2022/8/22")]),_._v(" "),v("ul",[v("li",[_._v("修复首次安装时词条旧表出错(因为根本就没有这张表!)")]),_._v(" "),v("li",[_._v("取消配置替换定时任务,统一存储")]),_._v(" "),v("li",[_._v("对米游社cookie进行判断,整合米游社签到信息 "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/1014",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/1014"),v("OutboundLink")],1)]),_._v(" "),v("li",[_._v("修正尘歌壶和质变仪图片获取地址 "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/1010",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/1010"),v("OutboundLink")],1)]),_._v(" "),v("li",[_._v("修复词库问答 "),v("strong",[_._v("很多")]),_._v(" 问题"),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/1012",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/1012"),v("OutboundLink")],1)])]),_._v(" "),v("h3",{attrs:{id:"_2022-8-21-v0-1-6-3"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-8-21-v0-1-6-3"}},[_._v("#")]),_._v(" 2022/8/21 [v0.1.6.3]")]),_._v(" "),v("ul",[v("li",[_._v("重构群词条,改为词库Plus,增加 精准|模糊|正则 问题匹配,问题与回答均支持at,image,face,超级用户额外提供 全局|私聊 词库设置,数据迁移目前只提供了问题和回答都是纯文本的词条")]),_._v(" "),v("li",[_._v("修复b站转发解析av号无法解析")]),_._v(" "),v("li",[_._v("B站订阅直播订阅支持短号")]),_._v(" "),v("li",[_._v("开箱提供重置开箱命令,重置今日所有开箱数据(重置次数,并不会删除今日已开箱记录)")]),_._v(" "),v("li",[_._v("提供全局字典GDict,通过from utils.manager import GDict导入")]),_._v(" "),v("li",[_._v("适配omega 13w张图的数据结构表(建议删表重导)")]),_._v(" "),v("li",[_._v("除首次启动外将配置替换加入单次定时任务,加快启动速度")]),_._v(" "),v("li",[_._v("fix: WordBank.check() "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/1008",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/1008"),v("OutboundLink")],1)]),_._v(" "),v("li",[_._v("改进插件 "),v("code",[_._v("我有一个朋友")]),_._v(",避免触发过于频繁 "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/1001",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/1001"),v("OutboundLink")],1)]),_._v(" "),v("li",[_._v("原神便笺新增洞天宝钱和参量质变仪提示 "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/1005",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/1005"),v("OutboundLink")],1)]),_._v(" "),v("li",[_._v("新增米游社签到功能,自动领取(白嫖)米游币 "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/991",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/991"),v("OutboundLink")],1)])]),_._v(" "),v("h3",{attrs:{id:"_2022-8-14"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-8-14"}},[_._v("#")]),_._v(" 2022/8/14")]),_._v(" "),v("ul",[v("li",[_._v("修复epic未获取到时间时出错")]),_._v(" "),v("li",[_._v("修复订阅主播时动态获取的id是直播间id")])]),_._v(" "),v("h3",{attrs:{id:"_2022-8-8"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-8-8"}},[_._v("#")]),_._v(" 2022/8/8")]),_._v(" "),v("ul",[v("li",[_._v("修复赛马娘重载卡池失败的问题 "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/969",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/969"),v("OutboundLink")],1)])]),_._v(" "),v("h3",{attrs:{id:"_2022-8-3"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-8-3"}},[_._v("#")]),_._v(" 2022/8/3")]),_._v(" "),v("ul",[v("li",[_._v("修复 bili动态链接在投稿视频时URL和分割线连在一起 "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/961",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/951"),v("OutboundLink")],1)]),_._v(" "),v("li",[_._v("更新 Epic 免费游戏商城链接拼接规则 "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/957",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/957"),v("OutboundLink")],1)])]),_._v(" "),v("h3",{attrs:{id:"_2022-8-6"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-8-6"}},[_._v("#")]),_._v(" 2022/8/6")]),_._v(" "),v("ul",[v("li",[_._v("修复了原神自动签到返回invalid request的问题,新增查看我的cookie命令 "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/971",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/971"),v("OutboundLink")],1)])]),_._v(" "),v("h3",{attrs:{id:"_2022-7-31"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-7-31"}},[_._v("#")]),_._v(" 2022/7/31")]),_._v(" "),v("ul",[v("li",[_._v("对nonebot.beta4中PluginMeta进行解析")]),_._v(" "),v("li",[_._v("修改webui元祖类型无法正确转换类型")]),_._v(" "),v("li",[_._v("查看订阅以图片形式发送")]),_._v(" "),v("li",[_._v("修复pix无图时不会提醒而是出错")])]),_._v(" "),v("h3",{attrs:{id:"_2022-7-30"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-7-30"}},[_._v("#")]),_._v(" 2022/7/30")]),_._v(" "),v("ul",[v("li",[_._v("替换了cos和bt的url "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/951",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/951"),v("OutboundLink")],1)]),_._v(" "),v("li",[_._v("发言记录统计添加日消息统计 "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/953",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/953"),v("OutboundLink")],1)])]),_._v(" "),v("h3",{attrs:{id:"_2022-7-24-v0-1-6-2"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-7-24-v0-1-6-2"}},[_._v("#")]),_._v(" 2022/7/24 [v0.1.6.2]")]),_._v(" "),v("ul",[v("li",[_._v("订阅up动态提供直链")])]),_._v(" "),v("h3",{attrs:{id:"_2022-7-23"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-7-23"}},[_._v("#")]),_._v(" 2022/7/23")]),_._v(" "),v("ul",[v("li",[_._v("优化开箱次数判断")])]),_._v(" "),v("h3",{attrs:{id:"_2022-7-16"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-7-16"}},[_._v("#")]),_._v(" 2022/7/16")]),_._v(" "),v("ul",[v("li",[_._v("cos提供连发命令")]),_._v(" "),v("li",[_._v("修复B站视频解析中b23解析错误")])]),_._v(" "),v("h3",{attrs:{id:"_2022-7-13"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-7-13"}},[_._v("#")]),_._v(" 2022/7/13")]),_._v(" "),v("ul",[v("li",[_._v("B站订阅提供配置项"),v("code",[_._v("LIVE_MSG_AT_ALL")]),_._v(","),v("code",[_._v("UP_MSG_AT_ALL")]),_._v(":控制UP动态投稿和直播是否AT全体")]),_._v(" "),v("li",[_._v("修改了Omega图库检测的数据库文件名")]),_._v(" "),v("li",[_._v("game_utils提供了Game类")])]),_._v(" "),v("h3",{attrs:{id:"_2022-7-7"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-7-7"}},[_._v("#")]),_._v(" 2022/7/7")]),_._v(" "),v("ul",[v("li",[_._v("微博热搜选择单条热搜时也会检测时效性 "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/891",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/891"),v("OutboundLink")],1)])]),_._v(" "),v("h3",{attrs:{id:"_2022-7-4"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-7-4"}},[_._v("#")]),_._v(" 2022/7/4")]),_._v(" "),v("ul",[v("li",[_._v("修复商品未设置限购时无法购买")]),_._v(" "),v("li",[_._v("修复B站订阅UP动态 "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/886",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/886"),v("OutboundLink")],1)]),_._v(" "),v("li",[_._v("修复色图命令带tag时配置项"),v("code",[_._v("MAX_ONCE_NUM2FORWARD")]),_._v("无法生效")])]),_._v(" "),v("h3",{attrs:{id:"_2022-7-3-v0-1-6-1"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-7-3-v0-1-6-1"}},[_._v("#")]),_._v(" 2022/7/3 [v0.1.6.1]")]),_._v(" "),v("ul",[v("li",[_._v("BagUser提供方法"),v("code",[_._v("check_props")]),_._v("方法,用于判断用户是否含有该道具并是否使用")]),_._v(" "),v("li",[_._v("优化商品显示图片,提供限制,限购,折扣提示")]),_._v(" "),v("li",[_._v("修复图库内图片无法被连续删除的问题 "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/879",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/879"),v("OutboundLink")],1)]),_._v(" "),v("li",[_._v("色图提供配置项"),v("code",[_._v("MAX_ONCE_NUM2FORWARD")]),_._v(":群聊中单次发送图片数量达到指定时使用合并转发")]),_._v(" "),v("li",[_._v("优化修复了商品修改命令")]),_._v(" "),v("li",[_._v("B站订阅UP动态改为详情页截图")])]),_._v(" "),v("h3",{attrs:{id:"_2022-6-28"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-6-28"}},[_._v("#")]),_._v(" 2022/6/28")]),_._v(" "),v("ul",[v("li",[_._v("修复色图插件api修改无法搜索图片 "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/866",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/866"),v("OutboundLink")],1)])]),_._v(" "),v("h3",{attrs:{id:"_2022-6-26"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-6-26"}},[_._v("#")]),_._v(" 2022/6/26")]),_._v(" "),v("ul",[v("li",[_._v("替换了bt URL")]),_._v(" "),v("li",[_._v("PIX当使用pid查询图片时,会发送该pid下所有图片")]),_._v(" "),v("li",[_._v("商店提供了每日购买次数限制")])]),_._v(" "),v("h3",{attrs:{id:"_2022-6-24"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-6-24"}},[_._v("#")]),_._v(" 2022/6/24")]),_._v(" "),v("ul",[v("li",[_._v("对WSL虚拟机 代理 添加写法 "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/847",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/847"),v("OutboundLink")],1)])]),_._v(" "),v("h3",{attrs:{id:"_2022-6-21"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-6-21"}},[_._v("#")]),_._v(" 2022/6/21")]),_._v(" "),v("ul",[v("li",[_._v("update parse_bilibili "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/840",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/840"),v("OutboundLink")],1)])]),_._v(" "),v("h3",{attrs:{id:"_2022-6-19-v0-1-6-0"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-6-19-v0-1-6-0"}},[_._v("#")]),_._v(" 2022/6/19 [v0.1.6.0]")]),_._v(" "),v("ul",[v("li",[_._v("暂时使用hook修复webui中plugins2setting修改时会改变plugins2setting.cmd为字符串")]),_._v(" "),v("li",[_._v("修复原神树脂重复提醒的bug "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/828",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/828"),v("OutboundLink")],1)]),_._v(" "),v("li",[_._v("词条优化问题展示,修改含机器人昵称和@逻辑 "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/835",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/835"),v("OutboundLink")],1)])]),_._v(" "),v("h3",{attrs:{id:"_2022-6-18"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-6-18"}},[_._v("#")]),_._v(" 2022/6/18")]),_._v(" "),v("ul",[v("li",[_._v("修复昵称系统"),v("code",[_._v("BLACK_WORD")]),_._v("为空时造成报错")]),_._v(" "),v("li",[_._v("修复特殊头像时背景透明化出错")]),_._v(" "),v("li",[_._v("修复text2image纯文本时换行时颜色不统一")]),_._v(" "),v("li",[_._v("优化webUI,当有插件出错时不会影响其他插件显示")]),_._v(" "),v("li",[_._v("优化Config类型注释 "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/830",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/830"),v("OutboundLink")],1)]),_._v(" "),v("li",[_._v("优化browser")])]),_._v(" "),v("h3",{attrs:{id:"_2022-6-17"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-6-17"}},[_._v("#")]),_._v(" 2022/6/17")]),_._v(" "),v("ul",[v("li",[_._v("修复wordbank的一些小问题 @pull/820")])]),_._v(" "),v("h3",{attrs:{id:"_2022-6-14"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-6-14"}},[_._v("#")]),_._v(" 2022/6/14")]),_._v(" "),v("ul",[v("li",[_._v("AsyncHttpx提供可关闭 ssl 验证参数 "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/812",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/812"),v("OutboundLink")],1)]),_._v(" "),v("li",[_._v("fix: 自动更新群组 "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/810",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/810"),v("OutboundLink")],1)]),_._v(" "),v("li",[_._v("fix: 修复添加词条时对answer中图片的处理 "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/806",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/806"),v("OutboundLink")],1)]),_._v(" "),v("li",[_._v("修复pix中指定num无法生效")]),_._v(" "),v("li",[_._v("替换了bt URL")])]),_._v(" "),v("h3",{attrs:{id:"_2022-6-13"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-6-13"}},[_._v("#")]),_._v(" 2022/6/13")]),_._v(" "),v("ul",[v("li",[_._v("Windows 重启适配 "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/804",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/804"),v("OutboundLink")],1)]),_._v(" "),v("li",[_._v("色图等提供修改md5方法 "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/800",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/800"),v("OutboundLink")],1)]),_._v(" "),v("li",[_._v("webui中token.json文件写入补充 "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/798",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/798"),v("OutboundLink")],1)]),_._v(" "),v("li",[_._v("修复识图某些图片可能会出错")])]),_._v(" "),v("h3",{attrs:{id:"_2022-6-11"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-6-11"}},[_._v("#")]),_._v(" 2022/6/11")]),_._v(" "),v("ul",[v("li",[_._v("pix当只有一个tag时且为数字时可以通过添加'#'防止判定为数量")])]),_._v(" "),v("h3",{attrs:{id:"_2022-6-9"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-6-9"}},[_._v("#")]),_._v(" 2022/6/9")]),_._v(" "),v("ul",[v("li",[_._v("修复b站订阅同群二人以上相同订阅时发送多次信息")]),_._v(" "),v("li",[_._v("修复超级用户帮助中缺少了 ‘插件商店’ 相关帮助")]),_._v(" "),v("li",[_._v("昵称系统提供了详细帮助")])]),_._v(" "),v("h3",{attrs:{id:"_2022-6-5-v0-1-5-9"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-6-5-v0-1-5-9"}},[_._v("#")]),_._v(" 2022/6/5 [v0.1.5.9]")]),_._v(" "),v("ul",[v("li",[_._v("webui修复plugin2setting中cmd从list转变为str")]),_._v(" "),v("li",[_._v("当命令"),v("code",[_._v("我的金币")]),_._v("被风控时将以图片形式发送")]),_._v(" "),v("li",[_._v("fix gold_redbag "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/763",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/763"),v("OutboundLink")],1)]),_._v(" "),v("li",[_._v("金币红包功能增加更多封面 "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/764",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/764"),v("OutboundLink")],1)])]),_._v(" "),v("h3",{attrs:{id:"_2022-6-3"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-6-3"}},[_._v("#")]),_._v(" 2022/6/3")]),_._v(" "),v("ul",[v("li",[_._v("插件仓库在已安装插件边上会提示[已安装]")]),_._v(" "),v("li",[_._v("修复ShopRegister kwargs某些字段无效")]),_._v(" "),v("li",[_._v("调整了一下查看所有请求中的年龄绘制 "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/745",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/745"),v("OutboundLink")],1)]),_._v(" "),v("li",[_._v("修复原神树脂提醒bug "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/756",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/756"),v("OutboundLink")],1)])]),_._v(" "),v("h3",{attrs:{id:"_2022-5-31"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-5-31"}},[_._v("#")]),_._v(" 2022/5/31")]),_._v(" "),v("ul",[v("li",[_._v("修复开启/关闭全部功能时帮助图片未重绘 "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/721",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/721"),v("OutboundLink")],1)]),_._v(" "),v("li",[_._v("bot_friend_group将group_handle.修改为friend_handle. "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/711",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/711"),v("OutboundLink")],1)]),_._v(" "),v("li",[_._v("修复发红包图片背景未透明化;修复原神树脂提醒参数错误 "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/712",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/712"),v("OutboundLink")],1)]),_._v(" "),v("li",[_._v("修复抽卡插件:方舟更新UP池信息时,若公告的第一个池子过期会导致无法更新UP池信息 "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/707",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/707"),v("OutboundLink")],1)]),_._v(" "),v("li",[_._v("商店插件判断是否有requirements.txt文件 "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/705",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/705"),v("OutboundLink")],1)]),_._v(" "),v("li",[_._v("删除原神玩家查询api返回变更的多余键值")]),_._v(" "),v("li",[_._v("优化了text2image方法")])]),_._v(" "),v("h3",{attrs:{id:"_2022-5-29-v0-1-5-8"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-5-29-v0-1-5-8"}},[_._v("#")]),_._v(" 2022/5/29 [v0.1.5.8]")]),_._v(" "),v("ul",[v("li",[_._v("提供了真寻适配仓库的插件 安装/卸载 操作")]),_._v(" "),v("li",[_._v("暂时关闭了插件资源清空")]),_._v(" "),v("li",[_._v("通过指令安装插件时会在插件目录下生成plugin_info.json记录当前插件信息")])]),_._v(" "),v("h3",{attrs:{id:"_2022-5-28"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-5-28"}},[_._v("#")]),_._v(" 2022/5/28")]),_._v(" "),v("ul",[v("li",[_._v("修复私聊无法添加昵称")]),_._v(" "),v("li",[_._v("修复原神玩家查询层岩巨渊地下矿区没开时报错")]),_._v(" "),v("li",[_._v("修复 "),v("code",[_._v("休息吧")]),_._v(" 无法阻断戳一戳")]),_._v(" "),v("li",[_._v("当图库无图片时,戳一戳将略过发送图片")]),_._v(" "),v("li",[_._v("新增搜图提供配置项"),v("code",[_._v("ALLOW_GROUP_R18")]),_._v(":允许在群聊中使用r18参数")]),_._v(" "),v("li",[_._v("新增自动更新插件"),v("code",[_._v("UPDATE_REMIND")]),_._v(":新版本提醒,原配置项"),v("code",[_._v("AUTO_UPDATE_ZHENXUN")]),_._v("改为自动更新升级")]),_._v(" "),v("li",[_._v("black_word新增当群权限为-1时不再检测该群")]),_._v(" "),v("li",[_._v("修复非超级用户绑定原神cookie会被black_word阻拦")]),_._v(" "),v("li",[_._v("修复微博热搜报错,发红包小bug "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/688",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/688"),v("OutboundLink")],1)]),_._v(" "),v("li",[_._v("更多的中文提示")])]),_._v(" "),v("h3",{attrs:{id:"_2022-5-26"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-5-26"}},[_._v("#")]),_._v(" 2022/5/26")]),_._v(" "),v("ul",[v("li",[_._v("修复[滴滴滴]会被转义成[滴滴滴]导致无法触发的问题")]),_._v(" "),v("li",[_._v("将一些错误以中文提示输出")]),_._v(" "),v("li",[_._v("更新BT搜索源地址 "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/668",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/668"),v("OutboundLink")],1)]),_._v(" "),v("li",[_._v("更新抽卡插件 "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/667",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/667"),v("OutboundLink")],1)])]),_._v(" "),v("h3",{attrs:{id:"_2022-5-25"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-5-25"}},[_._v("#")]),_._v(" 2022/5/25")]),_._v(" "),v("ul",[v("li",[_._v("修复webui中CountLimit字段limit_type类型错误")]),_._v(" "),v("li",[_._v("修改nickname插件:一处文案错误,添加敏感词 "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/624",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/624"),v("OutboundLink")],1)]),_._v(" "),v("li",[_._v("gamedraw的ba卡池搬运了过来并且进行了真寻的适配 "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/617",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/617"),v("OutboundLink")],1)]),_._v(" "),v("li",[_._v("feat: stream downloading and progress "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/607",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/607"),v("OutboundLink")],1)]),_._v(" "),v("li",[_._v("修改翻译插件,添加缺失的冒号 "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/602",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/602"),v("OutboundLink")],1)]),_._v(" "),v("li",[_._v("修复碧蓝航线/明日方舟up池解析出错的问题 "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/602",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/610"),v("OutboundLink")],1)])]),_._v(" "),v("h3",{attrs:{id:"_2022-5-24"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-5-24"}},[_._v("#")]),_._v(" 2022/5/24")]),_._v(" "),v("ul",[v("li",[_._v("fix: 修正了签到时日期时间的显示不补齐零的bug (符合日期时间表示法 ISO 8601)"),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/600",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/600"),v("OutboundLink")],1)]),_._v(" "),v("li",[_._v('更新"微博热搜"接口 '),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/579",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/579"),v("OutboundLink")],1)]),_._v(" "),v("li",[_._v("refactor&fix(manager): modify argument "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/576",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/576"),v("OutboundLink")],1)]),_._v(" "),v("li",[_._v("修复复读不能复读图片的问题 "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/573",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/573"),v("OutboundLink")],1)]),_._v(" "),v("li",[_._v("修复抽卡插件:方舟抽卡的抽取和显示问题 "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/581",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/581"),v("OutboundLink")],1)])]),_._v(" "),v("h3",{attrs:{id:"_2022-5-23-v0-1-5-6"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-5-23-v0-1-5-6"}},[_._v("#")]),_._v(" 2022/5/23 [v0.1.5.6]")]),_._v(" "),v("ul",[v("li",[_._v('修复"清除已删除插件数据" '),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/545",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/545"),v("OutboundLink")],1)]),_._v(" "),v("li",[_._v("修复有置顶的up主B站动态获取失败 "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/552",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/552"),v("OutboundLink")],1)]),_._v(" "),v("li",[_._v("添加pixiv搜图多关键词支持;修复p站搜图数量参数问题 "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/441",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/441"),v("OutboundLink")],1)]),_._v(" "),v("li",[_._v("修复开箱更新价格错误传参")]),_._v(" "),v("li",[_._v("修复pix无法正确查询uid")]),_._v(" "),v("li",[_._v("新增色图插件添加配置项"),v("code",[_._v("ALLOW_GROUP_R18")]),_._v(":允许群聊中使用色图r")]),_._v(" "),v("li",[_._v("新增PIX插件添加配置项"),v("code",[_._v("ALLOW_GROUP_SETU")]),_._v(":允许非超级用户使用-s参数")]),_._v(" "),v("li",[_._v("新增PIX插件添加配置项"),v("code",[_._v("ALLOW_GROUP_R18")]),_._v(":允许非超级用户使用-r参数")])]),_._v(" "),v("h3",{attrs:{id:"_2022-5-22-v0-1-5-4"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-5-22-v0-1-5-4"}},[_._v("#")]),_._v(" 2022/5/22 [v0.1.5.4]")]),_._v(" "),v("ul",[v("li",[_._v("使用action自动更新poetry.lock "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/515",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/515"),v("OutboundLink")],1)]),_._v(" "),v("li",[_._v("fix(bilibili_sub): card is None and timeout "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/516",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/516"),v("OutboundLink")],1)]),_._v(" "),v("li",[_._v("修复了epic有时获取新免费游戏消息时获取不到图片")]),_._v(" "),v("li",[_._v("修复好感度满时签到出错(虽然是不可能满的")]),_._v(" "),v("li",[_._v("修复原神资源图标下载路径错误")]),_._v(" "),v("li",[_._v("修复自动更新群组可能失败")])]),_._v(" "),v("h3",{attrs:{id:"_2022-5-21"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-5-21"}},[_._v("#")]),_._v(" 2022/5/21")]),_._v(" "),v("ul",[v("li",[_._v("修复搜番无结果时报错无正确反馈")]),_._v(" "),v("li",[_._v("解锁了windows上无法使用playwright的限制")]),_._v(" "),v("li",[_._v("修复p搜对应pid有多张图时出错,改为连续发送图片")]),_._v(" "),v("li",[_._v("修复p搜对数字的错误判断")]),_._v(" "),v("li",[_._v("修复添加商品折扣无法正确添加")]),_._v(" "),v("li",[_._v("修复了bilibili订阅直播间订阅up名称不一致的问题")]),_._v(" "),v("li",[_._v("修复原神玩家查询没开地图时报错")]),_._v(" "),v("li",[_._v("最低priority修改为 999")]),_._v(" "),v("li",[_._v("修复刷屏检测失效")]),_._v(" "),v("li",[_._v("修复刷屏检测设置命令无法生效")]),_._v(" "),v("li",[_._v("优化刷屏显示设置禁言时长显示,并改为分钟")]),_._v(" "),v("li",[_._v("修复了多连开箱无法指定武器箱")]),_._v(" "),v("li",[_._v("修复识番链接无法正确获取")]),_._v(" "),v("li",[_._v("新增真寻入群时即刻刷新权限")]),_._v(" "),v("li",[_._v("提高了微博热搜截图的等待时间")])]),_._v(" "),v("h3",{attrs:{id:"_2022-5-19"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-5-19"}},[_._v("#")]),_._v(" 2022/5/19")]),_._v(" "),v("ul",[v("li",[_._v("fix: mihoyo bbs api changed "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/357",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/357"),v("OutboundLink")],1)]),_._v(" "),v("li",[_._v("Add word_clouds "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/265",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/265"),v("OutboundLink")],1)]),_._v(" "),v("li",[_._v("Fix wrong live streamer name "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/284",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/284"),v("OutboundLink")],1)])]),_._v(" "),v("h3",{attrs:{id:"_2022-5-16"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-5-16"}},[_._v("#")]),_._v(" 2022/5/16")]),_._v(" "),v("ul",[v("li",[_._v("词条支持图片和@问题 "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/160",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/160"),v("OutboundLink")],1)])]),_._v(" "),v("h3",{attrs:{id:"_2022-5-15"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-5-15"}},[_._v("#")]),_._v(" 2022/5/15")]),_._v(" "),v("ul",[v("li",[_._v("修复了商店商品无法正确添加")]),_._v(" "),v("li",[_._v("修复了多张色图无法正确发送")])]),_._v(" "),v("h3",{attrs:{id:"_2022-5-14"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-5-14"}},[_._v("#")]),_._v(" 2022/5/14")]),_._v(" "),v("ul",[v("li",[_._v("修复B站动态生成失败的问题 "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/159",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/159"),v("OutboundLink")],1)])]),_._v(" "),v("h3",{attrs:{id:"_2022-5-11"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-5-11"}},[_._v("#")]),_._v(" 2022/5/11")]),_._v(" "),v("ul",[v("li",[_._v("fix: 更改p搜api,解决p搜无法使用的问题 "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/155",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/155"),v("OutboundLink")],1)])]),_._v(" "),v("h3",{attrs:{id:"_2022-5-9-v0-1-5-3"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-5-9-v0-1-5-3"}},[_._v("#")]),_._v(" 2022/5/9 [v0.1.5.3]")]),_._v(" "),v("ul",[v("li",[_._v("替换了疫情API")]),_._v(" "),v("li",[_._v("修复了私聊.ban/.unban出错")])]),_._v(" "),v("h3",{attrs:{id:"_2022-5-5"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-5-5"}},[_._v("#")]),_._v(" 2022/5/5")]),_._v(" "),v("ul",[v("li",[_._v("修改bilibili_sub插件在windows平台下报错 "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/153",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/153"),v("OutboundLink")],1)])]),_._v(" "),v("h3",{attrs:{id:"_2022-5-3-v0-1-5-2"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-5-3-v0-1-5-2"}},[_._v("#")]),_._v(" 2022/5/3 [v0.1.5.2]")]),_._v(" "),v("ul",[v("li",[_._v("商品使用函数可以添加特定参数,例如:user_id, group_id, ShopParam等以及自己提供的参数")]),_._v(" "),v("li",[_._v("添加商品注册装饰器shop_register")]),_._v(" "),v("li",[_._v("修复商品函数kwargs无法获取参数值")])]),_._v(" "),v("h2",{attrs:{id:"_2022-5-1"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-5-1"}},[_._v("#")]),_._v(" 2022/5/1")]),_._v(" "),v("ul",[v("li",[_._v("删除了"),v("code",[_._v("group_last_chat")]),_._v("插件(该功能可由"),v("code",[_._v("chat_history")]),_._v("替代")]),_._v(" "),v("li",[_._v("新增敏感词检测(全新反击系统,是时候重拳出击了")])]),_._v(" "),v("h2",{attrs:{id:"_2022-4-26"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-4-26"}},[_._v("#")]),_._v(" 2022/4/26")]),_._v(" "),v("ul",[v("li",[_._v("修复了群白名单无法正确添加")]),_._v(" "),v("li",[_._v("优化了管理员帮助图片,背景图层将位于最下层")]),_._v(" "),v("li",[_._v("修复了树脂140时不断提醒(未测试")]),_._v(" "),v("li",[_._v("新增了消息记录的消息排行")]),_._v(" "),v("li",[_._v("WebUI新增CPU,内存,磁盘监控")]),_._v(" "),v("li",[_._v("WebUI新增资源文件夹统计可视化")])]),_._v(" "),v("h2",{attrs:{id:"_2022-4-12"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-4-12"}},[_._v("#")]),_._v(" 2022/4/12")]),_._v(" "),v("ul",[v("li",[_._v("修复b了命令私聊出错")])]),_._v(" "),v("h2",{attrs:{id:"_2022-4-10-v0-1-4-7"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-4-10-v0-1-4-7"}},[_._v("#")]),_._v(" 2022/4/10 [v0.1.4.7]")]),_._v(" "),v("ul",[v("li",[_._v("新增消息记录模块")]),_._v(" "),v("li",[_._v("丰富处理请求操作提示")]),_._v(" "),v("li",[_._v("web ui新增配置项修改")])]),_._v(" "),v("h2",{attrs:{id:"_2022-4-9"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-4-9"}},[_._v("#")]),_._v(" 2022/4/9")]),_._v(" "),v("ul",[v("li",[_._v("fix: 更新问题,戳一戳图片路径问题 "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/144",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/144"),v("OutboundLink")],1)])]),_._v(" "),v("h2",{attrs:{id:"_2022-4-8"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-4-8"}},[_._v("#")]),_._v(" 2022/4/8")]),_._v(" "),v("ul",[v("li",[_._v("修复原神玩家查询")])]),_._v(" "),v("h2",{attrs:{id:"_2022-4-6"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-4-6"}},[_._v("#")]),_._v(" 2022/4/6")]),_._v(" "),v("ul",[v("li",[_._v("update search_type "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/143",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/143"),v("OutboundLink")],1)])]),_._v(" "),v("h2",{attrs:{id:"_2022-4-5-v0-1-4-6"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-4-5-v0-1-4-6"}},[_._v("#")]),_._v(" 2022/4/5 [v0.1.4.6]")]),_._v(" "),v("ul",[v("li",[_._v("修复web修改插件后帮助图片生成错误")])]),_._v(" "),v("h2",{attrs:{id:"_2022-4-4-v0-1-4-5"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-4-4-v0-1-4-5"}},[_._v("#")]),_._v(" 2022/4/4 [v0.1.4.5]")]),_._v(" "),v("ul",[v("li",[_._v("替换了bt搜索URL")]),_._v(" "),v("li",[_._v("优化使用playwright的相关代码")]),_._v(" "),v("li",[_._v("原神玩家查询新增层岩巨渊探索")]),_._v(" "),v("li",[_._v("修复原神便笺角色头像黑框")]),_._v(" "),v("li",[_._v("修复同意群聊请求错误")]),_._v(" "),v("li",[_._v("提供webui方面的api")]),_._v(" "),v("li",[_._v("新增web-ui(前端简易管理页面插件)插件")])]),_._v(" "),v("h2",{attrs:{id:"_2022-3-21"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-3-21"}},[_._v("#")]),_._v(" 2022/3/21")]),_._v(" "),v("ul",[v("li",[_._v("修复statistics_handle.py乱码")])]),_._v(" "),v("h2",{attrs:{id:"_2022-3-18-v0-1-4-4"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-3-18-v0-1-4-4"}},[_._v("#")]),_._v(" 2022/3/18 [v0.1.4.4]")]),_._v(" "),v("ul",[v("li",[_._v("修复戳一戳无法功能关闭与ban禁用")]),_._v(" "),v("li",[_._v("新增图片搜索 search_image")])]),_._v(" "),v("h2",{attrs:{id:"_2022-3-7"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-3-7"}},[_._v("#")]),_._v(" 2022/3/7")]),_._v(" "),v("ul",[v("li",[_._v("优化增删权限插件")])]),_._v(" "),v("h2",{attrs:{id:"_2022-3-6"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-3-6"}},[_._v("#")]),_._v(" 2022/3/6")]),_._v(" "),v("ul",[v("li",[_._v("修复树脂提醒无法开启")]),_._v(" "),v("li",[_._v("修复p搜图片路径错误")])]),_._v(" "),v("h2",{attrs:{id:"_2022-3-3-v0-1-4-3"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-3-3-v0-1-4-3"}},[_._v("#")]),_._v(" 2022/3/3 [v0.1.4.3]")]),_._v(" "),v("ul",[v("li",[_._v("修复手动同意群聊请求依旧退出")])]),_._v(" "),v("h2",{attrs:{id:"_2022-3-1-v0-1-4-2"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-3-1-v0-1-4-2"}},[_._v("#")]),_._v(" 2022/3/1 [v0.1.4.2]")]),_._v(" "),v("ul",[v("li",[_._v("0.1.4内容")])]),_._v(" "),v("h2",{attrs:{id:"_2022-2-27-v0-1-4-1"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-2-27-v0-1-4-1"}},[_._v("#")]),_._v(" 2022/2/27 [v0.1.4.1]")]),_._v(" "),v("ul",[v("li",[_._v("优化抽卡")])]),_._v(" "),v("h2",{attrs:{id:"_2022-2-25-v0-1-4"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-2-25-v0-1-4"}},[_._v("#")]),_._v(" 2022/2/25 [v0.1.4]")]),_._v(" "),v("ul",[v("li",[_._v("PIX提供配置MAX_ONCE_NUM2FORWARD:当单次发送图片超过指定张数且在群聊时,将转为合并消息")]),_._v(" "),v("li",[_._v("修复点歌无法正确发送")]),_._v(" "),v("li",[_._v("修复我有一个朋友有时文本会包含CQ码")]),_._v(" "),v("li",[_._v("修复群欢消息被动控制文本未删除 "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/124",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/124"),v("OutboundLink")],1)]),_._v(" "),v("li",[_._v("message_builder.image不再提供参数:abspath")])]),_._v(" "),v("h2",{attrs:{id:"_2022-2-23"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-2-23"}},[_._v("#")]),_._v(" 2022/2/23")]),_._v(" "),v("ul",[v("li",[_._v("插件状态将从已加载插件模块中读取")]),_._v(" "),v("li",[_._v("修复b站订阅插件订阅失败问题")]),_._v(" "),v("li",[_._v("修复重启命令无法使用")])]),_._v(" "),v("h2",{attrs:{id:"_2022-2-21-v0-1-3-2"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-2-21-v0-1-3-2"}},[_._v("#")]),_._v(" 2022/2/21 [v0.1.3.2]")]),_._v(" "),v("ul",[v("li",[_._v("群权限为-1时,超级用户发送的命令依旧生效")]),_._v(" "),v("li",[_._v("当群权限为-1时,被动技能也将不会发送")]),_._v(" "),v("li",[_._v("修复功能开关,b站转发解析,复读 ignore无法使用")]),_._v(" "),v("li",[_._v("修复色图下载文件名与路径错误")]),_._v(" "),v("li",[_._v("修复被动技能提醒有时无法删除控制文本")])]),_._v(" "),v("h2",{attrs:{id:"_2022-2-20-v0-1-3-1"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-2-20-v0-1-3-1"}},[_._v("#")]),_._v(" 2022/2/20 [v0.1.3.1]")]),_._v(" "),v("ul",[v("li",[_._v("修复pix下载临时文件目录错误")]),_._v(" "),v("li",[_._v("修复AI,天气,发送图片ignore导致无法使用")]),_._v(" "),v("li",[_._v("修复纯文本被动技能提醒有时无法删除控制文本")])]),_._v(" "),v("h2",{attrs:{id:"_2022-2-19-v0-1-3-nonebot-beta2"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-2-19-v0-1-3-nonebot-beta2"}},[_._v("#")]),_._v(" 2022/2/19 [v0.1.3] (nonebot beta2!)")]),_._v(" "),v("ul",[v("li",[v("p",[_._v("由于nonebot升级版本,提供更新建议("),v("strong",[_._v("该次升级将会导致nonebot.beta1以下的插件无法使用")])]),_._v(" "),v("ul",[v("li",[_._v("保证services,utils,configs,plugins,basic_plugins,文件夹均为最新")]),_._v(" "),v("li",[_._v("根目录有pyproject.toml与poetry.lock")]),_._v(" "),v("li",[_._v("执行命令:\n"),v("ul",[v("li",[_._v("pip3 install poetry")]),_._v(" "),v("li",[_._v("poetry install")]),_._v(" "),v("li",[_._v("poetry shell")]),_._v(" "),v("li",[_._v("playwright install chromium")]),_._v(" "),v("li",[_._v("python3 bot.py")])])])])]),_._v(" "),v("li",[v("p",[_._v("适配nonebot.beta2")])]),_._v(" "),v("li",[v("p",[_._v("删除图片搜索 nonebot_plugin_picsearcher")])]),_._v(" "),v("li",[v("p",[_._v("替换cos api")])]),_._v(" "),v("li",[v("p",[_._v("原神签到树脂提醒新增绑定群里,在某群绑定uid就会在某群发送提醒信息(有好友则私聊,需要重新绑定uid")])]),_._v(" "),v("li",[v("p",[_._v("修改update_info.json")])]),_._v(" "),v("li",[v("p",[_._v("修复原神资源查询下载数据失败时导致报错")])]),_._v(" "),v("li",[v("p",[_._v("优化BuildImage.circle()锯齿问题 "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/109",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/109"),v("OutboundLink")],1)])]),_._v(" "),v("li",[v("p",[_._v("epic restful 替换 "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/119",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/119"),v("OutboundLink")],1)])]),_._v(" "),v("li",[v("p",[_._v("fix: 修复远古时期残留的epic推送问题 "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/122",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/122"),v("OutboundLink")],1)])])]),_._v(" "),v("h2",{attrs:{id:"_2022-2-11"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-2-11"}},[_._v("#")]),_._v(" 2022/2/11")]),_._v(" "),v("ul",[v("li",[_._v("修复pix不使用反代无法下载图片")])]),_._v(" "),v("h2",{attrs:{id:"_2022-2-10-v0-1-1"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-2-10-v0-1-1"}},[_._v("#")]),_._v(" 2022/2/10 [v0.1.1]")]),_._v(" "),v("ul",[v("li",[_._v("修复购买道具出错")])]),_._v(" "),v("h2",{attrs:{id:"_2022-2-9-v0-1"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-2-9-v0-1"}},[_._v("#")]),_._v(" 2022/2/9 [v0.1]")]),_._v(" "),v("ul",[v("li",[_._v("新增原神自动签到和手动签到")]),_._v(" "),v("li",[_._v("新增原神树脂提醒")]),_._v(" "),v("li",[_._v("新增手动重载Config.yaml命令以及重载配置定时任务(极少部分帮助或配置可能需要重启")]),_._v(" "),v("li",[_._v("修改了发送本地图库的matcher,改为on_message")]),_._v(" "),v("li",[_._v("register_use可以通过返回值发送消息")]),_._v(" "),v("li",[_._v("修复修改商品时限制时间出错")]),_._v(" "),v("li",[_._v("修复超时商品依旧可以被购买")])]),_._v(" "),v("h2",{attrs:{id:"_2022-1-16-v0-0-9-0"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-1-16-v0-0-9-0"}},[_._v("#")]),_._v(" 2022/1/16 [v0.0.9.0]")]),_._v(" "),v("ul",[v("li",[_._v("Ai提供文本敏感词过滤器")]),_._v(" "),v("li",[_._v("疫情插件适配新版腾讯API")]),_._v(" "),v("li",[_._v("修复/t回复带空格切分")]),_._v(" "),v("li",[_._v("修复原神玩家查询缺少渊下宫和稻妻家园以及角色不完全")]),_._v(" "),v("li",[_._v("修复方法 text2image 中 padding 和 font 无法对纯文本生效")]),_._v(" "),v("li",[_._v("修复签到图片中信息并未使用配置文件中的色图概率")]),_._v(" "),v("li",[_._v("修改原神大地图合成方式,改为先压缩再合成")]),_._v(" "),v("li",[_._v("bag_user弃用字段props(该字段会在下次更新删除),使用新字段property")]),_._v(" "),v("li",[_._v("数据库中所有belonging_group统一修改为group_id")]),_._v(" "),v("li",[_._v("商店将registered_use和register_goods更名为register_use何register_goods")]),_._v(" "),v("li",[_._v("商品注册提供了kwargs参数提供:\n"),v("ul",[v("li",[_._v("bot")]),_._v(" "),v("li",[_._v("event")]),_._v(" "),v("li",[_._v("特殊字段\n"),v("ul",[v("li",[_._v("“send_success_msg”(发送成功的交互信息->即:使用道具 {name} {num} 次成功)")]),_._v(" "),v("li",[_._v("“_max_num_limit”(该道具单次使用的最多个数,默认1)")])])])])])]),_._v(" "),v("h2",{attrs:{id:"_2022-1-5-v0-0-8-2"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2022-1-5-v0-0-8-2"}},[_._v("#")]),_._v(" 2022/1/5 [v0.0.8.2]")]),_._v(" "),v("ul",[v("li",[_._v("提供金币消费hook,可在plugins2settings.yaml中配置该功能需要消费的金币")]),_._v(" "),v("li",[_._v("商店插件将作为内置插件移动至basic_plugins")]),_._v(" "),v("li",[_._v("商店插件通过export提供了方法,不需要修改商店插件代码添加商品数据和生效方法")]),_._v(" "),v("li",[_._v("修改了hook插件顺序,主要以auth_hook为主")]),_._v(" "),v("li",[_._v("修改商店图片样式")]),_._v(" "),v("li",[_._v("取消每次启动更新城市列表(首次除外),采用定时更新,加快bot启动速度")]),_._v(" "),v("li",[_._v("取消每次启动时截取今日素材,采用调用时截取保存,加快bot启动速度")]),_._v(" "),v("li",[_._v("更新色图时当图片404时会删除并替换")]),_._v(" "),v("li",[_._v("疫情消息回复改为图片")]),_._v(" "),v("li",[_._v("修复商店折扣和限时时间无法生效")]),_._v(" "),v("li",[_._v("修复原神玩家查询尘歌壶缺少图片")])]),_._v(" "),v("h2",{attrs:{id:"_2021-12-26"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2021-12-26"}},[_._v("#")]),_._v(" 2021/12/26")]),_._v(" "),v("ul",[v("li",[_._v("修复群词条问题 空格 会被录入导致不断回复")]),_._v(" "),v("li",[_._v("修复米游社app替换api导致无法正常查询")])]),_._v(" "),v("h2",{attrs:{id:"_2021-12-24"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2021-12-24"}},[_._v("#")]),_._v(" 2021/12/24")]),_._v(" "),v("ul",[v("li",[_._v("支持国际疫情数据查询 "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/99",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/99"),v("OutboundLink")],1)])]),_._v(" "),v("h2",{attrs:{id:"_2021-12-20"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2021-12-20"}},[_._v("#")]),_._v(" 2021/12/20")]),_._v(" "),v("ul",[v("li",[_._v("只有发布小于存储时间的新动态/视频的时候才获取并推送 "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/96",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/96"),v("OutboundLink")],1)])]),_._v(" "),v("h2",{attrs:{id:"_2021-12-16-v0-0-7-0"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2021-12-16-v0-0-7-0"}},[_._v("#")]),_._v(" 2021/12/16 [v0.0.7.0]")]),_._v(" "),v("ul",[v("li",[_._v("提供了真寻群聊功能总开关和对应默认配置项,命令:休息吧 醒来")]),_._v(" "),v("li",[_._v("新增原神玩家查询,原神便笺查询")]),_._v(" "),v("li",[_._v("群功能管理提供全部开启/关闭命令:开启/关闭全部功能")]),_._v(" "),v("li",[_._v("提供主要数据自动备份,且提供自定义配置项")]),_._v(" "),v("li",[_._v("提供命令:关于,用于介绍Bot之类的")]),_._v(" "),v("li",[_._v("新增命令exec,用于执行sql语句")]),_._v(" "),v("li",[_._v('签到提供参数 "all",用于签到所有群聊')]),_._v(" "),v("li",[_._v("Ban提醒提供cd")]),_._v(" "),v("li",[_._v("本地图库提供配置项SHOW_ID,用于设置发送图片时是否显示id")]),_._v(" "),v("li",[_._v("色图和PIX提供配置项SHOW_INFO,用于设置发送图片时是否显示图片信息")]),_._v(" "),v("li",[_._v("所有被动技能提供了进群默认状态配置项")]),_._v(" "),v("li",[_._v("修复添加权限第二种添加形式无法正确添加正确的权限")]),_._v(" "),v("li",[_._v("修复签到获取好感度卡时金币不会增加")]),_._v(" "),v("li",[_._v("修复当红包数量不合法时依旧扣除金币")]),_._v(" "),v("li",[_._v("修复金币红包再次使用塞红包时无法正确退回上次未开完的金币")]),_._v(" "),v("li",[_._v("修复 滴滴滴- 只包含图片时不会发送至管理员")]),_._v(" "),v("li",[_._v("修复添加权限等级错误")]),_._v(" "),v("li",[_._v("修复群词条以bot名称为开头时无法正确触发")]),_._v(" "),v("li",[_._v("修改了权限插件加载顺序防止小概率优先加载权限插件引起报错")]),_._v(" "),v("li",[_._v("本地图库新图库会统一建立在resource/img/image_management文件夹下,如果该文件夹内未找到图库,会从上级目录查找(即:resource/img/)")])]),_._v(" "),v("h2",{attrs:{id:"_2021-12-1-v0-0-6-5-6"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2021-12-1-v0-0-6-5-6"}},[_._v("#")]),_._v(" 2021/12/1 [v0.0.6.5/6]")]),_._v(" "),v("ul",[v("li",[_._v("群权限-1时超级用户命令依旧生效")]),_._v(" "),v("li",[_._v("修复以真寻为开头的词条不会被回复")]),_._v(" "),v("li",[_._v("修复购买道具可以为负数")]),_._v(" "),v("li",[_._v("P站排行/搜图提供配置项,将略过大于指定张数的作品")]),_._v(" "),v("li",[_._v("昵称提供关键词屏蔽配置项,会将指定关键词替换为“*”")]),_._v(" "),v("li",[_._v("取消了自动更新,改为自动检测版本")]),_._v(" "),v("li",[_._v("自动更新不再覆盖config.py和移动config.yaml")])]),_._v(" "),v("h2",{attrs:{id:"_2021-11-29-v0-0-6-4"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2021-11-29-v0-0-6-4"}},[_._v("#")]),_._v(" 2021/11/29 [v0.0.6.4]")]),_._v(" "),v("ul",[v("li",[_._v("新增cos图撤回配置项")]),_._v(" "),v("li",[_._v("新增默认群权限配置项")]),_._v(" "),v("li",[_._v("修复权限等级类配置无法正常应用")])]),_._v(" "),v("h2",{attrs:{id:"_2021-11-24-v0-0-6-3"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2021-11-24-v0-0-6-3"}},[_._v("#")]),_._v(" 2021/11/24 [v0.0.6.3]")]),_._v(" "),v("ul",[v("li",[_._v("修复在线搜索色图出错")]),_._v(" "),v("li",[_._v("修复pix无法正确获取HIBIAPI")])]),_._v(" "),v("h2",{attrs:{id:"_2021-11-23-v0-0-6-2"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2021-11-23-v0-0-6-2"}},[_._v("#")]),_._v(" 2021/11/23 [v0.0.6.2]")]),_._v(" "),v("ul",[v("li",[_._v("替换cos API")]),_._v(" "),v("li",[_._v("提供私聊b了,即跨群b了用户")]),_._v(" "),v("li",[_._v("修复游戏抽卡导入角色失败(原神)")]),_._v(" "),v("li",[_._v("修复无Pixiv代理时报错")]),_._v(" "),v("li",[_._v("将项目中大部分aiohttp替换为httpx")]),_._v(" "),v("li",[_._v("删除了丘丘人翻译插件")]),_._v(" "),v("li",[_._v("新增群词条")]),_._v(" "),v("li",[_._v("修复游戏抽卡碧蓝航线bwiki格式更改导致获取报错")]),_._v(" "),v("li",[_._v("首次启动会生成配置文件后停止程序,配置后再次启动即可")])]),_._v(" "),v("h2",{attrs:{id:"_2021-11-18"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2021-11-18"}},[_._v("#")]),_._v(" 2021/11/18")]),_._v(" "),v("ul",[v("li",[_._v("修复超级用户无法正确拉真寻入群")])]),_._v(" "),v("h2",{attrs:{id:"_2021-11-14"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2021-11-14"}},[_._v("#")]),_._v(" 2021/11/14")]),_._v(" "),v("ul",[v("li",[_._v("修复功能总开关无法正确开启")])]),_._v(" "),v("h2",{attrs:{id:"_2021-11-12"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2021-11-12"}},[_._v("#")]),_._v(" 2021/11/12")]),_._v(" "),v("ul",[v("li",[_._v("修复PIX无法url无法正确获取")])]),_._v(" "),v("h2",{attrs:{id:"_2021-11-10"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2021-11-10"}},[_._v("#")]),_._v(" 2021/11/10")]),_._v(" "),v("ul",[v("li",[_._v("修复PIX表重复创建导致首次无法运行")]),_._v(" "),v("li",[_._v("检测Omage图库改为命令方式:检测omega图库")])]),_._v(" "),v("h2",{attrs:{id:"_2021-11-9"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2021-11-9"}},[_._v("#")]),_._v(" 2021/11/9")]),_._v(" "),v("ul",[v("li",[_._v("修复管理员帮助无法正常响应")]),_._v(" "),v("li",[_._v("修复被ban时会一直回复被ban提醒")])]),_._v(" "),v("h2",{attrs:{id:"_2021-11-5"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2021-11-5"}},[_._v("#")]),_._v(" 2021/11/5")]),_._v(" "),v("ul",[v("li",[_._v("修复ai没有图灵key时报错")]),_._v(" "),v("li",[_._v("提供图片路径resource/img/background/check")])]),_._v(" "),v("h2",{attrs:{id:"_2021-11-4"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2021-11-4"}},[_._v("#")]),_._v(" 2021/11/4")]),_._v(" "),v("ul",[v("li",[_._v("通用排行榜改用图片消息,且可以自定义排行榜人数")]),_._v(" "),v("li",[_._v("优化CreateMat排行榜数据显示")]),_._v(" "),v("li",[_._v("修复了pix更新多余参数导致失败的问题")]),_._v(" "),v("li",[_._v("修复滴滴滴-注入风险")]),_._v(" "),v("li",[_._v("修复无法正常关闭滴滴滴,戳一戳")]),_._v(" "),v("li",[_._v("添加了发送图片撤回配置项WITHDRAW_IMAGE_TIME")]),_._v(" "),v("li",[_._v("修复了天气regex文本过长时会正则匹配过久导致nb卡顿")]),_._v(" "),v("li",[_._v("message_build新增custom_forward_msg用于快捷生成转发消息")]),_._v(" "),v("li",[_._v("插件配置改为yaml存储,新增Config,用于获取和新增插件配置")]),_._v(" "),v("li",[_._v("新增 当插件加载失败时,会发送消息提醒超级用户,且在功能状态中对应失败插件写上[ERROR]")]),_._v(" "),v("li",[_._v("修复当查看-spuer插件帮助时无法正确回复")]),_._v(" "),v("li",[_._v("群内帮助图片会随群内功能开关和插件总开关变化")]),_._v(" "),v("li",[_._v("自检改为图像形式")]),_._v(" "),v("li",[_._v("更新色图删除了rar_setu,r18_rar和rar文件夹,压缩将统一在temp文件夹")]),_._v(" "),v("li",[_._v("更新色图只有在有更新数量或报错时才会提醒超级用户")]),_._v(" "),v("li",[_._v("群欢迎消息加入cd")]),_._v(" "),v("li",[_._v("加入资源管理resources_manager")]),_._v(" "),v("li",[_._v("新增 好友请求/群聊邀请 控制命令")])]),_._v(" "),v("h2",{attrs:{id:"_2021-10-15"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2021-10-15"}},[_._v("#")]),_._v(" 2021/10/15")]),_._v(" "),v("ul",[v("li",[_._v("适配了原神资源查询米游社地图返回的新格式")])]),_._v(" "),v("h2",{attrs:{id:"_2021-10-8"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2021-10-8"}},[_._v("#")]),_._v(" 2021/10/8")]),_._v(" "),v("ul",[v("li",[_._v("修复疫情省份查询失效")]),_._v(" "),v("li",[_._v("修复功能调用统计全局下统计可能发生错误")])]),_._v(" "),v("h2",{attrs:{id:"_2021-10-4"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2021-10-4"}},[_._v("#")]),_._v(" 2021/10/4")]),_._v(" "),v("ul",[v("li",[_._v("修复了功能调用统计失效问题")]),_._v(" "),v("li",[_._v("当色图库中没有色图时,会在线搜索色图而不是‘没找到符合条件的色图...’")]),_._v(" "),v("li",[_._v("快速更新权限再给超级用户发送错误日志")]),_._v(" "),v("li",[_._v("修复疫情未加载省份城市无法正常使用")])]),_._v(" "),v("h2",{attrs:{id:"_2021-10-3"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2021-10-3"}},[_._v("#")]),_._v(" 2021/10/3")]),_._v(" "),v("ul",[v("li",[_._v("对插件进行分离")]),_._v(" "),v("li",[_._v("重写了插件与限制管理器以及帮助获取")]),_._v(" "),v("li",[_._v("修改一些插件目录和数据存储目录")]),_._v(" "),v("li",[_._v("插件通用配置与限制数据将以ymal文件存储 [路径:data/configs]")]),_._v(" "),v("li",[_._v("所有商店相关操作调用统计合并为商店(包括之前已经保存的数据,会先进行备份)")]),_._v(" "),v("li",[_._v("简化了点歌的代码相关")]),_._v(" "),v("li",[_._v("修复了碧蓝航线抽卡新框导致报错无法正常初始化")]),_._v(" "),v("li",[_._v("修复了P站排行/搜图在PC端无法正常显示")]),_._v(" "),v("li",[_._v("添加了插件对超级用户是否限制的配置 ‘limit_superuser’")]),_._v(" "),v("li",[_._v("添加命令 ‘重载插件配置’,用于生效手动修改配文件")]),_._v(" "),v("li",[_._v("超级用户帮助可以添加 -super 来显示该插件的超级用户帮助,示例:帮助.ban -super")]),_._v(" "),v("li",[_._v("原神黄历改为网页截图")]),_._v(" "),v("li",[_._v("修改了鲁迅说逻辑结构")]),_._v(" "),v("li",[_._v("修改了统计图表样式,改为自定义CreateMat")]),_._v(" "),v("li",[_._v("节日红包不再被24小时限制,群内多个节日红包将会覆盖")]),_._v(" "),v("li",[_._v("当群权限为-1时,不会对群发送修改权限通知,并屏蔽此群一切命令(包括提醒)")]),_._v(" "),v("li",[_._v("修复了红包数量可以过大或为负数,红包数量大于群员数量时会修改为群员数量")]),_._v(" "),v("li",[_._v("修复了负数开箱")]),_._v(" "),v("li",[_._v("签到最低好感度设置为0.01 "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/53",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/53"),v("OutboundLink")],1)]),_._v(" "),v("li",[_._v("pip安装新依赖 ruamel.yaml")]),_._v(" "),v("li",[_._v("修复功能 EPIC "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/58",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/58"),v("OutboundLink")],1)])]),_._v(" "),v("h2",{attrs:{id:"_2021-9-10"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2021-9-10"}},[_._v("#")]),_._v(" 2021/9/10")]),_._v(" "),v("ul",[v("li",[_._v("修复撤回消息有时无法正确获取消息id")])]),_._v(" "),v("h2",{attrs:{id:"_2021-9-9"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2021-9-9"}},[_._v("#")]),_._v(" 2021/9/9")]),_._v(" "),v("ul",[v("li",[_._v("替换coser API")]),_._v(" "),v("li",[_._v("修复签到uid可能不默认为0")]),_._v(" "),v("li",[_._v("修复签到可能重复的问题")]),_._v(" "),v("li",[_._v("修复无订阅时递归出错")]),_._v(" "),v("li",[_._v("启用了plugins2info_dict, plugins2cd_dict, plugins2exists_dict配置文件,通过USE_CONFIG_FILE=True开启")]),_._v(" "),v("li",[_._v("修复涩图local_id会被固定为50")]),_._v(" "),v("li",[_._v("优化图库数量查询")]),_._v(" "),v("li",[_._v("修复原神大地图过大无法打开报错")]),_._v(" "),v("li",[_._v("修复无法显示正确的涩图上限")])]),_._v(" "),v("h2",{attrs:{id:"_2021-9-7"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2021-9-7"}},[_._v("#")]),_._v(" 2021/9/7")]),_._v(" "),v("ul",[v("li",[_._v("修改 update_info.json")]),_._v(" "),v("li",[_._v("修改 更新信息 图片大小")]),_._v(" "),v("li",[_._v("修复 查看订阅 命令 UP和番剧无法正常显示")]),_._v(" "),v("li",[_._v("修复订阅推送无法正确推送")]),_._v(" "),v("li",[_._v("修复搜图返回列表为空时无法正确回复 "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/pull/40",target:"_blank",rel:"noopener noreferrer"}},[_._v("@pull/40"),v("OutboundLink")],1)])]),_._v(" "),v("h2",{attrs:{id:"_2021-9-5"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2021-9-5"}},[_._v("#")]),_._v(" 2021/9/5")]),_._v(" "),v("ul",[v("li",[_._v("添加配置PIX_IMAGE_SIZE,调整PIX下载图片大小,当设置的图片404时,改为原图")]),_._v(" "),v("li",[_._v("新增配置DEFAULT_GROUP_LEVEL,默认群等级")]),_._v(" "),v("li",[_._v("新增超级用户功能 super ban,将屏蔽被ban用户的所有消息,指令:b了")]),_._v(" "),v("li",[_._v("b站转发解析支持纯BV号解析,且五分钟内不会解析相同url")]),_._v(" "),v("li",[_._v("俄罗斯轮盘新增 连胜/最高连胜/连败/最高连败 纪录,新增 最高连胜排行榜/最高连败排行榜")]),_._v(" "),v("li",[_._v("增加扩展图库 OmegaPixivIllusts,不想自己找图的人福音("),v("a",{attrs:{href:"https://github.com/Ailitonia",target:"_blank",rel:"noopener noreferrer"}},[_._v("Ailitonia"),v("OutboundLink")],1),_._v(" 佬的高质量精品手筛图库)("),v("a",{attrs:{href:"https://github.com/Ailitonia/omega-miya/blob/master/archive_data/db_pixiv.7z",target:"_blank",rel:"noopener noreferrer"}},[_._v("传送门"),v("OutboundLink")],1),_._v(" ),可以手动导入图库,也可以将解压文件放在bot.py同级目录重启bot")]),_._v(" "),v("li",[_._v("增加配置PIX_OMEGA_PIXIV_RATIO,PIX功能发送PIX图库和扩展图库OmegaPixivIllusts图片的比例,如果没有使用扩展图库OmegaPixivIllusts,请设置为(10, 0)")]),_._v(" "),v("li",[_._v("增加配置WITHDRAW_PIX_TIME,用于配置在开关PIX图片在群私聊的自动撤回")]),_._v(" "),v("li",[_._v("上传图库cases, 开箱 也可以连抽(未更新过没有价格)")]),_._v(" "),v("li",[_._v("新增命令 查看群白名单")]),_._v(" "),v("li",[_._v('plugins2info_dict新增键"default_status",设置加入新群时功能的默认开关状态')]),_._v(" "),v("li",[_._v("增加配置plugins2exists_dict,可自定义是否阻塞某命令同时触发多次")]),_._v(" "),v("li",[_._v("增加配置plugins2cd_dict,可自定义为命令添加cd")]),_._v(" "),v("li",[_._v("新增B站订阅(直播/番剧/UP)[测试],提供命令:添加订阅 [主播/UP/番剧] [id/链接/番名],删除订阅 [id],查看订阅")]),_._v(" "),v("li",[_._v("优化pix和色图的数据库查询")]),_._v(" "),v("li",[_._v("触发已关闭的功能的正则时不再触发ai")]),_._v(" "),v("li",[_._v("更换coser API")]),_._v(" "),v("li",[_._v("PIX搜索pid功能在群聊无法搜索PIX图库的r18和OmegaPixivIllusts的r15以及r18,超级用户除外")]),_._v(" "),v("li",[_._v("PIX单次搜索的图片张数超级用户限制为至多30张,普通用户10张")]),_._v(" "),v("li",[_._v("PIX超级用户新增-s,-r,可以通过pix -s 查看图库的涩图,pix -r查看图库的r18图,支持搜索,当然,pix图库只区分了r18和非r18,如果-s查询到不色的图也问题不大")]),_._v(" "),v("li",[_._v("优化P站排行和搜图,现在需要艾特,改为使用HIBIAPI,在群内时将使用合并消息(群聊搜图会屏蔽R-18)")]),_._v(" "),v("li",[_._v("win10下playwright相关功能无法使用,但是不再需要删除文件")]),_._v(" "),v("li",[_._v("签到大改,优化签到方式与逻辑,改为图片形式发送,有概率额外获得随机道具(好感度有加成)")]),_._v(" "),v("li",[_._v("修改撤回功能,改为回复撤回,回复发送撤回")]),_._v(" "),v("li",[_._v("更改logging为loguru")]),_._v(" "),v("li",[_._v("删除了 发送图片 中的 [N]张图[keyword] 功能")]),_._v(" "),v("li",[_._v("修复私聊 关闭[功能] 默认不为 全部 而要添加参数 ‘a’")]),_._v(" "),v("li",[_._v("修复0权限用户可以修改禁言检测相关设置")])]),_._v(" "),v("h2",{attrs:{id:"_2021-8-17"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2021-8-17"}},[_._v("#")]),_._v(" 2021/8/17")]),_._v(" "),v("ul",[v("li",[_._v("新增配置CHECK_NOTICE_INFO_CD,修改群权限,个人权限检测各种检测的提示消息cd")]),_._v(" "),v("li",[_._v("新增功能‘连续上传图片’功能,直到输入‘stop’停止")]),_._v(" "),v("li",[_._v("新增功能维护时白名单以及对应命令(白名单中的群聊不受维护限制)")]),_._v(" "),v("li",[_._v("新增ALAPI功能,微博热搜,可以通过序号来查看部分热搜内容")]),_._v(" "),v("li",[_._v("新增配置NICKNAME,偶尔也想换换名字的说(自我介绍仅当NICKNAME=真寻时生效)")]),_._v(" "),v("li",[_._v("提供 更新信息 命令,可以使群员查看更新内容(可开关,与其他功能无异,但不会被统计,该命令图片由自动更新生成)")]),_._v(" "),v("li",[_._v("超级用户可以通过私聊来对指定qq进行ban/unban")]),_._v(" "),v("li",[_._v("超级用户帮助改为图片形式")]),_._v(" "),v("li",[_._v("公开图库删除‘色图’")]),_._v(" "),v("li",[_._v("群权限检测,个人权限检测,功能开关检测合并,权限检测顺序:个人权限 > 群权限 > 插件开关 >超级用户禁用某群插件 > 超级用户限制群里插件 > 插件维护检测")]),_._v(" "),v("li",[_._v("重写群功能管理,超级用户可对群/私聊分别禁用,也可禁用指定群指定功能,新增命令‘功能状态’,超级用户关闭功能提供参数(默认ALL):group/g(群聊),private/p(私聊)")]),_._v(" "),v("li",[_._v("超级用户不会被任何权限等检测阻挡")]),_._v(" "),v("li",[_._v("不会重复复读,复读消息只会发送一次")]),_._v(" "),v("li",[_._v("b站转发解析支持b23.tv,www.bilibili.com链接,cv专栏(playwright截图,压缩倍率0.5,较慢且文字可能不清晰,后优化)")]),_._v(" "),v("li",[_._v("我有一个朋友功能,当艾特一个对象时,‘朋友’改为艾特对象的群名片或昵称")]),_._v(" "),v("li",[_._v("修复‘上传/删除/移动图片’目录不正确")]),_._v(" "),v("li",[_._v("修复天气功能,当城市名在‘天气’后时报错")]),_._v(" "),v("li",[_._v("修复配置INITIAL_SETU_PROBABILITY不生效")])]),_._v(" "),v("h2",{attrs:{id:"_2021-8-10"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2021-8-10"}},[_._v("#")]),_._v(" 2021/8/10")]),_._v(" "),v("ul",[v("li",[_._v("重复的好友请求和邀群提示在5分钟内不会重复提示")]),_._v(" "),v("li",[_._v("疫情会优先检查城市,城市省份市区重名时请添加‘市’")]),_._v(" "),v("li",[_._v("添加命令‘原神资源查找’,‘设置cookie’")]),_._v(" "),v("li",[_._v("添加配置AUTO_UPDATE_ZHENXUN,是否自动更新真寻,默认True")]),_._v(" "),v("li",[_._v("添加配置MAX_RUSSIAN_BET_GOLD,俄罗斯轮盘赌注最大金额,默认1000")]),_._v(" "),v("li",[_._v("检查更新真寻定时任务时间改为12 : 00")]),_._v(" "),v("li",[_._v("添加功能能不能好好说话(nbnhhsh)")]),_._v(" "),v("li",[_._v("添加功能随机roll,无参为数字,有参为随机参数")]),_._v(" "),v("li",[_._v("添加linux重启脚本以及重启命令‘重启’(建议首次生成restart.sh先查看命令是否正确)")]),_._v(" "),v("li",[_._v("修复管理员功能的权限检测")]),_._v(" "),v("li",[_._v("修复丢人爬开关")])]),_._v(" "),v("h2",{attrs:{id:"_2021-8-6"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2021-8-6"}},[_._v("#")]),_._v(" 2021/8/6")]),_._v(" "),v("ul",[v("li",[_._v("天气查询会优先遍历城市")]),_._v(" "),v("li",[_._v("添加自动更新真寻命令")])]),_._v(" "),v("h4",{attrs:{id:"如果你的版本为-2021-8-4-可以直接复制plugins-check-zhenxun-update后-通过指令来更新真寻"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#如果你的版本为-2021-8-4-可以直接复制plugins-check-zhenxun-update后-通过指令来更新真寻"}},[_._v("#")]),_._v(" 如果你的版本为 2021/8/4,可以直接复制plugins/check_zhenxun_update后,通过指令来更新真寻")]),_._v(" "),v("h2",{attrs:{id:"_2021-8-4"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2021-8-4"}},[_._v("#")]),_._v(" 2021/8/4")]),_._v(" "),v("ul",[v("li",[_._v("修改天气与疫情城市数据,改为api获取,丰富疫情的回复消息")]),_._v(" "),v("li",[_._v("原神资源查询,大地图将被压缩至9M,且启动时当大地图存在时不再自动更新地图")]),_._v(" "),v("li",[_._v("下载数据库内色图时将直接存储至_setu,不再存储至临时文件")]),_._v(" "),v("li",[_._v("重复的好友请求或邀请请求在一定时间不会重复发送提醒")]),_._v(" "),v("li",[_._v("添加每日自动清理临时图片定时任务")]),_._v(" "),v("li",[_._v("修复金币排行显示")]),_._v(" "),v("li",[_._v("修复无法正常关闭戳一戳功能")])]),_._v(" "),v("h2",{attrs:{id:"_2021-7-30"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2021-7-30"}},[_._v("#")]),_._v(" 2021/7/30")]),_._v(" "),v("ul",[v("li",[_._v("重构代码,进行优化,添加注释,删除冗余代码,降低代码耦合")]),_._v(" "),v("li",[_._v("添加功能:PIX(一套快捷的pixiv存图命令,自建图库存储url等信息?意在获取自己或群友xp的图)")]),_._v(" "),v("li",[_._v("添加功能:清理临时图片文件(temp/rar/r18_rar文件夹)")]),_._v(" "),v("li",[_._v("添加额外定时任务(5分钟检测一次),解决加入新群时无法及时为管理员提供权限")]),_._v(" "),v("li",[_._v("添加配置ALAPI_AI_CHECK,开关AI回复文本检测")]),_._v(" "),v("li",[_._v("添加配置IMPORT_DEFAULT_SHOP_GOODS,控制是否导入内置的三个商品(好感度加持卡ⅠⅡⅢ)")]),_._v(" "),v("li",[_._v("添加配置ONLY_USE_LOCAL_SETU,仅仅使用本地色图(有的话),提升速度,但无法在线搜索色图和保存链接")]),_._v(" "),v("li",[_._v("添加配置WITHDRAW_SETU_TIME,是否需要延迟撤回色图,可配置仅群里,私聊或全部")]),_._v(" "),v("li",[_._v("好友请求,入群请求,滴滴滴-,/t,被踢出群提醒,的提示消息更加丰富")]),_._v(" "),v("li",[_._v("彻底重写原神资源查找,添加规划路线(路线残缺缺缺缺版,有空补)添加命令‘更新原神资源信息’,强制更新地图等资源")]),_._v(" "),v("li",[_._v("优化色图和P站排行/搜图检测用户是否正在触发命令代码")]),_._v(" "),v("li",[_._v("当群最后发言大于36小时,也会关闭广播通知")]),_._v(" "),v("li",[_._v("功能维护时超级用户依然可以调用(苦了谁都不能苦了自己)")]),_._v(" "),v("li",[_._v("修复获取赛马娘UP公告")]),_._v(" "),v("li",[_._v("重写 色图/更新色图\n"),v("ul",[v("li",[_._v("色图数据存储改为数据库,启动时会更新之前的色图数据(有的话),更新完毕后会删除原数据文件,如果需要保留请提前备份,")]),_._v(" "),v("li",[_._v("lolicon api改为v2")]),_._v(" "),v("li",[_._v("取消r18次数限制")]),_._v(" "),v("li",[_._v("单次搜索至多保存100条链接")]),_._v(" "),v("li",[_._v("添加定时撤回")]),_._v(" "),v("li",[_._v("暂时取消上传/删除色图")])])]),_._v(" "),v("li"),_._v(" "),v("li",[_._v("更新建议(不要替换你的data和resources文件夹!)\n"),v("ul",[v("li",[_._v("删除configs,plugins,services,utils,models文件夹重新clone")]),_._v(" "),v("li",[_._v("删除多余文件夹,resources/img/genshin/seek_god_eye")]),_._v(" "),v("li",[_._v("清空resources/img/genshin/genshin_icon文件夹,仅保留box.png和box_alpha.png")]),_._v(" "),v("li",[_._v("替换bot.py")])])])]),_._v(" "),v("h2",{attrs:{id:"_2021-7-27"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2021-7-27"}},[_._v("#")]),_._v(" 2021/7/27")]),_._v(" "),v("ul",[v("li",[_._v("原神今日素材改为单张截图+拼图,更新文件utils/img_utils.py及plugins/genshin/material_remind/"),v("strong",[_._v("init")]),_._v(".py")])]),_._v(" "),v("h2",{attrs:{id:"_2021-7-26"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2021-7-26"}},[_._v("#")]),_._v(" 2021/7/26")]),_._v(" "),v("ul",[v("li",[_._v("修复原神今日素材稻妻城开放后截图不完整的问题")])]),_._v(" "),v("h2",{attrs:{id:"_2021-7-14"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2021-7-14"}},[_._v("#")]),_._v(" 2021/7/14")]),_._v(" "),v("ul",[v("li",[_._v("原神今日素材自动更新时间由 00:01 -> 04:01 "),v("a",{attrs:{href:"https://github.com/HibiKier/zhenxun_bot/issues/7",target:"_blank",rel:"noopener noreferrer"}},[_._v("#issues7"),v("OutboundLink")],1)]),_._v(" "),v("li",[_._v("小问题的修复和优化")])]),_._v(" "),v("h2",{attrs:{id:"_2021-7-12"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2021-7-12"}},[_._v("#")]),_._v(" 2021/7/12")]),_._v(" "),v("ul",[v("li",[_._v("修复开箱功能单抽出金时存储格式错误导致 ‘我的金色’ 无法正常发送图片")]),_._v(" "),v("li",[_._v("小问题的修复和优化")])]),_._v(" "),v("h2",{attrs:{id:"_2021-7-6"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2021-7-6"}},[_._v("#")]),_._v(" 2021/7/6")]),_._v(" "),v("ul",[v("li",[_._v("识番功能 trace.moe 替换为新API(旧API已失效)")]),_._v(" "),v("li",[_._v("小问题的修复和优化")])]),_._v(" "),v("h2",{attrs:{id:"_2021-6-30"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2021-6-30"}},[_._v("#")]),_._v(" 2021/6/30")]),_._v(" "),v("ul",[v("li",[_._v("将plugin2name和plugin2level合并为plugin2info")]),_._v(" "),v("li",[_._v("util改为utils(。。!)")]),_._v(" "),v("li",[_._v("修复当用户发送速度极快时开箱会突破每日限制")]),_._v(" "),v("li",[_._v("新增功能:通过PID获取图片")]),_._v(" "),v("li",[_._v("发送图片新增功能:搜索图片")]),_._v(" "),v("li",[_._v("功能统计可视化")]),_._v(" "),v("li",[_._v("新增命令:好感度总排行")]),_._v(" "),v("li",[_._v('原神每日素材改为从"可莉特调"截图,提供命令‘更新原神每日素材’和定时任务')]),_._v(" "),v("li",[_._v("修复月功能统计错误的问题")])]),_._v(" "),v("h2",{attrs:{id:"_2021-6-24"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2021-6-24"}},[_._v("#")]),_._v(" 2021/6/24")]),_._v(" "),v("ul",[v("li",[_._v("添加了一些ALAPI:网易云热评,获取b站视频封面,古诗(需要填写ALAPI_TOKEN)")]),_._v(" "),v("li",[_._v("如果填写了ALAPI_TOKEN,将会检测备用接口回复的文本是否合规")]),_._v(" "),v("li",[_._v("优化了色图,当搜索色图下载失败时,会从本地色图库中发送相关tag色图")]),_._v(" "),v("li",[_._v("当网易云点歌繁忙时会尝试多次点歌")])]),_._v(" "),v("h2",{attrs:{id:"_2021-6-23"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2021-6-23"}},[_._v("#")]),_._v(" 2021/6/23")]),_._v(" "),v("ul",[v("li",[_._v("添加功能:群权限(所以说内鬼都快爬,可以在configs/config.py中修改各个功能的权限等级)")]),_._v(" "),v("li",[_._v("优化了数据统计,将以7天,30天为周期,为将来更方便实现数据可视化")]),_._v(" "),v("li",[_._v("更新坎公骑冠剑UP卡池")]),_._v(" "),v("li",[_._v("修复赛马娘UP卡池")]),_._v(" "),v("li",[_._v("修复一些小问题")])]),_._v(" "),v("h2",{attrs:{id:"_2021-6-18"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2021-6-18"}},[_._v("#")]),_._v(" 2021/6/18")]),_._v(" "),v("ul",[v("li",[_._v("修复p站排行,搜图因网络问题爆炸时没有具体回复")]),_._v(" "),v("li",[_._v("更换色图显示方式为 id,title,author,pid")]),_._v(" "),v("li",[_._v("修复修改商品后商品顺序改变")]),_._v(" "),v("li",[_._v("滴滴滴- 和 /t支持图片回复")]),_._v(" "),v("li",[_._v("将/t回复更加简单(可以通过序号),且可以直接发送群")]),_._v(" "),v("li",[_._v("修复bt功能无法交互")])]),_._v(" "),v("h2",{attrs:{id:"_2021-6-17"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2021-6-17"}},[_._v("#")]),_._v(" 2021/6/17")]),_._v(" "),v("ul",[v("li",[_._v("修复p站排行,搜图因网络问题爆炸时没有具体回复")]),_._v(" "),v("li",[_._v("更换色图显示方式为 id,title,author,pid")])]),_._v(" "),v("h2",{attrs:{id:"_2021-6-15"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2021-6-15"}},[_._v("#")]),_._v(" 2021/6/15")]),_._v(" "),v("ul",[v("li",[_._v("修改了‘帮助’功能,具体为‘帮助 指令名’,未指定指令名时则为查看全部功能列表")]),_._v(" "),v("li",[_._v("修改了色图的存储数据格式")]),_._v(" "),v("li",[_._v("色图功能搜索的色图改为随机从urls中随机抽取")]),_._v(" "),v("li",[_._v("将商品数据存储入数据库,提供 '增加/删除/修改商品' 指令")]),_._v(" "),v("li",[_._v("商店列表图片不再使用固定背景图,改为直接拼图")]),_._v(" "),v("li",[_._v("增加功能:俄罗斯轮盘/胜场排行/败场排行/欧洲人排行/慈善家排行")]),_._v(" "),v("li",[_._v("增加功能:金币红包(节日红包与群红包相互独立)")]),_._v(" "),v("li",[_._v("金币排行")]),_._v(" "),v("li",[_._v("重写一个朋友插件")]),_._v(" "),v("li",[_._v("其他微小调整")])]),_._v(" "),v("h2",{attrs:{id:"_2021-6-4"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2021-6-4"}},[_._v("#")]),_._v(" 2021/6/4")]),_._v(" "),v("ul",[v("li",[_._v("重写BT功能")]),_._v(" "),v("li",[_._v("进行一些BUG修复和微小调整")]),_._v(" "),v("li",[_._v("添加撤回功能"),v("a",{attrs:{href:"https://github.com/MeetWq/nonebot-plugin-withdraw",target:"_blank",rel:"noopener noreferrer"}},[_._v("nonebot-plugin-withdraw"),v("OutboundLink")],1)]),_._v(" "),v("li",[_._v("为色图功能添加额外的 上传色图 和 删除色图方法(影响hash)")])]),_._v(" "),v("h2",{attrs:{id:"_2021-5-26"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#_2021-5-26"}},[_._v("#")]),_._v(" 2021/5/26")]),_._v(" "),v("ul",[v("li",[_._v("将语录源更换为一言api")])])])}),[],!1,null,null,null);t.default=i.exports}}]); \ No newline at end of file diff --git a/assets/js/49.77e4f78d.js b/assets/js/49.77e4f78d.js deleted file mode 100644 index 94c914c67..000000000 --- a/assets/js/49.77e4f78d.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[49],{604:function(n,e,t){"use strict";t.r(e),t.d(e,"register",(function(){return o})),t.d(e,"unregister",(function(){return c}));var r;function o(n,e){void 0===e&&(e={});var t=e.registrationOptions;void 0===t&&(t={}),delete e.registrationOptions;var o=function(n){for(var t=[],r=arguments.length-1;r-- >0;)t[r]=arguments[r+1];e&&e[n]&&e[n].apply(e,t)};"serviceWorker"in navigator&&r.then((function(){Boolean("localhost"===window.location.hostname||"[::1]"===window.location.hostname||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/))?(!function(n,e,t){fetch(n).then((function(r){404===r.status?(e("error",new Error("Service worker not found at "+n)),c()):-1===r.headers.get("content-type").indexOf("javascript")?(e("error",new Error("Expected "+n+" to have javascript content-type, but received "+r.headers.get("content-type"))),c()):a(n,e,t)})).catch((function(n){return i(e,n)}))}(n,o,t),navigator.serviceWorker.ready.then((function(n){o("ready",n)})).catch((function(n){return i(o,n)}))):(a(n,o,t),navigator.serviceWorker.ready.then((function(n){o("ready",n)})).catch((function(n){return i(o,n)})))}))}function i(n,e){navigator.onLine||n("offline"),n("error",e)}function a(n,e,t){navigator.serviceWorker.register(n,t).then((function(n){e("registered",n),n.waiting?e("updated",n):n.onupdatefound=function(){e("updatefound",n);var t=n.installing;t.onstatechange=function(){"installed"===t.state&&(navigator.serviceWorker.controller?e("updated",n):e("cached",n))}}})).catch((function(n){return i(e,n)}))}function c(){"serviceWorker"in navigator&&navigator.serviceWorker.ready.then((function(n){n.unregister()})).catch((function(n){return i(emit,n)}))}"undefined"!=typeof window&&(r="undefined"!=typeof Promise?new Promise((function(n){return window.addEventListener("load",n)})):{then:function(n){return window.addEventListener("load",n)}})}}]); \ No newline at end of file diff --git a/assets/js/5.5eec42b2.js b/assets/js/5.5eec42b2.js deleted file mode 100644 index a9a9b2be9..000000000 --- a/assets/js/5.5eec42b2.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[5],{506:function(t,e,a){},507:function(t,e,a){},508:function(t,e,a){},509:function(t,e,a){},510:function(t,e,a){"use strict";a(71);var n=a(163),r=a(505),o=Object(n.b)({components:{RecoIcon:r.b},props:{pageInfo:{type:Object,default:function(){return{}}},currentTag:{type:String,default:""},showAccessNumber:{type:Boolean,default:!1}},setup:function(t,e){var a=Object(n.c)().proxy;return{numStyle:{fontSize:".9rem",fontWeight:"normal",color:"#999"},goTags:function(t){a.$route.path!=="/tag/".concat(t,"/")&&a.$router.push({path:"/tag/".concat(t,"/")})},formatDateValue:function(t){return new Intl.DateTimeFormat(a.$lang).format(new Date(t))}}}}),c=(a(512),a(12)),s=Object(c.a)(o,(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",[t.pageInfo.frontmatter.author||t.$themeConfig.author?a("reco-icon",{attrs:{icon:"reco-account"}},[a("span",[t._v(t._s(t.pageInfo.frontmatter.author||t.$themeConfig.author))])]):t._e(),t._v(" "),t.pageInfo.frontmatter.date?a("reco-icon",{attrs:{icon:"reco-date"}},[a("span",[t._v(t._s(t.formatDateValue(t.pageInfo.frontmatter.date)))])]):t._e(),t._v(" "),!0===t.showAccessNumber?a("reco-icon",{attrs:{icon:"reco-eye"}},[a("AccessNumber",{attrs:{idVal:t.pageInfo.path,numStyle:t.numStyle}})],1):t._e(),t._v(" "),t.pageInfo.frontmatter.tags?a("reco-icon",{staticClass:"tags",attrs:{icon:"reco-tag"}},t._l(t.pageInfo.frontmatter.tags,(function(e,n){return a("span",{key:n,staticClass:"tag-item",class:{active:t.currentTag==e},on:{click:function(a){return a.stopPropagation(),t.goTags(e)}}},[t._v(t._s(e))])})),0):t._e()],1)}),[],!1,null,"1ff7123e",null);e.a=s.exports},512:function(t,e,a){"use strict";a(506)},513:function(t,e,a){"use strict";a(507)},514:function(t,e,a){"use strict";a(508)},515:function(t,e,a){"use strict";a(48);var n=a(163),r=(a(164),a(276),{methods:{_getStoragePage:function(){var t=window.location.pathname,e=JSON.parse(sessionStorage.getItem("currentPage"));return null===e||t!==e.path?(sessionStorage.setItem("currentPage",JSON.stringify({page:1,path:""})),1):parseInt(e.page)},_setStoragePage:function(t){var e=window.location.pathname;sessionStorage.setItem("currentPage",JSON.stringify({page:t,path:e}))}}}),o=a(505),c=a(510),s=Object(n.b)({components:{PageInfo:c.a,RecoIcon:o.b},props:["item","currentPage","currentTag"]}),i=(a(513),a(12)),u=Object(i.a)(s,(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"abstract-item",on:{click:function(e){return t.$router.push(t.item.path)}}},[t.item.frontmatter.sticky?a("reco-icon",{attrs:{icon:"reco-sticky"}}):t._e(),t._v(" "),a("div",{staticClass:"title"},[t.item.frontmatter.keys?a("reco-icon",{attrs:{icon:"reco-lock"}}):t._e(),t._v(" "),a("router-link",{attrs:{to:t.item.path}},[t._v(t._s(t.item.title))])],1),t._v(" "),a("div",{staticClass:"abstract",domProps:{innerHTML:t._s(t.item.excerpt)}}),t._v(" "),a("PageInfo",{attrs:{pageInfo:t.item,currentTag:t.currentTag}})],1)}),[],!1,null,"ff2c8be0",null).exports,g=Object(n.b)({mixins:[r],components:{NoteAbstractItem:u},props:["data","currentTag"],setup:function(t,e){var a=Object(n.c)().proxy,r=Object(n.i)(t).data,o=Object(n.h)(1),c=Object(n.a)((function(){var t=(o.value-1)*a.$perPage,e=o.value*a.$perPage;return r.value.slice(t,e)}));return Object(n.e)((function(){o.value=a._getStoragePage()||1})),{currentPage:o,currentPageData:c,getCurrentPage:function(t){o.value=t,a._setStoragePage(t),e.emit("paginationChange",t)}}},watch:{$route:function(){this.currentPage=this._getStoragePage()||1}}}),l=(a(514),Object(i.a)(g,(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"abstract-wrapper"},[t._l(t.currentPageData,(function(e){return a("NoteAbstractItem",{key:e.path,attrs:{item:e,currentPage:t.currentPage,currentTag:t.currentTag}})})),t._v(" "),a("pagation",{staticClass:"pagation",attrs:{total:t.data.length,currentPage:t.currentPage},on:{getCurrentPage:t.getCurrentPage}})],2)}),[],!1,null,"5a259143",null));e.a=l.exports},518:function(t,e,a){"use strict";a(509)},520:function(t,e,a){"use strict";var n=a(74),r=(a(123),a(163)),o=a(96),c=Object(r.b)({props:{currentTag:{type:String,default:""}},setup:function(t,e){var a=Object(r.c)().proxy;return{tags:Object(r.a)((function(){return[{name:a.$recoLocales.all,path:"/tag/"}].concat(Object(n.a)(a.$tagesList))})),tagClick:function(t){e.emit("getCurrentTag",t)},getOneColor:o.b}}}),s=(a(518),a(12)),i=Object(s.a)(c,(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"tags"},t._l(t.tags,(function(e,n){return a("span",{directives:[{name:"show",rawName:"v-show",value:!e.pages||e.pages&&e.pages.length>0,expression:"!item.pages || (item.pages && item.pages.length > 0)"}],key:n,class:{active:e.name==t.currentTag},style:{backgroundColor:t.getOneColor()},on:{click:function(a){return t.tagClick(e)}}},[t._v(t._s(e.name))])})),0)}),[],!1,null,"125939b4",null);e.a=i.exports},549:function(t,e,a){},600:function(t,e,a){"use strict";a(549)},610:function(t,e,a){"use strict";a.r(e);a(47);var n=a(163),r=a(519),o=a(520),c=a(515),s=a(505),i=a(517),u=Object(n.b)({mixins:[i.a],components:{Common:r.a,NoteAbstract:c.a,TagList:o.a,ModuleTransition:s.a},setup:function(t,e){var a=Object(n.c)().proxy;return{tagClick:function(t){a.$route.path!==t.path&&a.$router.push({path:t.path})},paginationChange:function(t){setTimeout((function(){window.scrollTo(0,0)}),100)}}}}),g=(a(511),a(600),a(12)),l=Object(g.a)(u,(function(){var t=this.$createElement,e=this._self._c||t;return e("Common",{staticClass:"tags-wrapper",attrs:{sidebar:!1}},[e("ModuleTransition",[e("TagList",{directives:[{name:"show",rawName:"v-show",value:this.recoShowModule,expression:"recoShowModule"}],attrs:{currentTag:this.$recoLocales.all},on:{getCurrentTag:this.tagClick}})],1),this._v(" "),e("ModuleTransition",{attrs:{delay:"0.08"}},[e("note-abstract",{directives:[{name:"show",rawName:"v-show",value:this.recoShowModule,expression:"recoShowModule"}],staticClass:"list",attrs:{data:this.$recoPosts},on:{paginationChange:this.paginationChange}})],1)],1)}),[],!1,null,"5e87ad34",null);e.default=l.exports}}]); \ No newline at end of file diff --git a/assets/js/5.a639ca96.js b/assets/js/5.a639ca96.js new file mode 100644 index 000000000..76e01b9df --- /dev/null +++ b/assets/js/5.a639ca96.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[5],{326:function(t,e,a){},327:function(t,e,a){},328:function(t,e,a){},329:function(t,e,a){},330:function(t,e,a){"use strict";a(326)},331:function(t,e,a){},332:function(t,e,a){},333:function(t,e,a){"use strict";a(16);var n=a(0),r=a(325),s=a(324),o=Object(n.c)({components:{RecoIcon:r.b},props:{pageInfo:{type:Object,default:()=>({})},currentTag:{type:String,default:""},showAccessNumber:{type:Boolean,default:!1}},setup(t,e){const a=Object(s.a)();return{numStyle:{fontSize:".9rem",fontWeight:"normal",color:"#999"},goTags:t=>{a.$route.path!==`/tag/${t}/`&&a.$router.push({path:`/tag/${t}/`})},formatDateValue:t=>new Intl.DateTimeFormat(a.$lang).format(new Date(t))}}}),c=(a(334),a(2)),i=Object(c.a)(o,(function(){var t=this,e=t._self._c;t._self._setupProxy;return e("div",[t.pageInfo.frontmatter.author||t.$themeConfig.author?e("reco-icon",{attrs:{icon:"reco-account"}},[e("span",[t._v(t._s(t.pageInfo.frontmatter.author||t.$themeConfig.author))])]):t._e(),t._v(" "),t.pageInfo.frontmatter.date?e("reco-icon",{attrs:{icon:"reco-date"}},[e("span",[t._v(t._s(t.formatDateValue(t.pageInfo.frontmatter.date)))])]):t._e(),t._v(" "),!0===t.showAccessNumber?e("reco-icon",{attrs:{icon:"reco-eye"}},[e("AccessNumber",{attrs:{idVal:t.pageInfo.path,numStyle:t.numStyle}})],1):t._e(),t._v(" "),t.pageInfo.frontmatter.tags?e("reco-icon",{staticClass:"tags",attrs:{icon:"reco-tag"}},t._l(t.pageInfo.frontmatter.tags,(function(a,n){return e("span",{key:n,staticClass:"tag-item",class:{active:t.currentTag==a},on:{click:function(e){return e.stopPropagation(),t.goTags(a)}}},[t._v(t._s(a))])})),0):t._e()],1)}),[],!1,null,"8a445198",null);e.a=i.exports},334:function(t,e,a){"use strict";a(327)},335:function(t,e,a){"use strict";a(328)},336:function(t,e,a){"use strict";a(329)},337:function(t,e,a){"use strict";var n=a(0),r={methods:{_getStoragePage(){const t=window.location.pathname,e=JSON.parse(sessionStorage.getItem("currentPage"));return null===e||t!==e.path?(sessionStorage.setItem("currentPage",JSON.stringify({page:1,path:""})),1):parseInt(e.page)},_setStoragePage(t){const e=window.location.pathname;sessionStorage.setItem("currentPage",JSON.stringify({page:t,path:e}))}}},s=(a(16),a(325)),o=a(333),c=Object(n.c)({components:{PageInfo:o.a,RecoIcon:s.b},props:["item","currentPage","currentTag"]}),i=(a(335),a(2)),u=Object(i.a)(c,(function(){var t=this,e=t._self._c;t._self._setupProxy;return e("div",{staticClass:"abstract-item",on:{click:function(e){return t.$router.push(t.item.path)}}},[t.item.frontmatter.sticky?e("reco-icon",{attrs:{icon:"reco-sticky"}}):t._e(),t._v(" "),e("div",{staticClass:"title"},[t.item.frontmatter.keys?e("reco-icon",{attrs:{icon:"reco-lock"}}):t._e(),t._v(" "),e("router-link",{attrs:{to:t.item.path}},[t._v(t._s(t.item.title))])],1),t._v(" "),e("div",{staticClass:"abstract",domProps:{innerHTML:t._s(t.item.excerpt)}}),t._v(" "),e("PageInfo",{attrs:{pageInfo:t.item,currentTag:t.currentTag}})],1)}),[],!1,null,"73a63558",null).exports,g=a(324),l=Object(n.c)({mixins:[r],components:{NoteAbstractItem:u},props:["data","currentTag"],setup(t,e){const a=Object(g.a)(),{data:r}=Object(n.i)(t),s=Object(n.h)(1),o=Object(n.a)(()=>{const t=(s.value-1)*a.$perPage,e=s.value*a.$perPage;return r.value.slice(t,e)});return Object(n.e)(()=>{s.value=a._getStoragePage()||1}),{currentPage:s,currentPageData:o,getCurrentPage:t=>{s.value=t,a._setStoragePage(t),e.emit("paginationChange",t)}}},watch:{$route(){this.currentPage=this._getStoragePage()||1}}}),p=(a(336),Object(i.a)(l,(function(){var t=this,e=t._self._c;t._self._setupProxy;return e("div",{staticClass:"abstract-wrapper"},[t._l(t.currentPageData,(function(a){return e("NoteAbstractItem",{key:a.path,attrs:{item:a,currentPage:t.currentPage,currentTag:t.currentTag}})})),t._v(" "),e("pagation",{staticClass:"pagation",attrs:{total:t.data.length,currentPage:t.currentPage},on:{getCurrentPage:t.getCurrentPage}})],2)}),[],!1,null,"21a20f36",null));e.a=p.exports},338:function(t,e,a){"use strict";a(331)},339:function(t,e,a){"use strict";a(332)},341:function(t,e,a){"use strict";var n=a(0),r=a(41),s=a(324),o=Object(n.c)({props:{currentTag:{type:String,default:""}},setup(t,e){const a=Object(s.a)();return{tags:Object(n.a)(()=>[{name:a.$recoLocales.all,path:"/tag/"},...a.$tagesList]),tagClick:t=>{e.emit("getCurrentTag",t)},getOneColor:r.b}}}),c=(a(339),a(2)),i=Object(c.a)(o,(function(){var t=this,e=t._self._c;t._self._setupProxy;return e("div",{staticClass:"tags"},t._l(t.tags,(function(a,n){return e("span",{directives:[{name:"show",rawName:"v-show",value:!a.pages||a.pages&&a.pages.length>0,expression:"!item.pages || (item.pages && item.pages.length > 0)"}],key:n,class:{active:a.name==t.currentTag},style:{backgroundColor:t.getOneColor()},on:{click:function(e){return t.tagClick(a)}}},[t._v(t._s(a.name))])})),0)}),[],!1,null,"cbf58c6c",null);e.a=i.exports},371:function(t,e,a){},411:function(t,e,a){"use strict";a(371)},418:function(t,e,a){"use strict";a.r(e);a(16);var n=a(0),r=a(340),s=a(341),o=a(337),c=a(324),i=Object(n.c)({components:{Common:r.a,NoteAbstract:o.a,TagList:s.a},setup(t,e){const a=Object(c.a)();return{tagClick:t=>{a.$route.path!==t.path&&a.$router.push({path:t.path})},paginationChange:t=>{setTimeout(()=>{window.scrollTo(0,0)},100)}}}}),u=(a(330),a(338),a(411),a(2)),g=Object(u.a)(i,(function(){var t=this._self._c;this._self._setupProxy;return t("Common",{staticClass:"tags-wrapper",attrs:{sidebar:!1}},[t("TagList",{attrs:{currentTag:this.$recoLocales.all},on:{getCurrentTag:this.tagClick}}),this._v(" "),t("note-abstract",{staticClass:"list",attrs:{data:this.$recoPosts},on:{paginationChange:this.paginationChange}})],1)}),[],!1,null,"76b3aa19",null);e.default=g.exports}}]); \ No newline at end of file diff --git a/assets/js/6.45f432e0.js b/assets/js/6.45f432e0.js deleted file mode 100644 index 4ea4bc3d2..000000000 --- a/assets/js/6.45f432e0.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{506:function(t,e,a){},507:function(t,e,a){},508:function(t,e,a){},510:function(t,e,a){"use strict";a(71);var n=a(163),r=a(505),o=Object(n.b)({components:{RecoIcon:r.b},props:{pageInfo:{type:Object,default:function(){return{}}},currentTag:{type:String,default:""},showAccessNumber:{type:Boolean,default:!1}},setup:function(t,e){var a=Object(n.c)().proxy;return{numStyle:{fontSize:".9rem",fontWeight:"normal",color:"#999"},goTags:function(t){a.$route.path!=="/tag/".concat(t,"/")&&a.$router.push({path:"/tag/".concat(t,"/")})},formatDateValue:function(t){return new Intl.DateTimeFormat(a.$lang).format(new Date(t))}}}}),c=(a(512),a(12)),s=Object(c.a)(o,(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",[t.pageInfo.frontmatter.author||t.$themeConfig.author?a("reco-icon",{attrs:{icon:"reco-account"}},[a("span",[t._v(t._s(t.pageInfo.frontmatter.author||t.$themeConfig.author))])]):t._e(),t._v(" "),t.pageInfo.frontmatter.date?a("reco-icon",{attrs:{icon:"reco-date"}},[a("span",[t._v(t._s(t.formatDateValue(t.pageInfo.frontmatter.date)))])]):t._e(),t._v(" "),!0===t.showAccessNumber?a("reco-icon",{attrs:{icon:"reco-eye"}},[a("AccessNumber",{attrs:{idVal:t.pageInfo.path,numStyle:t.numStyle}})],1):t._e(),t._v(" "),t.pageInfo.frontmatter.tags?a("reco-icon",{staticClass:"tags",attrs:{icon:"reco-tag"}},t._l(t.pageInfo.frontmatter.tags,(function(e,n){return a("span",{key:n,staticClass:"tag-item",class:{active:t.currentTag==e},on:{click:function(a){return a.stopPropagation(),t.goTags(e)}}},[t._v(t._s(e))])})),0):t._e()],1)}),[],!1,null,"1ff7123e",null);e.a=s.exports},512:function(t,e,a){"use strict";a(506)},513:function(t,e,a){"use strict";a(507)},514:function(t,e,a){"use strict";a(508)},515:function(t,e,a){"use strict";a(48);var n=a(163),r=(a(164),a(276),{methods:{_getStoragePage:function(){var t=window.location.pathname,e=JSON.parse(sessionStorage.getItem("currentPage"));return null===e||t!==e.path?(sessionStorage.setItem("currentPage",JSON.stringify({page:1,path:""})),1):parseInt(e.page)},_setStoragePage:function(t){var e=window.location.pathname;sessionStorage.setItem("currentPage",JSON.stringify({page:t,path:e}))}}}),o=a(505),c=a(510),s=Object(n.b)({components:{PageInfo:c.a,RecoIcon:o.b},props:["item","currentPage","currentTag"]}),i=(a(513),a(12)),u=Object(i.a)(s,(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"abstract-item",on:{click:function(e){return t.$router.push(t.item.path)}}},[t.item.frontmatter.sticky?a("reco-icon",{attrs:{icon:"reco-sticky"}}):t._e(),t._v(" "),a("div",{staticClass:"title"},[t.item.frontmatter.keys?a("reco-icon",{attrs:{icon:"reco-lock"}}):t._e(),t._v(" "),a("router-link",{attrs:{to:t.item.path}},[t._v(t._s(t.item.title))])],1),t._v(" "),a("div",{staticClass:"abstract",domProps:{innerHTML:t._s(t.item.excerpt)}}),t._v(" "),a("PageInfo",{attrs:{pageInfo:t.item,currentTag:t.currentTag}})],1)}),[],!1,null,"ff2c8be0",null).exports,g=Object(n.b)({mixins:[r],components:{NoteAbstractItem:u},props:["data","currentTag"],setup:function(t,e){var a=Object(n.c)().proxy,r=Object(n.i)(t).data,o=Object(n.h)(1),c=Object(n.a)((function(){var t=(o.value-1)*a.$perPage,e=o.value*a.$perPage;return r.value.slice(t,e)}));return Object(n.e)((function(){o.value=a._getStoragePage()||1})),{currentPage:o,currentPageData:c,getCurrentPage:function(t){o.value=t,a._setStoragePage(t),e.emit("paginationChange",t)}}},watch:{$route:function(){this.currentPage=this._getStoragePage()||1}}}),l=(a(514),Object(i.a)(g,(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"abstract-wrapper"},[t._l(t.currentPageData,(function(e){return a("NoteAbstractItem",{key:e.path,attrs:{item:e,currentPage:t.currentPage,currentTag:t.currentTag}})})),t._v(" "),a("pagation",{staticClass:"pagation",attrs:{total:t.data.length,currentPage:t.currentPage},on:{getCurrentPage:t.getCurrentPage}})],2)}),[],!1,null,"5a259143",null));e.a=l.exports},541:function(t,e,a){},590:function(t,e,a){"use strict";a(541)},608:function(t,e,a){"use strict";a.r(e);a(47);var n=a(163),r=a(519),o=a(515),c=a(505),s=a(94),i=a(96),u=a(517),g=Object(n.b)({mixins:[u.a],components:{Common:r.a,NoteAbstract:o.a,ModuleTransition:c.a},setup:function(t,e){var a=Object(n.c)().proxy;return{posts:Object(n.a)((function(){var t=a.$currentCategories.pages;return t=Object(s.a)(t),Object(s.c)(t),t})),title:Object(n.a)((function(){return a.$currentCategories.key})),getCurrentTag:function(t){e.emit("currentTag",t)},paginationChange:function(t){setTimeout((function(){window.scrollTo(0,0)}),100)},getOneColor:i.b}}}),l=(a(511),a(590),a(12)),p=Object(l.a)(g,(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("Common",{staticClass:"categories-wrapper",attrs:{sidebar:!1}},[a("ModuleTransition",[a("ul",{directives:[{name:"show",rawName:"v-show",value:t.recoShowModule,expression:"recoShowModule"}],staticClass:"category-wrapper"},t._l(t.$categoriesList,(function(e,n){return a("li",{directives:[{name:"show",rawName:"v-show",value:e.pages.length>0,expression:"item.pages.length > 0"}],key:n,staticClass:"category-item",class:t.title==e.name?"active":""},[a("router-link",{attrs:{to:e.path}},[a("span",{staticClass:"category-name"},[t._v(t._s(e.name))]),t._v(" "),a("span",{staticClass:"post-num",style:{backgroundColor:t.getOneColor()}},[t._v(t._s(e.pages.length))])])],1)})),0)]),t._v(" "),a("ModuleTransition",{attrs:{delay:"0.08"}},[a("note-abstract",{directives:[{name:"show",rawName:"v-show",value:t.recoShowModule,expression:"recoShowModule"}],staticClass:"list",attrs:{data:t.posts},on:{paginationChange:t.paginationChange}})],1)],1)}),[],!1,null,"1cc33d31",null);e.default=p.exports}}]); \ No newline at end of file diff --git a/assets/js/6.addc78d6.js b/assets/js/6.addc78d6.js new file mode 100644 index 000000000..842600a3e --- /dev/null +++ b/assets/js/6.addc78d6.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{326:function(t,e,a){},327:function(t,e,a){},328:function(t,e,a){},329:function(t,e,a){},330:function(t,e,a){"use strict";a(326)},331:function(t,e,a){},333:function(t,e,a){"use strict";a(16);var r=a(0),n=a(325),s=a(324),o=Object(r.c)({components:{RecoIcon:n.b},props:{pageInfo:{type:Object,default:()=>({})},currentTag:{type:String,default:""},showAccessNumber:{type:Boolean,default:!1}},setup(t,e){const a=Object(s.a)();return{numStyle:{fontSize:".9rem",fontWeight:"normal",color:"#999"},goTags:t=>{a.$route.path!==`/tag/${t}/`&&a.$router.push({path:`/tag/${t}/`})},formatDateValue:t=>new Intl.DateTimeFormat(a.$lang).format(new Date(t))}}}),c=(a(334),a(2)),i=Object(c.a)(o,(function(){var t=this,e=t._self._c;t._self._setupProxy;return e("div",[t.pageInfo.frontmatter.author||t.$themeConfig.author?e("reco-icon",{attrs:{icon:"reco-account"}},[e("span",[t._v(t._s(t.pageInfo.frontmatter.author||t.$themeConfig.author))])]):t._e(),t._v(" "),t.pageInfo.frontmatter.date?e("reco-icon",{attrs:{icon:"reco-date"}},[e("span",[t._v(t._s(t.formatDateValue(t.pageInfo.frontmatter.date)))])]):t._e(),t._v(" "),!0===t.showAccessNumber?e("reco-icon",{attrs:{icon:"reco-eye"}},[e("AccessNumber",{attrs:{idVal:t.pageInfo.path,numStyle:t.numStyle}})],1):t._e(),t._v(" "),t.pageInfo.frontmatter.tags?e("reco-icon",{staticClass:"tags",attrs:{icon:"reco-tag"}},t._l(t.pageInfo.frontmatter.tags,(function(a,r){return e("span",{key:r,staticClass:"tag-item",class:{active:t.currentTag==a},on:{click:function(e){return e.stopPropagation(),t.goTags(a)}}},[t._v(t._s(a))])})),0):t._e()],1)}),[],!1,null,"8a445198",null);e.a=i.exports},334:function(t,e,a){"use strict";a(327)},335:function(t,e,a){"use strict";a(328)},336:function(t,e,a){"use strict";a(329)},337:function(t,e,a){"use strict";var r=a(0),n={methods:{_getStoragePage(){const t=window.location.pathname,e=JSON.parse(sessionStorage.getItem("currentPage"));return null===e||t!==e.path?(sessionStorage.setItem("currentPage",JSON.stringify({page:1,path:""})),1):parseInt(e.page)},_setStoragePage(t){const e=window.location.pathname;sessionStorage.setItem("currentPage",JSON.stringify({page:t,path:e}))}}},s=(a(16),a(325)),o=a(333),c=Object(r.c)({components:{PageInfo:o.a,RecoIcon:s.b},props:["item","currentPage","currentTag"]}),i=(a(335),a(2)),u=Object(i.a)(c,(function(){var t=this,e=t._self._c;t._self._setupProxy;return e("div",{staticClass:"abstract-item",on:{click:function(e){return t.$router.push(t.item.path)}}},[t.item.frontmatter.sticky?e("reco-icon",{attrs:{icon:"reco-sticky"}}):t._e(),t._v(" "),e("div",{staticClass:"title"},[t.item.frontmatter.keys?e("reco-icon",{attrs:{icon:"reco-lock"}}):t._e(),t._v(" "),e("router-link",{attrs:{to:t.item.path}},[t._v(t._s(t.item.title))])],1),t._v(" "),e("div",{staticClass:"abstract",domProps:{innerHTML:t._s(t.item.excerpt)}}),t._v(" "),e("PageInfo",{attrs:{pageInfo:t.item,currentTag:t.currentTag}})],1)}),[],!1,null,"73a63558",null).exports,g=a(324),l=Object(r.c)({mixins:[n],components:{NoteAbstractItem:u},props:["data","currentTag"],setup(t,e){const a=Object(g.a)(),{data:n}=Object(r.i)(t),s=Object(r.h)(1),o=Object(r.a)(()=>{const t=(s.value-1)*a.$perPage,e=s.value*a.$perPage;return n.value.slice(t,e)});return Object(r.e)(()=>{s.value=a._getStoragePage()||1}),{currentPage:s,currentPageData:o,getCurrentPage:t=>{s.value=t,a._setStoragePage(t),e.emit("paginationChange",t)}}},watch:{$route(){this.currentPage=this._getStoragePage()||1}}}),p=(a(336),Object(i.a)(l,(function(){var t=this,e=t._self._c;t._self._setupProxy;return e("div",{staticClass:"abstract-wrapper"},[t._l(t.currentPageData,(function(a){return e("NoteAbstractItem",{key:a.path,attrs:{item:a,currentPage:t.currentPage,currentTag:t.currentTag}})})),t._v(" "),e("pagation",{staticClass:"pagation",attrs:{total:t.data.length,currentPage:t.currentPage},on:{getCurrentPage:t.getCurrentPage}})],2)}),[],!1,null,"21a20f36",null));e.a=p.exports},338:function(t,e,a){"use strict";a(331)},362:function(t,e,a){},400:function(t,e,a){"use strict";a(362)},416:function(t,e,a){"use strict";a.r(e);var r=a(0),n=a(340),s=a(337),o=a(25),c=a(41),i=a(324),u=Object(r.c)({components:{Common:n.a,NoteAbstract:s.a},setup(t,e){const a=Object(i.a)();return{posts:Object(r.a)(()=>{let t=a.$currentCategories.pages;return t=Object(o.a)(t),Object(o.c)(t),t}),title:Object(r.a)(()=>a.$currentCategories.key),getOneColor:c.b,getCurrentTag:t=>{e.emit("currentTag",t)},paginationChange:t=>{setTimeout(()=>{window.scrollTo(0,0)},100)}}}}),g=(a(330),a(338),a(400),a(2)),l=Object(g.a)(u,(function(){var t=this,e=t._self._c;t._self._setupProxy;return e("Common",{staticClass:"categories-wrapper",attrs:{sidebar:!1}},[e("ul",{staticClass:"category-wrapper"},t._l(t.$categoriesList,(function(a,r){return e("li",{directives:[{name:"show",rawName:"v-show",value:a.pages.length>0,expression:"item.pages.length > 0"}],key:r,staticClass:"category-item",class:t.title==a.name?"active":""},[e("router-link",{attrs:{to:a.path}},[e("span",{staticClass:"category-name"},[t._v(t._s(a.name))]),t._v(" "),e("span",{staticClass:"post-num",style:{backgroundColor:t.getOneColor()}},[t._v(t._s(a.pages.length))])])],1)})),0),t._v(" "),e("note-abstract",{staticClass:"list",attrs:{data:t.posts},on:{paginationChange:t.paginationChange}})],1)}),[],!1,null,"ef66d4da",null);e.default=l.exports}}]); \ No newline at end of file diff --git a/assets/js/7.1ebf8c89.js b/assets/js/7.1ebf8c89.js deleted file mode 100644 index dc75f9e23..000000000 --- a/assets/js/7.1ebf8c89.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[7],{511:function(e,t,n){"use strict";n(516)},516:function(e,t,n){},523:function(e,t,n){},556:function(e,t,n){"use strict";n(523)},607:function(e,t,n){"use strict";n.r(t);var o=n(163),r=["There's nothing here.","How did we get here?","That's a Four-Oh-Four.","Looks like we've got some broken links."],c=Object(o.b)({setup:function(e,t){var n=Object(o.c)().proxy,c=Object(o.a)((function(){return!1!==n.$themeConfig.noFoundPageByTencent}));return Object(o.e)((function(){if(c.value){var e=document.createElement("script");e.setAttribute("homePageName","回到首页"),e.setAttribute("homePageUrl",n.$site.base),e.setAttribute("src","//qzonestyle.gtimg.cn/qzone/hybrid/app/404/search_children.js"),document.body.append(e)}})),{noFoundPageByTencent:c,getMsg:function(){return r[Math.floor(Math.random()*r.length)]}}}}),s=(n(511),n(556),n(12)),i=Object(s.a)(c,(function(){var e=this,t=e.$createElement,n=e._self._c||t;return e.noFoundPageByTencent?e._e():n("section",{staticClass:"theme-container"},[n("article",{staticClass:"content"},[n("h1",[e._v("404")]),e._v(" "),n("blockquote",[e._v(e._s(e.getMsg()))]),e._v(" "),n("router-link",{attrs:{to:"/"}},[e._v("Take me home.")])],1)])}),[],!1,null,null,null);t.default=i.exports}}]); \ No newline at end of file diff --git a/assets/js/7.fc210c39.js b/assets/js/7.fc210c39.js new file mode 100644 index 000000000..26411eb97 --- /dev/null +++ b/assets/js/7.fc210c39.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[7],{324:function(e,t,n){"use strict";n.d(t,"a",(function(){return c})),n.d(t,"b",(function(){return r}));n(61);var o=n(0);function c(){const e=Object(o.d)();if(!e)throw new Error("must be called in setup");return(null==e?void 0:e.proxy)||{}}function r(){const e=Object(o.h)(!1);return Object(o.e)(()=>{e.value=!0}),Object(o.f)(()=>{e.value=!1,setTimeout(()=>{e.value=!0},100)}),{recoShowModule:e}}},326:function(e,t,n){},330:function(e,t,n){"use strict";n(326)},343:function(e,t,n){},377:function(e,t,n){"use strict";n(343)},415:function(e,t,n){"use strict";n.r(t);var o=n(0),c=n(324);const r=["There's nothing here.","How did we get here?","That's a Four-Oh-Four.","Looks like we've got some broken links."];var s=Object(o.c)({setup(e,t){const n=Object(c.a)(),s=Object(o.a)(()=>!1!==n.$themeConfig.noFoundPageByTencent);return Object(o.e)(()=>{if(s.value){const e=document.createElement("script");e.setAttribute("homePageName","回到首页"),e.setAttribute("homePageUrl",n.$site.base),e.setAttribute("src","//qzonestyle.gtimg.cn/qzone/hybrid/app/404/search_children.js"),document.body.append(e)}}),{noFoundPageByTencent:s,getMsg:()=>r[Math.floor(Math.random()*r.length)]}}}),u=(n(330),n(377),n(2)),i=Object(u.a)(s,(function(){var e=this,t=e._self._c;e._self._setupProxy;return e.noFoundPageByTencent?e._e():t("section",{staticClass:"theme-container"},[t("article",{staticClass:"content"},[t("h1",[e._v("404")]),e._v(" "),t("blockquote",[e._v(e._s(e.getMsg()))]),e._v(" "),t("router-link",{attrs:{to:"/"}},[e._v("Take me home.")])],1)])}),[],!1,null,null,null);t.default=i.exports}}]); \ No newline at end of file diff --git a/assets/js/8.1694a43b.js b/assets/js/8.1694a43b.js deleted file mode 100644 index 21e0f2138..000000000 --- a/assets/js/8.1694a43b.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[8],{552:function(t,e,n){},603:function(t,e,n){"use strict";n(552)},606:function(t,e,n){"use strict";n.r(e);var o=n(70),u=n(2),a={"/":{message:"New content is available.",buttonText:"Refresh"},"/zh/":{message:"发现新内容可用",buttonText:"刷新"},"/ru/":{message:"Доступен новый контент.",buttonText:"Обновить"},"/uk/":{message:"Доступний новий контент.",buttonText:"Оновити"},"/ja/":{message:"新しいコンテンツがあります。",buttonText:"更新する"},"/es/":{message:"Hay nuevo contenido disponible.",buttonText:"Actualizar"}},s={name:"SWUpdatePopup",data:function(){return{rawPopupConfig:{message:"发现新内容可用",buttonText:"刷新"},updateEvent:null}},computed:{popupConfig:function(){return Object(u.h)(this,this.rawPopupConfig)},enabled:function(){return Boolean(this.popupConfig&&this.updateEvent)},message:function(){var t=this.popupConfig;return t&&t.message||a["/"].message},buttonText:function(){var t=this.popupConfig;return t&&t.buttonText||a["/"].buttonText}},created:function(){o.a.$on("sw-updated",this.onSWUpdated),!0==={message:"发现新内容可用",buttonText:"刷新"}&&(this.rawPopupConfig=a)},methods:{onSWUpdated:function(t){this.updateEvent=t},reload:function(){this.updateEvent&&(this.updateEvent.skipWaiting().then((function(){location.reload(!0)})),this.updateEvent=null)}}},i=(n(603),n(12)),p=Object(i.a)(s,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("transition",{attrs:{name:"sw-update-popup"}},[t._t("default",(function(){return[t.enabled?n("div",{staticClass:"sw-update-popup"},[t._v("\n "+t._s(t.message)+"\n\n "),n("br"),t._v(" "),n("button",{on:{click:t.reload}},[t._v("\n "+t._s(t.buttonText)+"\n ")])]):t._e()]}),{reload:t.reload,enabled:t.enabled,message:t.message,buttonText:t.buttonText})],2)}),[],!1,null,"fec8b358",null);e.default=p.exports}}]); \ No newline at end of file diff --git a/assets/js/8.ab8f7e89.js b/assets/js/8.ab8f7e89.js new file mode 100644 index 000000000..c61d94d49 --- /dev/null +++ b/assets/js/8.ab8f7e89.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[8],{326:function(e,t,n){},330:function(e,t,n){"use strict";n(326)},372:function(e,t,n){},412:function(e,t,n){"use strict";n(372)},419:function(e,t,n){"use strict";n.r(t);n(16);var o=n(0),s=n(340),a=n(325),r=n(324),i=Object(o.c)({name:"TimeLine",components:{Common:s.a,ModuleTransition:a.a},setup(e,t){const n=Object(r.a)();return{recoShowModule:Object(r.b)(),go:e=>{n.$router.push({path:e})},dateFormat:(e,t)=>{e=function(e){const t=new Date(e).toJSON();return new Date(+new Date(t)+288e5).toISOString().replace(/T/g," ").replace(/\.[\d]{3}Z/,"").replace(/-/g,"/")}(e);const n=new Date(e);return`${n.getMonth()+1}-${n.getDate()}`}}}}),c=(n(330),n(412),n(2)),l=Object(c.a)(i,(function(){var e=this,t=e._self._c;e._self._setupProxy;return t("Common",{staticClass:"timeline-wrapper",attrs:{sidebar:!1}},[t("ul",{staticClass:"timeline-content"},[t("ModuleTransition",[t("li",{directives:[{name:"show",rawName:"v-show",value:e.recoShowModule,expression:"recoShowModule"}],staticClass:"desc"},[e._v(e._s(e.$recoLocales.timeLineMsg))])]),e._v(" "),e._l(e.$recoPostsForTimeline,(function(n,o){return t("ModuleTransition",{key:o,attrs:{delay:String(.08*(o+1))}},[t("li",{directives:[{name:"show",rawName:"v-show",value:e.recoShowModule,expression:"recoShowModule"}]},[t("h3",{staticClass:"year"},[e._v(e._s(n.year))]),e._v(" "),t("ul",{staticClass:"year-wrapper"},e._l(n.data,(function(n,o){return t("li",{key:o},[t("span",{staticClass:"date"},[e._v(e._s(e.dateFormat(n.frontmatter.date)))]),e._v(" "),t("span",{staticClass:"title",on:{click:function(t){return e.go(n.path)}}},[e._v(e._s(n.title))])])})),0)])])}))],2)])}),[],!1,null,"5920e741",null);t.default=l.exports}}]); \ No newline at end of file diff --git a/assets/js/9.08c70013.js b/assets/js/9.08c70013.js new file mode 100644 index 000000000..4dc0a2914 --- /dev/null +++ b/assets/js/9.08c70013.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[9],{373:function(t,e,n){},413:function(t,e,n){"use strict";n(373)},457:function(t,e,n){"use strict";n.r(e);var i=n(0),p=Object(i.c)({functional:!0,props:{type:{type:String,default:"tip"},text:String,vertical:{type:String,default:"top"}},render:(t,{props:e,slots:n})=>t("span",{class:["badge",e.type],style:{verticalAlign:e.vertical}},e.text||n().default)}),c=(n(413),n(2)),l=Object(c.a)(p,void 0,void 0,!1,null,"8f29db2c",null);e.default=l.exports}}]); \ No newline at end of file diff --git a/assets/js/9.8a00c9a2.js b/assets/js/9.8a00c9a2.js deleted file mode 100644 index e1f02345f..000000000 --- a/assets/js/9.8a00c9a2.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[9],{551:function(t,e,n){},602:function(t,e,n){"use strict";n(551)},650:function(t,e,n){"use strict";n.r(e);var i=n(163),r=Object(i.b)({functional:!0,props:{type:{type:String,default:"tip"},text:String,vertical:{type:String,default:"top"}},render:function(t,e){var n=e.props,i=e.slots;return t("span",{class:["badge",n.type],style:{verticalAlign:n.vertical}},n.text||i().default)}}),p=(n(602),n(12)),a=Object(p.a)(r,void 0,void 0,!1,null,"08862138",null);e.default=a.exports}}]); \ No newline at end of file diff --git a/assets/js/app.0a26dea3.js b/assets/js/app.0a26dea3.js new file mode 100644 index 000000000..c9334cd68 --- /dev/null +++ b/assets/js/app.0a26dea3.js @@ -0,0 +1,80 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[0],[]]);!function(e){function t(t){for(var r,a,s=t[0],u=t[1],c=t[2],p=0,d=[];p=0&&Math.floor(t)===t&&isFinite(e)}function v(e){return a(e)&&"function"==typeof e.then&&"function"==typeof e.catch}function m(e){return null==e?"":Array.isArray(e)||d(e)&&e.toString===p?JSON.stringify(e,g,2):String(e)}function g(e,t){return t&&t.__v_isRef?t.value:t}function y(e){var t=parseFloat(e);return isNaN(t)?e:t}function b(e,t){for(var n=Object.create(null),r=e.split(","),o=0;o-1)return e.splice(r,1)}}var x=Object.prototype.hasOwnProperty;function k(e,t){return x.call(e,t)}function C(e){var t=Object.create(null);return function(n){return t[n]||(t[n]=e(n))}}var D=/-(\w)/g,A=C((function(e){return e.replace(D,(function(e,t){return t?t.toUpperCase():""}))})),E=C((function(e){return e.charAt(0).toUpperCase()+e.slice(1)})),$=/\B([A-Z])/g,O=C((function(e){return e.replace($,"-$1").toLowerCase()}));var S=Function.prototype.bind?function(e,t){return e.bind(t)}:function(e,t){function n(n){var r=arguments.length;return r?r>1?e.apply(t,arguments):e.call(t,n):e.call(t)}return n._length=e.length,n};function F(e,t){t=t||0;for(var n=e.length-t,r=new Array(n);n--;)r[n]=e[n+t];return r}function j(e,t){for(var n in t)e[n]=t[n];return e}function T(e){for(var t={},n=0;n0,Z=K&&K.indexOf("edge/")>0;K&&K.indexOf("android");var ee=K&&/iphone|ipad|ipod|ios/.test(K);K&&/chrome\/\d+/.test(K),K&&/phantomjs/.test(K);var te,ne=K&&K.match(/firefox\/(\d+)/),re={}.watch,oe=!1;if(G)try{var ie={};Object.defineProperty(ie,"passive",{get:function(){oe=!0}}),window.addEventListener("test-passive",null,ie)}catch(e){}var ae=function(){return void 0===te&&(te=!G&&"undefined"!=typeof global&&(global.process&&"server"===global.process.env.VUE_ENV)),te},se=G&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function ue(e){return"function"==typeof e&&/native code/.test(e.toString())}var ce,le="undefined"!=typeof Symbol&&ue(Symbol)&&"undefined"!=typeof Reflect&&ue(Reflect.ownKeys);ce="undefined"!=typeof Set&&ue(Set)?Set:function(){function e(){this.set=Object.create(null)}return e.prototype.has=function(e){return!0===this.set[e]},e.prototype.add=function(e){this.set[e]=!0},e.prototype.clear=function(){this.set=Object.create(null)},e}();var pe=null;function de(){return pe&&{proxy:pe}}function fe(e){void 0===e&&(e=null),e||pe&&pe._scope.off(),pe=e,e&&e._scope.on()}var he=function(){function e(e,t,n,r,o,i,a,s){this.tag=e,this.data=t,this.children=n,this.text=r,this.elm=o,this.ns=void 0,this.context=i,this.fnContext=void 0,this.fnOptions=void 0,this.fnScopeId=void 0,this.key=t&&t.key,this.componentOptions=a,this.componentInstance=void 0,this.parent=void 0,this.raw=!1,this.isStatic=!1,this.isRootInsert=!0,this.isComment=!1,this.isCloned=!1,this.isOnce=!1,this.asyncFactory=s,this.asyncMeta=void 0,this.isAsyncPlaceholder=!1}return Object.defineProperty(e.prototype,"child",{get:function(){return this.componentInstance},enumerable:!1,configurable:!0}),e}(),ve=function(e){void 0===e&&(e="");var t=new he;return t.text=e,t.isComment=!0,t};function me(e){return new he(void 0,void 0,void 0,String(e))}function ge(e){var t=new he(e.tag,e.data,e.children&&e.children.slice(),e.text,e.elm,e.context,e.componentOptions,e.asyncFactory);return t.ns=e.ns,t.isStatic=e.isStatic,t.key=e.key,t.isComment=e.isComment,t.fnContext=e.fnContext,t.fnOptions=e.fnOptions,t.fnScopeId=e.fnScopeId,t.asyncMeta=e.asyncMeta,t.isCloned=!0,t}"function"==typeof SuppressedError&&SuppressedError;var ye=0,be=[],_e=function(){function e(){this._pending=!1,this.id=ye++,this.subs=[]}return e.prototype.addSub=function(e){this.subs.push(e)},e.prototype.removeSub=function(e){this.subs[this.subs.indexOf(e)]=null,this._pending||(this._pending=!0,be.push(this))},e.prototype.depend=function(t){e.target&&e.target.addDep(this)},e.prototype.notify=function(e){var t=this.subs.filter((function(e){return e}));for(var n=0,r=t.length;n0&&(rt((c=e(c,"".concat(n||"","_").concat(r)))[0])&&rt(p)&&(d[l]=me(p.text+c[0].text),c.shift()),d.push.apply(d,c)):u(c)?rt(p)?d[l]=me(p.text+c):""!==c&&d.push(me(c)):rt(c)&&rt(p)?d[l]=me(p.text+c.text):(s(t._isVList)&&a(c.tag)&&i(c.key)&&a(n)&&(c.key="__vlist".concat(n,"_").concat(r,"__")),d.push(c)));return d}(e):void 0}function rt(e){return a(e)&&a(e.text)&&!1===e.isComment}function ot(e,t){var n,r,i,s,u=null;if(o(e)||"string"==typeof e)for(u=new Array(e.length),n=0,r=e.length;n0,s=t?!!t.$stable:!a,u=t&&t.$key;if(t){if(t._normalized)return t._normalized;if(s&&o&&o!==r&&u===o.$key&&!a&&!o.$hasNormal)return o;for(var c in i={},t)t[c]&&"$"!==c[0]&&(i[c]=kt(e,n,c,t[c]))}else i={};for(var l in n)l in i||(i[l]=Ct(n,l));return t&&Object.isExtensible(t)&&(t._normalized=i),W(i,"$stable",s),W(i,"$key",u),W(i,"$hasNormal",a),i}function kt(e,t,n,r){var i=function(){var t=pe;fe(e);var n=arguments.length?r.apply(null,arguments):r({}),i=(n=n&&"object"==typeof n&&!o(n)?[n]:nt(n))&&n[0];return fe(t),n&&(!i||1===n.length&&i.isComment&&!wt(i))?void 0:n};return r.proxy&&Object.defineProperty(t,n,{get:i,enumerable:!0,configurable:!0}),i}function Ct(e,t){return function(){return e[t]}}function Dt(e){return{get attrs(){if(!e._attrsProxy){var t=e._attrsProxy={};W(t,"_v_attr_proxy",!0),At(t,e.$attrs,r,e,"$attrs")}return e._attrsProxy},get listeners(){e._listenersProxy||At(e._listenersProxy={},e.$listeners,r,e,"$listeners");return e._listenersProxy},get slots(){return function(e){e._slotsProxy||$t(e._slotsProxy={},e.$scopedSlots);return e._slotsProxy}(e)},emit:S(e.$emit,e),expose:function(t){t&&Object.keys(t).forEach((function(n){return Ve(e,t,n)}))}}}function At(e,t,n,r,o){var i=!1;for(var a in t)a in e?t[a]!==n[a]&&(i=!0):(i=!0,Et(e,a,r,o));for(var a in e)a in t||(i=!0,delete e[a]);return i}function Et(e,t,n,r){Object.defineProperty(e,t,{enumerable:!0,configurable:!0,get:function(){return n[r][t]}})}function $t(e,t){for(var n in t)e[n]=t[n];for(var n in e)n in t||delete e[n]}var Ot=null;function St(e,t){return(e.__esModule||le&&"Module"===e[Symbol.toStringTag])&&(e=e.default),l(e)?t.extend(e):e}function Ft(e){if(o(e))for(var t=0;tdocument.createEvent("Event").timeStamp&&(bn=function(){return _n.now()})}var wn=function(e,t){if(e.post){if(!t.post)return 1}else if(t.post)return-1;return e.id-t.id};function xn(){var e,t;for(yn=bn(),mn=!0,dn.sort(wn),gn=0;gngn&&dn[n].id>e.id;)n--;dn.splice(n+1,0,e)}else dn.push(e);vn||(vn=!0,Wt(xn))}}function Cn(e,t){if(e){for(var n=Object.create(null),r=le?Reflect.ownKeys(e):Object.keys(e),o=0;o-1)if(i&&!k(o,"default"))a=!1;else if(""===a||a===O(e)){var u=Wn(String,o.type);(u<0||s-1:"string"==typeof e?e.split(",").indexOf(t)>-1:!!f(e)&&e.test(t)}function sr(e,t){var n=e.cache,r=e.keys,o=e._vnode,i=e.$vnode;for(var a in n){var s=n[a];if(s){var u=s.name;u&&!t(u)&&ur(n,a,r,o)}}i.componentOptions.children=void 0}function ur(e,t,n,r){var o=e[t];!o||r&&o.tag===r.tag||o.componentInstance.$destroy(),e[t]=null,w(n,t)}!function(e){e.prototype._init=function(e){var t=this;t._uid=tr++,t._isVue=!0,t.__v_skip=!0,t._scope=new Ge(!0),t._scope.parent=void 0,t._scope._vm=!0,e&&e._isComponent?function(e,t){var n=e.$options=Object.create(e.constructor.options),r=t._parentVnode;n.parent=t.parent,n._parentVnode=r;var o=r.componentOptions;n.propsData=o.propsData,n._parentListeners=o.listeners,n._renderChildren=o.children,n._componentTag=o.tag,t.render&&(n.render=t.render,n.staticRenderFns=t.staticRenderFns)}(t,e):t.$options=Bn(nr(t.constructor),e||{},t),t._renderProxy=t,t._self=t,function(e){var t=e.$options,n=t.parent;if(n&&!t.abstract){for(;n.$options.abstract&&n.$parent;)n=n.$parent;n.$children.push(e)}e.$parent=n,e.$root=n?n.$root:e,e.$children=[],e.$refs={},e._provided=n?n._provided:Object.create(null),e._watcher=null,e._inactive=null,e._directInactive=!1,e._isMounted=!1,e._isDestroyed=!1,e._isBeingDestroyed=!1}(t),function(e){e._events=Object.create(null),e._hasHookEvent=!1;var t=e.$options._parentListeners;t&&an(e,t)}(t),function(e){e._vnode=null,e._staticTrees=null;var t=e.$options,n=e.$vnode=t._parentVnode,o=n&&n.context;e.$slots=bt(t._renderChildren,o),e.$scopedSlots=n?xt(e.$parent,n.data.scopedSlots,e.$slots):r,e._c=function(t,n,r,o){return jt(e,t,n,r,o,!1)},e.$createElement=function(t,n,r,o){return jt(e,t,n,r,o,!0)};var i=n&&n.data;Te(e,"$attrs",i&&i.attrs||r,null,!0),Te(e,"$listeners",t._parentListeners||r,null,!0)}(t),pn(t,"beforeCreate",void 0,!1),function(e){var t=Cn(e.$options.inject,e);t&&(Oe(!1),Object.keys(t).forEach((function(n){Te(e,n,t[n])})),Oe(!0))}(t),Gn(t),function(e){var t=e.$options.provide;if(t){var n=c(t)?t.call(e):t;if(!l(n))return;for(var r=Ke(e),o=le?Reflect.ownKeys(n):Object.keys(n),i=0;i1?F(n):n;for(var r=F(arguments,1),o='event handler for "'.concat(e,'"'),i=0,a=n.length;iparseInt(this.max)&&ur(e,t[0],t,this._vnode),this.vnodeToCache=null}}},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var e in this.cache)ur(this.cache,e,this.keys)},mounted:function(){var e=this;this.cacheVNode(),this.$watch("include",(function(t){sr(e,(function(e){return ar(t,e)}))})),this.$watch("exclude",(function(t){sr(e,(function(e){return!ar(t,e)}))}))},updated:function(){this.cacheVNode()},render:function(){var e=this.$slots.default,t=Ft(e),n=t&&t.componentOptions;if(n){var r=ir(n),o=this.include,i=this.exclude;if(o&&(!r||!ar(o,r))||i&&r&&ar(i,r))return t;var a=this.cache,s=this.keys,u=null==t.key?n.Ctor.cid+(n.tag?"::".concat(n.tag):""):t.key;a[u]?(t.componentInstance=a[u].componentInstance,w(s,u),s.push(u)):(this.vnodeToCache=t,this.keyToCache=u),t.data.keepAlive=!0}return t||e&&e[0]}}};!function(e){var t={get:function(){return q}};Object.defineProperty(e,"config",t),e.util={warn:Tn,extend:j,mergeOptions:Bn,defineReactive:Te},e.set=Pe,e.delete=Ie,e.nextTick=Wt,e.observable=function(e){return je(e),e},e.options=Object.create(null),N.forEach((function(t){e.options[t+"s"]=Object.create(null)})),e.options._base=e,j(e.options.components,lr),function(e){e.use=function(e){var t=this._installedPlugins||(this._installedPlugins=[]);if(t.indexOf(e)>-1)return this;var n=F(arguments,1);return n.unshift(this),c(e.install)?e.install.apply(e,n):c(e)&&e.apply(null,n),t.push(e),this}}(e),function(e){e.mixin=function(e){return this.options=Bn(this.options,e),this}}(e),or(e),function(e){N.forEach((function(t){e[t]=function(e,n){return n?("component"===t&&d(n)&&(n.name=n.name||e,n=this.options._base.extend(n)),"directive"===t&&c(n)&&(n={bind:n,update:n}),this.options[t+"s"][e]=n,n):this.options[t+"s"][e]}}))}(e)}(rr),Object.defineProperty(rr.prototype,"$isServer",{get:ae}),Object.defineProperty(rr.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(rr,"FunctionalRenderContext",{value:Dn}),rr.version="2.7.16";var pr=b("style,class"),dr=b("input,textarea,option,select,progress"),fr=b("contenteditable,draggable,spellcheck"),hr=b("events,caret,typing,plaintext-only"),vr=b("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,truespeed,typemustmatch,visible"),mr="http://www.w3.org/1999/xlink",gr=function(e){return":"===e.charAt(5)&&"xlink"===e.slice(0,5)},yr=function(e){return gr(e)?e.slice(6,e.length):""},br=function(e){return null==e||!1===e};function _r(e){for(var t=e.data,n=e,r=e;a(r.componentInstance);)(r=r.componentInstance._vnode)&&r.data&&(t=wr(r.data,t));for(;a(n=n.parent);)n&&n.data&&(t=wr(t,n.data));return function(e,t){if(a(e)||a(t))return xr(e,kr(t));return""}(t.staticClass,t.class)}function wr(e,t){return{staticClass:xr(e.staticClass,t.staticClass),class:a(e.class)?[e.class,t.class]:t.class}}function xr(e,t){return e?t?e+" "+t:e:t||""}function kr(e){return Array.isArray(e)?function(e){for(var t,n="",r=0,o=e.length;r-1?Qr(e,t,n):vr(t)?br(n)?e.removeAttribute(t):(n="allowfullscreen"===t&&"EMBED"===e.tagName?"true":t,e.setAttribute(t,n)):fr(t)?e.setAttribute(t,function(e,t){return br(t)||"false"===t?"false":"contenteditable"===e&&hr(t)?t:"true"}(t,n)):gr(t)?br(n)?e.removeAttributeNS(mr,yr(t)):e.setAttributeNS(mr,t,n):Qr(e,t,n)}function Qr(e,t,n){if(br(n))e.removeAttribute(t);else{if(X&&!J&&"TEXTAREA"===e.tagName&&"placeholder"===t&&""!==n&&!e.__ieph){var r=function(t){t.stopImmediatePropagation(),e.removeEventListener("input",r)};e.addEventListener("input",r),e.__ieph=!0}e.setAttribute(t,n)}}var Yr={create:Hr,update:Hr};function Gr(e,t){var n=t.elm,r=t.data,o=e.data;if(!(i(r.staticClass)&&i(r.class)&&(i(o)||i(o.staticClass)&&i(o.class)))){var s=_r(t),u=n._transitionClasses;a(u)&&(s=xr(s,kr(u))),s!==n._prevClass&&(n.setAttribute("class",s),n._prevClass=s)}}var Kr,Xr={create:Gr,update:Gr};function Jr(e,t,n){var r=Kr;return function o(){var i=t.apply(null,arguments);null!==i&&to(e,o,n,r)}}var Zr=Rt&&!(ne&&Number(ne[1])<=53);function eo(e,t,n,r){if(Zr){var o=yn,i=t;t=i._wrapper=function(e){if(e.target===e.currentTarget||e.timeStamp>=o||e.timeStamp<=0||e.target.ownerDocument!==document)return i.apply(this,arguments)}}Kr.addEventListener(e,t,oe?{capture:n,passive:r}:n)}function to(e,t,n,r){(r||Kr).removeEventListener(e,t._wrapper||t,n)}function no(e,t){if(!i(e.data.on)||!i(t.data.on)){var n=t.data.on||{},r=e.data.on||{};Kr=t.elm||e.elm,function(e){if(a(e.__r)){var t=X?"change":"input";e[t]=[].concat(e.__r,e[t]||[]),delete e.__r}a(e.__c)&&(e.change=[].concat(e.__c,e.change||[]),delete e.__c)}(n),Ze(n,r,eo,to,Jr,t.context),Kr=void 0}}var ro,oo={create:no,update:no,destroy:function(e){return no(e,Pr)}};function io(e,t){if(!i(e.data.domProps)||!i(t.data.domProps)){var n,r,o=t.elm,u=e.data.domProps||{},c=t.data.domProps||{};for(n in(a(c.__ob__)||s(c._v_attr_proxy))&&(c=t.data.domProps=j({},c)),u)n in c||(o[n]="");for(n in c){if(r=c[n],"textContent"===n||"innerHTML"===n){if(t.children&&(t.children.length=0),r===u[n])continue;1===o.childNodes.length&&o.removeChild(o.childNodes[0])}if("value"===n&&"PROGRESS"!==o.tagName){o._value=r;var l=i(r)?"":String(r);ao(o,l)&&(o.value=l)}else if("innerHTML"===n&&Ar(o.tagName)&&i(o.innerHTML)){(ro=ro||document.createElement("div")).innerHTML="".concat(r,"");for(var p=ro.firstChild;o.firstChild;)o.removeChild(o.firstChild);for(;p.firstChild;)o.appendChild(p.firstChild)}else if(r!==u[n])try{o[n]=r}catch(e){}}}}function ao(e,t){return!e.composing&&("OPTION"===e.tagName||function(e,t){var n=!0;try{n=document.activeElement!==e}catch(e){}return n&&e.value!==t}(e,t)||function(e,t){var n=e.value,r=e._vModifiers;if(a(r)){if(r.number)return y(n)!==y(t);if(r.trim)return n.trim()!==t.trim()}return n!==t}(e,t))}var so={create:io,update:io},uo=C((function(e){var t={},n=/:(.+)/;return e.split(/;(?![^(]*\))/g).forEach((function(e){if(e){var r=e.split(n);r.length>1&&(t[r[0].trim()]=r[1].trim())}})),t}));function co(e){var t=lo(e.style);return e.staticStyle?j(e.staticStyle,t):t}function lo(e){return Array.isArray(e)?T(e):"string"==typeof e?uo(e):e}var po,fo=/^--/,ho=/\s*!important$/,vo=function(e,t,n){if(fo.test(t))e.style.setProperty(t,n);else if(ho.test(n))e.style.setProperty(O(t),n.replace(ho,""),"important");else{var r=go(t);if(Array.isArray(n))for(var o=0,i=n.length;o-1?t.split(_o).forEach((function(t){return e.classList.add(t)})):e.classList.add(t);else{var n=" ".concat(e.getAttribute("class")||""," ");n.indexOf(" "+t+" ")<0&&e.setAttribute("class",(n+t).trim())}}function xo(e,t){if(t&&(t=t.trim()))if(e.classList)t.indexOf(" ")>-1?t.split(_o).forEach((function(t){return e.classList.remove(t)})):e.classList.remove(t),e.classList.length||e.removeAttribute("class");else{for(var n=" ".concat(e.getAttribute("class")||""," "),r=" "+t+" ";n.indexOf(r)>=0;)n=n.replace(r," ");(n=n.trim())?e.setAttribute("class",n):e.removeAttribute("class")}}function ko(e){if(e){if("object"==typeof e){var t={};return!1!==e.css&&j(t,Co(e.name||"v")),j(t,e),t}return"string"==typeof e?Co(e):void 0}}var Co=C((function(e){return{enterClass:"".concat(e,"-enter"),enterToClass:"".concat(e,"-enter-to"),enterActiveClass:"".concat(e,"-enter-active"),leaveClass:"".concat(e,"-leave"),leaveToClass:"".concat(e,"-leave-to"),leaveActiveClass:"".concat(e,"-leave-active")}})),Do=G&&!J,Ao="transition",Eo="transitionend",$o="animation",Oo="animationend";Do&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(Ao="WebkitTransition",Eo="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&($o="WebkitAnimation",Oo="webkitAnimationEnd"));var So=G?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(e){return e()};function Fo(e){So((function(){So(e)}))}function jo(e,t){var n=e._transitionClasses||(e._transitionClasses=[]);n.indexOf(t)<0&&(n.push(t),wo(e,t))}function To(e,t){e._transitionClasses&&w(e._transitionClasses,t),xo(e,t)}function Po(e,t,n){var r=Mo(e,t),o=r.type,i=r.timeout,a=r.propCount;if(!o)return n();var s="transition"===o?Eo:Oo,u=0,c=function(){e.removeEventListener(s,l),n()},l=function(t){t.target===e&&++u>=a&&c()};setTimeout((function(){u0&&(n="transition",l=a,p=i.length):"animation"===t?c>0&&(n="animation",l=c,p=u.length):p=(n=(l=Math.max(a,c))>0?a>c?"transition":"animation":null)?"transition"===n?i.length:u.length:0,{type:n,timeout:l,propCount:p,hasTransform:"transition"===n&&Io.test(r[Ao+"Property"])}}function Lo(e,t){for(;e.length1}function qo(e,t){!0!==t.data.show&&zo(t)}var Vo=function(e){var t,n,r={},c=e.modules,l=e.nodeOps;for(t=0;th?_(e,i(n[g+1])?null:n[g+1].elm,n,f,g,r):f>g&&x(t,p,h)}(p,v,g,n,c):a(g)?(a(e.text)&&l.setTextContent(p,""),_(p,null,g,0,g.length-1,n)):a(v)?x(v,0,v.length-1):a(e.text)&&l.setTextContent(p,""):e.text!==t.text&&l.setTextContent(p,t.text),a(h)&&a(f=h.hook)&&a(f=f.postpatch)&&f(e,t)}}}function A(e,t,n){if(s(n)&&a(e.parent))e.parent.data.pendingInsert=t;else for(var r=0;r-1,a.selected!==i&&(a.selected=i);else if(L(Go(a),r))return void(e.selectedIndex!==s&&(e.selectedIndex=s));o||(e.selectedIndex=-1)}}function Yo(e,t){return t.every((function(t){return!L(t,e)}))}function Go(e){return"_value"in e?e._value:e.value}function Ko(e){e.target.composing=!0}function Xo(e){e.target.composing&&(e.target.composing=!1,Jo(e.target,"input"))}function Jo(e,t){var n=document.createEvent("HTMLEvents");n.initEvent(t,!0,!0),e.dispatchEvent(n)}function Zo(e){return!e.componentInstance||e.data&&e.data.transition?e:Zo(e.componentInstance._vnode)}var ei={model:Ho,show:{bind:function(e,t,n){var r=t.value,o=(n=Zo(n)).data&&n.data.transition,i=e.__vOriginalDisplay="none"===e.style.display?"":e.style.display;r&&o?(n.data.show=!0,zo(n,(function(){e.style.display=i}))):e.style.display=r?i:"none"},update:function(e,t,n){var r=t.value;!r!=!t.oldValue&&((n=Zo(n)).data&&n.data.transition?(n.data.show=!0,r?zo(n,(function(){e.style.display=e.__vOriginalDisplay})):Bo(n,(function(){e.style.display="none"}))):e.style.display=r?e.__vOriginalDisplay:"none")},unbind:function(e,t,n,r,o){o||(e.style.display=e.__vOriginalDisplay)}}},ti={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function ni(e){var t=e&&e.componentOptions;return t&&t.Ctor.options.abstract?ni(Ft(t.children)):e}function ri(e){var t={},n=e.$options;for(var r in n.propsData)t[r]=e[r];var o=n._parentListeners;for(var r in o)t[A(r)]=o[r];return t}function oi(e,t){if(/\d-keep-alive$/.test(t.tag))return e("keep-alive",{props:t.componentOptions.propsData})}var ii=function(e){return e.tag||wt(e)},ai=function(e){return"show"===e.name},si={name:"transition",props:ti,abstract:!0,render:function(e){var t=this,n=this.$slots.default;if(n&&(n=n.filter(ii)).length){0;var r=this.mode;0;var o=n[0];if(function(e){for(;e=e.parent;)if(e.data.transition)return!0}(this.$vnode))return o;var i=ni(o);if(!i)return o;if(this._leaving)return oi(e,o);var a="__transition-".concat(this._uid,"-");i.key=null==i.key?i.isComment?a+"comment":a+i.tag:u(i.key)?0===String(i.key).indexOf(a)?i.key:a+i.key:i.key;var s=(i.data||(i.data={})).transition=ri(this),c=this._vnode,l=ni(c);if(i.data.directives&&i.data.directives.some(ai)&&(i.data.show=!0),l&&l.data&&!function(e,t){return t.key===e.key&&t.tag===e.tag}(i,l)&&!wt(l)&&(!l.componentInstance||!l.componentInstance._vnode.isComment)){var p=l.data.transition=j({},s);if("out-in"===r)return this._leaving=!0,et(p,"afterLeave",(function(){t._leaving=!1,t.$forceUpdate()})),oi(e,o);if("in-out"===r){if(wt(i))return c;var d,f=function(){d()};et(s,"afterEnter",f),et(s,"enterCancelled",f),et(p,"delayLeave",(function(e){d=e}))}}return o}}},ui=j({tag:String,moveClass:String},ti);function ci(e){e.elm._moveCb&&e.elm._moveCb(),e.elm._enterCb&&e.elm._enterCb()}function li(e){e.data.newPos=e.elm.getBoundingClientRect()}function pi(e){var t=e.data.pos,n=e.data.newPos,r=t.left-n.left,o=t.top-n.top;if(r||o){e.data.moved=!0;var i=e.elm.style;i.transform=i.WebkitTransform="translate(".concat(r,"px,").concat(o,"px)"),i.transitionDuration="0s"}}delete ui.mode;var di={Transition:si,TransitionGroup:{props:ui,beforeMount:function(){var e=this,t=this._update;this._update=function(n,r){var o=un(e);e.__patch__(e._vnode,e.kept,!1,!0),e._vnode=e.kept,o(),t.call(e,n,r)}},render:function(e){for(var t=this.tag||this.$vnode.data.tag||"span",n=Object.create(null),r=this.prevChildren=this.children,o=this.$slots.default||[],i=this.children=[],a=ri(this),s=0;s-1?$r[e]=t.constructor===window.HTMLUnknownElement||t.constructor===window.HTMLElement:$r[e]=/HTMLUnknownElement/.test(t.toString())},j(rr.options.directives,ei),j(rr.options.components,di),rr.prototype.__patch__=G?Vo:P,rr.prototype.$mount=function(e,t){return function(e,t,n){var r;e.$el=t,e.$options.render||(e.$options.render=ve),pn(e,"beforeMount"),r=function(){e._update(e._render(),n)},new tn(e,r,P,{before:function(){e._isMounted&&!e._isDestroyed&&pn(e,"beforeUpdate")}},!0),n=!1;var o=e._preWatchers;if(o)for(var i=0;i1&&void 0!==arguments[1]?arguments[1]:{};t.name=t.name||e._componentTag||e.name;var n=e.prototype;Object.getOwnPropertyNames(n).forEach((function(e){if("constructor"!==e)if(f.indexOf(e)>-1)t[e]=n[e];else{var r=Object.getOwnPropertyDescriptor(n,e);void 0!==r.value?"function"==typeof r.value?(t.methods||(t.methods={}))[e]=r.value:(t.mixins||(t.mixins=[])).push({data:function(){return i({},e,r.value)}}):(r.get||r.set)&&((t.computed||(t.computed={}))[e]={get:r.get,set:r.set})}})),(t.mixins||(t.mixins=[])).push({data:function(){return d(this,e)}});var o=e.__decorators__;o&&(o.forEach((function(e){return e(t)})),delete e.__decorators__);var a=Object.getPrototypeOf(e.prototype),c=a instanceof r.b?a.constructor:r.b,l=c.extend(t);return m(l,e,c),s()&&u(l,e),l}var v={prototype:!0,arguments:!0,callee:!0,caller:!0};function m(e,t,n){Object.getOwnPropertyNames(t).forEach((function(r){if(!v[r]){var i=Object.getOwnPropertyDescriptor(e,r);if(!i||i.configurable){var a,s,u=Object.getOwnPropertyDescriptor(t,r);if(!l){if("cid"===r)return;var c=Object.getOwnPropertyDescriptor(n,r);if(a=u.value,s=o(a),null!=a&&("object"===s||"function"===s)&&c&&c.value===u.value)return}0,Object.defineProperty(e,r,u)}}}))}function g(e){return"function"==typeof e?h(e):function(t){return h(t,e)}}g.registerHooks=function(e){f.push.apply(f,a(e))},t.b=g},function(e,t,n){"use strict";function r(e,t,n,r,o,i,a,s){var u,c="function"==typeof e?e.options:e;if(t&&(c.render=t,c.staticRenderFns=n,c._compiled=!0),r&&(c.functional=!0),i&&(c._scopeId="data-v-"+i),a?(u=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),o&&o.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(a)},c._ssrRegister=u):o&&(u=s?function(){o.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:o),u)if(c.functional){c._injectStyles=u;var l=c.render;c.render=function(e,t){return u.call(t),l(e,t)}}else{var p=c.beforeCreate;c.beforeCreate=p?[].concat(p,u):[u]}return{exports:e,options:c}}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";var r=function(e){return e&&e.Math===Math&&e};e.exports=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof global&&global)||r("object"==typeof this&&this)||function(){return this}()||Function("return this")()},function(e,t,n){"use strict";var r=n(113),o=Object.prototype.toString;function i(e){return"[object Array]"===o.call(e)}function a(e){return void 0===e}function s(e){return null!==e&&"object"==typeof e}function u(e){if("[object Object]"!==o.call(e))return!1;var t=Object.getPrototypeOf(e);return null===t||t===Object.prototype}function c(e){return"[object Function]"===o.call(e)}function l(e,t){if(null!=e)if("object"!=typeof e&&(e=[e]),i(e))for(var n=0,r=e.length;n0&&($+=P)}return new Date(O+S+$)}return new Date(e)}},function(e,t,n){"use strict";var r=n(21),o=n(31),i=n(34),a=n(169),s=n(171);r({target:"Array",proto:!0,arity:1,forced:n(5)((function(){return 4294967297!==[].push.call({length:4294967296},1)}))||!function(){try{Object.defineProperty([],"length",{writable:!1}).push()}catch(e){return e instanceof TypeError}}()},{push:function(e){var t=o(this),n=i(t),r=arguments.length;s(n+r);for(var u=0;ufunction e(t,n,r,o=1){if("string"==typeof t)return f(n,t,r);if(Array.isArray(t))return Object.assign(f(n,t[0],r),{title:t[1]});{o>3&&console.error("[vuepress] detected a too deep nested sidebar group.");const i=t.children||[];return 0===i.length&&t.path?Object.assign(f(n,t.path,r),{title:t.title}):{type:"group",path:t.path,title:t.title,sidebarDepth:t.sidebarDepth,children:i.map(t=>e(t,n,r,o+1)),collapsable:!1!==t.collapsable}}}(e,o,s)):[]}function v(e){return Object.assign(e,{type:e.items&&e.items.length?"links":"link"})}function m(e){return e?new Date(e).getTime():0}function g(e,t){const n=m(e.frontmatter.date),r=m(t.frontmatter.date);return 0===n||0===r?0:r-n}function y(e){const t=document.createElement("link");t.rel="stylesheet",t.href=e,document.head.append(t)}},function(e,t,n){"use strict";var r=n(8),o=n(76),i=n(78),a=n(32),s=n(66),u=TypeError,c=Object.defineProperty,l=Object.getOwnPropertyDescriptor;t.f=r?i?function(e,t,n){if(a(e),t=s(t),a(n),"function"==typeof e&&"prototype"===t&&"value"in n&&"writable"in n&&!n.writable){var r=l(e,t);r&&r.writable&&(e[t]=n.value,n={configurable:"configurable"in n?n.configurable:r.configurable,enumerable:"enumerable"in n?n.enumerable:r.enumerable,writable:!1})}return c(e,t,n)}:c:function(e,t,n){if(a(e),t=s(t),a(n),o)try{return c(e,t,n)}catch(e){}if("get"in n||"set"in n)throw new u("Accessors not supported");return"value"in n&&(e[t]=n.value),e}},function(e,t){e.exports=function(e){return null!=e&&"object"==typeof e}},function(e,t,n){"use strict";var r=n(282),o=n(283),i=n(110);e.exports={formats:i,parse:o,stringify:r}},function(e,t,n){"use strict";var r=n(3),o=n(63).f,i=n(22),a=n(137),s=n(47),u=n(80),c=n(150);e.exports=function(e,t){var n,l,p,d,f,h=e.target,v=e.global,m=e.stat;if(n=v?r:m?r[h]||s(h,{}):r[h]&&r[h].prototype)for(l in t){if(d=t[l],p=e.dontCallGetSet?(f=o(n,l))&&f.value:n[l],!c(v?l:h+(m?".":"#")+l,e.forced)&&void 0!==p){if(typeof d==typeof p)continue;u(d,p)}(e.sham||p&&p.sham)&&i(d,"sham",!0),a(n,l,d,e)}}},function(e,t,n){"use strict";var r=n(8),o=n(18),i=n(44);e.exports=r?function(e,t,n){return o.f(e,t,i(1,n))}:function(e,t,n){return e[t]=n,e}},function(e,t,n){var r=n(11).Symbol;e.exports=r},function(e,t,n){var r=n(23),o=n(175),i=n(176),a=r?r.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":a&&a in Object(e)?o(e):i(e)}},function(e,t,n){"use strict";n.d(t,"a",(function(){return o})),n.d(t,"c",(function(){return i})),n.d(t,"b",(function(){return a}));var r=n(17);function o(e,t){return e=e.filter((n,r)=>{const{title:o,frontmatter:{home:i,date:a,publish:s}}=n;if(e.indexOf(n)!==r)return!1;{const e=!0===i||null==o||!1===s;return!0===t?!(e||void 0===a):!e}})}function i(e){e.sort((e,t)=>{const n=e.frontmatter.sticky,o=t.frontmatter.sticky;return n&&o?n==o?Object(r.b)(e,t):n-o:n&&!o?-1:!n&&o?1:Object(r.b)(e,t)})}function a(e){e.sort((e,t)=>Object(r.b)(e,t))}},function(e,t,n){"use strict";var r=n(3),o=n(73),i=n(13),a=n(75),s=n(70),u=n(69),c=r.Symbol,l=o("wks"),p=u?c.for||c:c&&c.withoutSetter||a;e.exports=function(e){return i(l,e)||(l[e]=s&&i(c,e)?c[e]:p("Symbol."+e)),l[e]}},function(e,t,n){"use strict";var r=n(64),o=n(29);e.exports=function(e){return r(o(e))}},function(e,t,n){"use strict";var r=n(6),o=r({}.toString),i=r("".slice);e.exports=function(e){return i(o(e),8,-1)}},function(e,t,n){"use strict";var r=n(65),o=TypeError;e.exports=function(e){if(r(e))throw new o("Can't call method on "+e);return e}},function(e,t,n){"use strict";var r=n(3),o=n(7),i=function(e){return o(e)?e:void 0};e.exports=function(e,t){return arguments.length<2?i(r[e]):r[e]&&r[e][t]}},function(e,t,n){"use strict";var r=n(29),o=Object;e.exports=function(e){return o(r(e))}},function(e,t,n){"use strict";var r=n(10),o=String,i=TypeError;e.exports=function(e){if(r(e))return e;throw new i(o(e)+" is not an object")}},function(e,t,n){"use strict";var r=n(147);e.exports=function(e){var t=+e;return t!=t||0===t?0:r(t)}},function(e,t,n){"use strict";var r=n(148);e.exports=function(e){return r(e.length)}},function(e,t,n){var r=n(180),o=n(181),i=n(182),a=n(183),s=n(184);function u(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t
'};function o(e,t,n){return en?n:e}function i(e){return 100*(-1+e)}n.configure=function(e){var t,n;for(t in e)void 0!==(n=e[t])&&e.hasOwnProperty(t)&&(r[t]=n);return this},n.status=null,n.set=function(e){var t=n.isStarted();e=o(e,r.minimum,1),n.status=1===e?null:e;var u=n.render(!t),c=u.querySelector(r.barSelector),l=r.speed,p=r.easing;return u.offsetWidth,a((function(t){""===r.positionUsing&&(r.positionUsing=n.getPositioningCSS()),s(c,function(e,t,n){var o;return(o="translate3d"===r.positionUsing?{transform:"translate3d("+i(e)+"%,0,0)"}:"translate"===r.positionUsing?{transform:"translate("+i(e)+"%,0)"}:{"margin-left":i(e)+"%"}).transition="all "+t+"ms "+n,o}(e,l,p)),1===e?(s(u,{transition:"none",opacity:1}),u.offsetWidth,setTimeout((function(){s(u,{transition:"all "+l+"ms linear",opacity:0}),setTimeout((function(){n.remove(),t()}),l)}),l)):setTimeout(t,l)})),this},n.isStarted=function(){return"number"==typeof n.status},n.start=function(){n.status||n.set(0);var e=function(){setTimeout((function(){n.status&&(n.trickle(),e())}),r.trickleSpeed)};return r.trickle&&e(),this},n.done=function(e){return e||n.status?n.inc(.3+.5*Math.random()).set(1):this},n.inc=function(e){var t=n.status;return t?("number"!=typeof e&&(e=(1-t)*o(Math.random()*t,.1,.95)),t=o(t+e,0,.994),n.set(t)):n.start()},n.trickle=function(){return n.inc(Math.random()*r.trickleRate)},e=0,t=0,n.promise=function(r){return r&&"resolved"!==r.state()?(0===t&&n.start(),e++,t++,r.always((function(){0==--t?(e=0,n.done()):n.set((e-t)/e)})),this):this},n.render=function(e){if(n.isRendered())return document.getElementById("nprogress");c(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=r.template;var o,a=t.querySelector(r.barSelector),u=e?"-100":i(n.status||0),l=document.querySelector(r.parent);return s(a,{transition:"all 0 linear",transform:"translate3d("+u+"%,0,0)"}),r.showSpinner||(o=t.querySelector(r.spinnerSelector))&&d(o),l!=document.body&&c(l,"nprogress-custom-parent"),l.appendChild(t),t},n.remove=function(){l(document.documentElement,"nprogress-busy"),l(document.querySelector(r.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&d(e)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var a=function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),1==e.length&&t()}}(),s=function(){var e=["Webkit","O","Moz","ms"],t={};function n(n){return n=n.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(e,t){return t.toUpperCase()})),t[n]||(t[n]=function(t){var n=document.body.style;if(t in n)return t;for(var r,o=e.length,i=t.charAt(0).toUpperCase()+t.slice(1);o--;)if((r=e[o]+i)in n)return r;return t}(n))}function r(e,t,r){t=n(t),e.style[t]=r}return function(e,t){var n,o,i=arguments;if(2==i.length)for(n in t)void 0!==(o=t[n])&&t.hasOwnProperty(n)&&r(e,n,o);else r(e,i[1],i[2])}}();function u(e,t){return("string"==typeof e?e:p(e)).indexOf(" "+t+" ")>=0}function c(e,t){var n=p(e),r=n+t;u(n,t)||(e.className=r.substring(1))}function l(e,t){var n,r=p(e);u(e,t)&&(n=r.replace(" "+t+" "," "),e.className=n.substring(1,n.length-1))}function p(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function d(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return n})?r.call(t,n,t,e):r)||(e.exports=o)},function(e,t,n){"use strict";n.d(t,"b",(function(){return r})),n.d(t,"c",(function(){return o})),n.d(t,"a",(function(){return i}));n(16),n(17);function r(){const e=["#e15b64","#f47e60","#f8b26a","#abbd81","#849b87","#e15b64","#f47e60","#f8b26a","#f26d6d","#67cc86","#fb9b5f","#3498db"];return e[Math.floor(Math.random()*e.length)]}function o(e){const t=e.__proto__.push;e.__proto__.push=function(e){return t.call(this,e).catch(e=>e)}}function i(e){const t=e.getRoutes();e.beforeEach((e,n,r)=>{const o=t.find(t=>t.regex.test(e.path));return/\.html$/.test(e.path)||o&&"*"!==o.path&&!o.redirect?r():decodeURIComponent(e.path)!==e.path?r(Object.assign({},e,{path:decodeURIComponent(e.path),fullPath:decodeURIComponent(e.fullPath)})):void r()})}},function(e,t,n){"use strict";var r=n(43),o=Function.prototype.call;e.exports=r?o.bind(o):function(){return o.apply(o,arguments)}},function(e,t,n){"use strict";var r=n(5);e.exports=!r((function(){var e=function(){}.bind();return"function"!=typeof e||e.hasOwnProperty("prototype")}))},function(e,t,n){"use strict";e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t,n){"use strict";var r=n(7),o=n(135),i=TypeError;e.exports=function(e){if(r(e))return e;throw new i(o(e)+" is not a function")}},function(e,t,n){"use strict";var r=n(74),o=n(3),i=n(47),a=e.exports=o["__core-js_shared__"]||i("__core-js_shared__",{});(a.versions||(a.versions=[])).push({version:"3.38.0",mode:r?"pure":"global",copyright:"© 2014-2024 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.38.0/LICENSE",source:"https://github.com/zloirock/core-js"})},function(e,t,n){"use strict";var r=n(3),o=Object.defineProperty;e.exports=function(e,t){try{o(r,e,{value:t,configurable:!0,writable:!0})}catch(n){r[e]=t}return t}},function(e,t,n){"use strict";e.exports={}},function(e,t,n){"use strict";e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},function(e,t,n){var r=n(174),o=n(19),i=Object.prototype,a=i.hasOwnProperty,s=i.propertyIsEnumerable,u=r(function(){return arguments}())?r:function(e){return o(e)&&a.call(e,"callee")&&!s.call(e,"callee")};e.exports=u},function(e,t,n){var r=n(14)(n(11),"Map");e.exports=r},function(e,t){e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},function(e,t,n){var r=n(194),o=n(201),i=n(203),a=n(204),s=n(205);function u(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t-1&&e%1==0&&e<=9007199254740991}},function(e,t,n){var r=n(12),o=n(57),i=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,a=/^\w*$/;e.exports=function(e,t){if(r(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!o(e))||(a.test(e)||!i.test(e)||null!=t&&e in Object(t))}},function(e,t,n){var r=n(24),o=n(19);e.exports=function(e){return"symbol"==typeof e||o(e)&&"[object Symbol]"==r(e)}},function(e,t){e.exports=function(e){return e}},function(e,t,n){var r=n(290);e.exports=function(e){return r(e,{weekStartsOn:1})}},function(e,t,n){"use strict";var r=n(4),o=n(302),i=n(115),a={"Content-Type":"application/x-www-form-urlencoded"};function s(e,t){!r.isUndefined(e)&&r.isUndefined(e["Content-Type"])&&(e["Content-Type"]=t)}var u,c={transitional:{silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},adapter:(("undefined"!=typeof XMLHttpRequest||"undefined"!=typeof process&&"[object process]"===Object.prototype.toString.call(process))&&(u=n(116)),u),transformRequest:[function(e,t){return o(t,"Accept"),o(t,"Content-Type"),r.isFormData(e)||r.isArrayBuffer(e)||r.isBuffer(e)||r.isStream(e)||r.isFile(e)||r.isBlob(e)?e:r.isArrayBufferView(e)?e.buffer:r.isURLSearchParams(e)?(s(t,"application/x-www-form-urlencoded;charset=utf-8"),e.toString()):r.isObject(e)||t&&"application/json"===t["Content-Type"]?(s(t,"application/json"),function(e,t,n){if(r.isString(e))try{return(t||JSON.parse)(e),r.trim(e)}catch(e){if("SyntaxError"!==e.name)throw e}return(n||JSON.stringify)(e)}(e)):e}],transformResponse:[function(e){var t=this.transitional,n=t&&t.silentJSONParsing,o=t&&t.forcedJSONParsing,a=!n&&"json"===this.responseType;if(a||o&&r.isString(e)&&e.length)try{return JSON.parse(e)}catch(e){if(a){if("SyntaxError"===e.name)throw i(e,this,"E_JSON_PARSE");throw e}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,validateStatus:function(e){return e>=200&&e<300}};c.headers={common:{Accept:"application/json, text/plain, */*"}},r.forEach(["delete","get","head"],(function(e){c.headers[e]={}})),r.forEach(["post","put","patch"],(function(e){c.headers[e]=r.merge(a)})),e.exports=c},function(e,t,n){"use strict";var r=n(21),o=n(3),i=n(155),a=n(156),s=o.WebAssembly,u=7!==new Error("e",{cause:7}).cause,c=function(e,t){var n={};n[e]=a(e,t,u),r({global:!0,constructor:!0,arity:1,forced:u},n)},l=function(e,t){if(s&&s[e]){var n={};n[e]=a("WebAssembly."+e,t,u),r({target:"WebAssembly",stat:!0,constructor:!0,arity:1,forced:u},n)}};c("Error",(function(e){return function(t){return i(e,this,arguments)}})),c("EvalError",(function(e){return function(t){return i(e,this,arguments)}})),c("RangeError",(function(e){return function(t){return i(e,this,arguments)}})),c("ReferenceError",(function(e){return function(t){return i(e,this,arguments)}})),c("SyntaxError",(function(e){return function(t){return i(e,this,arguments)}})),c("TypeError",(function(e){return function(t){return i(e,this,arguments)}})),c("URIError",(function(e){return function(t){return i(e,this,arguments)}})),l("CompileError",(function(e){return function(t){return i(e,this,arguments)}})),l("LinkError",(function(e){return function(t){return i(e,this,arguments)}})),l("RuntimeError",(function(e){return function(t){return i(e,this,arguments)}}))},function(e,t,n){"use strict";var r=n(21),o=n(151).left,i=n(152),a=n(71);r({target:"Array",proto:!0,forced:!n(153)&&a>79&&a<83||!i("reduce")},{reduce:function(e){var t=arguments.length;return o(this,e,t,t>1?arguments[1]:void 0)}})},function(e,t,n){"use strict";var r=n(8),o=n(42),i=n(132),a=n(44),s=n(27),u=n(66),c=n(13),l=n(76),p=Object.getOwnPropertyDescriptor;t.f=r?p:function(e,t){if(e=s(e),t=u(t),l)try{return p(e,t)}catch(e){}if(c(e,t))return a(!o(i.f,e,t),e[t])}},function(e,t,n){"use strict";var r=n(6),o=n(5),i=n(28),a=Object,s=r("".split);e.exports=o((function(){return!a("z").propertyIsEnumerable(0)}))?function(e){return"String"===i(e)?s(e,""):a(e)}:a},function(e,t,n){"use strict";e.exports=function(e){return null==e}},function(e,t,n){"use strict";var r=n(133),o=n(67);e.exports=function(e){var t=r(e,"string");return o(t)?t:t+""}},function(e,t,n){"use strict";var r=n(30),o=n(7),i=n(68),a=n(69),s=Object;e.exports=a?function(e){return"symbol"==typeof e}:function(e){var t=r("Symbol");return o(t)&&i(t.prototype,s(e))}},function(e,t,n){"use strict";var r=n(6);e.exports=r({}.isPrototypeOf)},function(e,t,n){"use strict";var r=n(70);e.exports=r&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},function(e,t,n){"use strict";var r=n(71),o=n(5),i=n(3).String;e.exports=!!Object.getOwnPropertySymbols&&!o((function(){var e=Symbol("symbol detection");return!i(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&r&&r<41}))},function(e,t,n){"use strict";var r,o,i=n(3),a=n(72),s=i.process,u=i.Deno,c=s&&s.versions||u&&u.version,l=c&&c.v8;l&&(o=(r=l.split("."))[0]>0&&r[0]<4?1:+(r[0]+r[1])),!o&&a&&(!(r=a.match(/Edge\/(\d+)/))||r[1]>=74)&&(r=a.match(/Chrome\/(\d+)/))&&(o=+r[1]),e.exports=o},function(e,t,n){"use strict";var r=n(3).navigator,o=r&&r.userAgent;e.exports=o?String(o):""},function(e,t,n){"use strict";var r=n(46);e.exports=function(e,t){return r[e]||(r[e]=t||{})}},function(e,t,n){"use strict";e.exports=!1},function(e,t,n){"use strict";var r=n(6),o=0,i=Math.random(),a=r(1..toString);e.exports=function(e){return"Symbol("+(void 0===e?"":e)+")_"+a(++o+i,36)}},function(e,t,n){"use strict";var r=n(8),o=n(5),i=n(77);e.exports=!r&&!o((function(){return 7!==Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},function(e,t,n){"use strict";var r=n(3),o=n(10),i=r.document,a=o(i)&&o(i.createElement);e.exports=function(e){return a?i.createElement(e):{}}},function(e,t,n){"use strict";var r=n(8),o=n(5);e.exports=r&&o((function(){return 42!==Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype}))},function(e,t,n){"use strict";var r=n(73),o=n(75),i=r("keys");e.exports=function(e){return i[e]||(i[e]=o(e))}},function(e,t,n){"use strict";var r=n(13),o=n(143),i=n(63),a=n(18);e.exports=function(e,t,n){for(var s=o(t),u=a.f,c=i.f,l=0;lc;)o(r,n=t[c++])&&(~a(l,n)||u(l,n));return l}},function(e,t,n){"use strict";var r=n(157),o=n(10),i=n(29),a=n(158);e.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var e,t=!1,n={};try{(e=r(Object.prototype,"__proto__","set"))(n,[]),t=n instanceof Array}catch(e){}return function(n,r){return i(n),a(r),o(n)?(t?e(n,r):n.__proto__=r,n):n}}():void 0)},function(e,t,n){"use strict";var r=n(163),o=String;e.exports=function(e){if("Symbol"===r(e))throw new TypeError("Cannot convert a Symbol value to a string");return o(e)}},function(e,t){e.exports=function(e,t){for(var n=-1,r=t.length,o=e.length;++nl))return!1;var d=u.get(e),f=u.get(t);if(d&&f)return d==t&&f==e;var h=-1,v=!0,m=2&n?new r:void 0;for(u.set(e,t),u.set(t,e);++h-1&&e%1==0&&e=48&&i<=57||i>=65&&i<=90||i>=97&&i<=122?n+=t.charAt(r):i<128?n+=o[i]:i<2048?n+=o[192|i>>6]+o[128|63&i]:i<55296||i>=57344?n+=o[224|i>>12]+o[128|i>>6&63]+o[128|63&i]:(r+=1,i=65536+((1023&i)<<10|1023&t.charCodeAt(r)),n+=o[240|i>>18]+o[128|i>>12&63]+o[128|i>>6&63]+o[128|63&i])}return n},isBuffer:function(e){return null!=e&&!!(e.constructor&&e.constructor.isBuffer&&e.constructor.isBuffer(e))},isRegExp:function(e){return"[object RegExp]"===Object.prototype.toString.call(e)},merge:function e(t,n,o){if(!n)return t;if("object"!=typeof n){if(Array.isArray(t))t.push(n);else{if(!t||"object"!=typeof t)return[t,n];(o&&(o.plainObjects||o.allowPrototypes)||!r.call(Object.prototype,n))&&(t[n]=!0)}return t}if(!t||"object"!=typeof t)return[t].concat(n);var a=t;return Array.isArray(t)&&!Array.isArray(n)&&(a=i(t,o)),Array.isArray(t)&&Array.isArray(n)?(n.forEach((function(n,i){if(r.call(t,i)){var a=t[i];a&&"object"==typeof a&&n&&"object"==typeof n?t[i]=e(a,n,o):t.push(n)}else t[i]=n})),t):Object.keys(n).reduce((function(t,i){var a=n[i];return r.call(t,i)?t[i]=e(t[i],a,o):t[i]=a,t}),a)}}},function(e,t,n){"use strict";var r=String.prototype.replace,o=/%20/g;e.exports={default:"RFC3986",formatters:{RFC1738:function(e){return r.call(e,o,"+")},RFC3986:function(e){return String(e)}},RFC1738:"RFC1738",RFC3986:"RFC3986"}},function(e,t){e.exports=function(e){return e instanceof Date}},function(e,t,n){var r=n(15),o=n(59);e.exports=function(e){var t=r(e),n=t.getFullYear(),i=new Date(0);i.setFullYear(n+1,0,4),i.setHours(0,0,0,0);var a=o(i),s=new Date(0);s.setFullYear(n,0,4),s.setHours(0,0,0,0);var u=o(s);return t.getTime()>=a.getTime()?n+1:t.getTime()>=u.getTime()?n:n-1}},function(e,t,n){"use strict";e.exports=function(e,t){return function(){for(var n=new Array(arguments.length),r=0;r]/;e.exports=function(e){var t,n=""+e,o=r.exec(n);if(!o)return n;var i="",a=0,s=0;for(a=o.index;a=t||n<0||m&&e-c>=i}function w(){var e=f();if(_(e))return x(e);s=setTimeout(w,function(e){var n=t-(e-u);return m?d(n,i-(e-c)):n}(e))}function x(e){return s=void 0,g&&r?y(e):(r=o=void 0,a)}function k(){var e=f(),n=_(e);if(r=arguments,o=this,u=e,n){if(void 0===s)return b(u);if(m)return s=setTimeout(w,t),y(u)}return void 0===s&&(s=setTimeout(w,t)),a}return t=v(t)||0,h(n)&&(l=!!n.leading,i=(m="maxWait"in n)?p(v(n.maxWait)||0,t):i,g="trailing"in n?!!n.trailing:g),k.cancel=function(){void 0!==s&&clearTimeout(s),c=0,r=u=o=s=void 0},k.flush=function(){return void 0===s?a:x(f())},k}},function(e,t,n){!function(){"use strict";e.exports={polyfill:function(){var e=window,t=document;if(!("scrollBehavior"in t.documentElement.style)||!0===e.__forceSmoothScrollPolyfill__){var n,r=e.HTMLElement||e.Element,o={scroll:e.scroll||e.scrollTo,scrollBy:e.scrollBy,elementScroll:r.prototype.scroll||s,scrollIntoView:r.prototype.scrollIntoView},i=e.performance&&e.performance.now?e.performance.now.bind(e.performance):Date.now,a=(n=e.navigator.userAgent,new RegExp(["MSIE ","Trident/","Edge/"].join("|")).test(n)?1:0);e.scroll=e.scrollTo=function(){void 0!==arguments[0]&&(!0!==u(arguments[0])?h.call(e,t.body,void 0!==arguments[0].left?~~arguments[0].left:e.scrollX||e.pageXOffset,void 0!==arguments[0].top?~~arguments[0].top:e.scrollY||e.pageYOffset):o.scroll.call(e,void 0!==arguments[0].left?arguments[0].left:"object"!=typeof arguments[0]?arguments[0]:e.scrollX||e.pageXOffset,void 0!==arguments[0].top?arguments[0].top:void 0!==arguments[1]?arguments[1]:e.scrollY||e.pageYOffset))},e.scrollBy=function(){void 0!==arguments[0]&&(u(arguments[0])?o.scrollBy.call(e,void 0!==arguments[0].left?arguments[0].left:"object"!=typeof arguments[0]?arguments[0]:0,void 0!==arguments[0].top?arguments[0].top:void 0!==arguments[1]?arguments[1]:0):h.call(e,t.body,~~arguments[0].left+(e.scrollX||e.pageXOffset),~~arguments[0].top+(e.scrollY||e.pageYOffset)))},r.prototype.scroll=r.prototype.scrollTo=function(){if(void 0!==arguments[0])if(!0!==u(arguments[0])){var e=arguments[0].left,t=arguments[0].top;h.call(this,this,void 0===e?this.scrollLeft:~~e,void 0===t?this.scrollTop:~~t)}else{if("number"==typeof arguments[0]&&void 0===arguments[1])throw new SyntaxError("Value could not be converted");o.elementScroll.call(this,void 0!==arguments[0].left?~~arguments[0].left:"object"!=typeof arguments[0]?~~arguments[0]:this.scrollLeft,void 0!==arguments[0].top?~~arguments[0].top:void 0!==arguments[1]?~~arguments[1]:this.scrollTop)}},r.prototype.scrollBy=function(){void 0!==arguments[0]&&(!0!==u(arguments[0])?this.scroll({left:~~arguments[0].left+this.scrollLeft,top:~~arguments[0].top+this.scrollTop,behavior:arguments[0].behavior}):o.elementScroll.call(this,void 0!==arguments[0].left?~~arguments[0].left+this.scrollLeft:~~arguments[0]+this.scrollLeft,void 0!==arguments[0].top?~~arguments[0].top+this.scrollTop:~~arguments[1]+this.scrollTop))},r.prototype.scrollIntoView=function(){if(!0!==u(arguments[0])){var n=d(this),r=n.getBoundingClientRect(),i=this.getBoundingClientRect();n!==t.body?(h.call(this,n,n.scrollLeft+i.left-r.left,n.scrollTop+i.top-r.top),"fixed"!==e.getComputedStyle(n).position&&e.scrollBy({left:r.left,top:r.top,behavior:"smooth"})):e.scrollBy({left:i.left,top:i.top,behavior:"smooth"})}else o.scrollIntoView.call(this,void 0===arguments[0]||arguments[0])}}function s(e,t){this.scrollLeft=e,this.scrollTop=t}function u(e){if(null===e||"object"!=typeof e||void 0===e.behavior||"auto"===e.behavior||"instant"===e.behavior)return!0;if("object"==typeof e&&"smooth"===e.behavior)return!1;throw new TypeError("behavior member of ScrollOptions "+e.behavior+" is not a valid value for enumeration ScrollBehavior.")}function c(e,t){return"Y"===t?e.clientHeight+a1?1:s,n=.5*(1-Math.cos(Math.PI*a)),r=t.startX+(t.x-t.startX)*n,o=t.startY+(t.y-t.startY)*n,t.method.call(t.scrollable,r,o),r===t.x&&o===t.y||e.requestAnimationFrame(f.bind(e,t))}function h(n,r,a){var u,c,l,p,d=i();n===t.body?(u=e,c=e.scrollX||e.pageXOffset,l=e.scrollY||e.pageYOffset,p=o.scroll):(u=n,c=n.scrollLeft,l=n.scrollTop,p=s),f({scrollable:u,method:p,startTime:d,startX:c,startY:l,x:r,y:a})}}}}()},function(e,t,n){ +/*! + * + * typed.js - A JavaScript Typing Animation Library + * Author: Matt Boldt + * Version: v2.0.12 + * Url: https://github.com/mattboldt/typed.js + * License(s): MIT + * + */ +var r;r=function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={exports:{},id:r,loaded:!1};return e[r].call(o.exports,o,o.exports,n),o.loaded=!0,o.exports}return n.m=e,n.c=t,n.p="",n(0)}([function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;ne.length)););var u=e.substring(0,t),c=e.substring(u.length+1,t+o),l=e.substring(t+o+1);e=u+c+l,o--}n.timeout=setTimeout((function(){n.toggleBlinking(!1),t>=e.length?n.doneTyping(e,t):n.keepTyping(e,t,o),n.temporaryPause&&(n.temporaryPause=!1,n.options.onTypingResumed(n.arrayPos,n))}),r)}),r):this.setPauseStatus(e,t,!0)}},{key:"keepTyping",value:function(e,t,n){0===t&&(this.toggleBlinking(!1),this.options.preStringTyped(this.arrayPos,this)),t+=n;var r=e.substr(0,t);this.replaceText(r),this.typewrite(e,t)}},{key:"doneTyping",value:function(e,t){var n=this;this.options.onStringTyped(this.arrayPos,this),this.toggleBlinking(!0),this.arrayPos===this.strings.length-1&&(this.complete(),!1===this.loop||this.curLoop===this.loopCount)||(this.timeout=setTimeout((function(){n.backspace(e,t)}),this.backDelay))}},{key:"backspace",value:function(e,t){var n=this;if(!0!==this.pause.status){if(this.fadeOut)return this.initFadeOut();this.toggleBlinking(!1);var r=this.humanizer(this.backSpeed);this.timeout=setTimeout((function(){t=i.htmlParser.backSpaceHtmlChars(e,t,n);var r=e.substr(0,t);if(n.replaceText(r),n.smartBackspace){var o=n.strings[n.arrayPos+1];o&&r===o.substr(0,t)?n.stopNum=t:n.stopNum=0}t>n.stopNum?(t--,n.backspace(e,t)):t<=n.stopNum&&(n.arrayPos++,n.arrayPos===n.strings.length?(n.arrayPos=0,n.options.onLastStringBackspaced(),n.shuffleStringsIfNeeded(),n.begin()):n.typewrite(n.strings[n.sequence[n.arrayPos]],t))}),r)}else this.setPauseStatus(e,t,!1)}},{key:"complete",value:function(){this.options.onComplete(this),this.loop?this.curLoop++:this.typingComplete=!0}},{key:"setPauseStatus",value:function(e,t,n){this.pause.typewrite=n,this.pause.curString=e,this.pause.curStrPos=t}},{key:"toggleBlinking",value:function(e){this.cursor&&(this.pause.status||this.cursorBlinking!==e&&(this.cursorBlinking=e,e?this.cursor.classList.add("typed-cursor--blink"):this.cursor.classList.remove("typed-cursor--blink")))}},{key:"humanizer",value:function(e){return Math.round(Math.random()*e/2)+e}},{key:"shuffleStringsIfNeeded",value:function(){this.shuffle&&(this.sequence=this.sequence.sort((function(){return Math.random()-.5})))}},{key:"initFadeOut",value:function(){var e=this;return this.el.className+=" "+this.fadeOutClass,this.cursor&&(this.cursor.className+=" "+this.fadeOutClass),setTimeout((function(){e.arrayPos++,e.replaceText(""),e.strings.length>e.arrayPos?e.typewrite(e.strings[e.sequence[e.arrayPos]],0):(e.typewrite(e.strings[0],0),e.arrayPos=0)}),this.fadeOutDelay)}},{key:"replaceText",value:function(e){this.attr?this.el.setAttribute(this.attr,e):this.isInput?this.el.value=e:"html"===this.contentType?this.el.innerHTML=e:this.el.textContent=e}},{key:"bindFocusEvents",value:function(){var e=this;this.isInput&&(this.el.addEventListener("focus",(function(t){e.stop()})),this.el.addEventListener("blur",(function(t){e.el.value&&0!==e.el.value.length||e.start()})))}},{key:"insertCursor",value:function(){this.showCursor&&(this.cursor||(this.cursor=document.createElement("span"),this.cursor.className="typed-cursor",this.cursor.setAttribute("aria-hidden",!0),this.cursor.innerHTML=this.cursorChar,this.el.parentNode&&this.el.parentNode.insertBefore(this.cursor,this.el.nextSibling)))}}]),e}();t.default=a,e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,o=Object.assign||function(e){for(var t=1;t":";";e.substr(t+1).charAt(0)!==o&&!(1+ ++t>e.length););t++}return t}},{key:"backSpaceHtmlChars",value:function(e,t,n){if("html"!==n.contentType)return t;var r=e.substr(t).charAt(0);if(">"===r||";"===r){var o="";for(o=">"===r?"<":"&";e.substr(t-1).charAt(0)!==o&&!(--t<0););t--}return t}}]),e}();t.default=r;var o=new r;t.htmlParser=o}])},e.exports=r()},function(e,t,n){var r=n(284),o=n(289),i=n(112),a=n(15),s=n(292),u=n(293);var c={M:function(e){return e.getMonth()+1},MM:function(e){return d(e.getMonth()+1,2)},Q:function(e){return Math.ceil((e.getMonth()+1)/3)},D:function(e){return e.getDate()},DD:function(e){return d(e.getDate(),2)},DDD:function(e){return r(e)},DDDD:function(e){return d(r(e),3)},d:function(e){return e.getDay()},E:function(e){return e.getDay()||7},W:function(e){return o(e)},WW:function(e){return d(o(e),2)},YY:function(e){return d(e.getFullYear(),4).substr(2)},YYYY:function(e){return d(e.getFullYear(),4)},GG:function(e){return String(i(e)).substr(2)},GGGG:function(e){return i(e)},H:function(e){return e.getHours()},HH:function(e){return d(e.getHours(),2)},h:function(e){var t=e.getHours();return 0===t?12:t>12?t%12:t},hh:function(e){return d(c.h(e),2)},m:function(e){return e.getMinutes()},mm:function(e){return d(e.getMinutes(),2)},s:function(e){return e.getSeconds()},ss:function(e){return d(e.getSeconds(),2)},S:function(e){return Math.floor(e.getMilliseconds()/100)},SS:function(e){return d(Math.floor(e.getMilliseconds()/10),2)},SSS:function(e){return d(e.getMilliseconds(),3)},Z:function(e){return p(e.getTimezoneOffset(),":")},ZZ:function(e){return p(e.getTimezoneOffset())},X:function(e){return Math.floor(e.getTime()/1e3)},x:function(e){return e.getTime()}};function l(e){return e.match(/\[[\s\S]/)?e.replace(/^\[|]$/g,""):e.replace(/\\/g,"")}function p(e,t){t=t||"";var n=e>0?"-":"+",r=Math.abs(e),o=r%60;return n+d(Math.floor(r/60),2)+t+d(o,2)}function d(e,t){for(var n=Math.abs(e).toString();n.length{"%%"!==e&&(r++,"%c"===e&&(o=r))}),t.splice(o,0,n)},t.save=function(e){try{e?t.storage.setItem("debug",e):t.storage.removeItem("debug")}catch(e){}},t.load=function(){let e;try{e=t.storage.getItem("debug")}catch(e){}!e&&"undefined"!=typeof process&&"env"in process&&(e=process.env.DEBUG);return e},t.useColors=function(){if("undefined"!=typeof window&&window.process&&("renderer"===window.process.type||window.process.__nwjs))return!0;if("undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let e;return"undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&(e=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(e[1],10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},t.storage=function(){try{return localStorage}catch(e){}}(),t.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),t.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],t.log=console.debug||console.log||(()=>{}),e.exports=n(318)(t);const{formatters:r}=e.exports;r.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}},function(e,t,n){e.exports=n(323)},function(e,t,n){"use strict";var r={}.propertyIsEnumerable,o=Object.getOwnPropertyDescriptor,i=o&&!r.call({1:2},1);t.f=i?function(e){var t=o(this,e);return!!t&&t.enumerable}:r},function(e,t,n){"use strict";var r=n(42),o=n(10),i=n(67),a=n(134),s=n(136),u=n(26),c=TypeError,l=u("toPrimitive");e.exports=function(e,t){if(!o(e)||i(e))return e;var n,u=a(e,l);if(u){if(void 0===t&&(t="default"),n=r(u,e,t),!o(n)||i(n))return n;throw new c("Can't convert object to primitive value")}return void 0===t&&(t="number"),s(e,t)}},function(e,t,n){"use strict";var r=n(45),o=n(65);e.exports=function(e,t){var n=e[t];return o(n)?void 0:r(n)}},function(e,t,n){"use strict";var r=String;e.exports=function(e){try{return r(e)}catch(e){return"Object"}}},function(e,t,n){"use strict";var r=n(42),o=n(7),i=n(10),a=TypeError;e.exports=function(e,t){var n,s;if("string"===t&&o(n=e.toString)&&!i(s=r(n,e)))return s;if(o(n=e.valueOf)&&!i(s=r(n,e)))return s;if("string"!==t&&o(n=e.toString)&&!i(s=r(n,e)))return s;throw new a("Can't convert object to primitive value")}},function(e,t,n){"use strict";var r=n(7),o=n(18),i=n(138),a=n(47);e.exports=function(e,t,n,s){s||(s={});var u=s.enumerable,c=void 0!==s.name?s.name:t;if(r(n)&&i(n,c,s),s.global)u?e[t]=n:a(t,n);else{try{s.unsafe?e[t]&&(u=!0):delete e[t]}catch(e){}u?e[t]=n:o.f(e,t,{value:n,enumerable:!1,configurable:!s.nonConfigurable,writable:!s.nonWritable})}return e}},function(e,t,n){"use strict";var r=n(6),o=n(5),i=n(7),a=n(13),s=n(8),u=n(139).CONFIGURABLE,c=n(140),l=n(141),p=l.enforce,d=l.get,f=String,h=Object.defineProperty,v=r("".slice),m=r("".replace),g=r([].join),y=s&&!o((function(){return 8!==h((function(){}),"length",{value:8}).length})),b=String(String).split("String"),_=e.exports=function(e,t,n){"Symbol("===v(f(t),0,7)&&(t="["+m(f(t),/^Symbol\(([^)]*)\).*$/,"$1")+"]"),n&&n.getter&&(t="get "+t),n&&n.setter&&(t="set "+t),(!a(e,"name")||u&&e.name!==t)&&(s?h(e,"name",{value:t,configurable:!0}):e.name=t),y&&n&&a(n,"arity")&&e.length!==n.arity&&h(e,"length",{value:n.arity});try{n&&a(n,"constructor")&&n.constructor?s&&h(e,"prototype",{writable:!1}):e.prototype&&(e.prototype=void 0)}catch(e){}var r=p(e);return a(r,"source")||(r.source=g(b,"string"==typeof t?t:"")),e};Function.prototype.toString=_((function(){return i(this)&&d(this).source||c(this)}),"toString")},function(e,t,n){"use strict";var r=n(8),o=n(13),i=Function.prototype,a=r&&Object.getOwnPropertyDescriptor,s=o(i,"name"),u=s&&"something"===function(){}.name,c=s&&(!r||r&&a(i,"name").configurable);e.exports={EXISTS:s,PROPER:u,CONFIGURABLE:c}},function(e,t,n){"use strict";var r=n(6),o=n(7),i=n(46),a=r(Function.toString);o(i.inspectSource)||(i.inspectSource=function(e){return a(e)}),e.exports=i.inspectSource},function(e,t,n){"use strict";var r,o,i,a=n(142),s=n(3),u=n(10),c=n(22),l=n(13),p=n(46),d=n(79),f=n(48),h=s.TypeError,v=s.WeakMap;if(a||p.state){var m=p.state||(p.state=new v);m.get=m.get,m.has=m.has,m.set=m.set,r=function(e,t){if(m.has(e))throw new h("Object already initialized");return t.facade=e,m.set(e,t),t},o=function(e){return m.get(e)||{}},i=function(e){return m.has(e)}}else{var g=d("state");f[g]=!0,r=function(e,t){if(l(e,g))throw new h("Object already initialized");return t.facade=e,c(e,g,t),t},o=function(e){return l(e,g)?e[g]:{}},i=function(e){return l(e,g)}}e.exports={set:r,get:o,has:i,enforce:function(e){return i(e)?o(e):r(e,{})},getterFor:function(e){return function(t){var n;if(!u(t)||(n=o(t)).type!==e)throw new h("Incompatible receiver, "+e+" required");return n}}}},function(e,t,n){"use strict";var r=n(3),o=n(7),i=r.WeakMap;e.exports=o(i)&&/native code/.test(String(i))},function(e,t,n){"use strict";var r=n(30),o=n(6),i=n(144),a=n(149),s=n(32),u=o([].concat);e.exports=r("Reflect","ownKeys")||function(e){var t=i.f(s(e)),n=a.f;return n?u(t,n(e)):t}},function(e,t,n){"use strict";var r=n(81),o=n(49).concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return r(e,o)}},function(e,t,n){"use strict";var r=n(27),o=n(146),i=n(34),a=function(e){return function(t,n,a){var s=r(t),u=i(s);if(0===u)return!e&&-1;var c,l=o(a,u);if(e&&n!=n){for(;u>l;)if((c=s[l++])!=c)return!0}else for(;u>l;l++)if((e||l in s)&&s[l]===n)return e||l||0;return!e&&-1}};e.exports={includes:a(!0),indexOf:a(!1)}},function(e,t,n){"use strict";var r=n(33),o=Math.max,i=Math.min;e.exports=function(e,t){var n=r(e);return n<0?o(n+t,0):i(n,t)}},function(e,t,n){"use strict";var r=Math.ceil,o=Math.floor;e.exports=Math.trunc||function(e){var t=+e;return(t>0?o:r)(t)}},function(e,t,n){"use strict";var r=n(33),o=Math.min;e.exports=function(e){var t=r(e);return t>0?o(t,9007199254740991):0}},function(e,t,n){"use strict";t.f=Object.getOwnPropertySymbols},function(e,t,n){"use strict";var r=n(5),o=n(7),i=/#|\.prototype\./,a=function(e,t){var n=u[s(e)];return n===l||n!==c&&(o(t)?r(t):!!t)},s=a.normalize=function(e){return String(e).replace(i,".").toLowerCase()},u=a.data={},c=a.NATIVE="N",l=a.POLYFILL="P";e.exports=a},function(e,t,n){"use strict";var r=n(45),o=n(31),i=n(64),a=n(34),s=TypeError,u="Reduce of empty array with no initial value",c=function(e){return function(t,n,c,l){var p=o(t),d=i(p),f=a(p);if(r(n),0===f&&c<2)throw new s(u);var h=e?f-1:0,v=e?-1:1;if(c<2)for(;;){if(h in d){l=d[h],h+=v;break}if(h+=v,e?h<0:f<=h)throw new s(u)}for(;e?h>=0:f>h;h+=v)h in d&&(l=n(l,d[h],h,p));return l}};e.exports={left:c(!1),right:c(!0)}},function(e,t,n){"use strict";var r=n(5);e.exports=function(e,t){var n=[][e];return!!n&&r((function(){n.call(null,t||function(){return 1},1)}))}},function(e,t,n){"use strict";var r=n(154);e.exports="NODE"===r},function(e,t,n){"use strict";var r=n(3),o=n(72),i=n(28),a=function(e){return o.slice(0,e.length)===e};e.exports=a("Bun/")?"BUN":a("Cloudflare-Workers")?"CLOUDFLARE":a("Deno/")?"DENO":a("Node.js/")?"NODE":r.Bun&&"string"==typeof Bun.version?"BUN":r.Deno&&"object"==typeof Deno.version?"DENO":"process"===i(r.process)?"NODE":r.window&&r.document?"BROWSER":"REST"},function(e,t,n){"use strict";var r=n(43),o=Function.prototype,i=o.apply,a=o.call;e.exports="object"==typeof Reflect&&Reflect.apply||(r?a.bind(i):function(){return a.apply(i,arguments)})},function(e,t,n){"use strict";var r=n(30),o=n(13),i=n(22),a=n(68),s=n(82),u=n(80),c=n(160),l=n(161),p=n(162),d=n(165),f=n(166),h=n(8),v=n(74);e.exports=function(e,t,n,m){var g=m?2:1,y=e.split("."),b=y[y.length-1],_=r.apply(null,y);if(_){var w=_.prototype;if(!v&&o(w,"cause")&&delete w.cause,!n)return _;var x=r("Error"),k=t((function(e,t){var n=p(m?t:e,void 0),r=m?new _(e):new _;return void 0!==n&&i(r,"message",n),f(r,k,r.stack,2),this&&a(w,this)&&l(r,this,k),arguments.length>g&&d(r,arguments[g]),r}));if(k.prototype=w,"Error"!==b?s?s(k,x):u(k,x,{name:!0}):h&&"stackTraceLimit"in _&&(c(k,_,"stackTraceLimit"),c(k,_,"prepareStackTrace")),u(k,_),!v)try{w.name!==b&&i(w,"name",b),w.constructor=k}catch(e){}return k}}},function(e,t,n){"use strict";var r=n(6),o=n(45);e.exports=function(e,t,n){try{return r(o(Object.getOwnPropertyDescriptor(e,t)[n]))}catch(e){}}},function(e,t,n){"use strict";var r=n(159),o=String,i=TypeError;e.exports=function(e){if(r(e))return e;throw new i("Can't set "+o(e)+" as a prototype")}},function(e,t,n){"use strict";var r=n(10);e.exports=function(e){return r(e)||null===e}},function(e,t,n){"use strict";var r=n(18).f;e.exports=function(e,t,n){n in e||r(e,n,{configurable:!0,get:function(){return t[n]},set:function(e){t[n]=e}})}},function(e,t,n){"use strict";var r=n(7),o=n(10),i=n(82);e.exports=function(e,t,n){var a,s;return i&&r(a=t.constructor)&&a!==n&&o(s=a.prototype)&&s!==n.prototype&&i(e,s),e}},function(e,t,n){"use strict";var r=n(83);e.exports=function(e,t){return void 0===e?arguments.length<2?"":t:r(e)}},function(e,t,n){"use strict";var r=n(164),o=n(7),i=n(28),a=n(26)("toStringTag"),s=Object,u="Arguments"===i(function(){return arguments}());e.exports=r?i:function(e){var t,n,r;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(n=function(e,t){try{return e[t]}catch(e){}}(t=s(e),a))?n:u?i(t):"Object"===(r=i(t))&&o(t.callee)?"Arguments":r}},function(e,t,n){"use strict";var r={};r[n(26)("toStringTag")]="z",e.exports="[object z]"===String(r)},function(e,t,n){"use strict";var r=n(10),o=n(22);e.exports=function(e,t){r(t)&&"cause"in t&&o(e,"cause",t.cause)}},function(e,t,n){"use strict";var r=n(22),o=n(167),i=n(168),a=Error.captureStackTrace;e.exports=function(e,t,n,s){i&&(a?a(e,t):r(e,"stack",o(n,s)))}},function(e,t,n){"use strict";var r=n(6),o=Error,i=r("".replace),a=String(new o("zxcasd").stack),s=/\n\s*at [^:]*:[^\n]*/,u=s.test(a);e.exports=function(e,t){if(u&&"string"==typeof e&&!o.prepareStackTrace)for(;t--;)e=i(e,s,"");return e}},function(e,t,n){"use strict";var r=n(5),o=n(44);e.exports=!r((function(){var e=new Error("a");return!("stack"in e)||(Object.defineProperty(e,"stack",o(1,7)),7!==e.stack)}))},function(e,t,n){"use strict";var r=n(8),o=n(170),i=TypeError,a=Object.getOwnPropertyDescriptor,s=r&&!function(){if(void 0!==this)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(e){return e instanceof TypeError}}();e.exports=s?function(e,t){if(o(e)&&!a(e,"length").writable)throw new i("Cannot set read only .length");return e.length=t}:function(e,t){return e.length=t}},function(e,t,n){"use strict";var r=n(28);e.exports=Array.isArray||function(e){return"Array"===r(e)}},function(e,t,n){"use strict";var r=TypeError;e.exports=function(e){if(e>9007199254740991)throw r("Maximum allowed index exceeded");return e}},function(e,t,n){var r=n(84),o=n(173);e.exports=function e(t,n,i,a,s){var u=-1,c=t.length;for(i||(i=o),s||(s=[]);++u0&&i(l)?n>1?e(l,n-1,i,a,s):r(s,l):a||(s[s.length]=l)}return s}},function(e,t,n){var r=n(23),o=n(50),i=n(12),a=r?r.isConcatSpreadable:void 0;e.exports=function(e){return i(e)||o(e)||!!(a&&e&&e[a])}},function(e,t,n){var r=n(24),o=n(19);e.exports=function(e){return o(e)&&"[object Arguments]"==r(e)}},function(e,t,n){var r=n(23),o=Object.prototype,i=o.hasOwnProperty,a=o.toString,s=r?r.toStringTag:void 0;e.exports=function(e){var t=i.call(e,s),n=e[s];try{e[s]=void 0;var r=!0}catch(e){}var o=a.call(e);return r&&(t?e[s]=n:delete e[s]),o}},function(e,t){var n=Object.prototype.toString;e.exports=function(e){return n.call(e)}},function(e,t,n){var r=n(178),o=n(234),i=n(58),a=n(12),s=n(245);e.exports=function(e){return"function"==typeof e?e:null==e?i:"object"==typeof e?a(e)?o(e[0],e[1]):r(e):s(e)}},function(e,t,n){var r=n(179),o=n(233),i=n(102);e.exports=function(e){var t=o(e);return 1==t.length&&t[0][2]?i(t[0][0],t[0][1]):function(n){return n===e||r(n,e,t)}}},function(e,t,n){var r=n(86),o=n(90);e.exports=function(e,t,n,i){var a=n.length,s=a,u=!i;if(null==e)return!s;for(e=Object(e);a--;){var c=n[a];if(u&&c[2]?c[1]!==e[c[0]]:!(c[0]in e))return!1}for(;++a-1}},function(e,t,n){var r=n(36);e.exports=function(e,t){var n=this.__data__,o=r(n,e);return o<0?(++this.size,n.push([e,t])):n[o][1]=t,this}},function(e,t,n){var r=n(35);e.exports=function(){this.__data__=new r,this.size=0}},function(e,t){e.exports=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}},function(e,t){e.exports=function(e){return this.__data__.get(e)}},function(e,t){e.exports=function(e){return this.__data__.has(e)}},function(e,t,n){var r=n(35),o=n(51),i=n(53);e.exports=function(e,t){var n=this.__data__;if(n instanceof r){var a=n.__data__;if(!o||a.length<199)return a.push([e,t]),this.size=++n.size,this;n=this.__data__=new i(a)}return n.set(e,t),this.size=n.size,this}},function(e,t,n){var r=n(88),o=n(191),i=n(52),a=n(89),s=/^\[object .+?Constructor\]$/,u=Function.prototype,c=Object.prototype,l=u.toString,p=c.hasOwnProperty,d=RegExp("^"+l.call(p).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");e.exports=function(e){return!(!i(e)||o(e))&&(r(e)?d:s).test(a(e))}},function(e,t,n){var r,o=n(192),i=(r=/[^.]+$/.exec(o&&o.keys&&o.keys.IE_PROTO||""))?"Symbol(src)_1."+r:"";e.exports=function(e){return!!i&&i in e}},function(e,t,n){var r=n(11)["__core-js_shared__"];e.exports=r},function(e,t){e.exports=function(e,t){return null==e?void 0:e[t]}},function(e,t,n){var r=n(195),o=n(35),i=n(51);e.exports=function(){this.size=0,this.__data__={hash:new r,map:new(i||o),string:new r}}},function(e,t,n){var r=n(196),o=n(197),i=n(198),a=n(199),s=n(200);function u(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t0){if(++t>=800)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}},function(e,t,n){var r=n(92),o=n(257),i=n(262),a=n(93),s=n(263),u=n(54);e.exports=function(e,t,n){var c=-1,l=o,p=e.length,d=!0,f=[],h=f;if(n)d=!1,l=i;else if(p>=200){var v=t?null:s(e);if(v)return u(v);d=!1,l=a,h=new r}else h=t?[]:f;e:for(;++c-1}},function(e,t,n){var r=n(259),o=n(260),i=n(261);e.exports=function(e,t,n){return t==t?i(e,t,n):r(e,o,n)}},function(e,t){e.exports=function(e,t,n,r){for(var o=e.length,i=n+(r?1:-1);r?i--:++i=0?r:n+r;return s<0||s>=n?void 0:t[s]}}),s("at")},function(e,t,n){"use strict";var r=n(26),o=n(274),i=n(18).f,a=r("unscopables"),s=Array.prototype;void 0===s[a]&&i(s,a,{configurable:!0,value:o(null)}),e.exports=function(e){s[a][e]=!0}},function(e,t,n){"use strict";var r,o=n(32),i=n(275),a=n(49),s=n(48),u=n(277),c=n(77),l=n(79),p=l("IE_PROTO"),d=function(){},f=function(e){return" +如果还是没有解决,可选择以下方式

# 开源协议

本项目使用 AGPL-3.0 License (opens new window) 作为开源协议。

# 致谢

# 项目致谢

以下项目为真寻提供了不少的帮助和灵感
botuniverse / onebot (opens new window):超棒的机器人协议
Mrs4s / go-cqhttp (opens new window):cqhttp的golang实现,轻量、原生跨平台.
nonebot / nonebot2 (opens new window):跨平台Python异步机器人框架
Angel-Hair / XUN_Bot (opens new window):一个基于NoneBot和酷Q的功能性QQ机器人
pcrbot / cappuccilo_plugins (opens new window):hoshino插件合集
MeetWq /nonebot-plugin-withdraw (opens new window):A simple withdraw plugin for Nonebot2
maxesisn / nonebot_plugin_songpicker2 (opens new window):适用于nonebot2的点歌插件
nonepkg / nonebot-plugin-manager (opens new window):Nonebot Plugin Manager base on import hook
H-K-Y / Genshin_Impact_bot (opens new window):原神bot,这是一个基于nonebot和HoshinoBot的原神娱乐及信息查询插件
NothAmor / nonebot2_luxun_says (opens new window):基于nonebot2机器人框架的鲁迅说插件
Kyomotoi / AnimeThesaurus (opens new window):一个特二刺螈(文爱)的适用于任何bot的词库
Ailitonia / omega-miya (opens new window):基于nonebot2的qq机器人
KimigaiiWuyi / GenshinUID:一个基于HoshinoBot/NoneBot2的原神UID查询插件

# 发电致谢

感谢投喂
赞助者 (非常感谢捏) 金额
shenqi (opens new window) ¥12
A_Kyuu (opens new window) ¥200
疯狂混沌 (opens new window) ¥5
Tpoeyopo (opens new window) ¥24
投冥 (opens new window) ¥6
茶喵 (opens new window) ¥6
AemokpaTNR (opens new window) ¥24
爱发电用户_wrxn (opens new window) ¥6
qqw (opens new window) ¥6
溫一壺月光下酒 (opens new window) ¥6
伝木 (opens new window) ¥12
阿奎 (opens new window) ¥112
醉梦尘逸 (opens new window) ¥6
Iris (opens new window) ¥24
Yui (opens new window) ¥6
Abc (opens new window) ¥6
本喵无敌哒 (opens new window) ¥16.04
椎名冬羽 (opens new window) ¥6
kaito (opens new window) ¥6
墨然 (opens new window) ¥6
爱发电用户_T9e4 (opens new window) ¥12
请问一份爱多少钱 (opens new window) ¥6
咸鱼鱼鱼鱼 (opens new window) ¥48
Kafka (opens new window) ¥24
笑柒XIAO_Q7 (opens new window) ¥36
noahzark (opens new window) ¥24
ze roller (opens new window) ¥6
腊条 (opens new window) ¥6
感冒土豆 (opens new window) ¥6
爱发电用户_TBsd (opens new window) ¥24
我只会cvs (opens new window) ¥15
烟寒若雨 (opens new window) ¥54
ln (opens new window) ¥24
阿咪要女装 (opens new window) ¥30
爱发电用户_c58s (opens new window) ¥24
爱发电用户_eNr9 (opens new window) ¥6
花漾 (opens new window) ¥6
Excalibur (opens new window) ¥24
爱发电用户_Bc6j (opens new window) ¥6
阿咪和歌歌的老婆 (opens new window) ¥48
副驾驶啦啦啦 (opens new window) ¥6
嘿小欧 (opens new window) ¥6
回忆的秋千 (opens new window) ¥24
十年くん (opens new window) ¥96
(opens new window) ¥6
yajiwa (opens new window) ¥262
爆金币 (opens new window) ¥5.2
    + diff --git a/categories/index.html b/categories/index.html index 0e236b67c..a5dad5760 100644 --- a/categories/index.html +++ b/categories/index.html @@ -9,15 +9,15 @@ - - + + - - + (opens new window)

      + diff --git a/docs/api_doc/group.html b/docs/api_doc/group.html index bd096e9bf..6b606c811 100644 --- a/docs/api_doc/group.html +++ b/docs/api_doc/group.html @@ -9,15 +9,15 @@ - - + + -

      # 获取群组数据

      • 说明

      获取群组列表

      • 请求方式

      GET

      • 请求URL

      /webui/group

      • 请求参数

      None

      • 返回示例
      {
      +   (opens new window)

      # 获取群组数据

      • 说明

      获取群组列表

      • 请求方式

      GET

      • 请求URL

      /webui/group

      • 请求参数

      None

      • 返回示例
      {
         "code": 200,
         "data": [
           {
      @@ -122,10 +122,10 @@
         data: "修改成功!"
       }
       
      1
      2
      3
      4
      - + 插件接口 + + 请求接口 +

      + diff --git a/docs/api_doc/plugins.html b/docs/api_doc/plugins.html index 711cb0bfe..7376008aa 100644 --- a/docs/api_doc/plugins.html +++ b/docs/api_doc/plugins.html @@ -9,15 +9,15 @@ - - + + -

      # 获取插件列表

      • 说明

      获取插件列表

      • 请求方式

      GET

      • 请求URL

      /webui/plugins

      • 请求参数
      请求参数 必选 参数类型 说明
      type_ true str normal: 非限制插件
      admin: 管理员插件
      superuser: 超级用户插件
      hidden: 其他插件
      • 返回示例
      {
      +   (opens new window)

      # 获取插件列表

      • 说明

      获取插件列表

      • 请求方式

      GET

      • 请求URL

      /webui/plugins

      • 请求参数
      请求参数 必选 参数类型 说明
      type_ true str normal: 非限制插件
      admin: 管理员插件
      superuser: 超级用户插件
      hidden: 其他插件
      • 返回示例
      {
           code: 200                                                   # code码
           data: [
               {
      @@ -125,8 +125,8 @@
         data: "修改成功!"
       }
       
      1
      2
      3
      4
      - + 群组接口 +

      + diff --git a/docs/api_doc/request.html b/docs/api_doc/request.html index 76f5d6c8c..1d3271acb 100644 --- a/docs/api_doc/request.html +++ b/docs/api_doc/request.html @@ -9,15 +9,15 @@ - - + + -

      # 获取请求数据

      • 说明

      获取请求列表

      • 请求方式

      GET

      • 请求URL

      /webui/group

      • 请求参数
      请求参数 必选 参数类型 说明
      type_ true str group: 群聊请求
      private: 好友请求
      • 返回示例
      
      +   (opens new window)

      # 获取请求数据

      • 说明

      获取请求列表

      • 请求方式

      GET

      • 请求URL

      /webui/group

      • 请求参数
      请求参数 必选 参数类型 说明
      type_ true str group: 群聊请求
      private: 好友请求
      • 返回示例
      
       {
         "code": 200,
         "data": [
      @@ -97,10 +97,10 @@
         data: "未找到此Id"
       }
       
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      - + 群组接口 + + 系统接口 +

      + diff --git a/docs/api_doc/system.html b/docs/api_doc/system.html index c29f7e9b0..f1ec61f1b 100644 --- a/docs/api_doc/system.html +++ b/docs/api_doc/system.html @@ -9,15 +9,15 @@ - - + + -

      # 获取系统所有状态

      • 说明

      获取系统所有状态

      • 请求方式

      GET

      • 请求URL

      /webui/system

      • 请求参数

      None

      • 返回示例
      {
      +   (opens new window)

      # 获取系统所有状态

      • 说明

      获取系统所有状态

      • 请求方式

      GET

      • 请求URL

      /webui/system

      • 请求参数

      None

      • 返回示例
      {
         "code": 200,
         "data": {
           "status": {
      @@ -136,8 +136,8 @@
         }
       }
       
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      34
      35
      36
      37
      38
      39
      40
      41
      - + 请求接口 +

      + diff --git a/docs/development_doc/depends.html b/docs/development_doc/depends.html index 49ddba7bd..435726070 100644 --- a/docs/development_doc/depends.html +++ b/docs/development_doc/depends.html @@ -9,15 +9,15 @@ - - + + - - + (opens new window)

        + diff --git a/docs/development_doc/plugins.html b/docs/development_doc/plugins.html index 2f318ba1a..33e6226ac 100644 --- a/docs/development_doc/plugins.html +++ b/docs/development_doc/plugins.html @@ -9,15 +9,15 @@ - - + + -

        # 真寻Bot插件基本标准

        # 简介

        • 统一插件标准的好处:

          • 自动生成帮助
          • 自动生成配置项
          • 自动生成插件开关
          • 避免了修改插件单独配置文件的麻烦
          • 没有重写matcher,利于增删额外插件
        • 普通插件 应该包含:

          • __zx_plugin_name__:插件名
          • __plugin_usage__:用法
          • __plugin_des__:简介
          • __plugin_cmd__:命令
          • __plugin_settings__ :插件通用设置
        • 有主动发送消息的被动插件(不需要命令调用的插件,如定时任务,hook等) 应该包含:

          • __plugin_task__:为你提供一个或多个开关
        • 以下作为额外添加选项:

          • __plugin_type__:插件帮助分类(被动类插件不需要)
          • __plugin_version__:插件版本
          • __plugin_author__:插件作者
          • __plugin_cd_limit__:插件cd限制
          • __plugin_block_limit__:插件阻塞限制
          • __plugin_count_limit__: 插件每日调用次数限制
          • __plugin_resources__: 资源管理
          • __plugin_configs__: 插件配置

        已支持 PluginMetaData

        _\_plugin_meta_\_ = PluginMetadata(
        +   (opens new window)

        # 真寻Bot插件基本标准

        # 简介

        • 统一插件标准的好处:

          • 自动生成帮助
          • 自动生成配置项
          • 自动生成插件开关
          • 避免了修改插件单独配置文件的麻烦
          • 没有重写matcher,利于增删额外插件
        • 普通插件 应该包含:

          • __zx_plugin_name__:插件名
          • __plugin_usage__:用法
          • __plugin_des__:简介
          • __plugin_cmd__:命令
          • __plugin_settings__ :插件通用设置
        • 有主动发送消息的被动插件(不需要命令调用的插件,如定时任务,hook等) 应该包含:

          • __plugin_task__:为你提供一个或多个开关
        • 以下作为额外添加选项:

          • __plugin_type__:插件帮助分类(被动类插件不需要)
          • __plugin_version__:插件版本
          • __plugin_author__:插件作者
          • __plugin_cd_limit__:插件cd限制
          • __plugin_block_limit__:插件阻塞限制
          • __plugin_count_limit__: 插件每日调用次数限制
          • __plugin_resources__: 资源管理
          • __plugin_configs__: 插件配置

        已支持 PluginMetaData

        _\_plugin_meta_\_ = PluginMetadata(
             name="测试插件",                    # __zx_plugin_name__
             description="测试插件元信息",       # __plugin_des__
             usage="无法使用",                   # __plugin_usage__
        @@ -316,8 +316,8 @@
         图片数量: 5
         
         
        1
        2
        3
        4
        5
        6
        7
        8
        9
        10
        11
        12
        13
        14
        15
        16
        17
        18
        19
        20
        21
        22
        23
        24
        25
        26
        27
        28
        29
        30
        31
        32
        33
        34
        35
        36
        37
        38
        39
        40
        41
        42
        43
        44
        45
        46
        47
        48
        49
        50
        51
        52
        53
        54
        55
        56
        57
        58
        59
        60
        61
        62
        63
        64
        65
        66
        67
        68
        69
        70
        71
        72
        73
        74
        75
        76
        77
        78
        79
        80
        81
        82
        83
        84
        85
        86
        87
        88
        89
        90
        91
        92
        93
        94
        95
        96
        97
        98
        99
        100
        101
        102
        103
        104
        105
        106
        107
        108
        - + 商店操作 +

        + diff --git a/docs/development_doc/shop_handle.html b/docs/development_doc/shop_handle.html index 2a93d47fb..ff737dd5a 100644 --- a/docs/development_doc/shop_handle.html +++ b/docs/development_doc/shop_handle.html @@ -9,15 +9,15 @@ - - + + -

        # 添加商品和对应使用方法

        在不修改shop插件代码的情况,添加商品和对应生效方法

        # 导入方法1(不推荐)

        
        +   (opens new window)

        # 添加商品和对应使用方法

        在不修改shop插件代码的情况,添加商品和对应生效方法

        # 导入方法1(不推荐)

        
         # 该导入方式可能由于插件加载顺序先后问题导致出错!!
         
         # use 提供了一个方法
        @@ -404,10 +404,10 @@
                 ...
         
         
        1
        2
        3
        4
        5
        6
        7
        8
        9
        10
        11
        12
        13
        14
        15
        16
        17
        18
        19
        20
        21
        22
        23
        24
        25
        26
        27
        28
        29
        30
        31
        32
        33
        34
        35
        36
        37
        38
        39
        40
        41
        42
        43
        44
        45
        46
        47
        48
        49
        50
        51
        52
        53
        54
        55
        56
        57
        58
        59
        60
        61
        62
        63
        64
        65
        66
        67
        68
        69
        70
        71
        72
        73
        74
        75
        76
        77
        78
        79
        80
        81
        - + 插件标准 + + 被动控制 +

        + diff --git a/docs/development_doc/task_control.html b/docs/development_doc/task_control.html index c35931834..2b3c21743 100644 --- a/docs/development_doc/task_control.html +++ b/docs/development_doc/task_control.html @@ -9,15 +9,15 @@ - - + + -

        # 被动技能发送控制

        通过hook来阻断被动技能发送的信息

        # 被动技能

        一般为 主动发送消息 ,不受真寻插件控制的定时任务或on_message等

        # 使用hook被动控制

        • 在消息添加特定字符为来达到阻断消息发送的目的
        • 在权限为-1的群中不再需要手动发送“关闭全部被动”之类的命令
        • 不需要写if,完全由hook来管理

        # 定义被动技能

        使用标准定义一个被动,如果不明白如何定义请查看插件标准!

        __plugin_task__ = {"genshin_alc", "原神黄历提醒"}
        +   (opens new window)

        # 被动技能发送控制

        通过hook来阻断被动技能发送的信息

        # 被动技能

        一般为 主动发送消息 ,不受真寻插件控制的定时任务或on_message等

        # 使用hook被动控制

        • 在消息添加特定字符为来达到阻断消息发送的目的
        • 在权限为-1的群中不再需要手动发送“关闭全部被动”之类的命令
        • 不需要写if,完全由hook来管理

        # 定义被动技能

        使用标准定义一个被动,如果不明白如何定义请查看插件标准!

        __plugin_task__ = {"genshin_alc", "原神黄历提醒"}
         
        1

        特定字符串:

        • [_task|{plugin_name}]]

        # 栗子

        matcher.send("[[_task|genshin_alc]]" + "这是原神黄历提醒的被动提醒")
         
        1

        # 完整栗子

        @scheduler.scheduled_job(
             "cron",
        @@ -79,10 +79,10 @@
                         if await group_manager.check_group_task_status(gid, "genshin_alc"):
                             await bot.send_group_msg(group_id=int(gid), message="" + mes)
         
        1
        2
        3
        4
        5
        6
        7
        8
        9
        10
        11
        12
        13
        14
        15
        16
        17
        - + 商店操作 + + 便捷工具/方法 +

        + diff --git a/docs/development_doc/utils.html b/docs/development_doc/utils.html index e23a2c842..2212d3d76 100644 --- a/docs/development_doc/utils.html +++ b/docs/development_doc/utils.html @@ -9,15 +9,15 @@ - - + + -

        # 便捷工具/方法

        开发中一些便利的工具类或方法

        # 定时清理临时文件

        该方法可以将目标文件夹标记为临时文件文件夹,可以使用命令清理临时文件命令来清理
        + (opens new window)

        # 便捷工具/方法

        开发中一些便利的工具类或方法

        # 定时清理临时文件

        该方法可以将目标文件夹标记为临时文件文件夹,可以使用命令清理临时文件命令来清理
        同时会在每日凌晨1点进行自动清理
        并且不需要担心刚刚生成的文件还未使用就强行删除,只有大于5分钟的文件才会被清理掉

        # 使用 def add_temp_dir(self, path: Union[str, Path])
         # 示例
        @@ -93,8 +93,8 @@
         GDict['run_sql']: List[str]  # 启动时需要执行的sql语句
         
         
        1
        2
        3
        4
        - + 被动控制 +

        + diff --git a/docs/faq/index.html b/docs/faq/index.html index 894cf842c..5fff46038 100644 --- a/docs/faq/index.html +++ b/docs/faq/index.html @@ -9,15 +9,15 @@ - - + + -

        FAQ

        # 群权限是什么?

        一个群对应的权限,可以使用对应权限以下的功能

        # 个人权限是什么?

        类似于群管理员,即真寻Bot的管理命令权限

        # 群认证是什么?

        类似群白名单,主要防止被强制拉群,被强制拉进群聊后发出警告且自动退出

        # 如何添加新的插件?

        可以直接放入plugins文件夹,但我建议将插件放入新文件夹,在bot.py中load_plugins,以免自动更新覆盖

        # 救命!最爱的色图数量只在100不会增加

        看多少存多少,例如发送:色图原神 便会增加至多100张图片,色图越看越多,或者在配置中暂时关闭本地存储,全部采用网络请求

        # 为什么我网页截图的中文是字框框?

        即刻百度linux安装中文字体,安装后重启服务器

        # 为什么手动拉进群后真寻自动退群了?

        群认证问题,可以通过同意群聊请求 id来加群,或者先使用添加群认证 group_id后再手动拉群

        # 怎么屏蔽一个群,不让群使用所有功能?

        答:修改群权限为 -1

        # 救命!关了功能但是依旧可以使用

        答:超级用户不受权限控制

        - + (opens new window)

        FAQ

        # 群权限是什么?

        一个群对应的权限,可以使用对应权限以下的功能

        # 个人权限是什么?

        类似于群管理员,即真寻Bot的管理命令权限

        # 群认证是什么?

        类似群白名单,主要防止被强制拉群,被强制拉进群聊后发出警告且自动退出

        # 如何添加新的插件?

        可以直接放入plugins文件夹,但我建议将插件放入新文件夹,在bot.py中load_plugins,以免自动更新覆盖

        # 救命!最爱的色图数量只在100不会增加

        看多少存多少,例如发送:色图原神 便会增加至多100张图片,色图越看越多,或者在配置中暂时关闭本地存储,全部采用网络请求

        # 为什么我网页截图的中文是字框框?

        即刻百度linux安装中文字体,安装后重启服务器

        # 为什么手动拉进群后真寻自动退群了?

        群认证问题,可以通过同意群聊请求 id来加群,或者先使用添加群认证 group_id后再手动拉群

        # 怎么屏蔽一个群,不让群使用所有功能?

        答:修改群权限为 -1

        # 救命!关了功能但是依旧可以使用

        答:超级用户不受权限控制

        + diff --git a/docs/help_doc/basic_plugins/admin_plugins.html b/docs/help_doc/basic_plugins/admin_plugins.html index 334bd88ad..741413525 100644 --- a/docs/help_doc/basic_plugins/admin_plugins.html +++ b/docs/help_doc/basic_plugins/admin_plugins.html @@ -9,15 +9,15 @@ - - + + -

        管理员插件

        详细请查看真寻Bot的 “管理员帮助”

        # 管理员帮助

        • 模块: admin_help
        • 说明
          + (opens new window)

        管理员插件

        详细请查看真寻Bot的 “管理员帮助”

        # 管理员帮助

        • 模块: admin_help
        • 说明
          管理员帮助总览
        • 指令:
        指令 参数 权限 示例 说明
        管理员帮助 None 1 管理员帮助 None

        # 群功能开关管理

        • 模块: switch_rule
        • 说明
          可以对群功能的开关进行设置,包括被动技能
          此功能含有额外超级用户操作
        • 指令:
          • 开启/关闭: @@ -77,10 +77,10 @@ 更新群员信息,已经含有自动定时更新,一般来说不需要使用
          • 指令:
          指令 参数 权限 示例 说明
          更新群组成员列表 None 1 更新群组成员列表 None

          # 群管理员变动监测

          • 模块: admin_config
          • 说明
            自动设置和取消群管理员权限
          响应器 说明
          on_notice 监测群管理员变动,自动给予和收回权限

          # 自动更新信息与权限

          • 模块: timing_task

          • 说明
            成员信息权限的自动更新

          • 定时任务:

          名称 类型 时间 说明
          自动群员信息更新 cron 02:01 更新群员信息
          群权限快速更新 interval minutes=5 快速更新信息及权限
        - + 超级用户插件 + + 常规插件 +

        + diff --git a/docs/help_doc/basic_plugins/common_plugins.html b/docs/help_doc/basic_plugins/common_plugins.html index 7b4776e8d..0c2a4ffea 100644 --- a/docs/help_doc/basic_plugins/common_plugins.html +++ b/docs/help_doc/basic_plugins/common_plugins.html @@ -9,15 +9,15 @@ - - + + -

        普通插件

        # 帮助

        • 模块: help
        • 群权限 : None
        • 说明
          + (opens new window)

        普通插件

        # 帮助

        • 模块: help
        • 群权限 : None
        • 说明
          基本插件之一,图片形式的帮助插件
        • 指令:
          • 帮助
            • plugin_cmd: Optional[str]:可选,功能名称或别名
        指令 参数 权限 示例 说明
        帮助 plugin_cmd 0 帮助
        帮助色图
        帮助插件,可以通过添加plugin_cmd来获取指定插件的帮助

        # 签到

        • 模块: sign_in
        • 群权限 : 5
        • 说明
          @@ -72,10 +72,10 @@
          • 以后叫我
            • nickname: str:昵称
        指令 参数 权限 示例 说明
        以后叫我 nickname 0 以后叫我欧尼酱 养成第一步从互道昵称开始
        我是谁 None 0 我是谁 考一考真寻还记不记的你的昵称
        取消昵称 None 0 取消昵称 你伤害了真寻,逮捕!

        # 更新信息

        • 模块: update_info
        • 群权限 : 5
        • 说明
          发送更新完成后的更新日志信息图片
        • 指令:
        指令 参数 权限 示例 说明
        更新信息/更新日志 None 0 更新日志 None
        - + 管理员插件 + + 被动插件 +

        + diff --git a/docs/help_doc/basic_plugins/other_plugins.html b/docs/help_doc/basic_plugins/other_plugins.html index 55bc1e626..6a1e6bd58 100644 --- a/docs/help_doc/basic_plugins/other_plugins.html +++ b/docs/help_doc/basic_plugins/other_plugins.html @@ -9,15 +9,15 @@ - - + + -

        被动插件

        # 好友群聊请求处理

        • 模块: auto_invite
        • 说明
          + (opens new window)

        被动插件

        # 好友群聊请求处理

        • 模块: auto_invite
        • 说明
          好友请求,入群请求提醒,5分钟内不会提醒重复的请求(大概
        响应器 说明
        on_request 好友请求处理和收集
        on_request 群聊请求处理,超级用户邀请会自动添加群认证
        • 定时任务:
        名称 类型 时间 说明
        临时id清理 interval minutes=5 清空临时id数据

        # 群事件处理

        • 模块: group_handle
        • 说明
          主要为新成员与退出成员数据的增删(真寻Bot被踢出时提醒),以及退群提醒和进群欢迎
          进群欢迎提供 cd 限制,默认5
          @@ -68,10 +68,10 @@ 权限核心插件,所有权限检测必须的插件,非常重要
        模块 名称 说明
        auth_hook 插件权限检测 检测包括禁用,群权限,功能开关等权限检测
        ban_hook 黑名单检测 黑名单权限检测
        chkdsk_hook 恶意命令触发检测 检测是否连续重复快速调用同一种命令
        limit_hook 插件限制检测 检测插件的cdblockcount限制
        withdraw_message_hook 消息撤回机制 自动消息撤回机制
        other_hook 普通检测 相对不太重要的检测,缺失可能导致一些小问题

        # 初始化

        • 模块: hooks
        • 说明
          各种数据等初始化
        模块 名称 说明
        check_plugin_status 插件状态检测 检测插件是否正确加载
        init_group_manager 初始化群数据 目前仅仅包含旧数据 -> 新数据 转换
        init_none_plugin_count_manager 插件加载检测 容忍机制,当插件事件响应器连续5次加载失败,会以插件已删除处理
        init_plugins_config 初始化插件配置项 config.yamlplugins2config.yaml文件的生成
        init_plugins_data 插件功能管理 插件总开关,插件状态等
        init_plugins_limit 插件限制管理 插件限制管理器生成与存储
        init_plugins_resources 插件资源管理 插件资源文件的移动与删除
        init_plugins_settings 插件基础设置 非限制插件最基本的5项设置

        # 执行脚本

        • 模块: scripts
        • 说明:
          执行一些必要的脚本,一般是各种修改后对新旧格式数据的转换等
        - + 常规插件 + + 商店 +

        + diff --git a/docs/help_doc/basic_plugins/shop_plugins.html b/docs/help_doc/basic_plugins/shop_plugins.html index 6c947704f..0f3fab8ae 100644 --- a/docs/help_doc/basic_plugins/shop_plugins.html +++ b/docs/help_doc/basic_plugins/shop_plugins.html @@ -9,15 +9,15 @@ - - + + -

        商店

        # 商店

        • 模块: shop_handle
        • 群权限 : 5
        • 说明
          + (opens new window)

        商店

        # 商店

        • 模块: shop_handle
        • 群权限 : 5
        • 说明
          公开商店
          此功能包含超级用户指令
        • 指令:
        指令 参数 示例 说明
        商店 None 商店 显示商店图片
        • 超级用户指令:
          • 添加商品
            • name: str:商品名称
            • price: int:商品价格
            • des: str:商品简介
            • discount: float:商品折扣
            • limit_time: int:商品限时
          • 删除商品 @@ -76,10 +76,10 @@
            • num: int:可选,排行榜人数,默认10
        指令 参数 示例 说明
        我的金币 None 我的金币 查看个人金币
        金币排行 num 金币排行
        金币排行50
        群内个人金币排行

        # 我的道具

        • 模块: my_props
        • 群权限 : 5
        • 说明
          查看个人道具指令
        • 指令:
        指令 参数 示例 说明
        我的道具 None 我的道具 查看个人道具

        # 每日金币重置

        • 模块: reset_today_gold
        • 说明
          每日获得金币,失去金币重置
        • 定时任务:
        名称 类型 时间 说明
        每日金币重置 cron hour=0 minute=1 每日00:01重置今日获取金币,失去金币
        - + 被动插件 + + 插件索引 +

        + diff --git a/docs/help_doc/basic_plugins/superuser_plugins.html b/docs/help_doc/basic_plugins/superuser_plugins.html index 1b321e32e..334bd29c3 100644 --- a/docs/help_doc/basic_plugins/superuser_plugins.html +++ b/docs/help_doc/basic_plugins/superuser_plugins.html @@ -9,15 +9,15 @@ - - + + -

        超级用户插件

        详细请查看真寻Bot的 “超级用户帮助”

        # 超级用户帮助

        • 模块: super_help
        • 说明
          + (opens new window)

        超级用户插件

        详细请查看真寻Bot的 “超级用户帮助”

        # 超级用户帮助

        • 模块: super_help
        • 说明
          超级用户帮助总览
        • 指令:
        指令 参数 示例 说明
        超级用户帮助 None 超级用户帮助 None

        # 插件管理

        • 模块: switch_rule
        • 说明
          插件总开关的禁用与维护
          群聊中使用该功能与管理员插件无异
          @@ -90,10 +90,10 @@
          • qq: 用户qq
          • hour:可选,小时
          • minute:可选,分钟
        指令 参数 示例 说明
        b了 [at]/qq b了 @A 屏蔽A的所有消息
        ban qq hour minute ban 1234567 远程ban

        # 执行sql

        • 模块: exec_sql
        • 说明
          执行指定sql
        • 指令:
          • sql: str:sql语句
        指令 参数 示例 说明
        exec sql None None
        - + 配置文件 + + 管理员插件 +

        + diff --git a/docs/help_doc/configs.html b/docs/help_doc/configs.html index 64ee111f3..d90f03907 100644 --- a/docs/help_doc/configs.html +++ b/docs/help_doc/configs.html @@ -9,15 +9,15 @@ - - + + -

        配置文件

        首次运行会在 data/configs/configs/ 下生成配置文件
        + (opens new window)

        配置文件

        首次运行会在 data/configs/data/ 下生成配置文件
        该页面解释配置文件注解

        修改yaml需要注意:
        冒号后面要带 空格!冒号后面要带 空格!冒号后面要带 空格

        # configs目录

        # config.yaml

        插件配置项文件,摒弃了原所有插件配置都在config.py,对新增插件无法很好的进行统一配置管理
        现在将通过插件标准将插件配置项统一管理和修改
        所有插件的配置项全部在这里!
        该文件自动生成,仅仅可修改值,请不要手动添加配置项
        @@ -72,45 +72,11 @@ CHANGE_GROUP_SWITCH_LEVEL: 2 ADMIN_DEFAULT_AUTH: 5 ... -

        1
        2
        3
        4
        5
        6
        7
        8
        9

        # data/configs目录

        # plugins2settings.yaml

        该配置文件主要是插件的一些基本配置
        -主要包含了

        • 功能对应的群权限
        • cmd/命令别名
        • 功能分类
        • 进群时功能默认开关
        • 开关是否限制超级用户

        该文件自动生成,仅仅可修改值,请不要手动添加插件配置
        -示例:

          wbtop:
        -  # wbtop:微博热搜
        -    level: 5                    # 群权限
        -    default_status: true        # 进群时功能默认开关
        -    limit_superuser: false      # 开关是否限制超级用户 
        -    cmd:                        # cmd/命令别名
        -    - 微博热搜
        -    plugin_type:                # 功能分类,默认是normal
        -    - normal
        -  ...
        -
        1
        2
        3
        4
        5
        6
        7
        8
        9
        10

        # plugins2config.yaml

        该配置文件主要是用于生成configs/config.yaml文件
        该文件自动生成,不要修改和新增

        # plugins2cd.yaml

        该配置文件主要是保存插件cd限制
        该文件自动生成,可以修改和新增
        -示例:

          send_setu:                        # 模块名称
        -    cd: 5                           # cd 时长(秒)
        -    status: true                    # 此限制的开关状态
        -    check_type: all                 # 'private'/'group'/'all',限制私聊/群聊/全部
        -    limit_type: user                # 监听对象
        -    rst: 您冲的太快了,请稍后再冲.      # 回复内容
        -  ...
        -
        1
        2
        3
        4
        5
        6
        7

        # plugins2block.yaml

        该配置文件主要保存插件block限制(阻塞限制)
        该文件自动生成,可以修改和新增
        -示例:

          pix:                              # 模块名称
        -    status: true                    # 此限制的开关状态
        -    check_type: all                 # 'private'/'group'/'all',限制私聊/群聊/全部
        -    limit_type: user                # 监听对象
        -    rst: 您有PIX图片正在处理,请稍等... # 回复内容
        -
        1
        2
        3
        4
        5

        # plugins2count.yaml

        该配置文件主要保存插件每日调用次数限制
        -每日调用限制直到 00:00 刷新
        -用户每日调用次数保存在内存中,重启会导致用户每日调用次数限制次数清零
        该文件自动生成,可以修改和新增
        -示例:

          comments_163:             # 模块名称
        -    max_count: 3            # 每日调用上限
        -    status: true            # 此限制的开关状态
        -    limit_type: user        # 监听对象
        -    rst: 已经过了这个点了      # 回复内容
        -
        1
        2
        3
        4
        5
        - +
        1
        2
        3
        4
        5
        6
        7
        8
        9

        # plugins2config.yaml

        该配置文件主要是用于生成configs/config.yaml文件
        该文件自动生成,不要修改和新增

        + diff --git a/docs/help_doc/index.html b/docs/help_doc/index.html index bceeff795..ccb896a85 100644 --- a/docs/help_doc/index.html +++ b/docs/help_doc/index.html @@ -9,15 +9,15 @@ - - + + -

        前言

        使用文档仅仅包含此仓库的插件

        插件会更新迭代,文档可能更新不及时
        + (opens new window)

        前言

        使用文档仅仅包含此仓库的插件

        插件会更新迭代,文档可能更新不及时
        请以插件帮助为准

        超级用户不受权限系统控制!

        - + 配置文件 +

          + diff --git a/docs/help_doc/plugins_index.html b/docs/help_doc/plugins_index.html index 8b2e77da8..8cc102301 100644 --- a/docs/help_doc/plugins_index.html +++ b/docs/help_doc/plugins_index.html @@ -9,15 +9,15 @@ - - + + -

          插件索引列表

          # 超级用户插件

          名称 模块 作者 版本 群权限 路径
          管理员回复 dialogue HibiKier 0.1 None plugins/dialogue
          真寻更新管理 check_zhenxun_update HibiKier 0.1 None plugins/check_zhenxun_update
          自检 check HibiKier 0.1 None plugins/check
          下载gocq update_gocqhttp HibiKier 0.1 None plugins/update_gocqhttp
          敏感词检测 black_word HibiKier 0.1 None plugins/black_word

          # 管理员插件

          名称 模块 作者 版本 管理员权限 路径
          上传图片 upload_img HibiKier 0.1 6 plugins/image_management/upload_img
          删除图片 delete_img HibiKier 0.1 7 plugins/image_management/delete_img
          移动图片 move_img HibiKier 0.1 7 plugins/image_management/move_img
          刷屏禁言 mute HibiKier 0.1 5 plugins/mute
          撤回 withdraw HibiKier 0.1 0 plugins/withdraw
          群词条设置 word_bank HibiKier 0.1 0 plugins/word_bank

          # 常规插件

          名称 模块 作者 版本 群权限 路径
          Ai ai HibiKier 0.1 5 plugins/ai
          网易云热评 comments_163 HibiKier 0.1 5 plugins/alapi/comments_163
          b封面 cover HibiKier 0.1 5 plugins/alapi/cover
          古诗 poetry HibiKier 0.1 5 plugins/alapi/poetry
          微博热搜 wbtop HibiKier 0.1 5 plugins/alapi/wbtop
          B站订阅 bilibili_sub HibiKier 0.1 5 plugins/bilibili_sub
          磁力搜索 bt HibiKier 0.1 None(仅私聊) plugins/bt
          点歌 c_song HibiKier 0.1 5 plugins/c_song
          Cosplay coser HibiKier 0.1 5 plugins/coser
          鲁迅说 luxun HibiKier 0.1 5 plugins/luxun
          我有一个朋友 one_friend HibiKier 0.1 5 plugins/one_friend
          骂我 send_dinggong_voice HibiKier 0.1 5 plugins/send_dinggong_voice
          金币红包 gold_redbag HibiKier 0.1 5 plugins/gold_redbag
          假消息 fake_msg HibiKier 0.1 5 plugins/fake_msg
          鸡汤 jitang HibiKier 0.1 5 plugins/jitang
          能不能好好说话 nbnhhsh HibiKier 0.1 5 plugins/nbnhhsh
          p搜 pid_search HibiKier 0.1 5 plugins/pid_search
          一言二次元语录 quotations HibiKier 0.1 5 plugins/quotations
          roll roll HibiKier 0.1 5 plugins/roll
          黑白草图 white2black_img HibiKier 0.1 5 plugins/white2black_img
          epic epic AkashiCoin 0.1 5 plugins/epic
          群词条 word_bank HibiKier 0.1 None plugins/word_bank
          识图 search_image HibiKier 0.1 None plugins/search_image
          敏感词检测 black_word HibiKier 0.1 None plugins/black_word

          # 一些工具

          名称 模块 作者 版本 群权限 路径
          搜番 search_anime HibiKier 0.1 5 plugins/search_anime
          Buff皮肤查询 search_buff_skin_price HibiKier 0.1 5 plugins/search_buff_skin_price
          翻译 translate HibiKier 0.1 5 plugins/translate
          天气查询 weather HibiKier 0.1 5 plugins/weather
          识番 what_anime HibiKier 0.1 5 plugins/what_anime
          疫情查询 yiqing HibiKier & yzyyz1387 0.1 5 plugins/yiqing
          图片修改 update_pic HibiKier 0.1 5 plugins/update_pic

          # 原神相关

          名称 模块 作者 版本 群权限 路径
          原神老黄历 almanac HibiKier 0.1 5 plugins/genshin/almanac
          今日素材 material_remind HibiKier 0.1 5 plugins/genshin/material_remind
          原神资源查找 query_resource_points HibiKier 0.1 5 plugins/genshin/query_resource_points
          原神绑定 bind HibiKier 0.1 5 plugins/genshin/query_user/bind
          原神玩家查询 query_role HibiKier 0.1 5 plugins/genshin/query_user/query_role
          原神便笺查询 query_memo HibiKier 0.1 5 plugins/genshin/query_user/query_memo
          原神签到 genshin_sign HibiKier 0.1 5 plugins/genshin/query_user/genshin_sign
          原神树脂提醒 resin_remind HibiKier 0.1 5 plugins/genshin/query_user/resin_remind

          # 商店

          名称 模块 作者 版本 群权限 路径
          商店 shop_handle HibiKier 0.1 5 plugins/shop/shop_handle
          使用道具 shop_handle HibiKier 0.1 5 plugins/shop/shop_handle
          购买道具 buy HibiKier 0.1 5 plugins/shop/buy
          我的金币 gold HibiKier 0.1 5 plugins/shop/gold
          我的道具 my_props HibiKier 0.1 5 plugins/shop/my_props
          每日金币重置 reset_today_gold HibiKier 0.1 5 plugins/shop/reset_today_gold

          # 抽卡相关

          名称 模块 作者 版本 群权限 路径
          DrawCard draw_card HibiKier 0.1 5 plugins/draw_card
          Csgo开箱 open_cases HibiKier 0.1 5 plugins/open_cases

          # 来点好康的

          名称 模块 作者 版本 群权限 路径
          发送图片 send_img HibiKier 0.1 5 plugins/image_management/send_img
          Pix pix HibiKier 0.1 5 plugins/pix_gally/pix
          Pixiv排行榜/搜图 pixiv_rank_search HibiKier 0.1 9 plugins/pixiv_rank_search
          色图 send_setu HibiKier 0.1 9 plugins/send_setu_/send_setu

          # 群内小游戏

          名称 模块 作者 版本 群权限 路径
          俄罗斯轮盘 russian HibiKier 0.1 5 plugins/russian

          # 其他插件

          名称 模块 作者 版本 群权限 路径
          额外设置 aconfig HibiKier 0.1 None plugins/aconfig
          群聊最后聊天时间记录 group_last_chat HibiKier 0.1 None plugins/group_last_chat
          戳一戳 poke HibiKier 0.1 5 plugins/apoke
          功能调用统计 statistics_hook HibiKier 0.1 None plugins/statistics/statistics_hook
          功能调用统计可视化 statistics_handle HibiKier 0.1 5 plugins/statistics/statistics_handle
          复读 fudu HibiKier 0.1 None plugins/fudu
          查看群欢迎消息 group_welcome_msg HibiKier 0.1 None plugins/group_welcome_msg
          我的权限/信息 my_info HibiKier 0.1 5 plugins/my_info
          B站转发解析 parse_bilibili_json HibiKier 0.1 None plugins/parse_bilibili_json
          词云 word_clouds yajiwa 0.1 5 plugins/word_clouds
          - + (opens new window)

          插件索引列表

          # 超级用户插件

          名称 模块 作者 版本 群权限 路径
          管理员回复 dialogue HibiKier 0.1 None plugins/dialogue
          真寻更新管理 check_zhenxun_update HibiKier 0.1 None plugins/check_zhenxun_update
          自检 check HibiKier 0.1 None plugins/check
          下载gocq update_gocqhttp HibiKier 0.1 None plugins/update_gocqhttp
          敏感词检测 black_word HibiKier 0.1 None plugins/black_word

          # 管理员插件

          名称 模块 作者 版本 管理员权限 路径
          上传图片 upload_img HibiKier 0.1 6 plugins/image_management/upload_img
          删除图片 delete_img HibiKier 0.1 7 plugins/image_management/delete_img
          移动图片 move_img HibiKier 0.1 7 plugins/image_management/move_img
          刷屏禁言 mute HibiKier 0.1 5 plugins/mute
          撤回 withdraw HibiKier 0.1 0 plugins/withdraw
          群词条设置 word_bank HibiKier 0.1 0 plugins/word_bank

          # 常规插件

          名称 模块 作者 版本 群权限 路径
          Ai ai HibiKier 0.1 5 plugins/ai
          网易云热评 comments_163 HibiKier 0.1 5 plugins/alapi/comments_163
          b封面 cover HibiKier 0.1 5 plugins/alapi/cover
          古诗 poetry HibiKier 0.1 5 plugins/alapi/poetry
          微博热搜 wbtop HibiKier 0.1 5 plugins/alapi/wbtop
          B站订阅 bilibili_sub HibiKier 0.1 5 plugins/bilibili_sub
          磁力搜索 bt HibiKier 0.1 None(仅私聊) plugins/bt
          点歌 c_song HibiKier 0.1 5 plugins/c_song
          Cosplay coser HibiKier 0.1 5 plugins/coser
          鲁迅说 luxun HibiKier 0.1 5 plugins/luxun
          我有一个朋友 one_friend HibiKier 0.1 5 plugins/one_friend
          骂我 send_dinggong_voice HibiKier 0.1 5 plugins/send_dinggong_voice
          金币红包 gold_redbag HibiKier 0.1 5 plugins/gold_redbag
          假消息 fake_msg HibiKier 0.1 5 plugins/fake_msg
          鸡汤 jitang HibiKier 0.1 5 plugins/jitang
          能不能好好说话 nbnhhsh HibiKier 0.1 5 plugins/nbnhhsh
          p搜 pid_search HibiKier 0.1 5 plugins/pid_search
          一言二次元语录 quotations HibiKier 0.1 5 plugins/quotations
          roll roll HibiKier 0.1 5 plugins/roll
          黑白草图 white2black_img HibiKier 0.1 5 plugins/white2black_img
          epic epic AkashiCoin 0.1 5 plugins/epic
          群词条 word_bank HibiKier 0.1 None plugins/word_bank
          识图 search_image HibiKier 0.1 None plugins/search_image
          敏感词检测 black_word HibiKier 0.1 None plugins/black_word

          # 一些工具

          名称 模块 作者 版本 群权限 路径
          搜番 search_anime HibiKier 0.1 5 plugins/search_anime
          Buff皮肤查询 search_buff_skin_price HibiKier 0.1 5 plugins/search_buff_skin_price
          翻译 translate HibiKier 0.1 5 plugins/translate
          天气查询 weather HibiKier 0.1 5 plugins/weather
          识番 what_anime HibiKier 0.1 5 plugins/what_anime
          疫情查询 yiqing HibiKier & yzyyz1387 0.1 5 plugins/yiqing
          图片修改 update_pic HibiKier 0.1 5 plugins/update_pic

          # 原神相关

          名称 模块 作者 版本 群权限 路径
          原神老黄历 almanac HibiKier 0.1 5 plugins/genshin/almanac
          今日素材 material_remind HibiKier 0.1 5 plugins/genshin/material_remind
          原神资源查找 query_resource_points HibiKier 0.1 5 plugins/genshin/query_resource_points
          原神绑定 bind HibiKier 0.1 5 plugins/genshin/query_user/bind
          原神玩家查询 query_role HibiKier 0.1 5 plugins/genshin/query_user/query_role
          原神便笺查询 query_memo HibiKier 0.1 5 plugins/genshin/query_user/query_memo
          原神签到 genshin_sign HibiKier 0.1 5 plugins/genshin/query_user/genshin_sign
          原神树脂提醒 resin_remind HibiKier 0.1 5 plugins/genshin/query_user/resin_remind

          # 商店

          名称 模块 作者 版本 群权限 路径
          商店 shop_handle HibiKier 0.1 5 plugins/shop/shop_handle
          使用道具 shop_handle HibiKier 0.1 5 plugins/shop/shop_handle
          购买道具 buy HibiKier 0.1 5 plugins/shop/buy
          我的金币 gold HibiKier 0.1 5 plugins/shop/gold
          我的道具 my_props HibiKier 0.1 5 plugins/shop/my_props
          每日金币重置 reset_today_gold HibiKier 0.1 5 plugins/shop/reset_today_gold

          # 抽卡相关

          名称 模块 作者 版本 群权限 路径
          DrawCard draw_card HibiKier 0.1 5 plugins/draw_card
          Csgo开箱 open_cases HibiKier 0.1 5 plugins/open_cases

          # 来点好康的

          名称 模块 作者 版本 群权限 路径
          发送图片 send_img HibiKier 0.1 5 plugins/image_management/send_img
          Pix pix HibiKier 0.1 5 plugins/pix_gally/pix
          Pixiv排行榜/搜图 pixiv_rank_search HibiKier 0.1 9 plugins/pixiv_rank_search
          色图 send_setu HibiKier 0.1 9 plugins/send_setu_/send_setu

          # 群内小游戏

          名称 模块 作者 版本 群权限 路径
          俄罗斯轮盘 russian HibiKier 0.1 5 plugins/russian

          # 其他插件

          名称 模块 作者 版本 群权限 路径
          额外设置 aconfig HibiKier 0.1 None plugins/aconfig
          群聊最后聊天时间记录 group_last_chat HibiKier 0.1 None plugins/group_last_chat
          戳一戳 poke HibiKier 0.1 5 plugins/apoke
          功能调用统计 statistics_hook HibiKier 0.1 None plugins/statistics/statistics_hook
          功能调用统计可视化 statistics_handle HibiKier 0.1 5 plugins/statistics/statistics_handle
          复读 fudu HibiKier 0.1 None plugins/fudu
          查看群欢迎消息 group_welcome_msg HibiKier 0.1 None plugins/group_welcome_msg
          我的权限/信息 my_info HibiKier 0.1 5 plugins/my_info
          B站转发解析 parse_bilibili_json HibiKier 0.1 None plugins/parse_bilibili_json
          词云 word_clouds yajiwa 0.1 5 plugins/word_clouds
          + diff --git a/docs/help_doc/public_plugins/admin_plugins.html b/docs/help_doc/public_plugins/admin_plugins.html index a61656617..66e58b2c2 100644 --- a/docs/help_doc/public_plugins/admin_plugins.html +++ b/docs/help_doc/public_plugins/admin_plugins.html @@ -9,15 +9,15 @@ - - + + -

          管理员插件

          # 上传图片

          • 模块: image_management/upload_img
          • 说明
            + (opens new window)

          管理员插件

          # 上传图片

          • 模块: image_management/upload_img
          • 说明
            上传图片至指定图库
          • 指令:
            • gallery: str:图库名称
          指令 参数 权限 示例 说明
          上传图片 gallery [图片] 6 上传图片美图 [图片] [图片].. 上传图片至指定图库,可以多张图片一起发送
          连续上传图片 gallery 6 连续上传图片美图 ... 交互式上传图片,可以不断发送图片直到"stop"为止

          # 删除图片

          • 模块: image_management/delete_img
          • 说明
            删除指定图库的指定id图片
          • 指令: @@ -79,18 +79,18 @@ 相同问题不同回答会被随机回复
            问题目前支持的Cq:文本图片at
            回复目前支持的Cq:文本图片atface
            -超级用户拥有设置全局和私聊词条的功能 -此功能含有额外超级用户操作
          • 指令: +超级用户拥有设置全局和私聊词条的功能
            +正则问可以通过$1类推()捕获的组
            此功能含有额外超级用户操作
          • 指令:
            • 添加词条
              • regex:此为正则添加词条\s*?(模糊|正则|图片)?问\s*?(\S*\s?\S*)\s*?答\s?(\S*)
            • 删除词条
              • problem/id:问题或id
              • id:可选,回答id
            • 查看词条
              • problem/id:问题或id
          指令 参数 权限 示例 说明
          添加词条 问...答... 5 添加词条问在吗答在
          添加词条图片问答你好
          添加词条模糊问你好答不好
          添加词条正则问你好答好好
          回复可以是图片或文字
          删除词条 problem/id id 5 删除词条在吗
          删除词条id:0
          删除词条在吗 0
          删除某一个词条全部或单个回答
          查看词条 problem/id 5 查看词条
          查看词条在吗
          查看词条id:0
          查看当前群词条或某个问题的回复
          • 超级用户指令:
            • 添加词条
              • regex:此为正则(全局|私聊)?添加词条\s*?(模糊|正则|图片)?问\s*?(\S*\s?\S*)\s*?答\s?(\S*)
          指令 参数 权限 示例 说明
          添加词条 问...答... 5 全局添加词条问在吗答在
          私聊添加词条图片问答你好
          回复可以是图片或文字
          - + 超级用户插件 + + 常规插件 +

          + diff --git a/docs/help_doc/public_plugins/common_plugins/common_plugins.html b/docs/help_doc/public_plugins/common_plugins/common_plugins.html index 77908310a..ba4483add 100644 --- a/docs/help_doc/public_plugins/common_plugins/common_plugins.html +++ b/docs/help_doc/public_plugins/common_plugins/common_plugins.html @@ -9,15 +9,15 @@ - - + + -

          普通插件

          # 智障智能聊天

          • 模块: ai
          • 群权限 : 5
          • 说明
            + (opens new window)

          普通插件

          # 智障智能聊天

          • 模块: ai
          • 群权限 : 5
          • 说明
            文爱字典 + 图灵 + 青云客 组成的语句回复
            额外扩展了对真寻说重复的语模仿真寻说话提供特殊回复!
            该扩展具体修改在plugins/ai/utils.py文件
          • 指令:
          指令 参数 示例 说明
          None None 真寻我喜欢你 任意回复

          # ALAPI

          • 模块: alapi
          • 群权限 : 5
          • 说明
            @@ -119,10 +119,10 @@
            • img:图片
          指令 参数 示例 说明
          识图 img 识图[图片] 识图

          敏感词检测

          • 模块: black_word
          • 群权限 : 5
          • 说明
            一转攻势,重拳出击!辱骂真寻的人必须得到惩罚!
            此功能含有额外超级用户操作
          • 指令:
            • 惩罚机制
          指令 参数 示例 说明
          惩罚机制 None 惩罚机制 惩罚一览
          - + 管理员插件 + + 一些工具 +

          + diff --git a/docs/help_doc/public_plugins/draw_card_plugins/draw_card_plugins.html b/docs/help_doc/public_plugins/draw_card_plugins/draw_card_plugins.html index 4243a2b64..1a7c3a5cb 100644 --- a/docs/help_doc/public_plugins/draw_card_plugins/draw_card_plugins.html +++ b/docs/help_doc/public_plugins/draw_card_plugins/draw_card_plugins.html @@ -9,15 +9,15 @@ - - + + -

          抽卡相关

          # DrawCard

          • 模块: draw_card
          • 群权限 : 5
          • 说明
            + (opens new window)

          抽卡相关

          # DrawCard

          • 模块: draw_card
          • 群权限 : 5
          • 说明
            该插件在首次启动时会下载海量数据,视卡池开关状态而定
            8种手游抽卡,包括赛马娘,原神,明日方舟,坎公骑冠剑,公主连结(国/台),碧蓝航线,FGO,阴阳师
            此功能包含超级用户指令
          • 指令:
            cnt: int:抽卡次数,上限为一井
          指令 参数 一井 限定区分 示例 说明
          原神[cnt]抽 cnt 300 原神30抽 常驻池
          原神角色[cnt]抽 cnt 300 原神角色60抽 角色池
          原神武器[cnt]抽 cnt 300 原神武器90抽 武器池
          重置原神抽卡 None None None 重置原神抽卡 将三个池子的保底清零
          方舟[cnt]抽 cnt 300 方舟200抽 有up池时使用up池
          赛马娘[cnt]抽 cnt 200 赛马娘10抽 角色池,有up池时使用up池
          赛马娘卡[cnt]抽 cnt 200 赛马娘卡20抽 支援卡,有up池时使用up池
          坎公骑冠剑[cnt]抽 cnt 300 × 坎公骑冠剑20抽 角色池,有up池时使用up池
          坎公骑冠剑武器[cnt]抽 cnt 300 × 坎公骑冠剑武器40抽 武器池,有up池时使用up池
          pcr/公主连接[cnt]抽 cnt 300 区分部分 pcr100抽 公主焊接抽卡
          fgo[cnt]抽 cnt 300 区分部分 fgo10抽 fgo抽卡了
          阴阳师[cnt]抽 cnt 300 区分部分 阴阳师10抽 开始非
          • 定时任务:
          名称 类型 时间 说明
          更新卡池信息 cron hour=4 minute=1 每日04:01自动更新开启卡池的数据信息
          更新方舟卡池 cron hour=4 minute=1 每日04:01重载方舟卡池
          更新赛马娘卡池 cron hour=4 minute=1 每日04:01重载赛马娘卡池
          更新原神卡池 cron hour=18 minute=1 每日18:01重载原神卡池
          • 超级用户指令
          指令 参数 示例 说明
          更新方舟信息 None None 更新明日方舟数据信息
          重载方舟卡池 None None 更新明日方舟UP卡池
          更新原神信息 None None 更新原神数据信息
          重载原神卡池 None None 更新原神UP卡池
          更新赛马娘信息 None None 更新赛马娘数据信息
          重载赛马娘卡池 None None 更新赛马娘UP卡池
          更新坎公骑冠剑信息 None None 更新坎公骑冠剑数据信息
          更新碧蓝航线信息 None None 更新碧蓝航线数据信息
          更新fgo信息 None None 更新fgo数据信息
          更新阴阳师信息 None None 更新阴阳师数据信息

          # Csgo开箱

          • 模块: open_cases
          • 群权限 : 5
          • 说明
            csgo模拟开箱
            @@ -68,10 +68,10 @@
            • 开箱
              • case_name: str:可选,选择开启的武器箱,默认随机
            • [cnt]连开箱
              • cnt: int:开箱次数,最高30
              • case_name: str:可选,选择开启的武器箱,默认随机
          指令 参数 示例 说明
          开箱 case_name 开箱
          开箱狂牙大行动
          开启随机或指定武器箱
          [cnt]连开箱 cnt case_name 5连开箱
          10连开箱光谱
          多连开箱
          我的开箱 None 我的开箱 查看群内个人开箱情况
          我的金色 None 我的金色 查看群内个人开出的金色皮肤
          群开箱统计 None 群开箱统计 查看该群开箱统计
          • 超级用户指令:
            此功能需要Buff cookie,且有极大概率导致该cookie被封禁
            • case_name: str:可选,更新指定武器箱
          指令 参数 示例 说明
          更新开箱图片 case_name 更新开箱图片
          更新开箱图片命悬一线
          更新全部或指定的武器箱
          更新开箱价格 case_name 更新开箱价格
          更新开箱价格命悬一线
          更新全部或指定的武器箱
          - + 原神相关 + + 来点好康的 +

          + diff --git a/docs/help_doc/public_plugins/game_plugins/game_plugins.html b/docs/help_doc/public_plugins/game_plugins/game_plugins.html index 15d551938..47052016d 100644 --- a/docs/help_doc/public_plugins/game_plugins/game_plugins.html +++ b/docs/help_doc/public_plugins/game_plugins/game_plugins.html @@ -9,15 +9,15 @@ - - + + -

          群内小游戏

          # 俄罗斯轮盘

          • 模块: russian
          • 群权限 : 5
          • 说明
            + (opens new window)

          群内小游戏

          # 俄罗斯轮盘

          • 模块: russian
          • 群权限 : 5
          • 说明
            赌运气的小游戏,赌注主要为每日签到的金币
          • 指令:
          指令 参数 示例 说明
          装弹 num bet [at] 装弹3 100 填装指定子弹数量和指定赌注金额,或指定at对象
          接受对决 None 接受对决 接受当前公开发起的对决
          拒绝对决 None 拒绝对决 拒绝指定你的对决
          开枪/咔/嘭/嘣 None 开枪 中枪警告
          结算 None 结算 当一方30秒内未开枪,可以使用结算命令强行结束并胜利
          胜场排行 None None 各种花里胡哨排行榜
          败场排行 None None 各种花里胡哨排行榜
          欧洲人排行 None None 各种花里胡哨排行榜
          慈善家排行 None None 各种花里胡哨排行榜
          最高连胜排行 None None 各种花里胡哨排行榜
          最高连败排行 None None 各种花里胡哨排行榜
          - + 来点好康的 + + 其他插件 +

          + diff --git a/docs/help_doc/public_plugins/genshin_plugins/genshin_plugins.html b/docs/help_doc/public_plugins/genshin_plugins/genshin_plugins.html index ace32b8a9..fdac8155f 100644 --- a/docs/help_doc/public_plugins/genshin_plugins/genshin_plugins.html +++ b/docs/help_doc/public_plugins/genshin_plugins/genshin_plugins.html @@ -9,15 +9,15 @@ - - + + -

          原神相关

          # 原神老黄历

          • 模块: almanac
          • 群权限 : 5
          • 说明
            + (opens new window)

          原神相关

          # 原神老黄历

          • 模块: almanac
          • 群权限 : 5
          • 说明
            每日迷信老黄历,数据来源https://genshin.pub/
          • 指令:
          指令 参数 示例 说明
          原神黄历 None 原神黄历 迷信每一天
          • 定时任务:
          名称 类型 时间 说明
          原神黄历提醒 cron hour=10 minute=25 每日10:25发送原神黄历

          # 今日素材

          • 模块: material_remind
          • 群权限 : 5
          • 说明
            每日迷信老黄历,数据来源https://genshin.pub/
            此功能包含超级用户指令
          • 指令:
          指令 参数 示例 说明
          今日素材 None 今日素材 非常便捷好用的每日刷本素材
          • 定时任务:
          名称 类型 时间 说明
          原神今日素材定时更新 cron hour=4 minute=1 每日04:01自动更新原神今日素材图片
          • 超级用户指令:
          指令 参数 示例 说明
          更新原神今日素材 None 更新原神今日素材 手动更新素材图片

          # 原神资源查找

          • 模块: query_resource_points
          • 群权限 : 5
          • 说明
            快捷资源点位生成
            此功能包含超级用户指令
          • 指令: @@ -76,10 +76,10 @@ 原神每日签到 / 自动签到
            该模块需要绑定uid和cookie
          • 指令:
          指令 参数 示例 说明
          开原神自动签到 None 开原神自动签到 开启自动签到
          关原神自动签到 None 关原神自动签到 关闭自动签到
          原神我硬签 None 原神我硬签 手动签到

          # 原神树脂提醒

          • 模块: resin_remind
          • 群权限 : 5
          • 说明
            原神树脂提醒 该模块需要绑定uid和cookie
          • 指令:
          指令 参数 示例 说明
          开原神树脂提醒 None 开原神树脂提醒 开启树脂提醒
          关原神树脂提醒 None 关原神树脂提醒 关闭树脂提醒
          - + 一些工具 + + 抽卡相关 +

          + diff --git a/docs/help_doc/public_plugins/other_plugins/other_plugins.html b/docs/help_doc/public_plugins/other_plugins/other_plugins.html index 2449b93c5..d5b5c265a 100644 --- a/docs/help_doc/public_plugins/other_plugins/other_plugins.html +++ b/docs/help_doc/public_plugins/other_plugins/other_plugins.html @@ -9,15 +9,15 @@ - - + + -

          其他插件

          # 额外设置

          • 模块: aconfig
          • 说明
            + (opens new window)

          其他插件

          # 额外设置

          • 模块: aconfig
          • 说明
            一些自定义的额外设置
          • 指令:
          指令 参数 示例 说明
          打游戏 None 打游戏 打游戏图片,图片目录dayouxi,cd默认300秒
          自我介绍 None 自我介绍 真寻的自我介绍
          老婆 None 老婆 是我老婆

          # 群聊最后聊天时间记录

          • 模块: group_last_chat
          • 说明
            记录群聊活跃程序,当在36小时内没有任何发言时,关闭所有被动技能
          • 指令:
            None

          # 戳一戳

          • 模块: poke
          • 群权限: 5
          • 说明
            @@ -77,8 +77,8 @@ None

          # 关于

          • 模块: about
          • 群权限: 5
          • 说明
            关于真寻的关于
          • 指令:
          指令 参数 示例 说明
          关于 None 关于 None

          # 词云

          • 模块: word_clouds
          • 群权限: 5
          • 说明
            真寻时刻关注着你!获取自己或群聊的词云报告
          • 指令:
          指令 参数 示例 说明
          今日词云 None 今日词云 获取今天的词云
          昨日词云 None 昨日词云 获取昨天的词云
          本周词云 None 本周词云 获取本周词云
          本月词云 None 本月词云 获取本月词云
          年度词云 None 年度词云 获取年度词云
          历史词云 None 历史词云 2022-01-01
          历史词云 2022-01-01~2022-02-22
          历史词云 2022-02-22T11:11:11~2022-02-22T22:22:22
          获取某日的词云或指定时间段的词云
          我的今日词云 None 我的今日词云 获取我的今天的词云
          我的昨日词云 None 我的昨日词云 获取我的昨天的词云
          我的本周词云 None 我的本周词云 获取我的本周词云
          我的本月词云 None 我的本月词云 获取我的本月词云
          我的年度词云 None 我的年度词云 获取我的年度词云
          我的历史词云 None 我的历史词云 2022-01-01
          历史词云 2022-01-01~2022-02-22
          历史词云 2022-02-22T11:11:11~2022-02-22T22:22:22
          获取我的某日的词云或指定时间段的词云
          - + 群内小游戏 +

          + diff --git a/docs/help_doc/public_plugins/pic_plugins/pic_plugins.html b/docs/help_doc/public_plugins/pic_plugins/pic_plugins.html index 38bc03e3d..ba8d22a85 100644 --- a/docs/help_doc/public_plugins/pic_plugins/pic_plugins.html +++ b/docs/help_doc/public_plugins/pic_plugins/pic_plugins.html @@ -9,15 +9,15 @@ - - + + -

          来点好康的

          # 发送图片

          • 模块: image_management/send_img
          • 群权限 : 5
          • 说明
            + (opens new window)

          来点好康的

          # 发送图片

          • 模块: image_management/send_img
          • 群权限 : 5
          • 说明
            发送本地图库图片
            此功能包含管理员指令
          • 指令:
            • [图库名称]:公开图库列表
              • id: int:可选,指定id
          指令 参数 示例 说明
          [图库名称] id 萝莉
          萝莉 66
          发送随机图或指定id图
          爬/爪巴 None 我直接丢人爬了
          查看公开图库 None 查看公开图库 查看配置中的所有公开图库

          # PIX

          • 模块: pix
          • 群权限 : 5
          • 说明
            @@ -88,10 +88,10 @@
            • id: int:可选,指定本地id
            • tag: str:可选,一个或多个指定tag色图
          • [cnt]张[tag]色图
            • cnt: int:指定数量
            • tag: str:可选,随机或指定一个或多个tag色图
          • 色图r
            • tag: str:可选,随机或指定一个或多个tag的r18色图
          指令 参数 示例 说明
          色图 id 色图
          色图23
          随机色图或指定id的本地色图
          色图 *tag 色图 萝莉
          色图萝莉
          少女 白丝
          [cnt]张[tag]色图 cnt *tag 4张萝莉色图 色图连发,tag与上相同
          色图r *tag 色图r 萝莉 10连发r18指定tag或随机色图
          • 超级用户指令:
          指令 参数 示例 说明
          更新色图 None 更新色图 更新下载保存在数据库中的所有色图
          - + 抽卡相关 + + 群内小游戏 +

          + diff --git a/docs/help_doc/public_plugins/superuser_plugins.html b/docs/help_doc/public_plugins/superuser_plugins.html index 0d8d84aeb..2adeeee4a 100644 --- a/docs/help_doc/public_plugins/superuser_plugins.html +++ b/docs/help_doc/public_plugins/superuser_plugins.html @@ -9,15 +9,15 @@ - - + + -

          超级用户插件

          # 管理员回复

          • 模块: dialogue
          • 说明
            + (opens new window)

          超级用户插件

          # 管理员回复

          • 模块: dialogue
          • 说明
            超级用户对用户的联系
          • 指令:
            • /t [qq] [group_id] [文本]: 在group回复指定用户
            • /t [qq] [文本]: 私聊用户
            • /t -1 [group_id] [文本]: 在group内发送消息
            • /t [id] [文本]: 回复指定id的对话,id在 /t 中获取
          指令 参数 示例 说明
          /t qq group_id msg /t 73747222 32848432 你好啊
          /t 73747222 你好不好
          /t -1 32848432 我不太好
          /t 0 我收到你的话了
          None

          # 真寻更新管理

          • 模块: check_zhenxun_update
          • 说明
            真寻自动更新检测
            重启功能需要先自行修改根目录restart.sh文件
          • 指令:
          指令 参数 示例 说明
          检查更新真寻 None 检查更新真寻 检查更新
          重启 None 重新 重新启动真寻
          • 定时任务:
          名称 类型 时间 说明
          自动检查更新 cron hour=12 每日12:00检查真寻是否更新,需要配置项AUTO_UPDATE_ZHENXUN=True

          # 自检

          • 模块: check
          • 说明
            @@ -67,10 +67,10 @@ 检测下载gocq并上传至指定群聊
          • 指令:
          指令 参数 示例 说明
          更新gocq None 更新gocq None
          • 定时任务:
          名称 类型 时间 说明
          自动检测下载gocq cron hour=3 minute=1 每日03:01检测下载最新版gocq并上传指定群聊

          # 敏感词检测

          • 模块: black_word
          • 说明
            一转攻势,重拳出击!辱骂真寻的人必须得到惩罚!
            此功能含有额外超级用户操作
          • 指令:
            • 设置惩罚
            • qq:指定qq
            • id:记录对应id,该id从记录名单中获取
            • punish_level:惩罚等级
          指令 参数 示例 说明
          ^记录名单(u:\d*)?(g:\d*)?(d[=><]\d*-\d{1,2}-\d{1,2})?$ None 记录名单
          记录名单u:12345678
          查看记录名单或搜索
          设置惩罚 qq id punish_level 设置惩罚 12345678 1 4 手动设置惩罚
          - + 插件索引 + + 管理员插件 +

          + diff --git a/docs/help_doc/public_plugins/utils_plugins/utils_plugins.html b/docs/help_doc/public_plugins/utils_plugins/utils_plugins.html index a23d8f430..38f309599 100644 --- a/docs/help_doc/public_plugins/utils_plugins/utils_plugins.html +++ b/docs/help_doc/public_plugins/utils_plugins/utils_plugins.html @@ -9,15 +9,15 @@ - - + + -

          一些工具

          # 搜番

          • 模块: search_anime
          • 群权限 : 5
          • 说明
            + (opens new window)

          一些工具

          # 搜番

          • 模块: search_anime
          • 群权限 : 5
          • 说明
            搜索指定番剧种子链接
          • 指令:
            • 搜番
              • keyword: str:关键词
          指令 参数 示例 说明
          搜番 keyword 搜番刀剑神域 搜索指定番剧

          # Buff皮肤查询

          • 模块: search_buff_skin_price
          • 群权限 : 5
          • 说明
            @@ -77,10 +77,10 @@
            • width: int:宽度
            • height: int:高度
          • 等比压缩
            • ratio: float:比例
          • 旋转图片
            • angle: int:旋转角度
          指令 方法 参数 示例 说明
          改图/修改图片 修改尺寸/1 width height [图片] 改图修改尺寸 100 200 [图片] 将图片尺寸改为100*200
          改图/修改图片 等比压缩/2 ratio [图片] 改图等比压缩 0.8 [图片] 将图片压缩大小
          改图/修改图片 旋转图片/3 angle [图片] 改图旋转图片 30 [图片] 将图片旋转指定角度
          改图/修改图片 水平翻转/4 [图片] 改图水平翻转 [图片] 将图片水平翻转
          改图/修改图片 铅笔滤镜/5 [图片] 改图铅笔滤镜 [图片] 添加铅笔滤镜
          改图/修改图片 模糊效果/6 [图片] 改图模糊效果 [图片] 添加模糊效果
          改图/修改图片 锐化效果/7 [图片] 改图锐化效果 [图片] 添加锐化效果
          改图/修改图片 高斯模糊/8 [图片] 改图高斯模糊 [图片] 添加高斯模糊
          改图/修改图片 边缘检测/9 [图片] 改图边缘检测 [图片] 添加边缘检测
          改图/修改图片 底色替换/10 [红/蓝] [红/蓝/白/绿/黄] [图片] 改图底色替换 红 蓝 [图片] 将红/蓝纯底色替换其他五种颜色
          - + 常规插件 + + 原神相关 +

          + diff --git a/docs/index.html b/docs/index.html deleted file mode 100644 index cf2928df3..000000000 --- a/docs/index.html +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - 绪山真寻Bot - - - - - - - - - - - - - diff --git a/docs/installation_doc/index.html b/docs/installation_doc/index.html index 6a1627090..d4375df38 100644 --- a/docs/installation_doc/index.html +++ b/docs/installation_doc/index.html @@ -9,15 +9,15 @@ - - + + -

          准备工作

          # 前言

          真寻bot非常可爱,嗯,这是我要提醒你的

          自建可能会遇到各种花里胡哨的麻烦,如果没有一些基础的话,前面可是困难重重啊少年

          # 安装真寻bot,你需要具备

          • 一定的基础,包括但不限于稍微熟悉linux或windows cmd命令行
          • 一些百度/Google的能力
          • 一台服务器
          - + (opens new window)

          准备工作

          # 前言

          真寻bot非常可爱,嗯,这是我要提醒你的

          自建可能会遇到各种花里胡哨的麻烦,如果没有一些基础的话,前面可是困难重重啊少年

          # 安装真寻bot,你需要具备

          • 一定的基础,包括但不限于稍微熟悉linux或windows cmd命令行
          • 一些百度/Google的能力
          • 一台服务器
            + diff --git a/docs/installation_doc/install_gocq.html b/docs/installation_doc/install_gocq.html deleted file mode 100644 index cacb17146..000000000 --- a/docs/installation_doc/install_gocq.html +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - 安装go-cqhttp | 绪山真寻Bot - - - - - - - - - -

            安装go-cqhttp

            go-cqhttp 是什么?
            -使用OneBot协议实现的无头QQ,接受消息发往后端处理

            # 如何安装?

            # 1.下载

            Mrs4s / go-cqhttp (opens new window)Release (opens new window)中下载与你系统对应的最新版本

            如果你是windows: 一般是下载 go-cqhttp_windows_amd64.zip

            # 2.配置

            1.解压后会得到go-cqhttp,首次运行会让你选择通信方式,选择 3 (反向 Websocket 通信),会生成一个配置文件config.yml _

            1. 打开config.yml文件,将uin修改为bot账号
              _
            2. config.yml文件中将
              universal: ws://your_websocket_universal.server
              -修改为
              universal: ws://127.0.0.1:8080/onebot/v11/ws/

            _

            # 3.启动

            重启go-cqhttp后选择扫码登录
            -成功后会提示警告,别担心,这些提示将在完成真寻启动时消失 -_

            ✨✨ 到这一步已经成功完成gocq方面的配置了,可以进行下一步! ✨✨

            因本项目需要发送语音文件等,需要依赖ffmpeg,点击这里 (opens new window)查看go-cqhttp的ffmpeg安装文档

            没有 ws-reverse 怎么办?
            -第二步的配置文件选错了,删除config.yml重新生成即可

            - - - diff --git a/docs/installation_doc/install_webui.html b/docs/installation_doc/install_webui.html deleted file mode 100644 index 4e71a2416..000000000 --- a/docs/installation_doc/install_webui.html +++ /dev/null @@ -1,79 +0,0 @@ - - - - - - 安装使用WebUi | 绪山真寻Bot - - - - - - - - - -

            安装使用WebUi

            # 这一步并不是必须的!只是为了可视化方便管理,并且webUi也还未完善

            因为我是直接使用vue run的,所以该教程也以vue run为主,其他方式如nginx可略过

            别忘了打开服务器端口,默认是8081,修改端口在vue.config.js文件中!

            # 开始安装

            # 安装nodejs

            略(百度很多教程,我的环境是Nodejs14

            # 安装yarn

            npm install -g yarn
            -
            1

            # 安装vue-cli

            yarn global add @vue/cli
            -
            1

            # 获取项目

            点击 WebUi (opens new window) 下载项目压缩包
            -or

            git clone https://github.com/HibiKier/zhenxun_bot_webui.git
            -
            1

            # 安装依赖

            yarn
            -
            1

            # 开始运行

            yarn run serve
            -
            1

            # 配置账号密码

            configs/config.yaml文件中配置项设置账号密码

            web-ui:
            -  # web-ui
            -  # USERNAME: 前端管理用户名
            -  # PASSWORD: 前端管理密码
            -  USERNAME: admin
            -  PASSWORD: 
            -
            1
            2
            3
            4
            5
            6

            必须要设置账号密码,否则无法登陆!

            - - - diff --git a/docs/installation_doc/install_zhenxun.html b/docs/installation_doc/install_zhenxun.html deleted file mode 100644 index 8c26032f8..000000000 --- a/docs/installation_doc/install_zhenxun.html +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - 安装真寻Bot | 绪山真寻Bot - - - - - - - - - -

            安装真寻Bot

            版本警告

            真寻Bot需要python环境为 python3.8 | python3.9 | python3.10

            # 开始部署

            1. HibiKier / zhenxun_bot (opens new window) clone代码 或 直接下载 压缩包 (opens new window) 解压
            2. 安装依赖包
            pip3 install poetry     # 使用poetry管理python包
            -poetry install          # 安装依赖
            -
            -poetry shell            # 进入虚拟环境
            -
            -## playwright 需要安装额外的系统环境,在命令行输入以下
            -playwright install chromium
            -
            -# 该命令在win下无需输入
            -playwright install-deps chromium
            -
            1
            2
            3
            4
            5
            6
            7
            8
            9
            10
            1. 设置超级用户,打开 .env.dev 文件,在SUPERUSERS中添加自己的QQ
            SUPERUSERS=["123456789"]
            -
            1
            1. 打开 configs/config.py 填写数据库数据
            # 数据库(必要)
            -# 如果填写了bind就不需要再填写后面的字段了#)
            -# 示例:"bind": "postgres://user:password@127.0.0.1:5432/database"
            -bind: str = ""  # 数据库连接链接
            -sql_name: str = "postgres"
            -user: str = ""  # 数据用户名
            -password: str = ""  # 数据库密码
            -address: str = ""  # 数据库地址
            -port: str = ""  # 数据库端口
            -database: str = ""  # 数据库名称
            -
            -############################################################
            -### 如果你是与教程一模一样的命令代码,且数据库也在该服务器上 ###
            -############################################################
            -# 可以直接复制以下配置
            -bind: str = ""  # 数据库连接链接
            -sql_name: str = "postgres"
            -user: str = "postgres"
            -password: str = "zhenxun_bot"
            -address: str = "127.0.0.1"
            -port: str = "5432"
            -database: str = "zhenxun_bot"
            -
            1
            2
            3
            4
            5
            6
            7
            8
            9
            10
            11
            12
            13
            14
            15
            16
            17
            18
            19
            20
            21
            22
            1. 启动真寻,会在 configsdata/configs 目录下生成各种配置文件
            python3 bot.py
            -# or
            -python bot.py
            -
            1
            2
            3
            1. 打开 configs/config.yaml,里面包含的是各种插件的配置项,填写完毕后重启真寻Bot

            提示

            首次启动会下载资源,时间较久,请耐心等待

            ✨✨ 同时打开gocq和zhenxun,已经可以正常运行了呀 ✨✨

            - - - diff --git a/docs/installation_doc/psql_ubuntu.html b/docs/installation_doc/psql_ubuntu.html index dee176781..c8bb2a93b 100644 --- a/docs/installation_doc/psql_ubuntu.html +++ b/docs/installation_doc/psql_ubuntu.html @@ -9,15 +9,15 @@ - - + + -

            安装Postgresql数据库(Ubuntu)

            一个关系型数据库,占用比mysql小小小小多了...
            + (opens new window)

            安装Postgresql数据库(Ubuntu)

            一个关系型数据库,占用比mysql小小小小多了...
            目前来看postgresql版本似乎对真寻没有太大影响(指9.0以上),不会影响正常使用

            # 开始安装

            # 1.安装

            1.直接命令行输入

            sudo apt update
             sudo apt install postgresql postgresql-contrib
             
            1
            2
            1. 创建数据库和用户(依次输入)
            sudo su - postgres  # 切换用户
            @@ -78,10 +78,10 @@
                 host    all             all             0.0.0.0/0               md5
             
            1
            2
          • 重启数据库

          • sudo systemctl restart postgresql
             
            1
            - + Windows + + 安装绪山真寻Bot +

              + diff --git a/docs/installation_doc/psql_win.html b/docs/installation_doc/psql_win.html index 27c4f38cf..b580a34cf 100644 --- a/docs/installation_doc/psql_win.html +++ b/docs/installation_doc/psql_win.html @@ -9,15 +9,15 @@ - - + + -

              安装postgresql (Windows)

              一个关系型数据库,占用比mysql小小小小多了...
              + (opens new window)

              安装postgresql (Windows)

              一个关系型数据库,占用比mysql小小小小多了...
              目前来看postgresql版本似乎对真寻没有太大影响(指9.0以上),不会影响正常使用

              # 开始安装

              # 1.下载

              点击这里 (opens new window)将下载Postgresql-15.1-1版本安装包

              # 2.安装

              1.双击安装程序,点击Next
              _

              2.选择安装路径(没有特殊情况一般默认即可),继续Next

              安装路径请不要出现中文!

              _

              3.去掉Stack Builder即可,不影响使用,Next
              _

              4.数据存储路径(没有特殊情况一般默认即可),Next
              _

              5.输入postgres用户的密码,例如: zhenxun_bot
              _

              6.默认端口,Next
              _

              7.接下来一路Next直到进入安装
              _

              8.✨✨ 安装完成 ✨✨
              _

              # 3.配置连接

              1.找到安装的pgAdmin,直接启动!
              _

              是英文界面?别急,已百度 (opens new window)

              2.新建连接

              左侧栏右键点击Servers后选择Register,在点击服务器
              _

              3.随便(bushi 起一个响亮的名字
              _

              4.填写配置
              填写主机名称/地址,如果是连接远程服务器的话对应的服务器IP,本地的话可以直接填写127.0.0.1
              端口就是安装时配置的端口,没有修改的话默认5432
              密码就是安装时配置的密码
              _

              5.✨✨ 点击保存 ✨✨
              左侧栏会出现一头🐘
              _

              # 4.新建数据库

              1.展开🐘🐘
              右击数据库,选择创建后点击数据库
              _

              2.✨✨ 直接创建! ✨✨
              -设置数据库名称后点击保存 _

              ✨✨ 嗨呀,终于完成Postgresql的数据库配置了,好累呀,火速下一步,安装真寻捏 ✨✨

              - +设置数据库名称后点击保存 _

              ✨✨ 嗨呀,终于完成Postgresql的数据库配置了,好累呀,火速下一步,安装真寻捏 ✨✨

              + diff --git a/docs/installation_doc/qq.html b/docs/installation_doc/qq.html new file mode 100644 index 000000000..2ef629fbf --- /dev/null +++ b/docs/installation_doc/qq.html @@ -0,0 +1,69 @@ + + + + + + 安装无头QQ | 绪山真寻Bot + + + + + + + + + + + + + diff --git a/docs/installation_doc/screen.html b/docs/installation_doc/screen.html new file mode 100644 index 000000000..e1270a071 --- /dev/null +++ b/docs/installation_doc/screen.html @@ -0,0 +1,75 @@ + + + + + + Linux下持久化运行 | 绪山真寻Bot + + + + + + + + + +

              Linux下持久化运行

              # 恭喜!经历困难之后到了最后一步,那就是持久化运行 0v<

              本节教程为Linux持久化运行教程,Windows可直接跳过

              教程中使用的是较为简单的Screen,如果你有其他工具的使用经验,可以跳过本节。

              # 即刻开始(以Ubuntu为例)

              1.安装screen

              sudo apt install screen
              +
              1

              2.创建会话

              screen -S zhenxun
              +
              1

              3.进入真寻目录

              cd .....
              +
              1

              4.启动!

              poetry shell    # 进入虚拟环境
              +python3 bot.py
              +
              1
              2

              # 如果退出或关闭后

              使用以下命令恢复会话

              screen -r zhenxun
              +
              1
                + + + diff --git a/docs/installation_doc/start_.html b/docs/installation_doc/start_.html deleted file mode 100644 index e75a3dbb1..000000000 --- a/docs/installation_doc/start_.html +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - Linux下持久化运行 | 绪山真寻Bot - - - - - - - - - -

                Linux下持久化运行

                # 恭喜!经历困难之后到了最后一步,那就是持久化运行 0v<

                本节教程为Linux持久化运行教程,Windows可直接跳过

                教程中使用的是较为简单的Screen,如果你有其他工具的使用经验,可以跳过本节。

                # 即刻开始(以Ubuntu为例)

                1.安装screen

                sudo apt install screen
                -
                1

                2.创建会话

                screen -S zhenxun
                -
                1

                3.进入真寻目录

                cd .....
                -
                1

                4.启动!

                poetry shell    # 进入虚拟环境
                -python3 bot.py
                -
                1
                2

                # 如果退出或关闭后

                使用以下命令恢复会话

                screen -r zhenxun
                -
                1
                - - - diff --git a/docs/installation_doc/webui.html b/docs/installation_doc/webui.html new file mode 100644 index 000000000..7cdacbdd1 --- /dev/null +++ b/docs/installation_doc/webui.html @@ -0,0 +1,146 @@ + + + + + + 就算是笨蛋也能学会的手把手教安装webui | 绪山真寻Bot + + + + + + + + + +

                就算是笨蛋也能学会的手把手教安装webui

                # 这一步并不是必须的!只是为了可视化方便管理

                别忘了打开服务器端口,默认是8081,修改端口在vue.config.js文件中!

                # 开始安装

                # 安装ngnix

                sudo apt update
                +sudo apt install nginx
                +
                1
                2

                # 下载文件

                打开 Releases (opens new window) 下载最新版本文件
                +将文件夹解压后放入 /var/www/html/usr/share/nginx

                # 修改配置文件

                /etc/nginx/ 目录下新建 hosts 目录
                +在/etc/nginx/ 目录下打开nginx.conf文件

                vim nginx.conf
                +
                +# 在http中最后添加 include /etc/nginx/hosts/*.host;
                +
                +http {
                +  ...
                +
                +  include /etc/nginx/hosts/*.host;
                +}
                +
                1
                2
                3
                4
                5
                6
                7
                8
                9

                打开/etc/nginx/hosts 目录下新建 server0.host文件

                upstream backend {
                +    server localhost:11451;     # 真寻的端口号
                +    keepalive 64;
                +}
                +
                +map $http_upgrade $connection_upgrade {
                +    default upgrade;
                +    '' close;
                +}
                +
                +server {
                +        listen       9999;             #自己设置的webui端口号
                +        server_name  localhost;        #自己设置ip地址
                +        #access_log  logs/host.access.log  main;
                +        location / {
                +            root   /usr/share/nginx/dist;        #这里写vue项目打包好的dist文件的地址,真寻前端文件
                +            index  index.html;               #这里是vue项目的首页,需要保证dist中有index.html文件
                +            try_files $uri $uri/ =404;
                +             error_page 405 =200  $request_uri;
                +        }
                +        location @router {
                +			rewrite ^.*$ /index.html last;            #解决重新刷新页面,页面空白的问题
                +		}
                +
                +        add_header backendCode $upstream_status;
                +        add_header BackendIP "$upstream_addr;" always;
                +        location /zhenxun/api/ {
                +            proxy_pass http://localhost:11451/zhenxun/api/;     #自己设置的api地址
                +        }
                +        location /zhenxun/socket/ {
                +            proxy_pass http://backend;  
                +        # 请求服务器升级协议为 WebSocket
                +        proxy_http_version 1.1;
                +        proxy_set_header Upgrade $http_upgrade;
                +        proxy_set_header Connection $connection_upgrade;
                +        
                +        # 设置读写超时时间,默认 60s 无数据连接将会断开
                +        proxy_read_timeout 300s;
                +        proxy_send_timeout 300s;
                +
                +        # Host 主机名
                +        proxy_set_header Host $host;
                +        # X-Real-IP 将真实访问者的远端 IP 地址转发给代理服务器
                +        proxy_set_header X-Real-IP $remote_addr;
                +        # X-Forwarded-For 标记客户端通过代理连接到服务器的源 IP
                +        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                +        # X-Forwarded-Host 标记客户端通过代理连接到服务器的原始主机
                +        proxy_set_header X-Forwarded-Host $host:$server_port;
                +        # X-Forwarded-Server 代理服务器的主机名
                +        proxy_set_header X-Forwarded-Server $host;
                +        # X-Forwarded-Port 定义客户端请求的原始端口
                +        proxy_set_header X-Forwarded-Port $server_port;
                +        # X-Forwarded-Proto 标记客户端通过代理连接到服务器的协议
                +        proxy_set_header X-Forwarded-Proto $scheme;
                +        # proxy_set_header X-Forwarded-Proto $proxy_x_forwarded_proto;
                +
                +        }
                +        error_page   500 502 503 504  /50x.html;#错误页面
                +}
                +
                1
                2
                3
                4
                5
                6
                7
                8
                9
                10
                11
                12
                13
                14
                15
                16
                17
                18
                19
                20
                21
                22
                23
                24
                25
                26
                27
                28
                29
                30
                31
                32
                33
                34
                35
                36
                37
                38
                39
                40
                41
                42
                43
                44
                45
                46
                47
                48
                49
                50
                51
                52
                53
                54
                55
                56
                57
                58
                59

                # 重启nginx

                sudo systemctl restart nginx
                +
                1

                # 配置账号密码

                data/config.yaml文件中配置项设置账号密码

                web-ui:
                +  # web-ui
                +  # USERNAME: 前端管理用户名
                +  # PASSWORD: 前端管理密码
                +  USERNAME: admin
                +  PASSWORD: 
                +
                1
                2
                3
                4
                5
                6

                必须要设置账号密码,否则无法登陆!

                  + + + diff --git a/docs/installation_doc/zhenxun.html b/docs/installation_doc/zhenxun.html new file mode 100644 index 000000000..fc910c377 --- /dev/null +++ b/docs/installation_doc/zhenxun.html @@ -0,0 +1,121 @@ + + + + + + 安装真寻Bot | 绪山真寻Bot + + + + + + + + + +

                  安装真寻Bot

                  版本警告

                  真寻Bot需要python环境为 python3.9+

                  # 开始部署

                  1. HibiKier / zhenxun_bot (opens new window) clone代码 或 直接下载 压缩包 (opens new window) 解压
                  2. 安装依赖包
                  pip3 install poetry     # 使用poetry管理python包
                  +poetry install          # 安装依赖
                  +
                  +poetry shell            # 进入虚拟环境
                  +
                  +## playwright 需要安装额外的系统环境,在命令行输入以下
                  +playwright install chromium
                  +
                  +# 在Linux环境还需要安装额外依赖
                  +playwright install-deps chromium
                  +
                  1
                  2
                  3
                  4
                  5
                  6
                  7
                  8
                  9
                  10
                  1. 设置超级用户,打开 .env.dev 文件,在SUPERUSERSqq中添加自己的QQ
                  SUPERUSERS=["123456789"]
                  +
                  +PLATFORM_SUPERUSERS = '
                  +  {
                  +    "qq": ["123456789"],
                  +    "dodo": [],
                  +    "kaiheila": [],
                  +    "discord": []
                  +  }
                  +'
                  +
                  1
                  2
                  3
                  4
                  5
                  6
                  7
                  8
                  9
                  10
                  1. 首次运行后会在data目录下生成 database.json(数据库配置) 和 config.yaml(插件配置) 文件
                  # 数据库(必要)
                  +# 如果填写了bind就不需要再填写后面的字段了#)
                  +# 示例:"bind": "postgres://user:password@127.0.0.1:5432/database"
                  +{
                  +    "bind": "",
                  +    "sql_name": "postgres",
                  +    "user": "",         # 用户名
                  +    "password": "",     # 密码
                  +    "address": "",      # 地址
                  +    "port": "",         # 端口
                  +    "database": ""      # 数据库名
                  +}
                  +
                  +############################################################
                  +### 如果你是与教程一模一样的命令代码,且数据库也在该服务器上 ###
                  +############################################################
                  +# 可以直接复制以下配置
                  +{
                  +    "bind": "",
                  +    "sql_name": "postgres",
                  +    "user": "postgres",         # 用户名
                  +    "password": "zhenxun_bot",     # 密码
                  +    "address": "127.0.0.1",      # 地址
                  +    "port": "5432",         # 端口
                  +    "database": "zhenxun_bot"      # 数据库名
                  +}
                  +
                  1
                  2
                  3
                  4
                  5
                  6
                  7
                  8
                  9
                  10
                  11
                  12
                  13
                  14
                  15
                  16
                  17
                  18
                  19
                  20
                  21
                  22
                  23
                  24
                  25
                  26
                  1. 启动真寻,会在 configsdata/configs 目录下生成各种配置文件
                  python3 bot.py
                  +# or
                  +python bot.py
                  +
                  1
                  2
                  3

                  提示

                  首次启动会下载资源,时间较久,请耐心等待

                  # 当你的控制台出现以下日志,说明你已经成功了🎉🎉

                  08-14 23:18:44 [INFO] zhenxun | CMD[Web UI] API启动成功
                  +08-14 23:18:44 [INFO] uvicorn | Application startup complete.
                  +08-14 23:18:44 [INFO] uvicorn | Uvicorn running on http://127.0.0.1:8080 (Press CTRL+C to quit)
                  +
                  1
                  2
                  3

                    + + + diff --git a/docs/update_log/index.html b/docs/update_log/index.html index 8d3187272..1e5d14bcf 100644 --- a/docs/update_log/index.html +++ b/docs/update_log/index.html @@ -9,15 +9,15 @@ - - + + -

                    更新日志

                    # 2022/9/19

                    • 更换bilibili_sub获取用户昵称用的API&尝试修了一下get_video() @pull/1097 (opens new window)
                    • 修复csgo每日开箱可以多开一次

                    # 2022/9/18

                    # 2022/9/16

                    • fix: bilibili_sub, azur_draw_card @pull/1090 (opens new window)
                    • 修复原神资源查询查询完毕后图片存储错误
                    • b站订阅发送 与 b站订阅 使用相同开关,即:关闭b站订阅

                    # 2022/9/10

                    # 2022/9/8

                    • 添加插件数据初始化判断

                    # 2022/9/4

                    • 旧词条提供图片迁移(需要重新获取old_model文件,并将数据库中user_qq为0的数据删除)

                    # 2022/9/3

                    • 原神玩家查询增加须弥地区 @pull/1053 (opens new window)
                    • av号覆盖全面,且修复av号链接 @pull/1033 (opens new window)
                    • 修复词条含有CQ回答的模糊匹配无法被解析
                    • 禁言检测图片在内存中获取图片hash
                    • B站订阅在群里中任意群管理员可以统一管理(原来为管理员1无法删除管理员2的订阅)
                    • 修复原神资源查询地图api数据变更导致更新的地图不完全

                    # 2022/8/27

                    # 2022/8/26

                    • 修复群管理员无法添加词条
                    • 修复词条关键词"问"前空格问题

                    # 2022/8/23

                    # 2022/8/22

                    # 2022/8/21 [v0.1.6.3]

                    • 重构群词条,改为词库Plus,增加 精准|模糊|正则 问题匹配,问题与回答均支持at,image,face,超级用户额外提供 全局|私聊 词库设置,数据迁移目前只提供了问题和回答都是纯文本的词条
                    • 修复b站转发解析av号无法解析
                    • B站订阅直播订阅支持短号
                    • 开箱提供重置开箱命令,重置今日所有开箱数据(重置次数,并不会删除今日已开箱记录)
                    • 提供全局字典GDict,通过from utils.manager import GDict导入
                    • 适配omega 13w张图的数据结构表(建议删表重导)
                    • 除首次启动外将配置替换加入单次定时任务,加快启动速度
                    • fix: WordBank.check() @pull/1008 (opens new window)
                    • 改进插件 我有一个朋友,避免触发过于频繁 @pull/1001 (opens new window)
                    • 原神便笺新增洞天宝钱和参量质变仪提示 @pull/1005 (opens new window)
                    • 新增米游社签到功能,自动领取(白嫖)米游币 @pull/991 (opens new window)

                    # 2022/8/14

                    • 修复epic未获取到时间时出错
                    • 修复订阅主播时动态获取的id是直播间id

                    # 2022/8/8

                    # 2022/8/3

                    # 2022/8/6

                    # 2022/7/31

                    • 对nonebot.beta4中PluginMeta进行解析
                    • 修改webui元祖类型无法正确转换类型
                    • 查看订阅以图片形式发送
                    • 修复pix无图时不会提醒而是出错

                    # 2022/7/30

                    # 2022/7/24 [v0.1.6.2]

                    • 订阅up动态提供直链

                    # 2022/7/23

                    • 优化开箱次数判断

                    # 2022/7/16

                    • cos提供连发命令
                    • 修复B站视频解析中b23解析错误

                    # 2022/7/13

                    • B站订阅提供配置项LIVE_MSG_AT_ALL,UP_MSG_AT_ALL:控制UP动态投稿和直播是否AT全体
                    • 修改了Omega图库检测的数据库文件名
                    • game_utils提供了Game类

                    # 2022/7/7

                    # 2022/7/4

                    • 修复商品未设置限购时无法购买
                    • 修复B站订阅UP动态 @pull/886 (opens new window)
                    • 修复色图命令带tag时配置项MAX_ONCE_NUM2FORWARD无法生效

                    # 2022/7/3 [v0.1.6.1]

                    • BagUser提供方法check_props方法,用于判断用户是否含有该道具并是否使用
                    • 优化商品显示图片,提供限制,限购,折扣提示
                    • 修复图库内图片无法被连续删除的问题 @pull/879 (opens new window)
                    • 色图提供配置项MAX_ONCE_NUM2FORWARD:群聊中单次发送图片数量达到指定时使用合并转发
                    • 优化修复了商品修改命令
                    • B站订阅UP动态改为详情页截图

                    # 2022/6/28

                    # 2022/6/26

                    • 替换了bt URL
                    • PIX当使用pid查询图片时,会发送该pid下所有图片
                    • 商店提供了每日购买次数限制

                    # 2022/6/24

                    # 2022/6/21

                    # 2022/6/19 [v0.1.6.0]

                    # 2022/6/18

                    • 修复昵称系统BLACK_WORD为空时造成报错
                    • 修复特殊头像时背景透明化出错
                    • 修复text2image纯文本时换行时颜色不统一
                    • 优化webUI,当有插件出错时不会影响其他插件显示
                    • 优化Config类型注释 @pull/830 (opens new window)
                    • 优化browser

                    # 2022/6/17

                    • 修复wordbank的一些小问题 @pull/820

                    # 2022/6/14

                    # 2022/6/13

                    # 2022/6/11

                    • pix当只有一个tag时且为数字时可以通过添加'#'防止判定为数量

                    # 2022/6/9

                    • 修复b站订阅同群二人以上相同订阅时发送多次信息
                    • 修复超级用户帮助中缺少了 ‘插件商店’ 相关帮助
                    • 昵称系统提供了详细帮助

                    # 2022/6/5 [v0.1.5.9]

                    # 2022/6/3

                    # 2022/5/31

                    # 2022/5/29 [v0.1.5.8]

                    • 提供了真寻适配仓库的插件 安装/卸载 操作
                    • 暂时关闭了插件资源清空
                    • 通过指令安装插件时会在插件目录下生成plugin_info.json记录当前插件信息

                    # 2022/5/28

                    • 修复私聊无法添加昵称
                    • 修复原神玩家查询层岩巨渊地下矿区没开时报错
                    • 修复 休息吧 无法阻断戳一戳
                    • 当图库无图片时,戳一戳将略过发送图片
                    • 新增搜图提供配置项ALLOW_GROUP_R18:允许在群聊中使用r18参数
                    • 新增自动更新插件UPDATE_REMIND:新版本提醒,原配置项AUTO_UPDATE_ZHENXUN改为自动更新升级
                    • black_word新增当群权限为-1时不再检测该群
                    • 修复非超级用户绑定原神cookie会被black_word阻拦
                    • 修复微博热搜报错,发红包小bug @pull/688 (opens new window)
                    • 更多的中文提示

                    # 2022/5/26

                    # 2022/5/25

                    # 2022/5/24

                    # 2022/5/23 [v0.1.5.6]

                    • 修复"清除已删除插件数据" @pull/545 (opens new window)
                    • 修复有置顶的up主B站动态获取失败 @pull/552 (opens new window)
                    • 添加pixiv搜图多关键词支持;修复p站搜图数量参数问题 @pull/441 (opens new window)
                    • 修复开箱更新价格错误传参
                    • 修复pix无法正确查询uid
                    • 新增色图插件添加配置项ALLOW_GROUP_R18:允许群聊中使用色图r
                    • 新增PIX插件添加配置项ALLOW_GROUP_SETU:允许非超级用户使用-s参数
                    • 新增PIX插件添加配置项ALLOW_GROUP_R18:允许非超级用户使用-r参数

                    # 2022/5/22 [v0.1.5.4]

                    • 使用action自动更新poetry.lock @pull/515 (opens new window)
                    • fix(bilibili_sub): card is None and timeout @pull/516 (opens new window)
                    • 修复了epic有时获取新免费游戏消息时获取不到图片
                    • 修复好感度满时签到出错(虽然是不可能满的
                    • 修复原神资源图标下载路径错误
                    • 修复自动更新群组可能失败

                    # 2022/5/21

                    • 修复搜番无结果时报错无正确反馈
                    • 解锁了windows上无法使用playwright的限制
                    • 修复p搜对应pid有多张图时出错,改为连续发送图片
                    • 修复p搜对数字的错误判断
                    • 修复添加商品折扣无法正确添加
                    • 修复了bilibili订阅直播间订阅up名称不一致的问题
                    • 修复原神玩家查询没开地图时报错
                    • 最低priority修改为 999
                    • 修复刷屏检测失效
                    • 修复刷屏检测设置命令无法生效
                    • 优化刷屏显示设置禁言时长显示,并改为分钟
                    • 修复了多连开箱无法指定武器箱
                    • 修复识番链接无法正确获取
                    • 新增真寻入群时即刻刷新权限
                    • 提高了微博热搜截图的等待时间

                    # 2022/5/19

                    # 2022/5/16

                    # 2022/5/15

                    • 修复了商店商品无法正确添加
                    • 修复了多张色图无法正确发送

                    # 2022/5/14

                    # 2022/5/11

                    # 2022/5/9 [v0.1.5.3]

                    • 替换了疫情API
                    • 修复了私聊.ban/.unban出错

                    # 2022/5/5

                    # 2022/5/3 [v0.1.5.2]

                    • 商品使用函数可以添加特定参数,例如:user_id, group_id, ShopParam等以及自己提供的参数
                    • 添加商品注册装饰器shop_register
                    • 修复商品函数kwargs无法获取参数值

                    # 2022/5/1

                    • 删除了group_last_chat插件(该功能可由chat_history替代
                    • 新增敏感词检测(全新反击系统,是时候重拳出击了

                    # 2022/4/26

                    • 修复了群白名单无法正确添加
                    • 优化了管理员帮助图片,背景图层将位于最下层
                    • 修复了树脂140时不断提醒(未测试
                    • 新增了消息记录的消息排行
                    • WebUI新增CPU,内存,磁盘监控
                    • WebUI新增资源文件夹统计可视化

                    # 2022/4/12

                    • 修复b了命令私聊出错

                    # 2022/4/10 [v0.1.4.7]

                    • 新增消息记录模块
                    • 丰富处理请求操作提示
                    • web ui新增配置项修改

                    # 2022/4/9

                    # 2022/4/8

                    • 修复原神玩家查询

                    # 2022/4/6

                    # 2022/4/5 [v0.1.4.6]

                    • 修复web修改插件后帮助图片生成错误

                    # 2022/4/4 [v0.1.4.5]

                    • 替换了bt搜索URL
                    • 优化使用playwright的相关代码
                    • 原神玩家查询新增层岩巨渊探索
                    • 修复原神便笺角色头像黑框
                    • 修复同意群聊请求错误
                    • 提供webui方面的api
                    • 新增web-ui(前端简易管理页面插件)插件

                    # 2022/3/21

                    • 修复statistics_handle.py乱码

                    # 2022/3/18 [v0.1.4.4]

                    • 修复戳一戳无法功能关闭与ban禁用
                    • 新增图片搜索 search_image

                    # 2022/3/7

                    • 优化增删权限插件

                    # 2022/3/6

                    • 修复树脂提醒无法开启
                    • 修复p搜图片路径错误

                    # 2022/3/3 [v0.1.4.3]

                    • 修复手动同意群聊请求依旧退出

                    # 2022/3/1 [v0.1.4.2]

                    • 0.1.4内容

                    # 2022/2/27 [v0.1.4.1]

                    • 优化抽卡

                    # 2022/2/25 [v0.1.4]

                    • PIX提供配置MAX_ONCE_NUM2FORWARD:当单次发送图片超过指定张数且在群聊时,将转为合并消息
                    • 修复点歌无法正确发送
                    • 修复我有一个朋友有时文本会包含CQ码
                    • 修复群欢消息被动控制文本未删除 @pull/124 (opens new window)
                    • message_builder.image不再提供参数:abspath

                    # 2022/2/23

                    • 插件状态将从已加载插件模块中读取
                    • 修复b站订阅插件订阅失败问题
                    • 修复重启命令无法使用

                    # 2022/2/21 [v0.1.3.2]

                    • 群权限为-1时,超级用户发送的命令依旧生效
                    • 当群权限为-1时,被动技能也将不会发送
                    • 修复功能开关,b站转发解析,复读 ignore无法使用
                    • 修复色图下载文件名与路径错误
                    • 修复被动技能提醒有时无法删除控制文本

                    # 2022/2/20 [v0.1.3.1]

                    • 修复pix下载临时文件目录错误
                    • 修复AI,天气,发送图片ignore导致无法使用
                    • 修复纯文本被动技能提醒有时无法删除控制文本

                    # 2022/2/19 [v0.1.3] (nonebot beta2!)

                    • 由于nonebot升级版本,提供更新建议(该次升级将会导致nonebot.beta1以下的插件无法使用

                      • 保证services,utils,configs,plugins,basic_plugins,文件夹均为最新
                      • 根目录有pyproject.toml与poetry.lock
                      • 执行命令: + (opens new window)

                    更新日志

                    # 2022/9/19

                    • 更换bilibili_sub获取用户昵称用的API&尝试修了一下get_video() @pull/1097 (opens new window)
                    • 修复csgo每日开箱可以多开一次

                    # 2022/9/18

                    # 2022/9/16

                    • fix: bilibili_sub, azur_draw_card @pull/1090 (opens new window)
                    • 修复原神资源查询查询完毕后图片存储错误
                    • b站订阅发送 与 b站订阅 使用相同开关,即:关闭b站订阅

                    # 2022/9/10

                    # 2022/9/8

                    • 添加插件数据初始化判断

                    # 2022/9/4

                    • 旧词条提供图片迁移(需要重新获取old_model文件,并将数据库中user_qq为0的数据删除)

                    # 2022/9/3

                    • 原神玩家查询增加须弥地区 @pull/1053 (opens new window)
                    • av号覆盖全面,且修复av号链接 @pull/1033 (opens new window)
                    • 修复词条含有CQ回答的模糊匹配无法被解析
                    • 禁言检测图片在内存中获取图片hash
                    • B站订阅在群里中任意群管理员可以统一管理(原来为管理员1无法删除管理员2的订阅)
                    • 修复原神资源查询地图api数据变更导致更新的地图不完全

                    # 2022/8/27

                    # 2022/8/26

                    • 修复群管理员无法添加词条
                    • 修复词条关键词"问"前空格问题

                    # 2022/8/23

                    # 2022/8/22

                    # 2022/8/21 [v0.1.6.3]

                    • 重构群词条,改为词库Plus,增加 精准|模糊|正则 问题匹配,问题与回答均支持at,image,face,超级用户额外提供 全局|私聊 词库设置,数据迁移目前只提供了问题和回答都是纯文本的词条
                    • 修复b站转发解析av号无法解析
                    • B站订阅直播订阅支持短号
                    • 开箱提供重置开箱命令,重置今日所有开箱数据(重置次数,并不会删除今日已开箱记录)
                    • 提供全局字典GDict,通过from utils.manager import GDict导入
                    • 适配omega 13w张图的数据结构表(建议删表重导)
                    • 除首次启动外将配置替换加入单次定时任务,加快启动速度
                    • fix: WordBank.check() @pull/1008 (opens new window)
                    • 改进插件 我有一个朋友,避免触发过于频繁 @pull/1001 (opens new window)
                    • 原神便笺新增洞天宝钱和参量质变仪提示 @pull/1005 (opens new window)
                    • 新增米游社签到功能,自动领取(白嫖)米游币 @pull/991 (opens new window)

                    # 2022/8/14

                    • 修复epic未获取到时间时出错
                    • 修复订阅主播时动态获取的id是直播间id

                    # 2022/8/8

                    # 2022/8/3

                    # 2022/8/6

                    # 2022/7/31

                    • 对nonebot.beta4中PluginMeta进行解析
                    • 修改webui元祖类型无法正确转换类型
                    • 查看订阅以图片形式发送
                    • 修复pix无图时不会提醒而是出错

                    # 2022/7/30

                    # 2022/7/24 [v0.1.6.2]

                    • 订阅up动态提供直链

                    # 2022/7/23

                    • 优化开箱次数判断

                    # 2022/7/16

                    • cos提供连发命令
                    • 修复B站视频解析中b23解析错误

                    # 2022/7/13

                    • B站订阅提供配置项LIVE_MSG_AT_ALL,UP_MSG_AT_ALL:控制UP动态投稿和直播是否AT全体
                    • 修改了Omega图库检测的数据库文件名
                    • game_utils提供了Game类

                    # 2022/7/7

                    # 2022/7/4

                    • 修复商品未设置限购时无法购买
                    • 修复B站订阅UP动态 @pull/886 (opens new window)
                    • 修复色图命令带tag时配置项MAX_ONCE_NUM2FORWARD无法生效

                    # 2022/7/3 [v0.1.6.1]

                    • BagUser提供方法check_props方法,用于判断用户是否含有该道具并是否使用
                    • 优化商品显示图片,提供限制,限购,折扣提示
                    • 修复图库内图片无法被连续删除的问题 @pull/879 (opens new window)
                    • 色图提供配置项MAX_ONCE_NUM2FORWARD:群聊中单次发送图片数量达到指定时使用合并转发
                    • 优化修复了商品修改命令
                    • B站订阅UP动态改为详情页截图

                    # 2022/6/28

                    # 2022/6/26

                    • 替换了bt URL
                    • PIX当使用pid查询图片时,会发送该pid下所有图片
                    • 商店提供了每日购买次数限制

                    # 2022/6/24

                    # 2022/6/21

                    # 2022/6/19 [v0.1.6.0]

                    # 2022/6/18

                    • 修复昵称系统BLACK_WORD为空时造成报错
                    • 修复特殊头像时背景透明化出错
                    • 修复text2image纯文本时换行时颜色不统一
                    • 优化webUI,当有插件出错时不会影响其他插件显示
                    • 优化Config类型注释 @pull/830 (opens new window)
                    • 优化browser

                    # 2022/6/17

                    • 修复wordbank的一些小问题 @pull/820

                    # 2022/6/14

                    # 2022/6/13

                    # 2022/6/11

                    • pix当只有一个tag时且为数字时可以通过添加'#'防止判定为数量

                    # 2022/6/9

                    • 修复b站订阅同群二人以上相同订阅时发送多次信息
                    • 修复超级用户帮助中缺少了 ‘插件商店’ 相关帮助
                    • 昵称系统提供了详细帮助

                    # 2022/6/5 [v0.1.5.9]

                    # 2022/6/3

                    # 2022/5/31

                    # 2022/5/29 [v0.1.5.8]

                    • 提供了真寻适配仓库的插件 安装/卸载 操作
                    • 暂时关闭了插件资源清空
                    • 通过指令安装插件时会在插件目录下生成plugin_info.json记录当前插件信息

                    # 2022/5/28

                    • 修复私聊无法添加昵称
                    • 修复原神玩家查询层岩巨渊地下矿区没开时报错
                    • 修复 休息吧 无法阻断戳一戳
                    • 当图库无图片时,戳一戳将略过发送图片
                    • 新增搜图提供配置项ALLOW_GROUP_R18:允许在群聊中使用r18参数
                    • 新增自动更新插件UPDATE_REMIND:新版本提醒,原配置项AUTO_UPDATE_ZHENXUN改为自动更新升级
                    • black_word新增当群权限为-1时不再检测该群
                    • 修复非超级用户绑定原神cookie会被black_word阻拦
                    • 修复微博热搜报错,发红包小bug @pull/688 (opens new window)
                    • 更多的中文提示

                    # 2022/5/26

                    # 2022/5/25

                    # 2022/5/24

                    # 2022/5/23 [v0.1.5.6]

                    • 修复"清除已删除插件数据" @pull/545 (opens new window)
                    • 修复有置顶的up主B站动态获取失败 @pull/552 (opens new window)
                    • 添加pixiv搜图多关键词支持;修复p站搜图数量参数问题 @pull/441 (opens new window)
                    • 修复开箱更新价格错误传参
                    • 修复pix无法正确查询uid
                    • 新增色图插件添加配置项ALLOW_GROUP_R18:允许群聊中使用色图r
                    • 新增PIX插件添加配置项ALLOW_GROUP_SETU:允许非超级用户使用-s参数
                    • 新增PIX插件添加配置项ALLOW_GROUP_R18:允许非超级用户使用-r参数

                    # 2022/5/22 [v0.1.5.4]

                    • 使用action自动更新poetry.lock @pull/515 (opens new window)
                    • fix(bilibili_sub): card is None and timeout @pull/516 (opens new window)
                    • 修复了epic有时获取新免费游戏消息时获取不到图片
                    • 修复好感度满时签到出错(虽然是不可能满的
                    • 修复原神资源图标下载路径错误
                    • 修复自动更新群组可能失败

                    # 2022/5/21

                    • 修复搜番无结果时报错无正确反馈
                    • 解锁了windows上无法使用playwright的限制
                    • 修复p搜对应pid有多张图时出错,改为连续发送图片
                    • 修复p搜对数字的错误判断
                    • 修复添加商品折扣无法正确添加
                    • 修复了bilibili订阅直播间订阅up名称不一致的问题
                    • 修复原神玩家查询没开地图时报错
                    • 最低priority修改为 999
                    • 修复刷屏检测失效
                    • 修复刷屏检测设置命令无法生效
                    • 优化刷屏显示设置禁言时长显示,并改为分钟
                    • 修复了多连开箱无法指定武器箱
                    • 修复识番链接无法正确获取
                    • 新增真寻入群时即刻刷新权限
                    • 提高了微博热搜截图的等待时间

                    # 2022/5/19

                    # 2022/5/16

                    # 2022/5/15

                    • 修复了商店商品无法正确添加
                    • 修复了多张色图无法正确发送

                    # 2022/5/14

                    # 2022/5/11

                    # 2022/5/9 [v0.1.5.3]

                    • 替换了疫情API
                    • 修复了私聊.ban/.unban出错

                    # 2022/5/5

                    # 2022/5/3 [v0.1.5.2]

                    • 商品使用函数可以添加特定参数,例如:user_id, group_id, ShopParam等以及自己提供的参数
                    • 添加商品注册装饰器shop_register
                    • 修复商品函数kwargs无法获取参数值

                    # 2022/5/1

                    • 删除了group_last_chat插件(该功能可由chat_history替代
                    • 新增敏感词检测(全新反击系统,是时候重拳出击了

                    # 2022/4/26

                    • 修复了群白名单无法正确添加
                    • 优化了管理员帮助图片,背景图层将位于最下层
                    • 修复了树脂140时不断提醒(未测试
                    • 新增了消息记录的消息排行
                    • WebUI新增CPU,内存,磁盘监控
                    • WebUI新增资源文件夹统计可视化

                    # 2022/4/12

                    • 修复b了命令私聊出错

                    # 2022/4/10 [v0.1.4.7]

                    • 新增消息记录模块
                    • 丰富处理请求操作提示
                    • web ui新增配置项修改

                    # 2022/4/9

                    # 2022/4/8

                    • 修复原神玩家查询

                    # 2022/4/6

                    # 2022/4/5 [v0.1.4.6]

                    • 修复web修改插件后帮助图片生成错误

                    # 2022/4/4 [v0.1.4.5]

                    • 替换了bt搜索URL
                    • 优化使用playwright的相关代码
                    • 原神玩家查询新增层岩巨渊探索
                    • 修复原神便笺角色头像黑框
                    • 修复同意群聊请求错误
                    • 提供webui方面的api
                    • 新增web-ui(前端简易管理页面插件)插件

                    # 2022/3/21

                    • 修复statistics_handle.py乱码

                    # 2022/3/18 [v0.1.4.4]

                    • 修复戳一戳无法功能关闭与ban禁用
                    • 新增图片搜索 search_image

                    # 2022/3/7

                    • 优化增删权限插件

                    # 2022/3/6

                    • 修复树脂提醒无法开启
                    • 修复p搜图片路径错误

                    # 2022/3/3 [v0.1.4.3]

                    • 修复手动同意群聊请求依旧退出

                    # 2022/3/1 [v0.1.4.2]

                    • 0.1.4内容

                    # 2022/2/27 [v0.1.4.1]

                    • 优化抽卡

                    # 2022/2/25 [v0.1.4]

                    • PIX提供配置MAX_ONCE_NUM2FORWARD:当单次发送图片超过指定张数且在群聊时,将转为合并消息
                    • 修复点歌无法正确发送
                    • 修复我有一个朋友有时文本会包含CQ码
                    • 修复群欢消息被动控制文本未删除 @pull/124 (opens new window)
                    • message_builder.image不再提供参数:abspath

                    # 2022/2/23

                    • 插件状态将从已加载插件模块中读取
                    • 修复b站订阅插件订阅失败问题
                    • 修复重启命令无法使用

                    # 2022/2/21 [v0.1.3.2]

                    • 群权限为-1时,超级用户发送的命令依旧生效
                    • 当群权限为-1时,被动技能也将不会发送
                    • 修复功能开关,b站转发解析,复读 ignore无法使用
                    • 修复色图下载文件名与路径错误
                    • 修复被动技能提醒有时无法删除控制文本

                    # 2022/2/20 [v0.1.3.1]

                    • 修复pix下载临时文件目录错误
                    • 修复AI,天气,发送图片ignore导致无法使用
                    • 修复纯文本被动技能提醒有时无法删除控制文本

                    # 2022/2/19 [v0.1.3] (nonebot beta2!)

                    • 由于nonebot升级版本,提供更新建议(该次升级将会导致nonebot.beta1以下的插件无法使用

                      • 保证services,utils,configs,plugins,basic_plugins,文件夹均为最新
                      • 根目录有pyproject.toml与poetry.lock
                      • 执行命令:
                        • pip3 install poetry
                        • poetry install
                        • poetry shell
                        • playwright install chromium
                        • python3 bot.py
                    • 适配nonebot.beta2

                    • 删除图片搜索 nonebot_plugin_picsearcher

                    • 替换cos api

                    • 原神签到树脂提醒新增绑定群里,在某群绑定uid就会在某群发送提醒信息(有好友则私聊,需要重新绑定uid

                    • 修改update_info.json

                    • 修复原神资源查询下载数据失败时导致报错

                    • 优化BuildImage.circle()锯齿问题 @pull/109 (opens new window)

                    • epic restful 替换 @pull/119 (opens new window)

                    • fix: 修复远古时期残留的epic推送问题 @pull/122 (opens new window)

                    # 2022/2/11

                    • 修复pix不使用反代无法下载图片

                    # 2022/2/10 [v0.1.1]

                    • 修复购买道具出错

                    # 2022/2/9 [v0.1]

                    • 新增原神自动签到和手动签到
                    • 新增原神树脂提醒
                    • 新增手动重载Config.yaml命令以及重载配置定时任务(极少部分帮助或配置可能需要重启
                    • 修改了发送本地图库的matcher,改为on_message
                    • register_use可以通过返回值发送消息
                    • 修复修改商品时限制时间出错
                    • 修复超时商品依旧可以被购买

                    # 2022/1/16 [v0.0.9.0]

                    • Ai提供文本敏感词过滤器
                    • 疫情插件适配新版腾讯API
                    • 修复/t回复带空格切分
                    • 修复原神玩家查询缺少渊下宫和稻妻家园以及角色不完全
                    • 修复方法 text2image 中 padding 和 font 无法对纯文本生效
                    • 修复签到图片中信息并未使用配置文件中的色图概率
                    • 修改原神大地图合成方式,改为先压缩再合成
                    • bag_user弃用字段props(该字段会在下次更新删除),使用新字段property
                    • 数据库中所有belonging_group统一修改为group_id
                    • 商店将registered_use和register_goods更名为register_use何register_goods
                    • 商品注册提供了kwargs参数提供:
                      • bot
                      • event
                      • 特殊字段
                        • “send_success_msg”(发送成功的交互信息->即:使用道具 {name} {num} 次成功)
                        • “_max_num_limit”(该道具单次使用的最多个数,默认1)

                    # 2022/1/5 [v0.0.8.2]

                    • 提供金币消费hook,可在plugins2settings.yaml中配置该功能需要消费的金币
                    • 商店插件将作为内置插件移动至basic_plugins
                    • 商店插件通过export提供了方法,不需要修改商店插件代码添加商品数据和生效方法
                    • 修改了hook插件顺序,主要以auth_hook为主
                    • 修改商店图片样式
                    • 取消每次启动更新城市列表(首次除外),采用定时更新,加快bot启动速度
                    • 取消每次启动时截取今日素材,采用调用时截取保存,加快bot启动速度
                    • 更新色图时当图片404时会删除并替换
                    • 疫情消息回复改为图片
                    • 修复商店折扣和限时时间无法生效
                    • 修复原神玩家查询尘歌壶缺少图片

                    # 2021/12/26

                    • 修复群词条问题 空格 会被录入导致不断回复
                    • 修复米游社app替换api导致无法正常查询

                    # 2021/12/24

                    # 2021/12/20

                    # 2021/12/16 [v0.0.7.0]

                    • 提供了真寻群聊功能总开关和对应默认配置项,命令:休息吧 醒来
                    • 新增原神玩家查询,原神便笺查询
                    • 群功能管理提供全部开启/关闭命令:开启/关闭全部功能
                    • 提供主要数据自动备份,且提供自定义配置项
                    • 提供命令:关于,用于介绍Bot之类的
                    • 新增命令exec,用于执行sql语句
                    • 签到提供参数 "all",用于签到所有群聊
                    • Ban提醒提供cd
                    • 本地图库提供配置项SHOW_ID,用于设置发送图片时是否显示id
                    • 色图和PIX提供配置项SHOW_INFO,用于设置发送图片时是否显示图片信息
                    • 所有被动技能提供了进群默认状态配置项
                    • 修复添加权限第二种添加形式无法正确添加正确的权限
                    • 修复签到获取好感度卡时金币不会增加
                    • 修复当红包数量不合法时依旧扣除金币
                    • 修复金币红包再次使用塞红包时无法正确退回上次未开完的金币
                    • 修复 滴滴滴- 只包含图片时不会发送至管理员
                    • 修复添加权限等级错误
                    • 修复群词条以bot名称为开头时无法正确触发
                    • 修改了权限插件加载顺序防止小概率优先加载权限插件引起报错
                    • 本地图库新图库会统一建立在resource/img/image_management文件夹下,如果该文件夹内未找到图库,会从上级目录查找(即:resource/img/)

                    # 2021/12/1 [v0.0.6.5/6]

                    • 群权限-1时超级用户命令依旧生效
                    • 修复以真寻为开头的词条不会被回复
                    • 修复购买道具可以为负数
                    • P站排行/搜图提供配置项,将略过大于指定张数的作品
                    • 昵称提供关键词屏蔽配置项,会将指定关键词替换为“*”
                    • 取消了自动更新,改为自动检测版本
                    • 自动更新不再覆盖config.py和移动config.yaml

                    # 2021/11/29 [v0.0.6.4]

                    • 新增cos图撤回配置项
                    • 新增默认群权限配置项
                    • 修复权限等级类配置无法正常应用

                    # 2021/11/24 [v0.0.6.3]

                    • 修复在线搜索色图出错
                    • 修复pix无法正确获取HIBIAPI

                    # 2021/11/23 [v0.0.6.2]

                    • 替换cos API
                    • 提供私聊b了,即跨群b了用户
                    • 修复游戏抽卡导入角色失败(原神)
                    • 修复无Pixiv代理时报错
                    • 将项目中大部分aiohttp替换为httpx
                    • 删除了丘丘人翻译插件
                    • 新增群词条
                    • 修复游戏抽卡碧蓝航线bwiki格式更改导致获取报错
                    • 首次启动会生成配置文件后停止程序,配置后再次启动即可

                    # 2021/11/18

                    • 修复超级用户无法正确拉真寻入群

                    # 2021/11/14

                    • 修复功能总开关无法正确开启

                    # 2021/11/12

                    • 修复PIX无法url无法正确获取

                    # 2021/11/10

                    • 修复PIX表重复创建导致首次无法运行
                    • 检测Omage图库改为命令方式:检测omega图库

                    # 2021/11/9

                    • 修复管理员帮助无法正常响应
                    • 修复被ban时会一直回复被ban提醒

                    # 2021/11/5

                    • 修复ai没有图灵key时报错
                    • 提供图片路径resource/img/background/check

                    # 2021/11/4

                    • 通用排行榜改用图片消息,且可以自定义排行榜人数
                    • 优化CreateMat排行榜数据显示
                    • 修复了pix更新多余参数导致失败的问题
                    • 修复滴滴滴-注入风险
                    • 修复无法正常关闭滴滴滴,戳一戳
                    • 添加了发送图片撤回配置项WITHDRAW_IMAGE_TIME
                    • 修复了天气regex文本过长时会正则匹配过久导致nb卡顿
                    • message_build新增custom_forward_msg用于快捷生成转发消息
                    • 插件配置改为yaml存储,新增Config,用于获取和新增插件配置
                    • 新增 当插件加载失败时,会发送消息提醒超级用户,且在功能状态中对应失败插件写上[ERROR]
                    • 修复当查看-spuer插件帮助时无法正确回复
                    • 群内帮助图片会随群内功能开关和插件总开关变化
                    • 自检改为图像形式
                    • 更新色图删除了rar_setu,r18_rar和rar文件夹,压缩将统一在temp文件夹
                    • 更新色图只有在有更新数量或报错时才会提醒超级用户
                    • 群欢迎消息加入cd
                    • 加入资源管理resources_manager
                    • 新增 好友请求/群聊邀请 控制命令

                    # 2021/10/15

                    • 适配了原神资源查询米游社地图返回的新格式

                    # 2021/10/8

                    • 修复疫情省份查询失效
                    • 修复功能调用统计全局下统计可能发生错误

                    # 2021/10/4

                    • 修复了功能调用统计失效问题
                    • 当色图库中没有色图时,会在线搜索色图而不是‘没找到符合条件的色图...’
                    • 快速更新权限再给超级用户发送错误日志
                    • 修复疫情未加载省份城市无法正常使用

                    # 2021/10/3

                    • 对插件进行分离
                    • 重写了插件与限制管理器以及帮助获取
                    • 修改一些插件目录和数据存储目录
                    • 插件通用配置与限制数据将以ymal文件存储 [路径:data/configs]
                    • 所有商店相关操作调用统计合并为商店(包括之前已经保存的数据,会先进行备份)
                    • 简化了点歌的代码相关
                    • 修复了碧蓝航线抽卡新框导致报错无法正常初始化
                    • 修复了P站排行/搜图在PC端无法正常显示
                    • 添加了插件对超级用户是否限制的配置 ‘limit_superuser’
                    • 添加命令 ‘重载插件配置’,用于生效手动修改配文件
                    • 超级用户帮助可以添加 -super 来显示该插件的超级用户帮助,示例:帮助.ban -super
                    • 原神黄历改为网页截图
                    • 修改了鲁迅说逻辑结构
                    • 修改了统计图表样式,改为自定义CreateMat
                    • 节日红包不再被24小时限制,群内多个节日红包将会覆盖
                    • 当群权限为-1时,不会对群发送修改权限通知,并屏蔽此群一切命令(包括提醒)
                    • 修复了红包数量可以过大或为负数,红包数量大于群员数量时会修改为群员数量
                    • 修复了负数开箱
                    • 签到最低好感度设置为0.01 @pull/53 (opens new window)
                    • pip安装新依赖 ruamel.yaml
                    • 修复功能 EPIC @pull/58 (opens new window)

                    # 2021/9/10

                    • 修复撤回消息有时无法正确获取消息id

                    # 2021/9/9

                    • 替换coser API
                    • 修复签到uid可能不默认为0
                    • 修复签到可能重复的问题
                    • 修复无订阅时递归出错
                    • 启用了plugins2info_dict, plugins2cd_dict, plugins2exists_dict配置文件,通过USE_CONFIG_FILE=True开启
                    • 修复涩图local_id会被固定为50
                    • 优化图库数量查询
                    • 修复原神大地图过大无法打开报错
                    • 修复无法显示正确的涩图上限

                    # 2021/9/7

                    • 修改 update_info.json
                    • 修改 更新信息 图片大小
                    • 修复 查看订阅 命令 UP和番剧无法正常显示
                    • 修复订阅推送无法正确推送
                    • 修复搜图返回列表为空时无法正确回复 @pull/40 (opens new window)

                    # 2021/9/5

                    • 添加配置PIX_IMAGE_SIZE,调整PIX下载图片大小,当设置的图片404时,改为原图
                    • 新增配置DEFAULT_GROUP_LEVEL,默认群等级
                    • 新增超级用户功能 super ban,将屏蔽被ban用户的所有消息,指令:b了
                    • b站转发解析支持纯BV号解析,且五分钟内不会解析相同url
                    • 俄罗斯轮盘新增 连胜/最高连胜/连败/最高连败 纪录,新增 最高连胜排行榜/最高连败排行榜
                    • 增加扩展图库 OmegaPixivIllusts,不想自己找图的人福音(Ailitonia (opens new window) 佬的高质量精品手筛图库)(传送门 (opens new window) ),可以手动导入图库,也可以将解压文件放在bot.py同级目录重启bot
                    • 增加配置PIX_OMEGA_PIXIV_RATIO,PIX功能发送PIX图库和扩展图库OmegaPixivIllusts图片的比例,如果没有使用扩展图库OmegaPixivIllusts,请设置为(10, 0)
                    • 增加配置WITHDRAW_PIX_TIME,用于配置在开关PIX图片在群私聊的自动撤回
                    • 上传图库cases, 开箱 也可以连抽(未更新过没有价格)
                    • 新增命令 查看群白名单
                    • plugins2info_dict新增键"default_status",设置加入新群时功能的默认开关状态
                    • 增加配置plugins2exists_dict,可自定义是否阻塞某命令同时触发多次
                    • 增加配置plugins2cd_dict,可自定义为命令添加cd
                    • 新增B站订阅(直播/番剧/UP)[测试],提供命令:添加订阅 [主播/UP/番剧] [id/链接/番名],删除订阅 [id],查看订阅
                    • 优化pix和色图的数据库查询
                    • 触发已关闭的功能的正则时不再触发ai
                    • 更换coser API
                    • PIX搜索pid功能在群聊无法搜索PIX图库的r18和OmegaPixivIllusts的r15以及r18,超级用户除外
                    • PIX单次搜索的图片张数超级用户限制为至多30张,普通用户10张
                    • PIX超级用户新增-s,-r,可以通过pix -s 查看图库的涩图,pix -r查看图库的r18图,支持搜索,当然,pix图库只区分了r18和非r18,如果-s查询到不色的图也问题不大
                    • 优化P站排行和搜图,现在需要艾特,改为使用HIBIAPI,在群内时将使用合并消息(群聊搜图会屏蔽R-18)
                    • win10下playwright相关功能无法使用,但是不再需要删除文件
                    • 签到大改,优化签到方式与逻辑,改为图片形式发送,有概率额外获得随机道具(好感度有加成)
                    • 修改撤回功能,改为回复撤回,回复发送撤回
                    • 更改logging为loguru
                    • 删除了 发送图片 中的 [N]张图[keyword] 功能
                    • 修复私聊 关闭[功能] 默认不为 全部 而要添加参数 ‘a’
                    • 修复0权限用户可以修改禁言检测相关设置

                    # 2021/8/17

                    • 新增配置CHECK_NOTICE_INFO_CD,修改群权限,个人权限检测各种检测的提示消息cd
                    • 新增功能‘连续上传图片’功能,直到输入‘stop’停止
                    • 新增功能维护时白名单以及对应命令(白名单中的群聊不受维护限制)
                    • 新增ALAPI功能,微博热搜,可以通过序号来查看部分热搜内容
                    • 新增配置NICKNAME,偶尔也想换换名字的说(自我介绍仅当NICKNAME=真寻时生效)
                    • 提供 更新信息 命令,可以使群员查看更新内容(可开关,与其他功能无异,但不会被统计,该命令图片由自动更新生成)
                    • 超级用户可以通过私聊来对指定qq进行ban/unban
                    • 超级用户帮助改为图片形式
                    • 公开图库删除‘色图’
                    • 群权限检测,个人权限检测,功能开关检测合并,权限检测顺序:个人权限 > 群权限 > 插件开关 >超级用户禁用某群插件 > 超级用户限制群里插件 > 插件维护检测
                    • 重写群功能管理,超级用户可对群/私聊分别禁用,也可禁用指定群指定功能,新增命令‘功能状态’,超级用户关闭功能提供参数(默认ALL):group/g(群聊),private/p(私聊)
                    • 超级用户不会被任何权限等检测阻挡
                    • 不会重复复读,复读消息只会发送一次
                    • b站转发解析支持b23.tv,www.bilibili.com链接,cv专栏(playwright截图,压缩倍率0.5,较慢且文字可能不清晰,后优化)
                    • 我有一个朋友功能,当艾特一个对象时,‘朋友’改为艾特对象的群名片或昵称
                    • 修复‘上传/删除/移动图片’目录不正确
                    • 修复天气功能,当城市名在‘天气’后时报错
                    • 修复配置INITIAL_SETU_PROBABILITY不生效

                    # 2021/8/10

                    • 重复的好友请求和邀群提示在5分钟内不会重复提示
                    • 疫情会优先检查城市,城市省份市区重名时请添加‘市’
                    • 添加命令‘原神资源查找’,‘设置cookie’
                    • 添加配置AUTO_UPDATE_ZHENXUN,是否自动更新真寻,默认True
                    • 添加配置MAX_RUSSIAN_BET_GOLD,俄罗斯轮盘赌注最大金额,默认1000
                    • 检查更新真寻定时任务时间改为12 : 00
                    • 添加功能能不能好好说话(nbnhhsh)
                    • 添加功能随机roll,无参为数字,有参为随机参数
                    • 添加linux重启脚本以及重启命令‘重启’(建议首次生成restart.sh先查看命令是否正确)
                    • 修复管理员功能的权限检测
                    • 修复丢人爬开关

                    # 2021/8/6

                    • 天气查询会优先遍历城市
                    • 添加自动更新真寻命令

                    # 如果你的版本为 2021/8/4,可以直接复制plugins/check_zhenxun_update后,通过指令来更新真寻

                    # 2021/8/4

                    • 修改天气与疫情城市数据,改为api获取,丰富疫情的回复消息
                    • 原神资源查询,大地图将被压缩至9M,且启动时当大地图存在时不再自动更新地图
                    • 下载数据库内色图时将直接存储至_setu,不再存储至临时文件
                    • 重复的好友请求或邀请请求在一定时间不会重复发送提醒
                    • 添加每日自动清理临时图片定时任务
                    • 修复金币排行显示
                    • 修复无法正常关闭戳一戳功能

                    # 2021/7/30

                    • 重构代码,进行优化,添加注释,删除冗余代码,降低代码耦合
                    • 添加功能:PIX(一套快捷的pixiv存图命令,自建图库存储url等信息?意在获取自己或群友xp的图)
                    • 添加功能:清理临时图片文件(temp/rar/r18_rar文件夹)
                    • 添加额外定时任务(5分钟检测一次),解决加入新群时无法及时为管理员提供权限
                    • 添加配置ALAPI_AI_CHECK,开关AI回复文本检测
                    • 添加配置IMPORT_DEFAULT_SHOP_GOODS,控制是否导入内置的三个商品(好感度加持卡ⅠⅡⅢ)
                    • 添加配置ONLY_USE_LOCAL_SETU,仅仅使用本地色图(有的话),提升速度,但无法在线搜索色图和保存链接
                    • 添加配置WITHDRAW_SETU_TIME,是否需要延迟撤回色图,可配置仅群里,私聊或全部
                    • 好友请求,入群请求,滴滴滴-,/t,被踢出群提醒,的提示消息更加丰富
                    • 彻底重写原神资源查找,添加规划路线(路线残缺缺缺缺版,有空补)添加命令‘更新原神资源信息’,强制更新地图等资源
                    • 优化色图和P站排行/搜图检测用户是否正在触发命令代码
                    • 当群最后发言大于36小时,也会关闭广播通知
                    • 功能维护时超级用户依然可以调用(苦了谁都不能苦了自己)
                    • 修复获取赛马娘UP公告
                    • 重写 色图/更新色图
                      • 色图数据存储改为数据库,启动时会更新之前的色图数据(有的话),更新完毕后会删除原数据文件,如果需要保留请提前备份,
                      • lolicon api改为v2
                      • 取消r18次数限制
                      • 单次搜索至多保存100条链接
                      • 添加定时撤回
                      • 暂时取消上传/删除色图
                    • 更新建议(不要替换你的data和resources文件夹!) -
                      • 删除configs,plugins,services,utils,models文件夹重新clone
                      • 删除多余文件夹,resources/img/genshin/seek_god_eye
                      • 清空resources/img/genshin/genshin_icon文件夹,仅保留box.png和box_alpha.png
                      • 替换bot.py

                    # 2021/7/27

                    • 原神今日素材改为单张截图+拼图,更新文件utils/img_utils.py及plugins/genshin/material_remind/init.py

                    # 2021/7/26

                    • 修复原神今日素材稻妻城开放后截图不完整的问题

                    # 2021/7/14

                    # 2021/7/12

                    • 修复开箱功能单抽出金时存储格式错误导致 ‘我的金色’ 无法正常发送图片
                    • 小问题的修复和优化

                    # 2021/7/6

                    • 识番功能 trace.moe 替换为新API(旧API已失效)
                    • 小问题的修复和优化

                    # 2021/6/30

                    • 将plugin2name和plugin2level合并为plugin2info
                    • util改为utils(。。!)
                    • 修复当用户发送速度极快时开箱会突破每日限制
                    • 新增功能:通过PID获取图片
                    • 发送图片新增功能:搜索图片
                    • 功能统计可视化
                    • 新增命令:好感度总排行
                    • 原神每日素材改为从"可莉特调"截图,提供命令‘更新原神每日素材’和定时任务
                    • 修复月功能统计错误的问题

                    # 2021/6/24

                    • 添加了一些ALAPI:网易云热评,获取b站视频封面,古诗(需要填写ALAPI_TOKEN)
                    • 如果填写了ALAPI_TOKEN,将会检测备用接口回复的文本是否合规
                    • 优化了色图,当搜索色图下载失败时,会从本地色图库中发送相关tag色图
                    • 当网易云点歌繁忙时会尝试多次点歌

                    # 2021/6/23

                    • 添加功能:群权限(所以说内鬼都快爬,可以在configs/config.py中修改各个功能的权限等级)
                    • 优化了数据统计,将以7天,30天为周期,为将来更方便实现数据可视化
                    • 更新坎公骑冠剑UP卡池
                    • 修复赛马娘UP卡池
                    • 修复一些小问题

                    # 2021/6/18

                    • 修复p站排行,搜图因网络问题爆炸时没有具体回复
                    • 更换色图显示方式为 id,title,author,pid
                    • 修复修改商品后商品顺序改变
                    • 滴滴滴- 和 /t支持图片回复
                    • 将/t回复更加简单(可以通过序号),且可以直接发送群
                    • 修复bt功能无法交互

                    # 2021/6/17

                    • 修复p站排行,搜图因网络问题爆炸时没有具体回复
                    • 更换色图显示方式为 id,title,author,pid

                    # 2021/6/15

                    • 修改了‘帮助’功能,具体为‘帮助 指令名’,未指定指令名时则为查看全部功能列表
                    • 修改了色图的存储数据格式
                    • 色图功能搜索的色图改为随机从urls中随机抽取
                    • 将商品数据存储入数据库,提供 '增加/删除/修改商品' 指令
                    • 商店列表图片不再使用固定背景图,改为直接拼图
                    • 增加功能:俄罗斯轮盘/胜场排行/败场排行/欧洲人排行/慈善家排行
                    • 增加功能:金币红包(节日红包与群红包相互独立)
                    • 金币排行
                    • 重写一个朋友插件
                    • 其他微小调整

                    # 2021/6/4

                    # 2021/5/26

                    • 将语录源更换为一言api
                    - +
                    • 删除configs,plugins,services,utils,models文件夹重新clone
                    • 删除多余文件夹,resources/img/genshin/seek_god_eye
                    • 清空resources/img/genshin/genshin_icon文件夹,仅保留box.png和box_alpha.png
                    • 替换bot.py

                    # 2021/7/27

                    • 原神今日素材改为单张截图+拼图,更新文件utils/img_utils.py及plugins/genshin/material_remind/init.py

                    # 2021/7/26

                    • 修复原神今日素材稻妻城开放后截图不完整的问题

                    # 2021/7/14

                    # 2021/7/12

                    • 修复开箱功能单抽出金时存储格式错误导致 ‘我的金色’ 无法正常发送图片
                    • 小问题的修复和优化

                    # 2021/7/6

                    • 识番功能 trace.moe 替换为新API(旧API已失效)
                    • 小问题的修复和优化

                    # 2021/6/30

                    • 将plugin2name和plugin2level合并为plugin2info
                    • util改为utils(。。!)
                    • 修复当用户发送速度极快时开箱会突破每日限制
                    • 新增功能:通过PID获取图片
                    • 发送图片新增功能:搜索图片
                    • 功能统计可视化
                    • 新增命令:好感度总排行
                    • 原神每日素材改为从"可莉特调"截图,提供命令‘更新原神每日素材’和定时任务
                    • 修复月功能统计错误的问题

                    # 2021/6/24

                    • 添加了一些ALAPI:网易云热评,获取b站视频封面,古诗(需要填写ALAPI_TOKEN)
                    • 如果填写了ALAPI_TOKEN,将会检测备用接口回复的文本是否合规
                    • 优化了色图,当搜索色图下载失败时,会从本地色图库中发送相关tag色图
                    • 当网易云点歌繁忙时会尝试多次点歌

                    # 2021/6/23

                    • 添加功能:群权限(所以说内鬼都快爬,可以在configs/config.py中修改各个功能的权限等级)
                    • 优化了数据统计,将以7天,30天为周期,为将来更方便实现数据可视化
                    • 更新坎公骑冠剑UP卡池
                    • 修复赛马娘UP卡池
                    • 修复一些小问题

                    # 2021/6/18

                    • 修复p站排行,搜图因网络问题爆炸时没有具体回复
                    • 更换色图显示方式为 id,title,author,pid
                    • 修复修改商品后商品顺序改变
                    • 滴滴滴- 和 /t支持图片回复
                    • 将/t回复更加简单(可以通过序号),且可以直接发送群
                    • 修复bt功能无法交互

                    # 2021/6/17

                    • 修复p站排行,搜图因网络问题爆炸时没有具体回复
                    • 更换色图显示方式为 id,title,author,pid

                    # 2021/6/15

                    • 修改了‘帮助’功能,具体为‘帮助 指令名’,未指定指令名时则为查看全部功能列表
                    • 修改了色图的存储数据格式
                    • 色图功能搜索的色图改为随机从urls中随机抽取
                    • 将商品数据存储入数据库,提供 '增加/删除/修改商品' 指令
                    • 商店列表图片不再使用固定背景图,改为直接拼图
                    • 增加功能:俄罗斯轮盘/胜场排行/败场排行/欧洲人排行/慈善家排行
                    • 增加功能:金币红包(节日红包与群红包相互独立)
                    • 金币排行
                    • 重写一个朋友插件
                    • 其他微小调整

                    # 2021/6/4

                    # 2021/5/26

                    • 将语录源更换为一言api
                    + diff --git a/index.html b/index.html index 112b2ea51..26d8f845b 100644 --- a/index.html +++ b/index.html @@ -9,15 +9,15 @@ - - + + -

                    绪山真寻Bot

                    这是个绪山真寻Bot的部署教程

                    - + 2021 - + 2024 +
                      + diff --git a/service-worker.js b/service-worker.js deleted file mode 100644 index a5122f16e..000000000 --- a/service-worker.js +++ /dev/null @@ -1,509 +0,0 @@ -/** - * Welcome to your Workbox-powered service worker! - * - * You'll need to register this file in your web app and you should - * disable HTTP caching for this file too. - * See https://goo.gl/nhQhGp - * - * The rest of the code is auto-generated. Please don't update this file - * directly; instead, make changes to your Workbox build configuration - * and re-run your build process. - * See https://goo.gl/2aRDsh - */ - -importScripts("https://storage.googleapis.com/workbox-cdn/releases/4.3.1/workbox-sw.js"); - -self.addEventListener('message', (event) => { - if (event.data && event.data.type === 'SKIP_WAITING') { - self.skipWaiting(); - } -}); - -/** - * The workboxSW.precacheAndRoute() method efficiently caches and responds to - * requests for URLs in the manifest. - * See https://goo.gl/S9QRab - */ -self.__precacheManifest = [ - { - "url": "404.html", - "revision": "2d2293391343c66d849a385904823360" - }, - { - "url": "assets/css/0.styles.3af13d03.css", - "revision": "3cf231b711ffdd04ad7f9a9b68414e7b" - }, - { - "url": "assets/img/bg.2cfdbb33.svg", - "revision": "2cfdbb338a1d44d700b493d7ecbe65d3" - }, - { - "url": "assets/img/search.72b0ff46.svg", - "revision": "72b0ff466169d7f6d483e301dcfe4c00" - }, - { - "url": "assets/js/1.10ffbede.js", - "revision": "30d0f49ced528d8f74d3fc51d5652b85" - }, - { - "url": "assets/js/10.1bc41e7e.js", - "revision": "3518809d3e56ef072be206fcf1f42907" - }, - { - "url": "assets/js/11.33e2c0fc.js", - "revision": "966a6376b17e0ffbc38b20dbaedae612" - }, - { - "url": "assets/js/12.dcad0bdb.js", - "revision": "889731cbead067b3c6e35bb78b34edfc" - }, - { - "url": "assets/js/13.e4c4fd17.js", - "revision": "3a6fb4de3db764975cd9657cf03e1ec9" - }, - { - "url": "assets/js/14.2830f64c.js", - "revision": "21595e8efdf248f5eb727af5ef7ad1a4" - }, - { - "url": "assets/js/15.fee026ac.js", - "revision": "09d1035bbdb8f371cf27406d735498ab" - }, - { - "url": "assets/js/16.bde6b38b.js", - "revision": "4bd90a71ea71666044ec65a295e9cf91" - }, - { - "url": "assets/js/17.f29f3e31.js", - "revision": "e8359c5fdcdb9f437629c5436420c35b" - }, - { - "url": "assets/js/18.e818a6ac.js", - "revision": "58ac1d725f4c4625f2ff4737fbf2aa9c" - }, - { - "url": "assets/js/19.45b73dcb.js", - "revision": "d5838b06587b9082b5c1926f12335619" - }, - { - "url": "assets/js/20.4da056d2.js", - "revision": "e52f25e75c0dfb9c8d05a67f73fb839f" - }, - { - "url": "assets/js/21.953ab592.js", - "revision": "b61b4c412cee5570da72c3dbee95301a" - }, - { - "url": "assets/js/22.0bdf6c54.js", - "revision": "291bcb4a4bcfcd2db4007a5adefeee09" - }, - { - "url": "assets/js/23.3280fe28.js", - "revision": "1b3f8cb448767f1e7d2f11cff6f138df" - }, - { - "url": "assets/js/24.0a3aa4af.js", - "revision": "6848ad552d88b2f376caf786ebf15269" - }, - { - "url": "assets/js/25.a874b11e.js", - "revision": "7ea717645211fe3133fcebc09659487a" - }, - { - "url": "assets/js/26.ad82a000.js", - "revision": "bdbaf7da146e04740eeb08325ab9c00d" - }, - { - "url": "assets/js/27.f8536418.js", - "revision": "f5162ec7a3857a990891d0c2d267da18" - }, - { - "url": "assets/js/28.99a667cd.js", - "revision": "059ced03f511fd27136d51228fe6bcc3" - }, - { - "url": "assets/js/29.983a5a43.js", - "revision": "f139bf1bbaa4a3b09bfde97eda98c508" - }, - { - "url": "assets/js/3.a9dcdb28.js", - "revision": "77c3def0358b0b60b343e66acf179866" - }, - { - "url": "assets/js/30.45c14c49.js", - "revision": "3113dc24d953d5b35d1ec57ddf0b7934" - }, - { - "url": "assets/js/31.b64c8c2a.js", - "revision": "5a7595a4601402be0e61dab605d11ffa" - }, - { - "url": "assets/js/32.c0c1ea04.js", - "revision": "392ac354126e5008ebbf040b6db62a05" - }, - { - "url": "assets/js/33.0c356f3c.js", - "revision": "d0232708a3019ce7a4926dba14a85508" - }, - { - "url": "assets/js/34.21d81a5d.js", - "revision": "1f85bc74fcbbaca96f1ccbd7d8d1881f" - }, - { - "url": "assets/js/35.c984a944.js", - "revision": "2b9b69495b15d53b8baaf59287c9d344" - }, - { - "url": "assets/js/36.4dc0596a.js", - "revision": "64781c2966f89f630aedf1e8aabb0504" - }, - { - "url": "assets/js/37.e0f88dca.js", - "revision": "48e7fd76160429dab7bb8c97b62f22b5" - }, - { - "url": "assets/js/38.3746fe4a.js", - "revision": "f8dc2e8c5d3ebb18470bf437e64f7e99" - }, - { - "url": "assets/js/39.bcc8e7b6.js", - "revision": "8e09cb213edfadaf7ba6f3cd7a2c8da1" - }, - { - "url": "assets/js/4.682beda7.js", - "revision": "9a5feef2c172c481f443669b47150461" - }, - { - "url": "assets/js/40.b73ff2e9.js", - "revision": "d450daf0e8470af252744b8e2af6848e" - }, - { - "url": "assets/js/41.a97c74e6.js", - "revision": "56e27d95c15a772a2759e12995183096" - }, - { - "url": "assets/js/42.da549470.js", - "revision": "0861c7955a20ade5866308aef16d6b50" - }, - { - "url": "assets/js/43.ec225ed7.js", - "revision": "48e3861099614648bf4a5102bf313a69" - }, - { - "url": "assets/js/44.fd021a6d.js", - "revision": "e354ff85b1a3d2ee575e54c270ca3834" - }, - { - "url": "assets/js/45.087e2595.js", - "revision": "9e5c8420998b9d8348aa145ea6c54a01" - }, - { - "url": "assets/js/46.0d5eedf6.js", - "revision": "712d0c4366d9c16bdb6818bacf5c6661" - }, - { - "url": "assets/js/47.efc7b6ea.js", - "revision": "9241db0935dc96331118fc0f894e4591" - }, - { - "url": "assets/js/48.0ea34501.js", - "revision": "1cf5a10dac9435fb9b5bbf7d9e3618be" - }, - { - "url": "assets/js/49.77e4f78d.js", - "revision": "437db1f38d0fd0fe17bcd7032944c7d5" - }, - { - "url": "assets/js/5.5eec42b2.js", - "revision": "e4b4c7d0753bf566c6c818cdb00cf668" - }, - { - "url": "assets/js/6.45f432e0.js", - "revision": "60ccde4288669f03337bf24c931065d4" - }, - { - "url": "assets/js/7.1ebf8c89.js", - "revision": "c0e889803a633e4b6f64fb5063c861e8" - }, - { - "url": "assets/js/8.1694a43b.js", - "revision": "90efbbd5750ab55cafb259761b0fe4d1" - }, - { - "url": "assets/js/9.8a00c9a2.js", - "revision": "66408693f07b91abdadf1832bc6faed6" - }, - { - "url": "assets/js/app.9a6bfcf8.js", - "revision": "24a0954bb684165decf03722e1b6f25c" - }, - { - "url": "background__.png", - "revision": "5ac1f0ce419d38cd50f405c8384ef31c" - }, - { - "url": "background_.png", - "revision": "f0cb5c6080cc533cce01b7a7182940fe" - }, - { - "url": "background.png", - "revision": "b65b807cf368e4813b5b876f2a6887a3" - }, - { - "url": "blogs/about.html", - "revision": "1d49d65918db76b527d24cd32427970a" - }, - { - "url": "categories/index.html", - "revision": "74deeeaef6de4a250a4056a99999f366" - }, - { - "url": "docs/api_doc/group.html", - "revision": "0968672dc274ee276125c4d57ed50996" - }, - { - "url": "docs/api_doc/plugins.html", - "revision": "d928392c8d6d502b6ff9d46be360a9fd" - }, - { - "url": "docs/api_doc/request.html", - "revision": "3ddd290798495cd3a22ac7e58cc74436" - }, - { - "url": "docs/api_doc/system.html", - "revision": "cdc8a6640889ff8c05cb0836a4a5aef4" - }, - { - "url": "docs/development_doc/depends.html", - "revision": "a0ff48c4e1c5dedcb9c463353bc9a11a" - }, - { - "url": "docs/development_doc/plugins.html", - "revision": "4370d07a7edcbcdfa84a52cb43e18340" - }, - { - "url": "docs/development_doc/shop_handle.html", - "revision": "1996a53afc8cc9e15d8438a718f5e941" - }, - { - "url": "docs/development_doc/task_control.html", - "revision": "e985df58c382aebe8304809f9f60f3f4" - }, - { - "url": "docs/development_doc/utils.html", - "revision": "1aa23faafabb7ab2344d306d03dc36c4" - }, - { - "url": "docs/faq/index.html", - "revision": "5a21d299a722e81792ab26630276a4f3" - }, - { - "url": "docs/help_doc/basic_plugins/admin_plugins.html", - "revision": "b214fd1b3d6848eda51333920df96b6c" - }, - { - "url": "docs/help_doc/basic_plugins/common_plugins.html", - "revision": "098973840619f984fc66648b5bd167f7" - }, - { - "url": "docs/help_doc/basic_plugins/other_plugins.html", - "revision": "37324c4c42b424b6f798a3922de9a62d" - }, - { - "url": "docs/help_doc/basic_plugins/shop_plugins.html", - "revision": "4d6460899ad9c36111676d8dba2d234c" - }, - { - "url": "docs/help_doc/basic_plugins/superuser_plugins.html", - "revision": "4e6d58f332ba37a41fc077765e32213f" - }, - { - "url": "docs/help_doc/configs.html", - "revision": "f8c10a333537db8c999af3fb49f87da2" - }, - { - "url": "docs/help_doc/index.html", - "revision": "308cb24f72c83b0591d4f12ae0082a6a" - }, - { - "url": "docs/help_doc/plugins_index.html", - "revision": "9025e8dac3ba95d32a98521f4af6606b" - }, - { - "url": "docs/help_doc/public_plugins/admin_plugins.html", - "revision": "d06e0902aeabb5040446adbf18b8fc93" - }, - { - "url": "docs/help_doc/public_plugins/common_plugins/common_plugins.html", - "revision": "0c16345b71ff427ceb7ef0627cb90b21" - }, - { - "url": "docs/help_doc/public_plugins/draw_card_plugins/draw_card_plugins.html", - "revision": "e855a6ba1cce3f3709efd13e5cf58612" - }, - { - "url": "docs/help_doc/public_plugins/game_plugins/game_plugins.html", - "revision": "b658f999896837f861a48c4ed99d0e55" - }, - { - "url": "docs/help_doc/public_plugins/genshin_plugins/genshin_plugins.html", - "revision": "d7b78f027439be1d609ce6fe2f95d932" - }, - { - "url": "docs/help_doc/public_plugins/other_plugins/other_plugins.html", - "revision": "aa07e7857c4a814896b29df56e9549ff" - }, - { - "url": "docs/help_doc/public_plugins/pic_plugins/pic_plugins.html", - "revision": "38edd7130625b777f19b3d1debf21ba7" - }, - { - "url": "docs/help_doc/public_plugins/superuser_plugins.html", - "revision": "f9672112ec8566ad85bdffdc9af44f4c" - }, - { - "url": "docs/help_doc/public_plugins/utils_plugins/utils_plugins.html", - "revision": "a10c0718aabc13315193417e1a475621" - }, - { - "url": "docs/index.html", - "revision": "384bb6531899d9e0cf7d2c44d9465eb1" - }, - { - "url": "docs/installation_doc/index.html", - "revision": "e79e41c533fb0bb4c9001db16e0e5dc6" - }, - { - "url": "docs/installation_doc/install_gocq.html", - "revision": "e8b181a2270daa36b02eb67951e3a0a4" - }, - { - "url": "docs/installation_doc/install_webui.html", - "revision": "ec2a069ea798a84117d0a53b36cc4710" - }, - { - "url": "docs/installation_doc/install_zhenxun.html", - "revision": "9da6e485bbb00dadac6b45f5bf4fdedf" - }, - { - "url": "docs/installation_doc/psql_ubuntu.html", - "revision": "bd78909045aa825d35aa127781f94303" - }, - { - "url": "docs/installation_doc/psql_win.html", - "revision": "8498c216b757b228b6b1a16b80b876af" - }, - { - "url": "docs/installation_doc/start_.html", - "revision": "46a95966df74f4a33918566373221487" - }, - { - "url": "docs/update_log/index.html", - "revision": "fda6d898c3849f27d6f0c15e7fe0359c" - }, - { - "url": "gocq/gocq0.png", - "revision": "9ea372dcebceef63ef360d120c0eb898" - }, - { - "url": "gocq/gocq1.png", - "revision": "4694d1a7821898b8621582f34c20c199" - }, - { - "url": "gocq/gocq2.png", - "revision": "d2cdf4f890af39c5e3789485bb7ad493" - }, - { - "url": "gocq/gocq3.png", - "revision": "9fa7cd2c05babf0a498c17ec950d883c" - }, - { - "url": "index.html", - "revision": "933613d4311a9271a36aa167ac67c258" - }, - { - "url": "logo.png", - "revision": "247217ec9f22445d8f14aedcd1eb1b3f" - }, - { - "url": "postgresql/create_1.png", - "revision": "863be40de0b3454d95edd4b5afbedbd7" - }, - { - "url": "postgresql/create_2.png", - "revision": "a1e3dc7ae8147cf9e9870e68ddb557dd" - }, - { - "url": "postgresql/install_1.png", - "revision": "5777bf4ba4a1a1172182eee657245c61" - }, - { - "url": "postgresql/install_2.png", - "revision": "907ebdd500f2df69237451b10334eff8" - }, - { - "url": "postgresql/install_3.png", - "revision": "59ca7adde67b8e68dcaea233b5252062" - }, - { - "url": "postgresql/install_4.png", - "revision": "9cc4361c9a08e4ade722e3b31270ca0e" - }, - { - "url": "postgresql/install_5.png", - "revision": "9ed0b2ab767eb34068f75e401811ccee" - }, - { - "url": "postgresql/install_6.png", - "revision": "489eb199f1f7df0b383b0d75f9d454bd" - }, - { - "url": "postgresql/install_7.png", - "revision": "7dea74fa82198ea6316e670c6e8e6c83" - }, - { - "url": "postgresql/install_8.png", - "revision": "2abb8fe122be9862cf93ba2d63d51df1" - }, - { - "url": "postgresql/setup_1.png", - "revision": "3a5a246a983d67bb3bfd3225e5c9a263" - }, - { - "url": "postgresql/setup_2.png", - "revision": "30d41b29e3d7dda46ef64cdea8ada87b" - }, - { - "url": "postgresql/setup_3.png", - "revision": "68fbee110da8a9fc50cb87899c8a8779" - }, - { - "url": "postgresql/setup_4.png", - "revision": "ae893884245a94b585d390fe94df7962" - }, - { - "url": "postgresql/setup_5.png", - "revision": "b56415e9112c67a9dc1c1946a1820b5e" - }, - { - "url": "tag/index.html", - "revision": "f712eaa2fa270d3056210bdee6d5f025" - }, - { - "url": "timeline/index.html", - "revision": "ef772281ab28288106f6e070b6bfdbe7" - } -].concat(self.__precacheManifest || []); -workbox.precaching.precacheAndRoute(self.__precacheManifest, {}); -addEventListener('message', event => { - const replyPort = event.ports[0] - const message = event.data - if (replyPort && message && message.type === 'skip-waiting') { - event.waitUntil( - self.skipWaiting().then( - () => replyPort.postMessage({ error: null }), - error => replyPort.postMessage({ error }) - ) - ) - } -}) diff --git a/tag/index.html b/tag/index.html index df32b820e..3f911d2e0 100644 --- a/tag/index.html +++ b/tag/index.html @@ -9,15 +9,15 @@ - - + + - - + (opens new window)
                      All
                      123 Next Jump To Go
                        + diff --git a/timeline/index.html b/timeline/index.html index 1cb1594f2..2105f270f 100644 --- a/timeline/index.html +++ b/timeline/index.html @@ -9,15 +9,15 @@ - - + + - - + (opens new window)
                        • Yesterday Once More!
                          +