├── plugins ├── quiz-master │ ├── lib │ │ └── index.d.ts │ ├── package.json │ └── readme.md ├── content-guard │ ├── lib │ │ └── index.d.ts │ ├── Vocabulary │ │ └── 其他词库.txt │ ├── readme.md │ └── package.json ├── instance-backup │ ├── lib │ │ └── index.d.ts │ ├── readme.md │ └── package.json ├── jrys-prpr │ ├── fontpy │ │ └── characters.txt │ ├── data │ │ ├── 千图马克手写体lite.ttf │ │ └── backgroundFolder │ │ │ ├── miao.jpg │ │ │ └── 魔卡.txt │ ├── tsconfig.json │ ├── src │ │ └── utils │ │ │ └── image.ts │ └── package.json ├── local-audio-sender │ ├── lib │ │ └── index.d.ts │ ├── readme.md │ └── package.json ├── image-save-path │ └── lib │ │ └── index.d.ts ├── qq-markdown-button │ ├── lib │ │ ├── index.d.ts │ │ └── qq │ │ │ ├── raw │ │ │ ├── raw_markdown.md │ │ │ └── raw_markdown.json │ │ │ ├── json │ │ │ └── json.json │ │ │ └── markdown │ │ │ └── markdown.json │ └── package.json ├── furry-encode-decode │ ├── lib │ │ └── index.d.ts │ ├── package.json │ └── readme.md ├── keyword-blocker │ ├── lib │ │ └── index.d.ts │ └── package.json ├── martian-translator │ ├── lib │ │ └── index.d.ts │ ├── readme.md │ └── package.json ├── automation-console │ ├── lib │ │ └── index.d.ts │ ├── package.json │ └── readme.md ├── speechless-mind │ ├── lib │ │ └── index.d.ts │ ├── png │ │ └── 1.png │ ├── package.json │ └── readme.md ├── weather-qq-rainbowsky │ ├── lib │ │ └── index.d.ts │ ├── readme.md │ └── package.json ├── localpics-to-qqurls │ ├── lib │ │ └── index.d.ts │ ├── README.md │ └── package.json ├── screenshot-links │ ├── lib │ │ └── index.d.ts │ ├── package.json │ └── readme.md ├── storeluna │ └── lib │ │ └── index.d.ts ├── booru-custom-api │ ├── lib │ │ ├── index.d.ts │ │ ├── types.d.ts │ │ └── types.js │ ├── readme.md │ └── package.json ├── chouxianghua │ ├── readme.md │ ├── tsconfig.json │ └── package.json ├── huozi-generator │ ├── lib │ │ └── index.d.ts │ └── package.json ├── server-onebot │ ├── src │ │ ├── action │ │ │ ├── index.ts │ │ │ └── handlers │ │ │ │ └── index.ts │ │ └── network │ │ │ └── index.ts │ ├── tsconfig.json │ └── package.json ├── chat-patch │ ├── client │ │ ├── index.scss │ │ ├── icons │ │ │ ├── index.ts │ │ │ └── activity.vue │ │ └── index.ts │ ├── tsconfig.json │ ├── readme.md │ ├── package.json │ └── src │ │ └── types.ts ├── preview-help │ ├── client │ │ ├── index.scss │ │ └── index.ts │ ├── websrc │ │ ├── postcss.config.js │ │ ├── src │ │ │ ├── main.ts │ │ │ ├── vite-env.d.ts │ │ │ ├── components │ │ │ │ └── DynamicStyle.vue │ │ │ └── style.css │ │ ├── tailwind.config.js │ │ ├── tsconfig.node.json │ │ ├── index.html │ │ ├── vite.config.ts │ │ ├── package.json │ │ └── tsconfig.json │ ├── tsconfig.json │ ├── package.json │ └── readme.md ├── deer-pipe │ ├── png │ │ ├── 1 │ │ │ ├── 1.png │ │ │ └── 2.png │ │ └── 2 │ │ │ ├── 1.png │ │ │ └── 2.png │ ├── tsconfig.json │ └── package.json ├── testplugin │ ├── .gitattributes │ ├── readme.md │ ├── .editorconfig │ ├── tsconfig.json │ ├── .gitignore │ └── package.json ├── manosaba-memes │ ├── .gitattributes │ ├── assets │ │ ├── anan │ │ │ ├── 害羞.png │ │ │ ├── 开心.png │ │ │ ├── 无语.png │ │ │ ├── 生气.png │ │ │ ├── 病娇.png │ │ │ ├── base.png │ │ │ └── base_overlay.png │ │ └── trial │ │ │ ├── ema.png │ │ │ ├── hiro.png │ │ │ ├── black.png │ │ │ ├── doubt.png │ │ │ ├── option.png │ │ │ ├── agreement.png │ │ │ ├── perjury.png │ │ │ ├── background.png │ │ │ ├── magic_fuyuu.png │ │ │ ├── magic_hakka.png │ │ │ ├── refutation.png │ │ │ ├── magic_genshi.png │ │ │ ├── magic_kairiki.png │ │ │ ├── magic_monomane.png │ │ │ ├── magic_sennou.png │ │ │ ├── magic_senrigan.png │ │ │ ├── magic_irekawari.png │ │ │ ├── magic_chiyusaisei.png │ │ │ ├── magic_ekitaisousa.png │ │ │ ├── magic_majogoroshi.png │ │ │ ├── magic_shinimodori.png │ │ │ └── magic_shisenyuudou.png │ ├── .editorconfig │ ├── tsconfig.json │ ├── .gitignore │ └── package.json ├── patina │ ├── html │ │ └── pics │ │ │ └── camera.png │ ├── tsconfig.json │ └── package.json ├── chatluna-anuneko-api-adapter │ ├── .gitattributes │ ├── src │ │ ├── locales │ │ │ ├── zh-CN.schema.yml │ │ │ └── en-US.schema.yml │ │ └── logger.ts │ ├── .editorconfig │ ├── tsconfig.json │ ├── .gitignore │ └── readme.md ├── chatluna-public-api-adapter │ ├── .gitattributes │ ├── src │ │ ├── locales │ │ │ ├── zh-CN.schema.yml │ │ │ └── en-US.schema.yml │ │ └── logger.ts │ ├── .editorconfig │ ├── tsconfig.json │ ├── .gitignore │ └── readme.md ├── chatluna-another-public-api-adapter │ ├── .gitattributes │ ├── src │ │ ├── locales │ │ │ ├── zh-CN.schema.yml │ │ │ └── en-US.schema.yml │ │ └── logger.ts │ ├── .editorconfig │ ├── tsconfig.json │ ├── .gitignore │ └── readme.md ├── curriculum-table │ ├── font │ │ └── 方正像素12.ttf │ ├── tsconfig.json │ └── package.json ├── dialogue-webui │ ├── client │ │ ├── icons │ │ │ ├── index.ts │ │ │ └── dialogue.vue │ │ ├── index.ts │ │ ├── shims-vue.d.ts │ │ ├── index.scss │ │ └── types.ts │ ├── tsconfig.json │ ├── .gitignore │ ├── data │ │ └── usage.md │ ├── readme.md │ ├── LICENSE │ ├── package.json │ └── src │ │ └── utils.ts ├── idiom-dictionary │ ├── lib │ │ └── index.d.ts │ └── package.json ├── steam-friend-status-fork │ ├── data │ │ └── res │ │ │ ├── busy.png │ │ │ ├── bg_dots.png │ │ │ ├── gaming.png │ │ │ ├── zzz_gaming.png │ │ │ ├── zzz_online.png │ │ │ ├── parent_status.png │ │ │ ├── friends_search.png │ │ │ ├── unknown_avatar.jpg │ │ │ ├── default_header_image.jpg │ │ │ └── default_achievement_image.png │ ├── tsconfig.json │ └── package.json ├── certificate-achievement │ ├── data │ │ └── certificate-new.jpg │ ├── tsconfig.json │ ├── readme.md │ └── package.json ├── ademo │ ├── readme.md │ ├── tsconfig.json │ ├── package.json │ └── src │ │ └── index.ts ├── universal-translation │ ├── lib │ │ ├── config.d.ts │ │ ├── index.d.ts │ │ ├── service.d.ts │ │ ├── config.js │ │ ├── translator.js │ │ ├── translator.d.ts │ │ └── service.js │ ├── tsconfig.json │ ├── src │ │ ├── config.ts │ │ ├── translator.ts │ │ ├── service.ts │ │ └── index.ts │ └── package.json ├── assets-test │ ├── readme.md │ ├── tsconfig.json │ ├── package.json │ └── src │ │ └── index.ts ├── basedata │ ├── tsconfig.json │ ├── src │ │ └── index.ts │ └── package.json ├── dgluna │ ├── tsconfig.json │ ├── src │ │ └── config.ts │ └── package.json ├── dg-lab-ws │ ├── tsconfig.json │ ├── src │ │ ├── config.ts │ │ └── index.ts │ ├── readme.md │ └── package.json ├── emojihub-bili │ ├── tsconfig.json │ └── package.json ├── lmarena-api │ ├── tsconfig.json │ ├── readme.md │ └── package.json ├── sakana-widget │ ├── tsconfig.json │ ├── client │ │ ├── index.ts │ │ └── tsconfig.json │ ├── readme.md │ └── package.json ├── spell-wrong │ ├── tsconfig.json │ ├── package.json │ └── readme.md ├── adapter-nextchat │ ├── tsconfig.json │ ├── client │ │ └── index.ts │ ├── src │ │ ├── logger.ts │ │ └── types.ts │ └── package.json ├── assets-filebin-net │ ├── tsconfig.json │ └── package.json ├── assets-img-scdn-io │ ├── tsconfig.json │ ├── package.json │ └── readme.md ├── assets-xinyewapi │ ├── tsconfig.json │ ├── readme.md │ └── package.json ├── beta-dxl-bert-vits │ ├── tsconfig.json │ ├── resources │ │ ├── speakers_AWM2000_Gun-Bert-VITS2.json │ │ ├── speakers_AI电棍②_AWM2000_Gun-Bert-VITS2.json │ │ ├── speakers_MiDd1Eye_DZ-Bert-VITS2.json │ │ ├── speakers_xzjosh_Azuma1-Bert-VITS2.json │ │ ├── speakers_AI丁真_MiDd1Eye_DZ-Bert-VITS2.json │ │ ├── speakers_AI孙笑川_kxnb66_SXC-Bert-VITS2 (1).json │ │ ├── speakers_AI孙笑川_kxnb66_SXC-Bert-VITS2.json │ │ ├── speakers_MiDd1Eye_DZ3-Bert-VITS2.json │ │ ├── speakers_MiDd1Eye_SXC-Bert-VITS2.json │ │ ├── speakers_kozue001_Azuma-Bert-VITS2.json │ │ ├── speakers_xzjosh_Eileen-Bert-VITS2.json │ │ ├── speakers_xzjosh_Nailv-Bert-VITS2.json │ │ ├── speakers_AI丁真③_MiDd1Eye_DZ3-Bert-VITS2.json │ │ ├── speakers_AI东雪莲_kozue001_Azuma-Bert-VITS2.json │ │ ├── speakers_AI东雪莲_xzjosh_Azuma1-Bert-VITS2.json │ │ ├── speakers_AI乃琳_xzjosh_Eileen-Bert-VITS2.json │ │ ├── speakers_AI奶绿_xzjosh_Nailv-Bert-VITS2.json │ │ ├── speakers_AI孙笑川_MiDd1Eye_SXC-Bert-VITS2.json │ │ ├── speakers_xzjosh_LittleTaffy-Bert-VITS2.json │ │ ├── speakers_xzjosh_Taffy1.2-Bert-VITS2.json │ │ ├── speakers_AIHiiro_MiDd1Eye_Hiiro-Bert-VITS2.json │ │ ├── speakers_AI东雪莲_YunChenqwq_Azuma-Bert-VITS2.json │ │ ├── speakers_AI塔菲_xzjosh_Taffy1.2-Bert-VITS2.json │ │ ├── speakers_AI小菲_xzjosh_LittleTaffy-Bert-VITS2.json │ │ ├── speakers_AI幻象_MiDd1Eye_Mirage-Bert-VITS2.json │ │ ├── speakers_AI文静_xzjosh_Wenjing-Bert-VITS2.json │ │ ├── speakers_AI皮特174_MiDd1Eye_Pite-Bert-VITS2.json │ │ ├── speakers_kagarise_Nana7mi-Bert-VITS2.json │ │ ├── speakers_AI丁真_mt13048018187_DZ-Bert-VITS2.json │ │ ├── speakers_AI七海_kagarise_Nana7mi-Bert-VITS2.json │ │ ├── speakers_AI动力小子_MiDd1Eye_octane-Bert-VITS2.json │ │ ├── speakers_kagarise_XingTong-Bert-VITS2.json │ │ ├── speakers_AI弹道_MiDd1Eye_Ballistic-Bert-VITS2.json │ │ ├── speakers_AI播音员_MiDd1Eye_AiNotify-Bert-VITS2.json │ │ ├── speakers_AI文静_A285285285_Wenjing-Bert-VITS2.json │ │ ├── speakers_AI星瞳_kagarise_XingTong-Bert-VITS2.json │ │ ├── speakers_MiDd1Eye_LanYangYang-Bert-VITS2.json │ │ ├── speakers_在线语音生成(GPT)- AI塔菲_guoqiang9_Taffy-Bert-VITS2.json │ │ ├── speakers_AI寻血猎犬_MiDd1Eye_Bloodhound-Bert-VITS2.json │ │ ├── speakers_在线语音生成(GPT)- AI塔菲_aiboycoder_Taffy-Bert-VITS2.json │ │ ├── speakers_AI懒羊羊_MiDd1Eye_LanYangYang-Bert-VITS2.json │ │ ├── speakers_AI炫神2.1011_aaaachuang_Xuan-Bert-VITS2-2.10111.json │ │ └── speakers_AI探路者2.0_MiDd1Eye_Pathfinder2.0-Bert-VITS2.json │ ├── src │ │ └── types.ts │ ├── package.json │ └── readme.md ├── keyword-dialogue │ ├── tsconfig.json │ └── package.json ├── qqq-bot-manager │ ├── tsconfig.json │ └── package.json ├── assets-chevereto-fork │ ├── tsconfig.json │ ├── readme.md │ └── package.json ├── assets-img-remit-ee │ ├── tsconfig.json │ └── package.json ├── bilibili-dynamic-pusher │ ├── tsconfig.json │ ├── readme.md │ └── package.json ├── commands-cao │ ├── tsconfig.json │ └── package.json ├── impart-pro │ ├── tsconfig.json │ ├── src │ │ ├── types.ts │ │ └── index.ts │ └── package.json ├── mahoshojo-generator │ ├── tsconfig.json │ ├── readme.md │ └── package.json ├── autowithdraw-fix │ ├── tsconfig.json │ └── package.json ├── change-auth-callme │ ├── tsconfig.json │ ├── package.json │ └── readme.md ├── command-creator-extender │ ├── tsconfig.json │ └── package.json ├── image-upscale-bigjpg │ ├── tsconfig.json │ └── package.json ├── qrcode-service-null │ ├── tsconfig.json │ ├── src │ │ └── locales │ │ │ └── zh.yml │ ├── package.json │ ├── lib │ │ └── index.d.ts │ └── readme.md ├── bilibili-videolink-analysis │ ├── tsconfig.json │ └── package.json ├── bmi-calculator │ ├── readme.md │ ├── package.json │ └── lib │ │ └── index.d.ts ├── translator-youdaoavailable │ ├── lib │ │ └── index.d.ts │ ├── package.json │ └── readme.md ├── verse-match │ ├── package.json │ ├── readme.md │ └── lib │ │ └── index.d.ts └── lexicon-era-shift │ ├── package.json │ ├── readme.md │ └── lib │ └── index.d.ts ├── scripts ├── QQNT-version-scraper │ ├── yarn.lock │ └── package.json └── readme.md ├── .env ├── .editorconfig ├── .gitattributes ├── package.json ├── .gitignore ├── LICENSE.txt ├── publish ├── npmpublish │ └── LICENSE.txt └── npmpublish_temp │ └── LICENSE.txt └── .github └── ISSUE_TEMPLATE └── question.yml /plugins/quiz-master/lib/index.d.ts: -------------------------------------------------------------------------------- 1 | //哎 -------------------------------------------------------------------------------- /plugins/content-guard/lib/index.d.ts: -------------------------------------------------------------------------------- 1 | // 喵~ -------------------------------------------------------------------------------- /plugins/instance-backup/lib/index.d.ts: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------- /plugins/jrys-prpr/fontpy/characters.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /plugins/local-audio-sender/lib/index.d.ts: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------- /scripts/QQNT-version-scraper/yarn.lock: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /plugins/image-save-path/lib/index.d.ts: -------------------------------------------------------------------------------- 1 | // 喵喵~~~ -------------------------------------------------------------------------------- /plugins/qq-markdown-button/lib/index.d.ts: -------------------------------------------------------------------------------- 1 | // 喵喵~ -------------------------------------------------------------------------------- /plugins/furry-encode-decode/lib/index.d.ts: -------------------------------------------------------------------------------- 1 | /* 2 | */ -------------------------------------------------------------------------------- /plugins/keyword-blocker/lib/index.d.ts: -------------------------------------------------------------------------------- 1 | // 喵喵~ 这里没有人哦 -------------------------------------------------------------------------------- /plugins/martian-translator/lib/index.d.ts: -------------------------------------------------------------------------------- 1 | /* 2 | */ -------------------------------------------------------------------------------- /plugins/automation-console/lib/index.d.ts: -------------------------------------------------------------------------------- 1 | //喵喵 ~~~~ 这里没有人哦 -------------------------------------------------------------------------------- /plugins/speechless-mind/lib/index.d.ts: -------------------------------------------------------------------------------- 1 | //喵喵 ~~~~ 这里没有人哦 -------------------------------------------------------------------------------- /plugins/weather-qq-rainbowsky/lib/index.d.ts: -------------------------------------------------------------------------------- 1 | /* 2 | */ -------------------------------------------------------------------------------- /plugins/instance-backup/readme.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 这里还什么都没有 -------------------------------------------------------------------------------- /plugins/localpics-to-qqurls/lib/index.d.ts: -------------------------------------------------------------------------------- 1 | /* 2 | 自用小插件 3 | */ -------------------------------------------------------------------------------- /plugins/screenshot-links/lib/index.d.ts: -------------------------------------------------------------------------------- 1 | //喵喵~~~~ 2 | // 这里没有人哦~ -------------------------------------------------------------------------------- /plugins/storeluna/lib/index.d.ts: -------------------------------------------------------------------------------- 1 | export * from './node'; 2 | -------------------------------------------------------------------------------- /plugins/booru-custom-api/lib/index.d.ts: -------------------------------------------------------------------------------- 1 | 2 | // 什么? ts? 吃掉了哦~ 3 | -------------------------------------------------------------------------------- /plugins/booru-custom-api/lib/types.d.ts: -------------------------------------------------------------------------------- 1 | 2 | // 什么? ts? 吃掉了哦~ 3 | -------------------------------------------------------------------------------- /plugins/chouxianghua/readme.md: -------------------------------------------------------------------------------- 1 | # koishi-plugin-chouxianghua 2 | 3 | 这里还什么都没有 -------------------------------------------------------------------------------- /plugins/huozi-generator/lib/index.d.ts: -------------------------------------------------------------------------------- 1 | /* 2 | otto好耶~ 3 | 但是我好想不太懂抽象。。。 4 | */ -------------------------------------------------------------------------------- /scripts/readme.md: -------------------------------------------------------------------------------- 1 | ## 与此项目有关的辅助工具 2 | 3 | 可能是 koishi-shangxue-apps 产生的周边脚本? 4 | -------------------------------------------------------------------------------- /plugins/qq-markdown-button/lib/qq/raw/raw_markdown.md: -------------------------------------------------------------------------------- 1 | # 你好啊 2 | 3 | 这是一个markdown消息哦~ -------------------------------------------------------------------------------- /plugins/server-onebot/src/action/index.ts: -------------------------------------------------------------------------------- 1 | export * from './router' 2 | export * from './handlers' -------------------------------------------------------------------------------- /plugins/server-onebot/src/network/index.ts: -------------------------------------------------------------------------------- 1 | export * from './websocket-server' 2 | export * from './websocket-client' -------------------------------------------------------------------------------- /plugins/booru-custom-api/lib/types.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | -------------------------------------------------------------------------------- /plugins/chat-patch/client/index.scss: -------------------------------------------------------------------------------- 1 | .layout-iframe { 2 | width: 100%; 3 | height: 100%; 4 | border: none; 5 | } -------------------------------------------------------------------------------- /plugins/preview-help/client/index.scss: -------------------------------------------------------------------------------- 1 | .layout-iframe { 2 | width: 100%; 3 | height: 100%; 4 | border: none; 5 | } -------------------------------------------------------------------------------- /plugins/deer-pipe/png/1/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koishi-shangxue-plugins/koishi-shangxue-apps/HEAD/plugins/deer-pipe/png/1/1.png -------------------------------------------------------------------------------- /plugins/deer-pipe/png/1/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koishi-shangxue-plugins/koishi-shangxue-apps/HEAD/plugins/deer-pipe/png/1/2.png -------------------------------------------------------------------------------- /plugins/deer-pipe/png/2/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koishi-shangxue-plugins/koishi-shangxue-apps/HEAD/plugins/deer-pipe/png/2/1.png -------------------------------------------------------------------------------- /plugins/deer-pipe/png/2/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koishi-shangxue-plugins/koishi-shangxue-apps/HEAD/plugins/deer-pipe/png/2/2.png -------------------------------------------------------------------------------- /plugins/testplugin/.gitattributes: -------------------------------------------------------------------------------- 1 | * text eol=lf 2 | 3 | *.png -text 4 | *.jpg -text 5 | *.ico -text 6 | *.gif -text 7 | *.webp -text 8 | -------------------------------------------------------------------------------- /plugins/manosaba-memes/.gitattributes: -------------------------------------------------------------------------------- 1 | * text eol=lf 2 | 3 | *.png -text 4 | *.jpg -text 5 | *.ico -text 6 | *.gif -text 7 | *.webp -text 8 | -------------------------------------------------------------------------------- /plugins/speechless-mind/png/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koishi-shangxue-plugins/koishi-shangxue-apps/HEAD/plugins/speechless-mind/png/1.png -------------------------------------------------------------------------------- /plugins/patina/html/pics/camera.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koishi-shangxue-plugins/koishi-shangxue-apps/HEAD/plugins/patina/html/pics/camera.png -------------------------------------------------------------------------------- /plugins/chatluna-anuneko-api-adapter/.gitattributes: -------------------------------------------------------------------------------- 1 | * text eol=lf 2 | 3 | *.png -text 4 | *.jpg -text 5 | *.ico -text 6 | *.gif -text 7 | *.webp -text 8 | -------------------------------------------------------------------------------- /plugins/chatluna-public-api-adapter/.gitattributes: -------------------------------------------------------------------------------- 1 | * text eol=lf 2 | 3 | *.png -text 4 | *.jpg -text 5 | *.ico -text 6 | *.gif -text 7 | *.webp -text 8 | -------------------------------------------------------------------------------- /plugins/jrys-prpr/data/千图马克手写体lite.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koishi-shangxue-plugins/koishi-shangxue-apps/HEAD/plugins/jrys-prpr/data/千图马克手写体lite.ttf -------------------------------------------------------------------------------- /plugins/preview-help/websrc/postcss.config.js: -------------------------------------------------------------------------------- 1 | export default { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | }, 6 | } -------------------------------------------------------------------------------- /plugins/chatluna-another-public-api-adapter/.gitattributes: -------------------------------------------------------------------------------- 1 | * text eol=lf 2 | 3 | *.png -text 4 | *.jpg -text 5 | *.ico -text 6 | *.gif -text 7 | *.webp -text 8 | -------------------------------------------------------------------------------- /plugins/curriculum-table/font/方正像素12.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koishi-shangxue-plugins/koishi-shangxue-apps/HEAD/plugins/curriculum-table/font/方正像素12.ttf -------------------------------------------------------------------------------- /plugins/manosaba-memes/assets/anan/害羞.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koishi-shangxue-plugins/koishi-shangxue-apps/HEAD/plugins/manosaba-memes/assets/anan/害羞.png -------------------------------------------------------------------------------- /plugins/manosaba-memes/assets/anan/开心.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koishi-shangxue-plugins/koishi-shangxue-apps/HEAD/plugins/manosaba-memes/assets/anan/开心.png -------------------------------------------------------------------------------- /plugins/manosaba-memes/assets/anan/无语.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koishi-shangxue-plugins/koishi-shangxue-apps/HEAD/plugins/manosaba-memes/assets/anan/无语.png -------------------------------------------------------------------------------- /plugins/manosaba-memes/assets/anan/生气.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koishi-shangxue-plugins/koishi-shangxue-apps/HEAD/plugins/manosaba-memes/assets/anan/生气.png -------------------------------------------------------------------------------- /plugins/manosaba-memes/assets/anan/病娇.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koishi-shangxue-plugins/koishi-shangxue-apps/HEAD/plugins/manosaba-memes/assets/anan/病娇.png -------------------------------------------------------------------------------- /plugins/manosaba-memes/assets/anan/base.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koishi-shangxue-plugins/koishi-shangxue-apps/HEAD/plugins/manosaba-memes/assets/anan/base.png -------------------------------------------------------------------------------- /plugins/manosaba-memes/assets/trial/ema.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koishi-shangxue-plugins/koishi-shangxue-apps/HEAD/plugins/manosaba-memes/assets/trial/ema.png -------------------------------------------------------------------------------- /plugins/manosaba-memes/assets/trial/hiro.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koishi-shangxue-plugins/koishi-shangxue-apps/HEAD/plugins/manosaba-memes/assets/trial/hiro.png -------------------------------------------------------------------------------- /plugins/preview-help/websrc/src/main.ts: -------------------------------------------------------------------------------- 1 | import { createApp } from 'vue' 2 | import './style.css' 3 | import App from './App.vue' 4 | 5 | createApp(App).mount('#app') -------------------------------------------------------------------------------- /plugins/chatluna-public-api-adapter/src/locales/zh-CN.schema.yml: -------------------------------------------------------------------------------- 1 | $inner: 2 | - {} 3 | - $desc: 适配器配置 4 | platform: 设置适配器平台名称。 5 | loggerinfo: 日志调试模式 6 | -------------------------------------------------------------------------------- /plugins/manosaba-memes/assets/trial/black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koishi-shangxue-plugins/koishi-shangxue-apps/HEAD/plugins/manosaba-memes/assets/trial/black.png -------------------------------------------------------------------------------- /plugins/manosaba-memes/assets/trial/doubt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koishi-shangxue-plugins/koishi-shangxue-apps/HEAD/plugins/manosaba-memes/assets/trial/doubt.png -------------------------------------------------------------------------------- /plugins/manosaba-memes/assets/trial/option.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koishi-shangxue-plugins/koishi-shangxue-apps/HEAD/plugins/manosaba-memes/assets/trial/option.png -------------------------------------------------------------------------------- /plugins/chat-patch/client/icons/index.ts: -------------------------------------------------------------------------------- 1 | import { icons } from '@koishijs/client' 2 | import Activity from './activity.vue' 3 | 4 | icons.register('activity:chat', Activity) 5 | -------------------------------------------------------------------------------- /plugins/chatluna-anuneko-api-adapter/src/locales/zh-CN.schema.yml: -------------------------------------------------------------------------------- 1 | platform: 平台名称 2 | xToken: anuneko API 的 x-token 3 | cookie: anuneko API 的 Cookie(可选) 4 | loggerinfo: 日志调试模式 5 | -------------------------------------------------------------------------------- /plugins/jrys-prpr/data/backgroundFolder/miao.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koishi-shangxue-plugins/koishi-shangxue-apps/HEAD/plugins/jrys-prpr/data/backgroundFolder/miao.jpg -------------------------------------------------------------------------------- /plugins/manosaba-memes/assets/trial/agreement.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koishi-shangxue-plugins/koishi-shangxue-apps/HEAD/plugins/manosaba-memes/assets/trial/agreement.png -------------------------------------------------------------------------------- /plugins/manosaba-memes/assets/trial/perjury.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koishi-shangxue-plugins/koishi-shangxue-apps/HEAD/plugins/manosaba-memes/assets/trial/perjury.png -------------------------------------------------------------------------------- /plugins/chatluna-another-public-api-adapter/src/locales/zh-CN.schema.yml: -------------------------------------------------------------------------------- 1 | $inner: 2 | - {} 3 | - $desc: 适配器配置 4 | platform: 设置适配器平台名称。 5 | loggerinfo: 日志调试模式 6 | -------------------------------------------------------------------------------- /plugins/dialogue-webui/client/icons/index.ts: -------------------------------------------------------------------------------- 1 | import { icons } from '@koishijs/client' 2 | import Dialogue from './dialogue.vue' 3 | 4 | icons.register('activity:dialogue', Dialogue) -------------------------------------------------------------------------------- /plugins/idiom-dictionary/lib/index.d.ts: -------------------------------------------------------------------------------- 1 | import { Context } from "koishi"; 2 | 3 | 4 | interface PoetCraft { 5 | apply(ctx: Context): void; 6 | } 7 | 8 | // 哈? ts在哪? 吃掉了 -------------------------------------------------------------------------------- /plugins/manosaba-memes/assets/anan/base_overlay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koishi-shangxue-plugins/koishi-shangxue-apps/HEAD/plugins/manosaba-memes/assets/anan/base_overlay.png -------------------------------------------------------------------------------- /plugins/manosaba-memes/assets/trial/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koishi-shangxue-plugins/koishi-shangxue-apps/HEAD/plugins/manosaba-memes/assets/trial/background.png -------------------------------------------------------------------------------- /plugins/manosaba-memes/assets/trial/magic_fuyuu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koishi-shangxue-plugins/koishi-shangxue-apps/HEAD/plugins/manosaba-memes/assets/trial/magic_fuyuu.png -------------------------------------------------------------------------------- /plugins/manosaba-memes/assets/trial/magic_hakka.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koishi-shangxue-plugins/koishi-shangxue-apps/HEAD/plugins/manosaba-memes/assets/trial/magic_hakka.png -------------------------------------------------------------------------------- /plugins/manosaba-memes/assets/trial/refutation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koishi-shangxue-plugins/koishi-shangxue-apps/HEAD/plugins/manosaba-memes/assets/trial/refutation.png -------------------------------------------------------------------------------- /plugins/steam-friend-status-fork/data/res/busy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koishi-shangxue-plugins/koishi-shangxue-apps/HEAD/plugins/steam-friend-status-fork/data/res/busy.png -------------------------------------------------------------------------------- /.env: -------------------------------------------------------------------------------- 1 | GITHUB_MIRROR = https://ghproxy.com/https://github.com 2 | GITHUB_CONTENT_MIRROR = https://ghproxy.com/https://raw.githubusercontent.com 3 | GRAVATAR_MIRROR = https://cravatar.cn 4 | -------------------------------------------------------------------------------- /plugins/manosaba-memes/assets/trial/magic_genshi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koishi-shangxue-plugins/koishi-shangxue-apps/HEAD/plugins/manosaba-memes/assets/trial/magic_genshi.png -------------------------------------------------------------------------------- /plugins/manosaba-memes/assets/trial/magic_kairiki.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koishi-shangxue-plugins/koishi-shangxue-apps/HEAD/plugins/manosaba-memes/assets/trial/magic_kairiki.png -------------------------------------------------------------------------------- /plugins/manosaba-memes/assets/trial/magic_monomane.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koishi-shangxue-plugins/koishi-shangxue-apps/HEAD/plugins/manosaba-memes/assets/trial/magic_monomane.png -------------------------------------------------------------------------------- /plugins/manosaba-memes/assets/trial/magic_sennou.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koishi-shangxue-plugins/koishi-shangxue-apps/HEAD/plugins/manosaba-memes/assets/trial/magic_sennou.png -------------------------------------------------------------------------------- /plugins/manosaba-memes/assets/trial/magic_senrigan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koishi-shangxue-plugins/koishi-shangxue-apps/HEAD/plugins/manosaba-memes/assets/trial/magic_senrigan.png -------------------------------------------------------------------------------- /plugins/steam-friend-status-fork/data/res/bg_dots.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koishi-shangxue-plugins/koishi-shangxue-apps/HEAD/plugins/steam-friend-status-fork/data/res/bg_dots.png -------------------------------------------------------------------------------- /plugins/steam-friend-status-fork/data/res/gaming.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koishi-shangxue-plugins/koishi-shangxue-apps/HEAD/plugins/steam-friend-status-fork/data/res/gaming.png -------------------------------------------------------------------------------- /plugins/certificate-achievement/data/certificate-new.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koishi-shangxue-plugins/koishi-shangxue-apps/HEAD/plugins/certificate-achievement/data/certificate-new.jpg -------------------------------------------------------------------------------- /plugins/manosaba-memes/assets/trial/magic_irekawari.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koishi-shangxue-plugins/koishi-shangxue-apps/HEAD/plugins/manosaba-memes/assets/trial/magic_irekawari.png -------------------------------------------------------------------------------- /plugins/steam-friend-status-fork/data/res/zzz_gaming.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koishi-shangxue-plugins/koishi-shangxue-apps/HEAD/plugins/steam-friend-status-fork/data/res/zzz_gaming.png -------------------------------------------------------------------------------- /plugins/steam-friend-status-fork/data/res/zzz_online.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koishi-shangxue-plugins/koishi-shangxue-apps/HEAD/plugins/steam-friend-status-fork/data/res/zzz_online.png -------------------------------------------------------------------------------- /plugins/manosaba-memes/assets/trial/magic_chiyusaisei.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koishi-shangxue-plugins/koishi-shangxue-apps/HEAD/plugins/manosaba-memes/assets/trial/magic_chiyusaisei.png -------------------------------------------------------------------------------- /plugins/manosaba-memes/assets/trial/magic_ekitaisousa.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koishi-shangxue-plugins/koishi-shangxue-apps/HEAD/plugins/manosaba-memes/assets/trial/magic_ekitaisousa.png -------------------------------------------------------------------------------- /plugins/manosaba-memes/assets/trial/magic_majogoroshi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koishi-shangxue-plugins/koishi-shangxue-apps/HEAD/plugins/manosaba-memes/assets/trial/magic_majogoroshi.png -------------------------------------------------------------------------------- /plugins/manosaba-memes/assets/trial/magic_shinimodori.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koishi-shangxue-plugins/koishi-shangxue-apps/HEAD/plugins/manosaba-memes/assets/trial/magic_shinimodori.png -------------------------------------------------------------------------------- /plugins/manosaba-memes/assets/trial/magic_shisenyuudou.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koishi-shangxue-plugins/koishi-shangxue-apps/HEAD/plugins/manosaba-memes/assets/trial/magic_shisenyuudou.png -------------------------------------------------------------------------------- /plugins/steam-friend-status-fork/data/res/parent_status.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koishi-shangxue-plugins/koishi-shangxue-apps/HEAD/plugins/steam-friend-status-fork/data/res/parent_status.png -------------------------------------------------------------------------------- /plugins/ademo/readme.md: -------------------------------------------------------------------------------- 1 | # koishi-plugin-ademo 2 | 3 | [![npm](https://img.shields.io/npm/v/koishi-plugin-ademo?style=flat-square)](https://www.npmjs.com/package/koishi-plugin-ademo) 4 | 5 | ademo 6 | -------------------------------------------------------------------------------- /plugins/steam-friend-status-fork/data/res/friends_search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koishi-shangxue-plugins/koishi-shangxue-apps/HEAD/plugins/steam-friend-status-fork/data/res/friends_search.png -------------------------------------------------------------------------------- /plugins/steam-friend-status-fork/data/res/unknown_avatar.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koishi-shangxue-plugins/koishi-shangxue-apps/HEAD/plugins/steam-friend-status-fork/data/res/unknown_avatar.jpg -------------------------------------------------------------------------------- /plugins/universal-translation/lib/config.d.ts: -------------------------------------------------------------------------------- 1 | import { Schema } from "koishi"; 2 | export interface Config { 3 | defaultTargetLang: string; 4 | } 5 | export declare const Config: Schema; 6 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | insert_final_newline = true 5 | indent_style = space 6 | indent_size = 2 7 | end_of_line = lf 8 | charset = utf-8 9 | trim_trailing_whitespace = true 10 | -------------------------------------------------------------------------------- /plugins/chatluna-anuneko-api-adapter/src/locales/en-US.schema.yml: -------------------------------------------------------------------------------- 1 | platform: Platform name 2 | xToken: x-token for anuneko API 3 | cookie: Cookie for anuneko API (optional) 4 | loggerinfo: Logger debug mode 5 | -------------------------------------------------------------------------------- /plugins/steam-friend-status-fork/data/res/default_header_image.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koishi-shangxue-plugins/koishi-shangxue-apps/HEAD/plugins/steam-friend-status-fork/data/res/default_header_image.jpg -------------------------------------------------------------------------------- /plugins/chatluna-public-api-adapter/src/locales/en-US.schema.yml: -------------------------------------------------------------------------------- 1 | $inner: 2 | - {} 3 | - $desc: 'Adapter Configuration' 4 | platform: 'Adapter platform name' 5 | loggerinfo: 'Logger debug mode' 6 | -------------------------------------------------------------------------------- /plugins/testplugin/readme.md: -------------------------------------------------------------------------------- 1 | # koishi-plugin-testplugin 2 | 3 | [![npm](https://img.shields.io/npm/v/koishi-plugin-testplugin?style=flat-square)](https://www.npmjs.com/package/koishi-plugin-testplugin) 4 | 5 | 6 | -------------------------------------------------------------------------------- /plugins/ademo/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./../../../../tsconfig", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "lib" 6 | }, 7 | "include": [ 8 | "src" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /plugins/assets-test/readme.md: -------------------------------------------------------------------------------- 1 | # koishi-plugin-assets-test 2 | 3 | [![npm](https://img.shields.io/npm/v/koishi-plugin-assets-test?style=flat-square)](https://www.npmjs.com/package/koishi-plugin-assets-test) 4 | 5 | 6 | -------------------------------------------------------------------------------- /plugins/basedata/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./../../../../tsconfig", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "lib" 6 | }, 7 | "include": [ 8 | "src" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /plugins/dgluna/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./../../../../tsconfig", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "lib" 6 | }, 7 | "include": [ 8 | "src" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /plugins/dialogue-webui/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./../../../../tsconfig", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "lib" 6 | }, 7 | "include": [ 8 | "src" 9 | ] 10 | } -------------------------------------------------------------------------------- /plugins/steam-friend-status-fork/data/res/default_achievement_image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/koishi-shangxue-plugins/koishi-shangxue-apps/HEAD/plugins/steam-friend-status-fork/data/res/default_achievement_image.png -------------------------------------------------------------------------------- /plugins/assets-test/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./../../../../tsconfig", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "lib" 6 | }, 7 | "include": [ 8 | "src" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /plugins/chat-patch/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./../../../../tsconfig", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "lib" 6 | }, 7 | "include": [ 8 | "src" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /plugins/chatluna-another-public-api-adapter/src/locales/en-US.schema.yml: -------------------------------------------------------------------------------- 1 | $inner: 2 | - {} 3 | - $desc: 'Adapter Configuration' 4 | platform: 'Adapter platform name' 5 | loggerinfo: 'Logger debug mode' 6 | -------------------------------------------------------------------------------- /plugins/chouxianghua/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./../../../../tsconfig", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "lib" 6 | }, 7 | "include": [ 8 | "src" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /plugins/dg-lab-ws/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./../../../../tsconfig", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "lib" 6 | }, 7 | "include": [ 8 | "src" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /plugins/emojihub-bili/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./../../../../tsconfig", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "lib" 6 | }, 7 | "include": [ 8 | "src" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /plugins/lmarena-api/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./../../../../tsconfig", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "lib" 6 | }, 7 | "include": [ 8 | "src" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /plugins/martian-translator/readme.md: -------------------------------------------------------------------------------- 1 | # koishi-plugin-martian-translator 2 | 3 | [![npm](https://img.shields.io/npm/v/koishi-plugin-martian-translator.svg)](https://www.npmjs.com/package/koishi-plugin-martian-translator) 4 | -------------------------------------------------------------------------------- /plugins/sakana-widget/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./../../../../tsconfig", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "lib" 6 | }, 7 | "include": [ 8 | "src" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /plugins/server-onebot/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./../../../../tsconfig", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "lib" 6 | }, 7 | "include": [ 8 | "src" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /plugins/spell-wrong/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./../../../../tsconfig", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "lib" 6 | }, 7 | "include": [ 8 | "src" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /plugins/testplugin/.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | insert_final_newline = true 5 | indent_style = space 6 | indent_size = 2 7 | end_of_line = lf 8 | charset = utf-8 9 | trim_trailing_whitespace = true 10 | -------------------------------------------------------------------------------- /plugins/testplugin/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./../../../../tsconfig", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "lib" 6 | }, 7 | "include": [ 8 | "src" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto 2 | 3 | *.png -text 4 | *.jpg -text 5 | *.ico -text 6 | *.gif -text 7 | *.webp -text 8 | 9 | * linguist-vendored 10 | plugins/*/src/** -linguist-vendored 11 | yarn-*.cjs linguist-vendored 12 | -------------------------------------------------------------------------------- /plugins/adapter-nextchat/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./../../../../tsconfig", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "lib" 6 | }, 7 | "include": [ 8 | "src" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /plugins/assets-filebin-net/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./../../../../tsconfig", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "lib" 6 | }, 7 | "include": [ 8 | "src" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /plugins/assets-img-scdn-io/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./../../../../tsconfig", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "lib" 6 | }, 7 | "include": [ 8 | "src" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /plugins/assets-xinyewapi/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./../../../../tsconfig", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "lib" 6 | }, 7 | "include": [ 8 | "src" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /plugins/beta-dxl-bert-vits/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./../../../../tsconfig", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "lib" 6 | }, 7 | "include": [ 8 | "src" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /plugins/curriculum-table/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./../../../../tsconfig", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "lib" 6 | }, 7 | "include": [ 8 | "src" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /plugins/keyword-dialogue/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./../../../../tsconfig", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "lib" 6 | }, 7 | "include": [ 8 | "src" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /plugins/manosaba-memes/.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | insert_final_newline = true 5 | indent_style = space 6 | indent_size = 2 7 | end_of_line = lf 8 | charset = utf-8 9 | trim_trailing_whitespace = true 10 | -------------------------------------------------------------------------------- /plugins/manosaba-memes/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./../../../../tsconfig", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "lib" 6 | }, 7 | "include": [ 8 | "src" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /plugins/patina/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./../../../../tsconfig", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "lib" 6 | }, 7 | "include": [ 8 | "src" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /plugins/qqq-bot-manager/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./../../../../tsconfig", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "lib" 6 | }, 7 | "include": [ 8 | "src" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /plugins/assets-chevereto-fork/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./../../../../tsconfig", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "lib" 6 | }, 7 | "include": [ 8 | "src" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /plugins/assets-img-remit-ee/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./../../../../tsconfig", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "lib" 6 | }, 7 | "include": [ 8 | "src" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /plugins/bilibili-dynamic-pusher/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./../../../../tsconfig", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "lib" 6 | }, 7 | "include": [ 8 | "src" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /plugins/commands-cao/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./../../../../tsconfig", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "lib" 6 | }, 7 | "include": [ 8 | "src" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /plugins/deer-pipe/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./../../../../tsconfig", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "lib" 6 | }, 7 | "include": [ 8 | "src" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /plugins/impart-pro/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./../../../../tsconfig", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "lib" 6 | }, 7 | "include": [ 8 | "src" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /plugins/jrys-prpr/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./../../../../tsconfig", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "lib" 6 | }, 7 | "include": [ 8 | "src" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /plugins/mahoshojo-generator/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./../../../../tsconfig", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "lib" 6 | }, 7 | "include": [ 8 | "src" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /plugins/preview-help/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./../../../../tsconfig", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "lib" 6 | }, 7 | "include": [ 8 | "src" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /plugins/universal-translation/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./../../../../tsconfig", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "lib" 6 | }, 7 | "include": [ 8 | "src" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /plugins/autowithdraw-fix/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./../../../../tsconfig", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "lib" 6 | }, 7 | "include": [ 8 | "src" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /plugins/change-auth-callme/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./../../../../tsconfig", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "lib" 6 | }, 7 | "include": [ 8 | "src" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /plugins/chatluna-anuneko-api-adapter/.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | insert_final_newline = true 5 | indent_style = space 6 | indent_size = 2 7 | end_of_line = lf 8 | charset = utf-8 9 | trim_trailing_whitespace = true 10 | -------------------------------------------------------------------------------- /plugins/chatluna-anuneko-api-adapter/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./../../../../tsconfig", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "lib" 6 | }, 7 | "include": [ 8 | "src" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /plugins/chatluna-public-api-adapter/.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | insert_final_newline = true 5 | indent_style = space 6 | indent_size = 2 7 | end_of_line = lf 8 | charset = utf-8 9 | trim_trailing_whitespace = true 10 | -------------------------------------------------------------------------------- /plugins/chatluna-public-api-adapter/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./../../../../tsconfig", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "lib" 6 | }, 7 | "include": [ 8 | "src" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /plugins/command-creator-extender/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./../../../../tsconfig", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "lib" 6 | }, 7 | "include": [ 8 | "src" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /plugins/certificate-achievement/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./../../../../tsconfig", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "lib" 6 | }, 7 | "include": [ 8 | "src" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /plugins/image-upscale-bigjpg/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./../../../../tsconfig", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "lib" 6 | }, 7 | "include": [ 8 | "src" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /plugins/qrcode-service-null/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./../../../../tsconfig", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "lib" 6 | }, 7 | "include": [ 8 | "src" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /plugins/bilibili-videolink-analysis/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./../../../../tsconfig", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "lib" 6 | }, 7 | "include": [ 8 | "src" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /plugins/chatluna-another-public-api-adapter/.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | insert_final_newline = true 5 | indent_style = space 6 | indent_size = 2 7 | end_of_line = lf 8 | charset = utf-8 9 | trim_trailing_whitespace = true 10 | -------------------------------------------------------------------------------- /plugins/chatluna-another-public-api-adapter/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./../../../../tsconfig", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "lib" 6 | }, 7 | "include": [ 8 | "src" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /plugins/steam-friend-status-fork/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./../../../../tsconfig", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "lib" 6 | }, 7 | "include": [ 8 | "src" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /plugins/certificate-achievement/readme.md: -------------------------------------------------------------------------------- 1 | # koishi-plugin-certificate-achievement 2 | 3 | [![npm](https://img.shields.io/npm/v/koishi-plugin-certificate-achievement?style=flat-square)](https://www.npmjs.com/package/koishi-plugin-certificate-achievement) 4 | -------------------------------------------------------------------------------- /plugins/local-audio-sender/readme.md: -------------------------------------------------------------------------------- 1 | # koishi-plugin-local-audio-sender 2 | 3 | [![npm](https://img.shields.io/npm/v/koishi-plugin-local-audio-sender?style=flat-square)](https://www.npmjs.com/package/koishi-plugin-local-audio-sender) 4 | 5 | 指定关键词发送指定音频 6 | -------------------------------------------------------------------------------- /plugins/preview-help/websrc/src/vite-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | 3 | declare module '*.vue' { 4 | import type { DefineComponent } from 'vue' 5 | const component: DefineComponent<{}, {}, any> 6 | export default component 7 | } -------------------------------------------------------------------------------- /plugins/qq-markdown-button/lib/qq/json/json.json: -------------------------------------------------------------------------------- 1 | { 2 | "msg_id": "${session.messageId}", 3 | "event_id": "${INTERACTION_CREATE}", 4 | "msg_type": 2, 5 | "content": "", 6 | "keyboard": { 7 | "id": "${config.json_button_id}" 8 | } 9 | } -------------------------------------------------------------------------------- /plugins/sakana-widget/client/index.ts: -------------------------------------------------------------------------------- 1 | import { Context } from '@koishijs/client' 2 | import SakanaWidget from './sakana-widget.vue' 3 | 4 | export default (ctx: Context) => { 5 | ctx.slot({ 6 | type: 'global', 7 | component: SakanaWidget 8 | }) 9 | } -------------------------------------------------------------------------------- /plugins/testplugin/.gitignore: -------------------------------------------------------------------------------- 1 | lib 2 | dist 3 | external 4 | 5 | node_modules 6 | npm-debug.log 7 | yarn-debug.log 8 | yarn-error.log 9 | tsconfig.tsbuildinfo 10 | 11 | .eslintcache 12 | .DS_Store 13 | .idea 14 | .vscode 15 | *.suo 16 | *.ntvs* 17 | *.njsproj 18 | *.sln 19 | -------------------------------------------------------------------------------- /plugins/weather-qq-rainbowsky/readme.md: -------------------------------------------------------------------------------- 1 | # koishi-plugin-weather-qq-rainbowsky 2 | 3 | [![npm](https://img.shields.io/npm/v/koishi-plugin-weather-qq-rainbowsky?style=flat-square)](https://www.npmjs.com/package/koishi-plugin-weather-qq-rainbowsky) 4 | 5 | 天气查询插件,支持查询实时天气以及未来天气预报。 6 | -------------------------------------------------------------------------------- /plugins/dialogue-webui/.gitignore: -------------------------------------------------------------------------------- 1 | lib 2 | dist 3 | 4 | node_modules 5 | npm-debug.log 6 | yarn-debug.log 7 | yarn-error.log 8 | tsconfig.tsbuildinfo 9 | 10 | .eslintcache 11 | .DS_Store 12 | .idea 13 | .vscode 14 | *.suo 15 | *.ntvs* 16 | *.njsproj 17 | *.sln 18 | .yarn 19 | docs -------------------------------------------------------------------------------- /plugins/dgluna/src/config.ts: -------------------------------------------------------------------------------- 1 | import { Schema } from "koishi" 2 | 3 | export interface Config { 4 | endpoint: string 5 | } 6 | 7 | export const Config: Schema = Schema.object({ 8 | endpoint: Schema.string().required().description("DG-Lab ws服务端地址`末尾无需斜杠`"), 9 | }) -------------------------------------------------------------------------------- /plugins/chatluna-anuneko-api-adapter/.gitignore: -------------------------------------------------------------------------------- 1 | lib 2 | dist 3 | external 4 | 5 | node_modules 6 | npm-debug.log 7 | yarn-debug.log 8 | yarn-error.log 9 | tsconfig.tsbuildinfo 10 | 11 | .eslintcache 12 | .DS_Store 13 | .idea 14 | .vscode 15 | *.suo 16 | *.ntvs* 17 | *.njsproj 18 | *.sln 19 | -------------------------------------------------------------------------------- /plugins/chatluna-public-api-adapter/.gitignore: -------------------------------------------------------------------------------- 1 | lib 2 | dist 3 | external 4 | 5 | node_modules 6 | npm-debug.log 7 | yarn-debug.log 8 | yarn-error.log 9 | tsconfig.tsbuildinfo 10 | 11 | .eslintcache 12 | .DS_Store 13 | .idea 14 | .vscode 15 | *.suo 16 | *.ntvs* 17 | *.njsproj 18 | *.sln 19 | -------------------------------------------------------------------------------- /plugins/adapter-nextchat/client/index.ts: -------------------------------------------------------------------------------- 1 | 2 | import { Context } from '@koishijs/client' 3 | import Settings from './settings.vue' 4 | 5 | export default (ctx: Context) => { 6 | ctx.slot({ 7 | type: 'plugin-details', 8 | component: Settings, 9 | order: 800, 10 | }) 11 | } -------------------------------------------------------------------------------- /plugins/dg-lab-ws/src/config.ts: -------------------------------------------------------------------------------- 1 | import { Schema } from "koishi"; 2 | 3 | export interface Config { 4 | port: string 5 | } 6 | 7 | export const Config: Schema = Schema.object({ 8 | port: Schema.string().default("5555").description("Ws服务器监听端口") 9 | }).description("Ws服务器配置") -------------------------------------------------------------------------------- /plugins/chatluna-another-public-api-adapter/.gitignore: -------------------------------------------------------------------------------- 1 | lib 2 | dist 3 | external 4 | 5 | node_modules 6 | npm-debug.log 7 | yarn-debug.log 8 | yarn-error.log 9 | tsconfig.tsbuildinfo 10 | 11 | .eslintcache 12 | .DS_Store 13 | .idea 14 | .vscode 15 | *.suo 16 | *.ntvs* 17 | *.njsproj 18 | *.sln 19 | -------------------------------------------------------------------------------- /plugins/chatluna-public-api-adapter/readme.md: -------------------------------------------------------------------------------- 1 | # koishi-plugin-chatluna-public-api-adapter 2 | 3 | [![npm](https://img.shields.io/npm/v/koishi-plugin-chatluna-public-api-adapter?style=flat-square)](https://www.npmjs.com/package/koishi-plugin-chatluna-public-api-adapter) 4 | 5 | public api adapter for chatluna 6 | -------------------------------------------------------------------------------- /plugins/bilibili-dynamic-pusher/readme.md: -------------------------------------------------------------------------------- 1 | # koishi-plugin-bilibili-dynamic-pusher 2 | 3 | [![npm](https://img.shields.io/npm/v/koishi-plugin-bilibili-dynamic-pusher?style=flat-square)](https://www.npmjs.com/package/koishi-plugin-bilibili-dynamic-pusher) 4 | 5 | 6 | 此项目属于 `adapter-bilibili-dm` 的 demo插(?) 7 | 8 | 暂无说明 -------------------------------------------------------------------------------- /plugins/chatluna-anuneko-api-adapter/readme.md: -------------------------------------------------------------------------------- 1 | # koishi-plugin-chatluna-anuneko-api-adapter 2 | 3 | [![npm](https://img.shields.io/npm/v/koishi-plugin-chatluna-anuneko-api-adapter?style=flat-square)](https://www.npmjs.com/package/koishi-plugin-chatluna-anuneko-api-adapter) 4 | 5 | anuneko api adapter for chatluna 6 | -------------------------------------------------------------------------------- /plugins/universal-translation/lib/index.d.ts: -------------------------------------------------------------------------------- 1 | import { Context } from 'koishi'; 2 | import { Config } from './config'; 3 | export declare const languageMap: any; 4 | export * from './config'; 5 | export declare const name = "universal-translation"; 6 | export declare function apply(ctx: Context, config: Config): void; 7 | -------------------------------------------------------------------------------- /plugins/preview-help/websrc/tailwind.config.js: -------------------------------------------------------------------------------- 1 | /** @type {import('tailwindcss').Config} */ 2 | export default { 3 | darkMode: 'media', 4 | content: [ 5 | "./index.html", 6 | "./src/**/*.{vue,js,ts,jsx,tsx}", 7 | ], 8 | theme: { 9 | extend: {}, 10 | }, 11 | plugins: [], 12 | } -------------------------------------------------------------------------------- /plugins/sakana-widget/client/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "rootDir": ".", 4 | "module": "esnext", 5 | "moduleResolution": "node", 6 | "types": [ 7 | "@koishijs/client/global", 8 | ], 9 | }, 10 | "include": [ 11 | "." 12 | ], 13 | } -------------------------------------------------------------------------------- /plugins/qrcode-service-null/src/locales/zh.yml: -------------------------------------------------------------------------------- 1 | commands: 2 | qrcode: 3 | description: 生成二维码 4 | options: 5 | margin: 边界尺寸 6 | scale: 缩放比例 7 | width: 图片大小 8 | dark: 暗部颜色 9 | light: 亮部颜色 10 | messages: 11 | expect-text: 请输入源文本。 12 | invalid-segment: 禁止输入纯文本以外的内容。 -------------------------------------------------------------------------------- /plugins/universal-translation/lib/service.d.ts: -------------------------------------------------------------------------------- 1 | import Translator from './translator'; 2 | import { Config } from "./config"; 3 | import { Logger } from 'koishi'; 4 | export declare class UniversalTranslation extends Translator { 5 | logger: Logger; 6 | translate(options?: Translator.Result): Promise; 7 | } 8 | -------------------------------------------------------------------------------- /plugins/chatluna-another-public-api-adapter/readme.md: -------------------------------------------------------------------------------- 1 | # koishi-plugin-chatluna-another-public-api-adapter 2 | 3 | [![npm](https://img.shields.io/npm/v/koishi-plugin-chatluna-another-public-api-adapter?style=flat-square)](https://www.npmjs.com/package/koishi-plugin-chatluna-another-public-api-adapter) 4 | 5 | public api adapter for chatluna 6 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@root/koishi-shangxue-apps", 3 | "version": "1.0.0", 4 | "private": true, 5 | "workspaces": [ 6 | "plugins/*", 7 | "plugins/*/packages/*", 8 | "plugins/*/external/*" 9 | ], 10 | "scripts": { 11 | "postinstall": "node scripts/patch-tsconfig.js" 12 | }, 13 | "license": "MIT" 14 | } 15 | -------------------------------------------------------------------------------- /plugins/bmi-calculator/readme.md: -------------------------------------------------------------------------------- 1 | # koishi-plugin-bmi-calculator 2 | 3 | [![npm](https://img.shields.io/npm/v/koishi-plugin-bmi-calculator?style=flat-square)](https://www.npmjs.com/package/koishi-plugin-bmi-calculator) 4 | 5 | /*BMI身体质量指数*/根据身高、体重计算BMI,评估体重对于健康带来的影响,并返回对应BMI的建议。 6 | 7 | ## 更新日志 8 | 9 | - **0.0.4** 更新配置项,用户自定义配置文字提示返回内容。 10 | -------------------------------------------------------------------------------- /plugins/preview-help/websrc/tsconfig.node.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "composite": true, 4 | "skipLibCheck": true, 5 | "module": "ESNext", 6 | "moduleResolution": "bundler", 7 | "allowSyntheticDefaultImports": true 8 | }, 9 | "include": [ 10 | "vite.config.ts" 11 | ] 12 | } -------------------------------------------------------------------------------- /plugins/lmarena-api/readme.md: -------------------------------------------------------------------------------- 1 | # koishi-plugin-lmarena-api 2 | 3 | [![npm](https://img.shields.io/npm/v/koishi-plugin-lmarena-api?style=flat-square)](https://www.npmjs.com/package/koishi-plugin-lmarena-api) 4 | 5 | 6 | 相关项目: 7 | 8 | - https://github.com/shskjw/astrbot_plugin_shoubanhua/blob/master/_conf_schema.json 9 | - https://github.com/HydroGest/lmarena -------------------------------------------------------------------------------- /plugins/dialogue-webui/client/icons/dialogue.vue: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /plugins/universal-translation/src/config.ts: -------------------------------------------------------------------------------- 1 | import { Schema } from "koishi" 2 | 3 | export interface Config { 4 | defaultTargetLang: string 5 | } 6 | 7 | export const Config: Schema = Schema.object({ 8 | defaultTargetLang: Schema.string() 9 | .description("默认的目标语言代码(例如 'en', 'zh', 'ja' 等)") 10 | .default("en") 11 | }) 12 | -------------------------------------------------------------------------------- /plugins/beta-dxl-bert-vits/resources/speakers_AWM2000_Gun-Bert-VITS2.json: -------------------------------------------------------------------------------- 1 | { 2 | "api": "https://www.modelscope.cn/api/v1/studio/AWM2000/Gun-Bert-VITS2/gradio/run/predict", 3 | "fileApi": "https://www.modelscope.cn/api/v1/studio/AWM2000/Gun-Bert-VITS2/gradio/file=", 4 | "speakers": { 5 | "otto": { 6 | "speaker": "otto" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /plugins/beta-dxl-bert-vits/resources/speakers_AI电棍②_AWM2000_Gun-Bert-VITS2.json: -------------------------------------------------------------------------------- 1 | { 2 | "api": "https://www.modelscope.cn/api/v1/studio/AWM2000/Gun-Bert-VITS2/gradio/run/predict", 3 | "fileApi": "https://www.modelscope.cn/api/v1/studio/AWM2000/Gun-Bert-VITS2/gradio/file=", 4 | "speakers": { 5 | "otto": { 6 | "speaker": "otto" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /plugins/beta-dxl-bert-vits/resources/speakers_MiDd1Eye_DZ-Bert-VITS2.json: -------------------------------------------------------------------------------- 1 | { 2 | "api": "https://www.modelscope.cn/api/v1/studio/MiDd1Eye/DZ-Bert-VITS2/gradio/run/predict", 3 | "fileApi": "https://www.modelscope.cn/api/v1/studio/MiDd1Eye/DZ-Bert-VITS2/gradio/file=", 4 | "speakers": { 5 | "Speaker": { 6 | "speaker": "Speaker" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /plugins/beta-dxl-bert-vits/resources/speakers_xzjosh_Azuma1-Bert-VITS2.json: -------------------------------------------------------------------------------- 1 | { 2 | "api": "https://www.modelscope.cn/api/v1/studio/xzjosh/Azuma1-Bert-VITS2/gradio/run/predict", 3 | "fileApi": "https://www.modelscope.cn/api/v1/studio/xzjosh/Azuma1-Bert-VITS2/gradio/file=", 4 | "speakers": { 5 | "Azuma": { 6 | "speaker": "Azuma" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /plugins/beta-dxl-bert-vits/resources/speakers_AI丁真_MiDd1Eye_DZ-Bert-VITS2.json: -------------------------------------------------------------------------------- 1 | { 2 | "api": "https://www.modelscope.cn/api/v1/studio/MiDd1Eye/DZ-Bert-VITS2/gradio/run/predict", 3 | "fileApi": "https://www.modelscope.cn/api/v1/studio/MiDd1Eye/DZ-Bert-VITS2/gradio/file=", 4 | "speakers": { 5 | "Speaker": { 6 | "speaker": "Speaker" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /plugins/beta-dxl-bert-vits/resources/speakers_AI孙笑川_kxnb66_SXC-Bert-VITS2 (1).json: -------------------------------------------------------------------------------- 1 | { 2 | "api": "https://www.modelscope.cn/api/v1/studio/kxnb66/SXC-Bert-VITS2/gradio/run/predict", 3 | "fileApi": "https://www.modelscope.cn/api/v1/studio/kxnb66/SXC-Bert-VITS2/gradio/file=", 4 | "speakers": { 5 | "Speaker": { 6 | "speaker": "Speaker" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /plugins/beta-dxl-bert-vits/resources/speakers_AI孙笑川_kxnb66_SXC-Bert-VITS2.json: -------------------------------------------------------------------------------- 1 | { 2 | "api": "https://www.modelscope.cn/api/v1/studio/kxnb66/SXC-Bert-VITS2/gradio/run/predict", 3 | "fileApi": "https://www.modelscope.cn/api/v1/studio/kxnb66/SXC-Bert-VITS2/gradio/file=", 4 | "speakers": { 5 | "Speaker": { 6 | "speaker": "Speaker" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /plugins/beta-dxl-bert-vits/resources/speakers_MiDd1Eye_DZ3-Bert-VITS2.json: -------------------------------------------------------------------------------- 1 | { 2 | "api": "https://www.modelscope.cn/api/v1/studio/MiDd1Eye/DZ3-Bert-VITS2/gradio/run/predict", 3 | "fileApi": "https://www.modelscope.cn/api/v1/studio/MiDd1Eye/DZ3-Bert-VITS2/gradio/file=", 4 | "speakers": { 5 | "Speaker": { 6 | "speaker": "Speaker" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /plugins/beta-dxl-bert-vits/resources/speakers_MiDd1Eye_SXC-Bert-VITS2.json: -------------------------------------------------------------------------------- 1 | { 2 | "api": "https://www.modelscope.cn/api/v1/studio/MiDd1Eye/SXC-Bert-VITS2/gradio/run/predict", 3 | "fileApi": "https://www.modelscope.cn/api/v1/studio/MiDd1Eye/SXC-Bert-VITS2/gradio/file=", 4 | "speakers": { 5 | "Speaker": { 6 | "speaker": "Speaker" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /plugins/beta-dxl-bert-vits/resources/speakers_kozue001_Azuma-Bert-VITS2.json: -------------------------------------------------------------------------------- 1 | { 2 | "api": "https://www.modelscope.cn/api/v1/studio/kozue001/Azuma-Bert-VITS2/gradio/run/predict", 3 | "fileApi": "https://www.modelscope.cn/api/v1/studio/kozue001/Azuma-Bert-VITS2/gradio/file=", 4 | "speakers": { 5 | "Azuma": { 6 | "speaker": "Azuma" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /plugins/beta-dxl-bert-vits/resources/speakers_xzjosh_Eileen-Bert-VITS2.json: -------------------------------------------------------------------------------- 1 | { 2 | "api": "https://www.modelscope.cn/api/v1/studio/xzjosh/Eileen-Bert-VITS2/gradio/run/predict", 3 | "fileApi": "https://www.modelscope.cn/api/v1/studio/xzjosh/Eileen-Bert-VITS2/gradio/file=", 4 | "speakers": { 5 | "Eileen": { 6 | "speaker": "Eileen" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /plugins/beta-dxl-bert-vits/resources/speakers_xzjosh_Nailv-Bert-VITS2.json: -------------------------------------------------------------------------------- 1 | { 2 | "api": "https://www.modelscope.cn/api/v1/studio/xzjosh/Nailv-Bert-VITS2/gradio/run/predict", 3 | "fileApi": "https://www.modelscope.cn/api/v1/studio/xzjosh/Nailv-Bert-VITS2/gradio/file=", 4 | "speakers": { 5 | "LAPLACE": { 6 | "speaker": "LAPLACE" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /plugins/beta-dxl-bert-vits/resources/speakers_AI丁真③_MiDd1Eye_DZ3-Bert-VITS2.json: -------------------------------------------------------------------------------- 1 | { 2 | "api": "https://www.modelscope.cn/api/v1/studio/MiDd1Eye/DZ3-Bert-VITS2/gradio/run/predict", 3 | "fileApi": "https://www.modelscope.cn/api/v1/studio/MiDd1Eye/DZ3-Bert-VITS2/gradio/file=", 4 | "speakers": { 5 | "Speaker": { 6 | "speaker": "Speaker" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /plugins/beta-dxl-bert-vits/resources/speakers_AI东雪莲_kozue001_Azuma-Bert-VITS2.json: -------------------------------------------------------------------------------- 1 | { 2 | "api": "https://www.modelscope.cn/api/v1/studio/kozue001/Azuma-Bert-VITS2/gradio/run/predict", 3 | "fileApi": "https://www.modelscope.cn/api/v1/studio/kozue001/Azuma-Bert-VITS2/gradio/file=", 4 | "speakers": { 5 | "Azuma": { 6 | "speaker": "Azuma" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /plugins/beta-dxl-bert-vits/resources/speakers_AI东雪莲_xzjosh_Azuma1-Bert-VITS2.json: -------------------------------------------------------------------------------- 1 | { 2 | "api": "https://www.modelscope.cn/api/v1/studio/xzjosh/Azuma1-Bert-VITS2/gradio/run/predict", 3 | "fileApi": "https://www.modelscope.cn/api/v1/studio/xzjosh/Azuma1-Bert-VITS2/gradio/file=", 4 | "speakers": { 5 | "Azuma": { 6 | "speaker": "Azuma" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /plugins/beta-dxl-bert-vits/resources/speakers_AI乃琳_xzjosh_Eileen-Bert-VITS2.json: -------------------------------------------------------------------------------- 1 | { 2 | "api": "https://www.modelscope.cn/api/v1/studio/xzjosh/Eileen-Bert-VITS2/gradio/run/predict", 3 | "fileApi": "https://www.modelscope.cn/api/v1/studio/xzjosh/Eileen-Bert-VITS2/gradio/file=", 4 | "speakers": { 5 | "Eileen": { 6 | "speaker": "Eileen" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /plugins/beta-dxl-bert-vits/resources/speakers_AI奶绿_xzjosh_Nailv-Bert-VITS2.json: -------------------------------------------------------------------------------- 1 | { 2 | "api": "https://www.modelscope.cn/api/v1/studio/xzjosh/Nailv-Bert-VITS2/gradio/run/predict", 3 | "fileApi": "https://www.modelscope.cn/api/v1/studio/xzjosh/Nailv-Bert-VITS2/gradio/file=", 4 | "speakers": { 5 | "LAPLACE": { 6 | "speaker": "LAPLACE" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /plugins/beta-dxl-bert-vits/resources/speakers_AI孙笑川_MiDd1Eye_SXC-Bert-VITS2.json: -------------------------------------------------------------------------------- 1 | { 2 | "api": "https://www.modelscope.cn/api/v1/studio/MiDd1Eye/SXC-Bert-VITS2/gradio/run/predict", 3 | "fileApi": "https://www.modelscope.cn/api/v1/studio/MiDd1Eye/SXC-Bert-VITS2/gradio/file=", 4 | "speakers": { 5 | "Speaker": { 6 | "speaker": "Speaker" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /plugins/beta-dxl-bert-vits/resources/speakers_xzjosh_LittleTaffy-Bert-VITS2.json: -------------------------------------------------------------------------------- 1 | { 2 | "api": "https://www.modelscope.cn/api/v1/studio/xzjosh/LittleTaffy-Bert-VITS2/gradio/run/predict", 3 | "fileApi": "https://www.modelscope.cn/api/v1/studio/xzjosh/LittleTaffy-Bert-VITS2/gradio/file=", 4 | "speakers": { 5 | "TF": { 6 | "speaker": "TF" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /plugins/beta-dxl-bert-vits/resources/speakers_xzjosh_Taffy1.2-Bert-VITS2.json: -------------------------------------------------------------------------------- 1 | { 2 | "api": "https://www.modelscope.cn/api/v1/studio/xzjosh/Taffy1.2-Bert-VITS2/gradio/run/predict", 3 | "fileApi": "https://www.modelscope.cn/api/v1/studio/xzjosh/Taffy1.2-Bert-VITS2/gradio/file=", 4 | "speakers": { 5 | "taffy": { 6 | "speaker": "taffy" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /plugins/translator-youdaoavailable/lib/index.d.ts: -------------------------------------------------------------------------------- 1 | import { Context } from 'koishi'; 2 | 3 | declare module 'koishi' { 4 | interface PluginOptions { 5 | // 插件的配置项定义 6 | } 7 | } 8 | 9 | declare const plugin: Plugin; 10 | 11 | export = plugin; 12 | 13 | declare interface Plugin { 14 | name: string; 15 | apply(ctx: Context, config?: PluginOptions): void; 16 | } -------------------------------------------------------------------------------- /plugins/beta-dxl-bert-vits/resources/speakers_AIHiiro_MiDd1Eye_Hiiro-Bert-VITS2.json: -------------------------------------------------------------------------------- 1 | { 2 | "api": "https://www.modelscope.cn/api/v1/studio/MiDd1Eye/Hiiro-Bert-VITS2/gradio/run/predict", 3 | "fileApi": "https://www.modelscope.cn/api/v1/studio/MiDd1Eye/Hiiro-Bert-VITS2/gradio/file=", 4 | "speakers": { 5 | "Speaker": { 6 | "speaker": "Speaker" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /plugins/beta-dxl-bert-vits/resources/speakers_AI东雪莲_YunChenqwq_Azuma-Bert-VITS2.json: -------------------------------------------------------------------------------- 1 | { 2 | "api": "https://www.modelscope.cn/api/v1/studio/YunChenqwq/Azuma-Bert-VITS2/gradio/run/predict", 3 | "fileApi": "https://www.modelscope.cn/api/v1/studio/YunChenqwq/Azuma-Bert-VITS2/gradio/file=", 4 | "speakers": { 5 | "Azuma": { 6 | "speaker": "Azuma" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /plugins/beta-dxl-bert-vits/resources/speakers_AI塔菲_xzjosh_Taffy1.2-Bert-VITS2.json: -------------------------------------------------------------------------------- 1 | { 2 | "api": "https://www.modelscope.cn/api/v1/studio/xzjosh/Taffy1.2-Bert-VITS2/gradio/run/predict", 3 | "fileApi": "https://www.modelscope.cn/api/v1/studio/xzjosh/Taffy1.2-Bert-VITS2/gradio/file=", 4 | "speakers": { 5 | "taffy": { 6 | "speaker": "taffy" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /plugins/beta-dxl-bert-vits/resources/speakers_AI小菲_xzjosh_LittleTaffy-Bert-VITS2.json: -------------------------------------------------------------------------------- 1 | { 2 | "api": "https://www.modelscope.cn/api/v1/studio/xzjosh/LittleTaffy-Bert-VITS2/gradio/run/predict", 3 | "fileApi": "https://www.modelscope.cn/api/v1/studio/xzjosh/LittleTaffy-Bert-VITS2/gradio/file=", 4 | "speakers": { 5 | "TF": { 6 | "speaker": "TF" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /plugins/beta-dxl-bert-vits/resources/speakers_AI幻象_MiDd1Eye_Mirage-Bert-VITS2.json: -------------------------------------------------------------------------------- 1 | { 2 | "api": "https://www.modelscope.cn/api/v1/studio/MiDd1Eye/Mirage-Bert-VITS2/gradio/run/predict", 3 | "fileApi": "https://www.modelscope.cn/api/v1/studio/MiDd1Eye/Mirage-Bert-VITS2/gradio/file=", 4 | "speakers": { 5 | "Speaker": { 6 | "speaker": "Speaker" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /plugins/beta-dxl-bert-vits/resources/speakers_AI文静_xzjosh_Wenjing-Bert-VITS2.json: -------------------------------------------------------------------------------- 1 | { 2 | "api": "https://www.modelscope.cn/api/v1/studio/xzjosh/Wenjing-Bert-VITS2/gradio/run/predict", 3 | "fileApi": "https://www.modelscope.cn/api/v1/studio/xzjosh/Wenjing-Bert-VITS2/gradio/file=", 4 | "speakers": { 5 | "Wenjing": { 6 | "speaker": "Wenjing" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /plugins/beta-dxl-bert-vits/resources/speakers_AI皮特174_MiDd1Eye_Pite-Bert-VITS2.json: -------------------------------------------------------------------------------- 1 | { 2 | "api": "https://www.modelscope.cn/api/v1/studio/MiDd1Eye/Pite-Bert-VITS2/gradio/run/predict", 3 | "fileApi": "https://www.modelscope.cn/api/v1/studio/MiDd1Eye/Pite-Bert-VITS2/gradio/file=", 4 | "speakers": { 5 | "Speaker": { 6 | "speaker": "Speaker" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /plugins/beta-dxl-bert-vits/resources/speakers_kagarise_Nana7mi-Bert-VITS2.json: -------------------------------------------------------------------------------- 1 | { 2 | "api": "https://www.modelscope.cn/api/v1/studio/kagarise/Nana7mi-Bert-VITS2/gradio/run/predict", 3 | "fileApi": "https://www.modelscope.cn/api/v1/studio/kagarise/Nana7mi-Bert-VITS2/gradio/file=", 4 | "speakers": { 5 | "Nana7mi": { 6 | "speaker": "Nana7mi" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /plugins/manosaba-memes/.gitignore: -------------------------------------------------------------------------------- 1 | lib 2 | dist 3 | external 4 | 5 | node_modules 6 | npm-debug.log 7 | yarn-debug.log 8 | yarn-error.log 9 | tsconfig.tsbuildinfo 10 | 11 | .eslintcache 12 | .DS_Store 13 | .idea 14 | .vscode 15 | *.suo 16 | *.ntvs* 17 | *.njsproj 18 | *.sln 19 | nonebot-plugin-manosaba-memes-main/* 20 | nonebot-plugin-manosaba-memes/* 21 | plugins/manosaba-memes/temp/* 22 | -------------------------------------------------------------------------------- /plugins/universal-translation/lib/config.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | exports.Config = void 0; 4 | const koishi_1 = require("koishi"); 5 | exports.Config = koishi_1.Schema.object({ 6 | defaultTargetLang: koishi_1.Schema.string() 7 | .description("默认的目标语言代码(例如 'en', 'zh', 'ja' 等)") 8 | .default("en") 9 | }); 10 | -------------------------------------------------------------------------------- /plugins/beta-dxl-bert-vits/resources/speakers_AI丁真_mt13048018187_DZ-Bert-VITS2.json: -------------------------------------------------------------------------------- 1 | { 2 | "api": "https://www.modelscope.cn/api/v1/studio/mt13048018187/DZ-Bert-VITS2/gradio/run/predict", 3 | "fileApi": "https://www.modelscope.cn/api/v1/studio/mt13048018187/DZ-Bert-VITS2/gradio/file=", 4 | "speakers": { 5 | "Speaker": { 6 | "speaker": "Speaker" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /plugins/beta-dxl-bert-vits/resources/speakers_AI七海_kagarise_Nana7mi-Bert-VITS2.json: -------------------------------------------------------------------------------- 1 | { 2 | "api": "https://www.modelscope.cn/api/v1/studio/kagarise/Nana7mi-Bert-VITS2/gradio/run/predict", 3 | "fileApi": "https://www.modelscope.cn/api/v1/studio/kagarise/Nana7mi-Bert-VITS2/gradio/file=", 4 | "speakers": { 5 | "Nana7mi": { 6 | "speaker": "Nana7mi" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /plugins/beta-dxl-bert-vits/resources/speakers_AI动力小子_MiDd1Eye_octane-Bert-VITS2.json: -------------------------------------------------------------------------------- 1 | { 2 | "api": "https://www.modelscope.cn/api/v1/studio/MiDd1Eye/octane-Bert-VITS2/gradio/run/predict", 3 | "fileApi": "https://www.modelscope.cn/api/v1/studio/MiDd1Eye/octane-Bert-VITS2/gradio/file=", 4 | "speakers": { 5 | "Speaker": { 6 | "speaker": "Speaker" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /plugins/beta-dxl-bert-vits/resources/speakers_kagarise_XingTong-Bert-VITS2.json: -------------------------------------------------------------------------------- 1 | { 2 | "api": "https://www.modelscope.cn/api/v1/studio/kagarise/XingTong-Bert-VITS2/gradio/run/predict", 3 | "fileApi": "https://www.modelscope.cn/api/v1/studio/kagarise/XingTong-Bert-VITS2/gradio/file=", 4 | "speakers": { 5 | "XingTong": { 6 | "speaker": "XingTong" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /plugins/beta-dxl-bert-vits/resources/speakers_AI弹道_MiDd1Eye_Ballistic-Bert-VITS2.json: -------------------------------------------------------------------------------- 1 | { 2 | "api": "https://www.modelscope.cn/api/v1/studio/MiDd1Eye/Ballistic-Bert-VITS2/gradio/run/predict", 3 | "fileApi": "https://www.modelscope.cn/api/v1/studio/MiDd1Eye/Ballistic-Bert-VITS2/gradio/file=", 4 | "speakers": { 5 | "Speaker": { 6 | "speaker": "Speaker" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /plugins/beta-dxl-bert-vits/resources/speakers_AI播音员_MiDd1Eye_AiNotify-Bert-VITS2.json: -------------------------------------------------------------------------------- 1 | { 2 | "api": "https://www.modelscope.cn/api/v1/studio/MiDd1Eye/AiNotify-Bert-VITS2/gradio/run/predict", 3 | "fileApi": "https://www.modelscope.cn/api/v1/studio/MiDd1Eye/AiNotify-Bert-VITS2/gradio/file=", 4 | "speakers": { 5 | "Speaker": { 6 | "speaker": "Speaker" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /plugins/beta-dxl-bert-vits/resources/speakers_AI文静_A285285285_Wenjing-Bert-VITS2.json: -------------------------------------------------------------------------------- 1 | { 2 | "api": "https://www.modelscope.cn/api/v1/studio/A285285285/Wenjing-Bert-VITS2/gradio/run/predict", 3 | "fileApi": "https://www.modelscope.cn/api/v1/studio/A285285285/Wenjing-Bert-VITS2/gradio/file=", 4 | "speakers": { 5 | "Wenjing": { 6 | "speaker": "Wenjing" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /plugins/beta-dxl-bert-vits/resources/speakers_AI星瞳_kagarise_XingTong-Bert-VITS2.json: -------------------------------------------------------------------------------- 1 | { 2 | "api": "https://www.modelscope.cn/api/v1/studio/kagarise/XingTong-Bert-VITS2/gradio/run/predict", 3 | "fileApi": "https://www.modelscope.cn/api/v1/studio/kagarise/XingTong-Bert-VITS2/gradio/file=", 4 | "speakers": { 5 | "XingTong": { 6 | "speaker": "XingTong" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /plugins/beta-dxl-bert-vits/resources/speakers_MiDd1Eye_LanYangYang-Bert-VITS2.json: -------------------------------------------------------------------------------- 1 | { 2 | "api": "https://www.modelscope.cn/api/v1/studio/MiDd1Eye/LanYangYang-Bert-VITS2/gradio/run/predict", 3 | "fileApi": "https://www.modelscope.cn/api/v1/studio/MiDd1Eye/LanYangYang-Bert-VITS2/gradio/file=", 4 | "speakers": { 5 | "Speaker": { 6 | "speaker": "Speaker" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /plugins/beta-dxl-bert-vits/resources/speakers_在线语音生成(GPT)- AI塔菲_guoqiang9_Taffy-Bert-VITS2.json: -------------------------------------------------------------------------------- 1 | { 2 | "api": "https://www.modelscope.cn/api/v1/studio/guoqiang9/Taffy-Bert-VITS2/gradio/run/predict", 3 | "fileApi": "https://www.modelscope.cn/api/v1/studio/guoqiang9/Taffy-Bert-VITS2/gradio/file=", 4 | "speakers": { 5 | "taffy": { 6 | "speaker": "taffy" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /plugins/universal-translation/lib/translator.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | const koishi_1 = require("koishi"); 4 | class Translator extends koishi_1.Service { 5 | config; 6 | constructor(ctx, config) { 7 | super(ctx, 'translator', true); 8 | this.config = config; 9 | } 10 | } 11 | exports.default = Translator; 12 | -------------------------------------------------------------------------------- /plugins/beta-dxl-bert-vits/resources/speakers_AI寻血猎犬_MiDd1Eye_Bloodhound-Bert-VITS2.json: -------------------------------------------------------------------------------- 1 | { 2 | "api": "https://www.modelscope.cn/api/v1/studio/MiDd1Eye/Bloodhound-Bert-VITS2/gradio/run/predict", 3 | "fileApi": "https://www.modelscope.cn/api/v1/studio/MiDd1Eye/Bloodhound-Bert-VITS2/gradio/file=", 4 | "speakers": { 5 | "Speaker": { 6 | "speaker": "Speaker" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /plugins/beta-dxl-bert-vits/resources/speakers_在线语音生成(GPT)- AI塔菲_aiboycoder_Taffy-Bert-VITS2.json: -------------------------------------------------------------------------------- 1 | { 2 | "api": "https://www.modelscope.cn/api/v1/studio/aiboycoder/Taffy-Bert-VITS2/gradio/run/predict", 3 | "fileApi": "https://www.modelscope.cn/api/v1/studio/aiboycoder/Taffy-Bert-VITS2/gradio/file=", 4 | "speakers": { 5 | "taffy": { 6 | "speaker": "taffy" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /plugins/beta-dxl-bert-vits/resources/speakers_AI懒羊羊_MiDd1Eye_LanYangYang-Bert-VITS2.json: -------------------------------------------------------------------------------- 1 | { 2 | "api": "https://www.modelscope.cn/api/v1/studio/MiDd1Eye/LanYangYang-Bert-VITS2/gradio/run/predict", 3 | "fileApi": "https://www.modelscope.cn/api/v1/studio/MiDd1Eye/LanYangYang-Bert-VITS2/gradio/file=", 4 | "speakers": { 5 | "Speaker": { 6 | "speaker": "Speaker" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /plugins/beta-dxl-bert-vits/resources/speakers_AI炫神2.1011_aaaachuang_Xuan-Bert-VITS2-2.10111.json: -------------------------------------------------------------------------------- 1 | { 2 | "api": "https://www.modelscope.cn/api/v1/studio/aaaachuang/Xuan-Bert-VITS2-2.10111/gradio/run/predict", 3 | "fileApi": "https://www.modelscope.cn/api/v1/studio/aaaachuang/Xuan-Bert-VITS2-2.10111/gradio/file=", 4 | "speakers": { 5 | "炫神": { 6 | "speaker": "炫神" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /plugins/beta-dxl-bert-vits/resources/speakers_AI探路者2.0_MiDd1Eye_Pathfinder2.0-Bert-VITS2.json: -------------------------------------------------------------------------------- 1 | { 2 | "api": "https://www.modelscope.cn/api/v1/studio/MiDd1Eye/Pathfinder2.0-Bert-VITS2/gradio/run/predict", 3 | "fileApi": "https://www.modelscope.cn/api/v1/studio/MiDd1Eye/Pathfinder2.0-Bert-VITS2/gradio/file=", 4 | "speakers": { 5 | "Speaker": { 6 | "speaker": "Speaker" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /plugins/content-guard/Vocabulary/其他词库.txt: -------------------------------------------------------------------------------- 1 | 穴海 2 | 协警 3 | 纳米比亚 4 | 专业调查 5 | 有华龙 6 | jq的来 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 | fuck 39 | fuck 40 | your 41 | mother -------------------------------------------------------------------------------- /plugins/testplugin/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "koishi-plugin-testplugin", 3 | "description": "", 4 | "version": "0.0.1", 5 | "main": "lib/index.js", 6 | "typings": "lib/index.d.ts", 7 | "files": [ 8 | "lib", 9 | "dist" 10 | ], 11 | "license": "MIT", 12 | "keywords": [ 13 | "chatbot", 14 | "koishi", 15 | "plugin" 16 | ], 17 | "peerDependencies": { 18 | "koishi": "4.18.9" 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /plugins/assets-test/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "koishi-plugin-assets-test", 3 | "description": "", 4 | "version": "0.0.1", 5 | "main": "lib/index.js", 6 | "typings": "lib/index.d.ts", 7 | "files": [ 8 | "lib", 9 | "dist" 10 | ], 11 | "license": "MIT", 12 | "keywords": [ 13 | "chatbot", 14 | "koishi", 15 | "plugin" 16 | ], 17 | "peerDependencies": { 18 | "koishi": "4.18.9" 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /plugins/preview-help/websrc/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Koishi帮助菜单生成器 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /plugins/chatluna-public-api-adapter/src/logger.ts: -------------------------------------------------------------------------------- 1 | import { Logger } from 'koishi' 2 | import { Config } from './index' 3 | 4 | export let logger: Logger 5 | export let config: Config 6 | 7 | export function initializeLogger(newLogger: Logger, newConfig: Config) { 8 | logger = newLogger 9 | config = newConfig 10 | } 11 | 12 | export function logInfo(...args: any[]) { 13 | if (config?.loggerinfo) { 14 | (logger?.info as (...args: any[]) => void)?.(...args) 15 | } 16 | } -------------------------------------------------------------------------------- /plugins/beta-dxl-bert-vits/src/types.ts: -------------------------------------------------------------------------------- 1 | export interface SpeakConfig { 2 | speaker: string 3 | sdp_ratio: number 4 | noise: number 5 | noisew: number 6 | length: number 7 | prompt: string 8 | weight: number 9 | input: string 10 | } 11 | 12 | export interface Speaker { 13 | speaker: string 14 | } 15 | 16 | export interface SpeakerData { 17 | api: string 18 | fileApi: string 19 | speakers: { 20 | [key: string]: Speaker 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /plugins/chatluna-another-public-api-adapter/src/logger.ts: -------------------------------------------------------------------------------- 1 | import { Logger } from 'koishi' 2 | import { Config } from './index' 3 | 4 | export let logger: Logger 5 | export let config: Config 6 | 7 | export function initializeLogger(newLogger: Logger, newConfig: Config) { 8 | logger = newLogger 9 | config = newConfig 10 | } 11 | 12 | export function logInfo(...args: any[]) { 13 | if (config?.loggerinfo) { 14 | (logger?.info as (...args: any[]) => void)?.(...args) 15 | } 16 | } -------------------------------------------------------------------------------- /plugins/martian-translator/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "koishi-plugin-martian-translator", 3 | "description": "火星文转换插件,可以将中文转换为火星文,或将火星文转换回中文。", 4 | "version": "0.1.1", 5 | "main": "lib/index.js", 6 | "typings": "lib/index.d.ts", 7 | "files": [ 8 | "lib", 9 | "dist" 10 | ], 11 | "license": "MIT", 12 | "keywords": [ 13 | "chatbot", 14 | "koishi", 15 | "火星文转换", 16 | "plugin" 17 | ], 18 | "peerDependencies": { 19 | "koishi": "^4.16.0" 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /plugins/dialogue-webui/data/usage.md: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | ## 使用指南 4 | 5 | 开启插件之后,[请前往这里](/dialogue-webui) 进行问答设置。 6 | 7 | --- 8 | 9 | ## 注意事项 10 | 11 | 1. 【回复内容】支持使用js变量 12 | 比如 13 | 14 | ```md 15 | 你好啊!{{h.at(session.userId)}} ~ 16 | ``` 17 | 18 | 支持访问的变量有:`ctx`、 `config`、 `h`、 `session` 19 | 20 | 1. 作用范围的【群组ID】【用户ID】支持使用逗号分隔多个ID。 21 | (支持全角、半角逗号) 22 | 比如【群组ID】 23 | 24 | ```md 25 | #,123456,114514 26 | ``` 27 | 28 | --- 29 | 30 | ## 所需依赖 31 | 32 | 'database'、'console'、'server'、'logger' 33 | 34 | --- 35 | -------------------------------------------------------------------------------- /plugins/chatluna-anuneko-api-adapter/src/logger.ts: -------------------------------------------------------------------------------- 1 | import { Logger } from 'koishi' 2 | import { Config } from './index' 3 | 4 | export let logger: Logger 5 | export let config: Config 6 | 7 | // 初始化日志记录器 8 | export function initializeLogger(newLogger: Logger, newConfig: Config) { 9 | logger = newLogger 10 | config = newConfig 11 | } 12 | 13 | // 输出调试信息 14 | export function logInfo(...args: any[]) { 15 | if (config?.loggerinfo) { 16 | (logger?.info as (...args: any[]) => void)?.(...args) 17 | } 18 | } -------------------------------------------------------------------------------- /plugins/verse-match/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "koishi-plugin-verse-match", 3 | "version": "0.1.0", 4 | "description": "/*对对联啦~*/对对联,用户输入上联,自动给出下联~ 开箱即食~ ", 5 | "main": "lib/index.js", 6 | "typings": "lib/index.d.ts", 7 | "files": [ 8 | "lib", 9 | "dist" 10 | ], 11 | "keywords": [ 12 | "koishi", 13 | "plugin", 14 | "chat", 15 | "对对联" 16 | ], 17 | "author": "shangxue", 18 | "license": "MIT", 19 | "peerDependencies": { 20 | "koishi": "^4.13.8" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /plugins/bmi-calculator/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "koishi-plugin-bmi-calculator", 3 | "version": "0.0.4", 4 | "description": "/*BMI身体质量指数*/根据身高、体重计算BMI,评估体重对于健康带来的影响,并返回对应BMI的建议。 ", 5 | "main": "lib/index.js", 6 | "typings": "lib/index.d.ts", 7 | "files": [ 8 | "lib", 9 | "dist" 10 | ], 11 | "keywords": [ 12 | "koishi", 13 | "plugin", 14 | "chat" 15 | ], 16 | "author": "shangxue", 17 | "license": "MIT", 18 | "peerDependencies": { 19 | "koishi": "^4.13.8" 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /plugins/localpics-to-qqurls/README.md: -------------------------------------------------------------------------------- 1 | 2 | # @shangxueink/koishi-plugin-localpics-to-qqurls 3 | 4 | 5 | [![npm](https://img.shields.io/npm/v/@shangxueink/koishi-plugin-localpics-to-qqurls?style=flat-square)](https://www.npmjs.com/package/@shangxueink/koishi-plugin-localpics-to-qqurls) 6 | 7 | 8 | 9 | ## 简介 10 | 11 | `@shangxueink/koishi-plugin-localpics-to-qqurls` 旨在将一个图包文件夹通过 QQ 官方机器人上传至 QQ 频道(文字子频道),并获取返回的链接,从而实现频道图床功能。 12 | 13 | 请确保图包文件夹放在 Koishi 实例的 `data` 文件夹下, 14 | 15 | 以便本插件的 `local_PICS_files` 配置项能够找到并选择该文件夹。 16 | -------------------------------------------------------------------------------- /plugins/weather-qq-rainbowsky/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "koishi-plugin-weather-qq-rainbowsky", 3 | "version": "0.1.0", 4 | "description": "/*天气查询*/未来15天的天气预报?☁️🌧️☀️实时天气、今明天气,文字返回~ ", 5 | "main": "lib/index.js", 6 | "typings": "lib/index.d.ts", 7 | "files": [ 8 | "lib", 9 | "dist" 10 | ], 11 | "keywords": [ 12 | "koishi", 13 | "plugin", 14 | "weather", 15 | "天气查询", 16 | "sky" 17 | ], 18 | "author": "shangxue", 19 | "license": "MIT", 20 | "peerDependencies": { 21 | "koishi": "^4.13.8" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /plugins/localpics-to-qqurls/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shangxueink/koishi-plugin-localpics-to-qqurls", 3 | "version": "0.2.0", 4 | "description": "QQ频道图床?将一个图包文件夹,通过QQ官方机器人上传至QQ频道", 5 | "main": "lib/index.js", 6 | "typings": "lib/index.d.ts", 7 | "files": [ 8 | "lib", 9 | "dist" 10 | ], 11 | "keywords": [ 12 | "koishi", 13 | "plugin", 14 | "pics", 15 | "QQ频道图床" 16 | ], 17 | "license": "MIT", 18 | "peerDependencies": { 19 | "koishi": "^4.16.0" 20 | }, 21 | "koishi": { 22 | "browser": false 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | lib 2 | dist 3 | /cache 4 | /temp 5 | /data 6 | 7 | .env.local 8 | 9 | .pnp.* 10 | .yarn/* 11 | !.yarn/patches 12 | !.yarn/plugins 13 | !.yarn/releases 14 | !.yarn/sdks 15 | !.yarn/versions 16 | 17 | package-lock.json 18 | pnpm-lock.yaml 19 | node_modules 20 | npm-debug.log 21 | yarn-debug.log 22 | yarn-error.log 23 | tsconfig.tsbuildinfo 24 | 25 | .eslintcache 26 | .DS_Store 27 | *.suo 28 | *.ntvs* 29 | *.njsproj 30 | *.sln 31 | plugins/*/tsconfig.tsbuildinfo 32 | plugins/*/node_modules/* 33 | plugins/dialogue-webui/keyword-dialogue/* 34 | plugins/universal-translation/lib/* -------------------------------------------------------------------------------- /plugins/quiz-master/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "koishi-plugin-quiz-master", 3 | "version": "0.2.1", 4 | "description": "/*知识问答*/知识问答💪选择题。[玩法详见这里哦](https://www.npmjs.com/package/koishi-plugin-quiz-master)。", 5 | "main": "lib/index.js", 6 | "typings": "lib/index.d.ts", 7 | "files": [ 8 | "lib", 9 | "dist" 10 | ], 11 | "keywords": [ 12 | "koishi", 13 | "plugin", 14 | "chat", 15 | "answer", 16 | "quiz", 17 | "master", 18 | "question" 19 | ], 20 | "author": "shangxue", 21 | "license": "MIT", 22 | "peerDependencies": { 23 | "koishi": "^4.13.8" 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /plugins/chat-patch/client/index.ts: -------------------------------------------------------------------------------- 1 | 2 | import { defineComponent, h, resolveComponent } from 'vue' 3 | import { Context } from '@koishijs/client' 4 | import Chat from './vue/index.vue' 5 | import './index.scss' 6 | import './icons' 7 | 8 | export default (ctx: Context) => { 9 | ctx.page({ 10 | name: '聊天室', 11 | path: '/chat-patch', 12 | desc: "", 13 | authority: 4, 14 | icon: 'activity:chat', 15 | component: defineComponent({ 16 | setup() { 17 | return () => h(resolveComponent('k-layout'), {}, { 18 | default: () => h(Chat) 19 | }) 20 | }, 21 | }), 22 | }) 23 | } -------------------------------------------------------------------------------- /plugins/dialogue-webui/client/index.ts: -------------------------------------------------------------------------------- 1 | import { defineComponent, h, resolveComponent } from 'vue' 2 | import { Context } from '@koishijs/client' 3 | import Page from './page.vue' 4 | import './index.scss' 5 | import './icons' 6 | 7 | export default (ctx: Context) => { 8 | ctx.page({ 9 | name: 'dialogue', 10 | path: '/dialogue-webui', 11 | icon: 'activity:dialogue', 12 | desc: "", 13 | authority: 4, 14 | component: defineComponent({ 15 | setup() { 16 | return () => h(resolveComponent('k-layout'), {}, { 17 | default: () => h(Page) 18 | }) 19 | }, 20 | }), 21 | }) 22 | } -------------------------------------------------------------------------------- /scripts/QQNT-version-scraper/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "qq-version-scraper", 3 | "version": "1.0.0", 4 | "description": "Scrapes QQ version information from official websites and generates JSON and Markdown output.", 5 | "main": "index.js", 6 | "type": "module", 7 | "scripts": { 8 | "start": "yarn run scrape", 9 | "scrape": "node index.js" 10 | }, 11 | "keywords": [ 12 | "qq", 13 | "version", 14 | "scraper", 15 | "markdown", 16 | "json" 17 | ], 18 | "license": "MIT", 19 | "dependencies": { 20 | "cheerio": "^1.0.0-rc.12" 21 | }, 22 | "devDependencies": { 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /plugins/lexicon-era-shift/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "koishi-plugin-lexicon-era-shift", 3 | "description": "/[词语新解](https://www.npmjs.com/package/koishi-plugin-lexicon-era-shift)/一些在新时代下的新词义😹。可以自定义生成哦~ [点我查看说明书](https://www.npmjs.com/package/koishi-plugin-lexicon-era-shift)", 4 | "version": "0.1.2", 5 | "main": "lib/index.js", 6 | "typings": "lib/index.d.ts", 7 | "files": [ 8 | "lib", 9 | "dist" 10 | ], 11 | "license": "MIT", 12 | "keywords": [ 13 | "chatbot", 14 | "koishi", 15 | "plugin", 16 | "lexicon", 17 | "词语新解" 18 | ], 19 | "peerDependencies": { 20 | "koishi": "^4.16.4" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /plugins/verse-match/readme.md: -------------------------------------------------------------------------------- 1 | # koishi-plugin-verse-match 2 | 3 | [![npm](https://img.shields.io/npm/v/koishi-plugin-verse-match?style=flat-square)](https://www.npmjs.com/package/koishi-plugin-verse-match) 4 | 5 | 一个简单的小插件,用于自动对联,即用户提供上联,插件通过API接口返回匹配的下联。 6 | 使用本插件,你可以和机器人进行对对联的游戏,快速获取智能下联,体验传统文化的魅力。 7 | 8 | 9 | ## 使用方法 10 | 11 | 12 | `verse-match <上联>`: 用户输入上联,插件返回对应的下联。 13 | 14 | ## 示例 15 | **执行对对联命令** 16 | 用户:`verse-match 寂寞寒窗空守寡` 17 | 18 | 机器人: 19 | ``` 20 | ▲上联:寂寞寒窗空守寡 21 | ============== 22 | ▼下联:相思明月总缠绵 23 | ▼下联:相思明月总缠绵 24 | ``` 25 | 26 | 27 | ### 注意事项 28 | 29 | - 上联只支持中文字符,不支持英文或特殊符号输入。 30 | 31 | - 确保网络畅通,因为插件需要调用在线API进行对联生成。 32 | -------------------------------------------------------------------------------- /plugins/furry-encode-decode/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "koishi-plugin-furry-encode-decode", 3 | "version": "0.1.0", 4 | "description": "/*兽音译者的js实现*/😻使用兽语加密/解密一段文本,😽不可套娃加密哦[食用方法](https://www.npmjs.com/package/koishi-plugin-furry-encode-decode)(如果加密sao话,被群u们decode了就会原地毕业的吧 /笑)", 5 | "main": "lib/index.js", 6 | "typings": "lib/index.d.ts", 7 | "files": [ 8 | "lib", 9 | "dist" 10 | ], 11 | "keywords": [ 12 | "koishi", 13 | "plugin", 14 | "兽语加密/解密一段文本", 15 | "兽音译者的js实现", 16 | "decode" 17 | ], 18 | "author": "shangxue", 19 | "license": "MIT", 20 | "peerDependencies": { 21 | "koishi": "^4.13.8" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /plugins/content-guard/readme.md: -------------------------------------------------------------------------------- 1 | 2 | # @shangxueink/koishi-plugin-content-guard 3 | 4 | [![npm](https://img.shields.io/npm/v/@shangxueink/koishi-plugin-content-guard?style=flat-square)](https://www.npmjs.com/package/@shangxueink/koishi-plugin-content-guard) 5 | 6 | 7 | 8 | ## 使用 9 | 10 | 启动 Koishi 服务,插件将自动加载违禁词库并进行审核。 11 | 12 | ## 违禁词库 13 | 14 | 违禁词库来自 [Sensitive-lexicon](https://github.com/konsheng/Sensitive-lexicon)。 15 | 16 | 感谢该项目提供的违禁词资源。 17 | 18 | ## 免责说明 19 | 20 | 本插件仅用于演示和学习目的。 21 | 22 | 使用者应自行承担使用本插件所带来的风险和责任。 23 | 24 | 违禁词库来源于第三方项目,插件开发者对其内容不承担任何责任。 25 | 26 | 请确保在遵守相关法律法规的前提下使用本插件。 27 | 28 | 29 | ## 许可证 30 | 31 | 本项目采用 MIT 许可证。 32 | 33 | --- -------------------------------------------------------------------------------- /plugins/lexicon-era-shift/readme.md: -------------------------------------------------------------------------------- 1 | # koishi-plugin-lexicon-era-shift 2 | 3 | [![npm](https://img.shields.io/npm/v/koishi-plugin-lexicon-era-shift?style=flat-square)](https://www.npmjs.com/package/koishi-plugin-lexicon-era-shift) 4 | 5 | 6 | 生成含有词语和释义的图片,来帮助用户了解新词汇的意义和用法。 7 | 8 | ## 功能特点 9 | - **动态生成图片**:根据用户输入的词语和解释,动态生成展示这些信息的图片。 10 | - **支持 Puppeteer**:利用 Puppeteer 在后端生成含有自定义 HTML 内容的截图。 11 | - **日志调试支持**:可配置的日志调试模式,帮助开发者跟踪问题。 12 | 13 | 14 | ## 使用方法 15 | 直接使用命令 `词语新解` 或其别名 `成语新解`,会自动生成随机的词语新解: 16 | ``` 17 | 词语新解 18 | ``` 19 | 20 | 当然,你也可以在聊天中使用命令 `词语新解 <词语> <解释>` 或其别名 `成语新解` 来请求生成图片: 21 | ``` 22 | 词语新解 坚韧不拔 牙齿又硬又有韧性,确实不好拔! 23 | ``` 24 | 如果词语超过6个字符,插件将提示错误。 25 | -------------------------------------------------------------------------------- /plugins/booru-custom-api/readme.md: -------------------------------------------------------------------------------- 1 | # koishi-plugin-booru-custom-api 2 | 3 | [![npm](https://img.shields.io/npm/v/koishi-plugin-booru-custom-api?style=flat-square)](https://www.npmjs.com/package/koishi-plugin-booru-custom-api) 4 | 5 | 6 | 本插件,旨在提供一种简便方法,通过指定的API获取图片,方便在Koishi框架的环境下,通过`booru`插件使用。 7 | 8 | ## 功能 9 | - 通过配置的API地址获取图片。 10 | - 可配置的API URL。 11 | - 错误处理机制,保证插件稳定运行。 12 | 13 | ## 安装 14 | 15 | 1. 确保你的Koishi机器人项目已经安装了`koishi-plugin-booru`。 16 | 2. 将`booru-custom-api`,从插件市场安装到你的koishi内。 17 | 3. 配置`booru-custom-api`的API ,然后开启即可! 18 | 19 | ## 配置 20 | 21 | 插件配置非常简单,只需要提供一个可以返回图片的API URL即可。 22 | 23 | 请确保你的 API URL 是有效可以访问的,并且能直接返回图片数据。 24 | 25 | -------------------------------------------------------------------------------- /plugins/dialogue-webui/client/shims-vue.d.ts: -------------------------------------------------------------------------------- 1 | import { Dialogue } from './types' 2 | 3 | declare module '*.vue' { 4 | import type { DefineComponent } from 'vue' 5 | const component: DefineComponent<{}, {}, any> 6 | export default component 7 | } 8 | 9 | declare module '@koishijs/client' { 10 | interface Events { 11 | 'webdialogue/list'(): Promise 12 | 'webdialogue/create'(dialogue: Partial): Promise<{ success: boolean; message?: string }> 13 | 'webdialogue/update'(dialogue: Partial): Promise<{ success: boolean; message?: string }> 14 | 'webdialogue/delete'(id: number): Promise<{ success: boolean; message?: string }> 15 | } 16 | } -------------------------------------------------------------------------------- /plugins/ademo/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "koishi-plugin-ademo", 3 | "description": "ademo", 4 | "version": "0.0.1", 5 | "main": "lib/index.js", 6 | "typings": "lib/index.d.ts", 7 | "files": [ 8 | "lib", 9 | "dist", 10 | "src", 11 | "client" 12 | ], 13 | "license": "MIT", 14 | "keywords": [ 15 | "chatbot", 16 | "koishi", 17 | "plugin", 18 | "ademo" 19 | ], 20 | "homepage": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/tree/main/", 21 | "bugs": { 22 | "url": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/issues" 23 | }, 24 | "peerDependencies": { 25 | "koishi": "4.18.9" 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /plugins/furry-encode-decode/readme.md: -------------------------------------------------------------------------------- 1 | # koishi-plugin-furry-encode-decode 2 | 3 | [![npm](https://img.shields.io/npm/v/koishi-plugin-furry-encode-decode?style=flat-square)](https://www.npmjs.com/package/koishi-plugin-furry-encode-decode) 4 | 5 | 基于 Node.js 版本的“兽音加密”。这个插件可以将普通文本转换为兽音加密文本,也可以将兽音加密文本还原为原始文本。 6 | 7 | ## 安装 8 | 9 | koishi插件市场安装`furry-encode-decode` 10 | 11 | ## 功能介绍 12 | 1. **文本加密**:将普通文本转换为加密文本。 13 | ``` 14 | furry-encode 15 | ``` 16 | 2. **文本解密**:将加密文本还原为普通文本。 17 | ``` 18 | furry-decode 19 | ``` 20 | ### 注意事项 21 | - 请确保输入的文本不含有敏感或不当内容。 22 | 23 | 24 | ## 贡献 25 | - 灵感来自 兽音译者的Python实现 https://www.52pojie.cn/thread-1571575-1-1.html 26 | -------------------------------------------------------------------------------- /plugins/manosaba-memes/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "koishi-plugin-manosaba-memes", 3 | "description": "manosaba-memes", 4 | "version": "0.4.1", 5 | "main": "lib/index.js", 6 | "typings": "lib/index.d.ts", 7 | "files": [ 8 | "lib", 9 | "src", 10 | "assets" 11 | ], 12 | "license": "MIT", 13 | "keywords": [ 14 | "chatbot", 15 | "koishi", 16 | "plugin", 17 | "manosaba-memes" 18 | ], 19 | "homepage": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/", 20 | "bugs": { 21 | "url": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/issues" 22 | }, 23 | "peerDependencies": { 24 | "koishi": "^4.18.9" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /plugins/universal-translation/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "koishi-plugin-universal-translation", 3 | "description": "通用翻译,支持多语种翻译...开箱即用。返回速度提升。[使用方法](https://www.npmjs.com/package/koishi-plugin-universal-translation)。翻译速度和质量还行,好像比百度翻译好欸?", 4 | "version": "0.1.2", 5 | "main": "lib/index.js", 6 | "typings": "lib/index.d.ts", 7 | "files": [ 8 | "lib", 9 | "dist" 10 | ], 11 | "koishi": { 12 | "service": { 13 | "implements": [ 14 | "translator" 15 | ] 16 | } 17 | }, 18 | "license": "MIT", 19 | "keywords": [ 20 | "chatbot", 21 | "koishi", 22 | "plugin" 23 | ], 24 | "peerDependencies": { 25 | "koishi": "^4.17.1" 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /plugins/chouxianghua/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "koishi-plugin-chouxianghua", 3 | "version": "2.0.0", 4 | "description": "/*抽象话生成*/把中文输入转换为emoji抽象话。比如:💉💦太🤡🐘🌶!(真的太抽象啦!)。是个很单纯的字符转换插件而已", 5 | "main": "lib/index.js", 6 | "typings": "lib/index.d.ts", 7 | "files": [ 8 | "lib", 9 | "src", 10 | "data" 11 | ], 12 | "homepage": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/tree/main/", 13 | "bugs": { 14 | "url": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/issues" 15 | }, 16 | "keywords": [ 17 | "koishi", 18 | "plugin" 19 | ], 20 | "license": "MIT", 21 | "peerDependencies": { 22 | "koishi": "^4.13.8" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /plugins/qrcode-service-null/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "koishi-plugin-qrcode-service-null", 3 | "description": "二维码服务 为一些需要发送链接的场景提供qrcode服务,更统一地使用qrcode。", 4 | "version": "0.2.3", 5 | "main": "lib/index.js", 6 | "typings": "lib/index.d.ts", 7 | "files": [ 8 | "lib", 9 | "dist" 10 | ], 11 | "license": "MIT", 12 | "keywords": [ 13 | "chatbot", 14 | "koishi", 15 | "plugin" 16 | ], 17 | "koishi": { 18 | "service": { 19 | "implements": [ 20 | "qrcode" 21 | ] 22 | } 23 | }, 24 | "peerDependencies": { 25 | "koishi": "^4.18.0" 26 | }, 27 | "dependencies": { 28 | "qrcode": "^1.5.4" 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /plugins/spell-wrong/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "koishi-plugin-spell-wrong", 3 | "description": "[你拼错了指令点我查看README](https://www.npmjs.com/package/koishi-plugin-spell-wrong)。支持在用户输入没有被处理的情况下,进行提示返回处理。 [点我预览效果图](https://i0.hdslb.com/bfs/openplatform/efff3a76e737a7c986f670b4c64ad878ec527927.png) ", 4 | "version": "0.2.0", 5 | "main": "lib/index.js", 6 | "typings": "lib/index.d.ts", 7 | "files": [ 8 | "lib", 9 | "src" 10 | ], 11 | "license": "MIT", 12 | "keywords": [ 13 | "chatbot", 14 | "plugin", 15 | "koishi", 16 | "拼错指令", 17 | "提示语返回" 18 | ], 19 | "peerDependencies": { 20 | "koishi": "^4.18.0" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /plugins/certificate-achievement/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "koishi-plugin-certificate-achievement", 3 | "version": "0.1.3", 4 | "description": "/*奖状生成*/生成一张奖状的图片!可指定获奖者、奖项名称、授权单位!开箱即食。", 5 | "main": "lib/index.js", 6 | "typings": "lib/index.d.ts", 7 | "files": [ 8 | "lib", 9 | "data", 10 | "src" 11 | ], 12 | "homepage": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/tree/main/", 13 | "bugs": { 14 | "url": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/issues" 15 | }, 16 | "keywords": [ 17 | "koishi", 18 | "plugin", 19 | "奖状生成", 20 | "image" 21 | ], 22 | "license": "MIT", 23 | "peerDependencies": { 24 | "koishi": "^4.13.8" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /plugins/impart-pro/src/types.ts: -------------------------------------------------------------------------------- 1 | // src/types.ts 2 | 3 | import type { } from 'koishi-plugin-monetary'; 4 | import type { } from 'koishi-plugin-puppeteer'; 5 | import type { } from 'koishi-plugin-glyph'; 6 | 7 | // 定义 impartpro 数据表的结构 8 | export interface ImpartproTable { 9 | userid: string; 10 | username: string; 11 | channelId: string[]; 12 | length: number; 13 | injectml: string; 14 | growthFactor: number; 15 | lastGrowthTime: string; // 开导间隔 16 | lastDuelTime: string; // 决斗间隔 17 | locked: boolean; 18 | } 19 | 20 | declare module 'koishi' { 21 | interface Tables { 22 | impartpro: ImpartproTable; 23 | monetary: { 24 | uid: number; 25 | currency: string; 26 | value: number; 27 | }; 28 | } 29 | } -------------------------------------------------------------------------------- /plugins/preview-help/websrc/vite.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vite' 2 | import vue from '@vitejs/plugin-vue' 3 | import { viteSingleFile } from 'vite-plugin-singlefile' 4 | import { resolve } from 'path' 5 | 6 | export default defineConfig({ 7 | plugins: [vue(), viteSingleFile()], 8 | resolve: { 9 | alias: { 10 | '@': resolve(__dirname, 'src') 11 | } 12 | }, 13 | build: { 14 | target: 'esnext', 15 | assetsInlineLimit: 100000000, 16 | chunkSizeWarningLimit: 100000000, 17 | cssCodeSplit: false, 18 | rollupOptions: { 19 | output: { 20 | inlineDynamicImports: true 21 | } 22 | } 23 | }, 24 | base: './' 25 | }) -------------------------------------------------------------------------------- /plugins/universal-translation/lib/translator.d.ts: -------------------------------------------------------------------------------- 1 | import { Context, Service } from 'koishi'; 2 | declare module 'koishi' { 3 | interface Context { 4 | translator: Translator; 5 | } 6 | } 7 | declare abstract class Translator extends Service { 8 | config: C; 9 | constructor(ctx: Context, config: C); 10 | abstract translate(options?: Translator.Result): Promise; 11 | } 12 | declare namespace Translator { 13 | interface Config { 14 | } 15 | interface Result { 16 | input: string; 17 | output?: string; 18 | source?: string; 19 | target?: string; 20 | detail?: boolean; 21 | } 22 | } 23 | export default Translator; 24 | -------------------------------------------------------------------------------- /plugins/preview-help/client/index.ts: -------------------------------------------------------------------------------- 1 | import { Context } from '@koishijs/client' 2 | import { defineComponent, ref, h, resolveComponent, watch } from 'vue' 3 | import './index.scss' 4 | export default (ctx: Context) => { 5 | ctx.page({ 6 | name: '菜单编辑', 7 | path: '/preview-help', 8 | desc: "", 9 | authority: 4, 10 | component: defineComponent({ 11 | setup() { 12 | const iframe = ref() 13 | return () => h(resolveComponent('k-layout'), {}, { 14 | default: () => h('iframe', { ref: iframe, src: "/help/index.html", class: 'layout-iframe' }), 15 | }) 16 | }, 17 | }), 18 | }) 19 | } -------------------------------------------------------------------------------- /plugins/patina/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "koishi-plugin-patina", 3 | "version": "2.3.0", 4 | "description": "幻影坦克、光棱坦克、原图坦克、像素化、相机镜框... 旨在通过 puppeteer 来让你的bot获得更多功能!", 5 | "main": "lib/index.js", 6 | "typings": "lib/index.d.ts", 7 | "files": [ 8 | "lib", 9 | "src", 10 | "html" 11 | ], 12 | "keywords": [ 13 | "koishi", 14 | "plugin", 15 | "puppeteer", 16 | "像素化", 17 | "原图幻影光棱坦克" 18 | ], 19 | "homepage": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/", 20 | "bugs": { 21 | "url": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/issues" 22 | }, 23 | "license": "MIT", 24 | "peerDependencies": { 25 | "koishi": "^4.13.8" 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /plugins/preview-help/websrc/src/components/DynamicStyle.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | -------------------------------------------------------------------------------- /plugins/mahoshojo-generator/readme.md: -------------------------------------------------------------------------------- 1 | # koishi-plugin-mahoshojo-generator 2 | 3 | [![npm](https://img.shields.io/npm/v/koishi-plugin-mahoshojo-generator?style=flat-square)](https://www.npmjs.com/package/koishi-plugin-mahoshojo-generator) 4 | 5 | 6 | --- 7 | 8 | Mahogen Logo 9 | 10 | 在魔裁世界观里,你将会是一个什么样的魔女... 11 | 12 | 通过回答一系列问题,生成更具深度的、包含魔力构装、奇境规则和繁开状态的详细角色设定。 13 | 14 | --- 15 | 16 | ## 依赖/服务 17 | 18 | 使用puppeteer渲染图片! 19 | 20 | 但还暂未支持源网站的字体渲染捏。 21 | 22 | 本插件来自以下项目: 23 | - https://masagen.colanns.me/ 24 | - https://github.com/colasama/MahoShojo-Generator/tree/master 25 | 26 | 欢迎前往体验~~~ 27 | 28 | --- -------------------------------------------------------------------------------- /plugins/lmarena-api/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "koishi-plugin-lmarena-api", 3 | "description": "lmarena-api。一个简单的手办化插件,修改自lmarena插件。通过配置 openai like 的 API 使用。设定参考自astrbot_plugin_shoubanhua。", 4 | "version": "0.1.5", 5 | "main": "lib/index.js", 6 | "typings": "lib/index.d.ts", 7 | "files": [ 8 | "lib", 9 | "src", 10 | "data" 11 | ], 12 | "license": "MIT", 13 | "keywords": [ 14 | "chatbot", 15 | "koishi", 16 | "plugin", 17 | "lmarena-api" 18 | ], 19 | "homepage": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/tree/main/", 20 | "bugs": { 21 | "url": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/issues" 22 | }, 23 | "peerDependencies": { 24 | "koishi": "4.18.9" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /plugins/sakana-widget/readme.md: -------------------------------------------------------------------------------- 1 | # koishi-plugin-sakana-widget 2 | 3 | [![npm](https://img.shields.io/npm/v/koishi-plugin-sakana-widget?style=flat-square)](https://www.npmjs.com/package/koishi-plugin-sakana-widget) 4 | 5 | 为 Koishi 控制台添加一个石蒜模拟器网页小组件。 6 | 7 | 8 | 灵感来自 9 | - https://github.com/dsrkafuu/sakana-widget/tree/main 10 | - https://github.com/koishijs/koishi-plugin-live2d 11 | 12 | 13 | ## 功能 14 | 15 | - 在 Koishi 控制台右下角显示石蒜模拟器小组件 16 | - 支持自定义角色和图片 17 | - 自动缩放适应 18 | - 按住立牌拖拽,松手后立牌会向反方向弹跳 19 | - 底座控制栏切换角色和其他功能 20 | - 自走模式,以随机间隔施加一个大小随机的力 21 | 22 | ## 安装方法 23 | 24 | 在 Koishi 控制台插件市场中搜索并安装 `sakana-widget`。 25 | 26 | 27 | 28 | ## 许可证 29 | 30 | MIT 31 | 32 | --- 33 | 34 | 插画来源: 大伏アオ [@blue00f4](https://twitter.com/blue00f4) [pixiv](https://pixiv.me/aoiroblue1340) 等作者。 -------------------------------------------------------------------------------- /plugins/assets-chevereto-fork/readme.md: -------------------------------------------------------------------------------- 1 | # koishi-plugin-assets-chevereto-fork 2 | 3 | 4 | ## 使用方法 5 | 6 | 1. 安装并启用本插件 7 | 2. 关闭默认的 `assets-local` 插件 8 | 3. 配置你的 Chevereto 图床服务信息 9 | 4. 插件会自动处理消息中的图片资源转存 10 | 11 | ## API 接口 12 | 13 | ### ctx.assets.transform(content) 14 | 15 | 将消息文本中的资源全部转存,并将链接替换为永久链接。 16 | 17 | - `content`: string - 要处理的消息文本 18 | - 返回值: Promise - 处理后的消息文本 19 | 20 | ### ctx.assets.stats() 21 | 22 | 获取服务状态信息。 23 | 24 | - 返回值: Promise - 服务状态信息 25 | 26 | ## 支持的图床服务 27 | 28 | 本插件支持所有兼容 Chevereto API 的图床服务,包括但不限于: 29 | 30 | - Chevereto 官方服务 31 | - 自建 Chevereto 实例 32 | - 其他兼容 Chevereto API 的图床服务 33 | 34 | ## 注意事项 35 | 36 | - 请确保你的图床服务支持 Chevereto API v1 37 | - API Key 需要有上传权限 38 | - 建议在生产环境中关闭详细日志输出 39 | 40 | ## 许可证 41 | 42 | MIT License 43 | -------------------------------------------------------------------------------- /plugins/basedata/src/index.ts: -------------------------------------------------------------------------------- 1 | import { Context, Schema } from 'koishi' 2 | import { BaseData } from './service' 3 | 4 | export const name = 'basedata' 5 | 6 | export { BaseData } 7 | 8 | export interface Config { 9 | retryCount: number 10 | requestTimeout: number 11 | } 12 | 13 | export const Config: Schema = Schema.object({ 14 | retryCount: Schema.number().default(3).min(0).description('文件下载失败时的自动重试次数。'), 15 | requestTimeout: Schema.number().default(30000).min(1000).description('单次请求超时时间(毫秒),默认30秒。'), 16 | }) 17 | 18 | declare module 'koishi' { 19 | interface Context { 20 | basedata: BaseData 21 | } 22 | } 23 | 24 | export function apply(ctx: Context, config: Config) { 25 | ctx.on("ready", async () => { 26 | ctx.plugin(BaseData, config) 27 | }) 28 | } 29 | -------------------------------------------------------------------------------- /plugins/change-auth-callme/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "koishi-plugin-change-auth-callme", 3 | "description": "/*提权*/通过指令,自定义修改自身权限。使用`changeauth 5`即可提升自己权限至5。[参考自callme插件](/market?keyword=callme)", 4 | "version": "1.3.5", 5 | "main": "lib/index.js", 6 | "typings": "lib/index.d.ts", 7 | "files": [ 8 | "lib", 9 | "src" 10 | ], 11 | "license": "MIT", 12 | "homepage": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/", 13 | "bugs": { 14 | "url": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/issues" 15 | }, 16 | "keywords": [ 17 | "chatbot", 18 | "koishi", 19 | "提权", 20 | "change-auth-callme", 21 | "plugin" 22 | ], 23 | "peerDependencies": { 24 | "koishi": "^4.16.0" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /plugins/qrcode-service-null/lib/index.d.ts: -------------------------------------------------------------------------------- 1 | import { Context, Service, Schema } from 'koishi'; 2 | export interface Config { 3 | enablecommand: any; 4 | } 5 | export declare const name = "qrcode-service-null"; 6 | export declare const Config: Schema; 7 | export declare const usage = "\n\u4E3Akoishi\u901A\u8FC7\u4E8C\u7EF4\u7801\u751F\u6210\u670D\u52A1\n\n[\u4F7F\u7528\u65B9\u6CD5\u8BF7\u89C1readme](https://www.npmjs.com/package/koishi-plugin-qrcode-service-null)\n\n"; 8 | declare module 'koishi' { 9 | interface Context { 10 | qrcode: qrcode; 11 | } 12 | } 13 | export declare class qrcode extends Service { 14 | constructor(ctx: Context); 15 | generateQRCode(text: string, options: any): Promise; 16 | } 17 | export declare function apply(ctx: Context, config: Config): void; 18 | -------------------------------------------------------------------------------- /plugins/steam-friend-status-fork/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "koishi-plugin-steam-friend-status-fork", 3 | "description": "查询群友steam状态。修改自 `koishi-plugin-steam-friend-status`", 4 | "version": "0.1.2", 5 | "main": "lib/index.js", 6 | "typings": "lib/index.d.ts", 7 | "files": [ 8 | "data", 9 | "lib", 10 | "src" 11 | ], 12 | "license": "MIT", 13 | "homepage": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/tree/main/", 14 | "bugs": { 15 | "url": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/issues" 16 | }, 17 | "keywords": [ 18 | "chatbot", 19 | "koishi", 20 | "plugin", 21 | "steam-friend-status-fork", 22 | "游戏好友" 23 | ], 24 | "peerDependencies": { 25 | "koishi": "^4.17.1" 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /plugins/huozi-generator/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "koishi-plugin-huozi-generator", 3 | "description": "/*otto活字印刷*/活字乱刷,嘛,但是好像奇奇怪怪的蛮好玩唔[点我查看使用方法](https://www.npmjs.com/package/koishi-plugin-huozi-generator)", 4 | "version": "0.1.2", 5 | "main": "lib/index.js", 6 | "typings": "lib/index.d.ts", 7 | "files": [ 8 | "lib", 9 | "dist" 10 | ], 11 | "license": "MIT", 12 | "keywords": [ 13 | "chatbot", 14 | "koishi", 15 | "otto活字印刷", 16 | "活字乱刷", 17 | "抽象与整活", 18 | "plugin" 19 | ], 20 | "koishi": { 21 | "description": { 22 | "en": "huozi-generator", 23 | "zh": "/*otto活字印刷*/活字乱刷,嘛,但是好像奇奇怪怪的蛮好玩唔[点我查看使用方法](https://www.npmjs.com/package/koishi-plugin-huozi-generator)" 24 | } 25 | }, 26 | "peerDependencies": { 27 | "koishi": "^4.13.8" 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /plugins/translator-youdaoavailable/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "koishi-plugin-translator-youdaoavailable", 3 | "description": "/*中英互译的有道翻译*/中英互译,且多个备用翻译接口。[点我查看使用方法](https://www.npmjs.com/package/koishi-plugin-translator-youdaoavailable)", 4 | "version": "0.2.0", 5 | "main": "lib/index.js", 6 | "typings": "lib/index.d.ts", 7 | "files": [ 8 | "lib", 9 | "dist" 10 | ], 11 | "license": "MIT", 12 | "keywords": [ 13 | "chatbot", 14 | "koishi", 15 | "translator", 16 | "plugin" 17 | ], 18 | "koishi": { 19 | "description": { 20 | "en": "translator-youdaoavailable", 21 | "zh": "/*中英互译的有道翻译*/中英互译,且多个备用翻译接口。[点我查看使用方法](https://www.npmjs.com/package/koishi-plugin-translator-youdaoavailable)" 22 | } 23 | }, 24 | "peerDependencies": { 25 | "koishi": "^4.13.8" 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /plugins/universal-translation/src/translator.ts: -------------------------------------------------------------------------------- 1 | import { Context, Service } from 'koishi' 2 | 3 | declare module 'koishi' { 4 | interface Context { 5 | translator: Translator 6 | } 7 | } 8 | 9 | abstract class Translator extends Service { 10 | constructor(ctx: Context, public config: C) { 11 | super(ctx, 'translator', true) 12 | } 13 | 14 | abstract translate(options?: Translator.Result): Promise 15 | } 16 | 17 | namespace Translator { 18 | export interface Config { } 19 | 20 | export interface Result { 21 | input: string 22 | output?: string 23 | source?: string 24 | target?: string 25 | detail?: boolean 26 | } 27 | } 28 | 29 | export default Translator 30 | -------------------------------------------------------------------------------- /plugins/beta-dxl-bert-vits/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "koishi-plugin-beta-dxl-bert-vits", 3 | "description": "beta-dxl-bert-vits。", 4 | "version": "2.0.1", 5 | "main": "lib/index.js", 6 | "typings": "lib/index.d.ts", 7 | "files": [ 8 | "lib", 9 | "src", 10 | "script", 11 | "resources" 12 | ], 13 | "license": "MIT", 14 | "keywords": [ 15 | "chatbot", 16 | "koishi", 17 | "plugin", 18 | "bertvits", 19 | "ModelScope", 20 | "魔塔ai语音", 21 | "audio" 22 | ], 23 | "koishi": { 24 | "service": { 25 | "implements": [ 26 | "vits" 27 | ], 28 | "optional": [ 29 | "translator" 30 | ] 31 | } 32 | }, 33 | "dependencies": { 34 | "@initencounter/vits": "^0.0.3" 35 | }, 36 | "peerDependencies": { 37 | "koishi": "^4.16.8" 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /plugins/bilibili-dynamic-pusher/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "koishi-plugin-bilibili-dynamic-pusher", 3 | "description": "Bilibili动态推送,灵感来自[bilibili-notify](https://www.npmjs.com/package/koishi-plugin-bilibili-notify)插件。需要搭配对应的适配器使用哦~", 4 | "version": "2.0.1", 5 | "main": "lib/index.js", 6 | "typings": "lib/index.d.ts", 7 | "files": [ 8 | "lib", 9 | "src" 10 | ], 11 | "homepage": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/tree/main/", 12 | "bugs": { 13 | "url": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/issues" 14 | }, 15 | "keywords": [ 16 | "chatbot", 17 | "koishi", 18 | "plugin", 19 | "bilibili动态推送", 20 | "rss", 21 | "dynamic-pusher" 22 | ], 23 | "license": "MIT", 24 | "peerDependencies": { 25 | "koishi": "^4.18.7" 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /plugins/chat-patch/client/icons/activity.vue: -------------------------------------------------------------------------------- 1 | 10 | -------------------------------------------------------------------------------- /plugins/local-audio-sender/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "koishi-plugin-local-audio-sender", 3 | "description": "/*指令触发语音*/支持本地音频、网络URL、文件夹音频搜索、txt网络URL列表...(有点像emojihub)。指令调用,可以很方便的触发语音哦。支持模糊匹配、递归搜索... 灵感来自[audio-sender](https://github.com/windbullet/koishi-plugin-audio-sender)", 4 | "version": "1.0.1", 5 | "main": "lib/index.js", 6 | "typings": "lib/index.d.ts", 7 | "files": [ 8 | "lib", 9 | "txt" 10 | ], 11 | "license": "MIT", 12 | "homepage": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/tree/main/", 13 | "bugs": { 14 | "url": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/issues" 15 | }, 16 | "keywords": [ 17 | "chatbot", 18 | "koishi", 19 | "本地语音发送音频MP3", 20 | "plugin" 21 | ], 22 | "peerDependencies": { 23 | "koishi": "^4.17.9" 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /plugins/dialogue-webui/readme.md: -------------------------------------------------------------------------------- 1 | # koishi-plugin-dialogue-webui 2 | 3 | ## 使用指南 4 | 5 | 开启插件之后,[请前往这里](/dialogue-webui) 进行问答设置。 6 | 7 | ## 效果预览 8 | 9 |
  • -> 点我预览效果图1
  • 10 | 11 |
  • -> 点我预览效果图2
  • 12 | 13 | ## 注意事项 14 | 15 | 1. 【回复内容】支持使用js变量 16 | 比如 17 | 18 | ```md 19 | 你好啊!{{h.at(session.userId)}} ~ 20 | ``` 21 | 22 | 支持访问的变量有:`ctx`、 `config`、 `h`、 `session` 23 | 24 | 1. 作用范围的【群组ID】【用户ID】支持使用逗号分隔多个ID。 25 | (支持全角、半角逗号) 26 | 比如【群组ID】 27 | 28 | ```md 29 | #,123456,114514 30 | ``` 31 | 32 | --- 33 | 34 | ## 所需依赖 35 | 36 | 'database'、'console'、'server'、'logger' 37 | -------------------------------------------------------------------------------- /plugins/instance-backup/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shangxueink/koishi-plugin-instance-backup", 3 | "description": "Backup for Koishi", 4 | "version": "1.2.2", 5 | "main": "lib/index.js", 6 | "typings": "lib/index.d.ts", 7 | "files": [ 8 | "lib" 9 | ], 10 | "license": "MIT", 11 | "keywords": [ 12 | "chatbot", 13 | "koishi", 14 | "plugin", 15 | "自动备份" 16 | ], 17 | "homepage": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/tree/main/", 18 | "bugs": { 19 | "url": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/issues" 20 | }, 21 | "koishi": { 22 | "description": { 23 | "zh": "/*文件 备份*/自动备份 Koishi 实例中的指定文件和文件夹。支持指令触发备份和使用 cron 表达式进行定时自动备份。" 24 | } 25 | }, 26 | "peerDependencies": { 27 | "koishi": "^4.15.6" 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /plugins/qqq-bot-manager/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "koishi-plugin-qqq-bot-manager", 3 | "version": "1.2.2", 4 | "description": "/*管理你的QQbot数据!*/使用链接登录、查看你的QQ官方机器人数据。➢ [点我预览效果图](https://i0.hdslb.com/bfs/article/09335995da748f5c6a96b4bc1f13e78c312276085.png)", 5 | "main": "lib/index.js", 6 | "typings": "lib/index.d.ts", 7 | "files": [ 8 | "lib", 9 | "src" 10 | ], 11 | "homepage": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/", 12 | "bugs": { 13 | "url": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/issues" 14 | }, 15 | "keywords": [ 16 | "koishi", 17 | "plugin", 18 | "qqqbot", 19 | "QQ机器人数据" 20 | ], 21 | "license": "MIT", 22 | "peerDependencies": { 23 | "koishi": "^4.16.0" 24 | }, 25 | "koishi": { 26 | "browser": true 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /plugins/assets-test/src/index.ts: -------------------------------------------------------------------------------- 1 | import { Context, Schema, h } from 'koishi'; 2 | import { } from '@koishijs/assets'; 3 | 4 | export const name = 'assets-test'; 5 | export const inject = ["assets"]; 6 | export interface Config { } 7 | 8 | export const Config: Schema = Schema.object({}); 9 | 10 | export function apply(ctx: Context) { 11 | // write your plugin here 12 | ctx 13 | .command('测试图床') 14 | .action(async ({ session }) => { 15 | const aaa = await ctx.assets.transform(`${h.image("file:///D:/Pictures/meme/2024-12-07-13-23-30-038.png")}`); 16 | ctx.logger.info(aaa); 17 | return h.text(`${aaa}`); 18 | }); 19 | 20 | ctx 21 | .command('测试语音') 22 | .action(async ({ session }) => { 23 | await session.send(h.audio("https://api.qijieya.cn/meting/?type=url&id=1391282847")); 24 | return; 25 | }); 26 | } 27 | -------------------------------------------------------------------------------- /plugins/automation-console/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "koishi-plugin-automation-console", 3 | "version": "1.3.4", 4 | "description": "[**指令控制台操作**点我查看使用说明](https://www.npmjs.com/package/koishi-plugin-automation-console) 通过 Puppeteer 操作 控制台的插件,提供多种功能,包括打开控制台、小火箭更新、配置插件、查看日志、软重启等。", 5 | "main": "lib/index.js", 6 | "typings": "lib/index.d.ts", 7 | "files": [ 8 | "lib", 9 | "dist" 10 | ], 11 | "keywords": [ 12 | "koishi", 13 | "plugin", 14 | "console", 15 | "控制台", 16 | "自动化" 17 | ], 18 | "homepage": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/tree/main/", 19 | "bugs": { 20 | "url": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/issues" 21 | }, 22 | "license": "MIT", 23 | "peerDependencies": { 24 | "koishi": "^4.13.8" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /plugins/verse-match/lib/index.d.ts: -------------------------------------------------------------------------------- 1 | import { Context, Session } from "koishi"; 2 | 3 | declare module "koishi" { 4 | interface Plugins { 5 | "ai-duilian": AiDuilian 6 | } 7 | } 8 | 9 | interface AiDuilian { 10 | apply(ctx: Context): void; 11 | } 12 | 13 | interface DuilianResponse { 14 | up: string; 15 | under: string; 16 | } 17 | 18 | declare function apply(ctx: Context): void; 19 | 20 | declare namespace apply { 21 | 22 | function action(session: Session, 上联: string): Promise; 23 | 24 | namespace action { 25 | 26 | function send(text: string): Promise; 27 | 28 | function get(url: string, options?: { 29 | timeout: number; 30 | }): Promise<{ 31 | status: number; 32 | data: { 33 | data: DuilianResponse; 34 | } 35 | }>; 36 | 37 | } 38 | 39 | } 40 | 41 | export = apply; 42 | -------------------------------------------------------------------------------- /plugins/autowithdraw-fix/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "koishi-plugin-autowithdraw-fix", 3 | "description": "[**代理发送消息!**点我查看效果预览图](https://i0.hdslb.com/bfs/article/585ce85165936462a105f0162b4ddde8312276085.gif) 支持强制回复指令、指令撤回时 自动撤回响应、定时撤回机器人的所有消息。", 4 | "version": "1.4.0", 5 | "main": "lib/index.js", 6 | "typings": "lib/index.d.ts", 7 | "files": [ 8 | "lib", 9 | "src" 10 | ], 11 | "license": "MIT", 12 | "keywords": [ 13 | "koishi", 14 | "plugin", 15 | "autowithdraw-fix", 16 | "自动撤回" 17 | ], 18 | "homepage": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/tree/main/", 19 | "bugs": { 20 | "url": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/issues" 21 | }, 22 | "peerDependencies": { 23 | "koishi": "^4.13.8" 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /plugins/quiz-master/readme.md: -------------------------------------------------------------------------------- 1 | # koishi-plugin-quiz-master 2 | 3 | [![npm](https://img.shields.io/npm/v/koishi-plugin-quiz-master?style=flat-square)](https://www.npmjs.com/package/koishi-plugin-quiz-master) 4 | 5 | **Quiz Master** 是一个用于 Koishi 框架的知识问答插件,它提供了一个简单的选择题游戏,用户可以通过指令的不同action来玩这个游戏。 6 | 7 | ## 功能特点 8 | 9 | - 支持用户通过指令开始、进行和结束游戏。 10 | - 每道题目均为选择题形式,有一定的挑战性。 11 | - 灵活的指令选项,用户可通过不同的表述进行同一操作。 12 | - 用户可答题,或选择跳过当前题目。 13 | 14 | ## 指令用法 15 | 16 | 用户可以通过以下指令来与 quiz Master 插件互动: 17 | 18 | - **开始游戏**: 用户可以通过以下任一指令开始游戏: 19 | - `【开始】` 20 | - `【开始答题】` 21 | 22 | - **回答问题**: 在题目展示之后,用户可以输入答案编号来回答问题,例如: 23 | - `【1】` 表示用户选择第一个选项。 24 | - `【2】` 表示用户选择第二个选项,以此类推。 25 | 26 | - **跳过问题**: 如若某题不会,用户可以选择跳过当前题目继续下一题: 27 | - `【过】` 28 | - `【下一题】` 29 | 30 | - **结束游戏**: 当用户想要结束游戏,可以使用以下任一指令: 31 | - `【不玩了】` 32 | 33 | ## 安装 34 | 35 | 要将本插件添加到你的机器人,你可以使在koishi插件市场里搜索【quiz-master】并安装哦~ 36 | -------------------------------------------------------------------------------- /plugins/commands-cao/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "koishi-plugin-commands-cao", 3 | "description": "[**THE FUCK**纠正命令](https://i0.hdslb.com/bfs/openplatform/85c82bad2b27c6f18dac0d12fdcd4b53a81edd26.png) 当你输错命令时,只需触发 `fuck` 指令,就能帮你找到并执行正确的命令。", 4 | "version": "1.0.0", 5 | "main": "lib/index.js", 6 | "typings": "lib/index.d.ts", 7 | "files": [ 8 | "lib", 9 | "src" 10 | ], 11 | "license": "MIT", 12 | "keywords": [ 13 | "koishi", 14 | "plugin", 15 | "commands-cao", 16 | "thefuck", 17 | "纠正修" 18 | ], 19 | "homepage": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/tree/main/", 20 | "bugs": { 21 | "url": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/issues" 22 | }, 23 | "peerDependencies": { 24 | "koishi": "^4.13.8" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /plugins/change-auth-callme/readme.md: -------------------------------------------------------------------------------- 1 | # koishi-plugin-change-auth-callme 2 | 3 | [![npm](https://img.shields.io/npm/v/koishi-plugin-change-auth-callme)](https://www.npmjs.com/package/koishi-plugin-change-auth-callme) 4 | 5 | Koishi 权限管理插件,支持手动指令修改权限和基于角色的自动权限分配。 6 | 7 | 8 | 9 | ### 手动修改权限 10 | ``` 11 | changeauth 5 12 | ``` 13 | 14 | ### 自动权限分配 15 | 启用自动授权后,插件会根据用户在群组中的角色自动分配权限: 16 | - 群主 (owner) → 权限 4 17 | - 管理员 (admin) → 权限 3 18 | - 群员 (member) → 权限 1 19 | 20 | ## 主要配置 21 | 22 | | 配置项 | 默认值 | 说明 | 23 | |--------|--------|------| 24 | | `Command_Name` | `changeauth` | 指令名称 | 25 | | `MAX_authority_Limit` | `5` | 最大权限值 | 26 | | `enableAutoAuth` | `false` | 启用自动授权 | 27 | | `middleware_true` | `false` | 使用前置中间件 | 28 | | `delayTime` | `1000` | 延迟执行时间(ms) | 29 | 30 | ## 注意事项 31 | 32 | - 建议配置过滤器限制使用用户 33 | - 前置中间件需要延迟执行以确保用户字段正确加载 34 | - 自动授权可能覆盖手动设置的权限 35 | 36 | -------------------------------------------------------------------------------- /plugins/dg-lab-ws/src/index.ts: -------------------------------------------------------------------------------- 1 | import { Context, Schema, Service } from 'koishi' 2 | import { WsServer } from './wsServer' 3 | import { Config } from './config' 4 | 5 | export const name = 'dg-lab-ws' 6 | export * from './config' 7 | export const usage = ` 8 |
    9 | DG-LAB Logo 10 |
    11 | 12 |

    通过安装和配置本插件,你可以实现公网命令转发和连接管理,让多个用户共享一个 WebSocket 服务器实例。

    13 | 14 |
      15 |
    • port:WebSocket 服务器的端口。
    • 16 |
    17 | 18 |

    注意:本插件提供的服务是一个 WebSocket 服务。与 DG-LAB 的 WebSocket 服务器连接时,强制需要二维码链接。二维码对应内容必定包含本插件服务器的地址,因此本插件一会泄露服务器 IP。请谨慎考虑后再决定是否开启公开服务。

    19 | 20 | `; 21 | export function apply(ctx: Context, config: Config) { 22 | // 启动ws服务器 23 | ctx.plugin(WsServer, config.port) 24 | // 下面留给小学发挥 25 | 26 | } -------------------------------------------------------------------------------- /plugins/lexicon-era-shift/lib/index.d.ts: -------------------------------------------------------------------------------- 1 | /* 2 | _ooOoo_ 3 | o8888888o 4 | 88" . "88 5 | (| -_- |) 6 | O\ = /O 7 | ____/`---'\____ 8 | . ' \\| |// `. 9 | / \\||| : |||// \ 10 | / _||||| -:- |||||- \ 11 | | | \\\ - /// | | 12 | | \_| ''\---/'' | | 13 | \ .-\__ `-` ___/-. / 14 | ___`. .' /--.--\ `. . __ 15 | ."" '< `.___\_<|>_/___.' >'"". 16 | | | : `- \`.;`\ _ /`;.`/ - ` : | | 17 | \ \ `-. \_ __\ /__ _/ .-` / / 18 | ======`-.____`-.___\_____/___.-`____.-'====== 19 | `=---=' 20 | ............................................. 21 | */ -------------------------------------------------------------------------------- /plugins/bmi-calculator/lib/index.d.ts: -------------------------------------------------------------------------------- 1 | import { Context, Session } from "koishi"; 2 | 3 | declare module "koishi" { 4 | interface Plugins { 5 | "bmi-calculator": BmiCalculator; 6 | } 7 | 8 | interface BmiCalculator { 9 | apply(ctx: Context): void; 10 | } 11 | 12 | interface CalculateBmiResponse { 13 | up: string; 14 | under: string; 15 | } 16 | 17 | declare function apply(ctx: Context): void; 18 | 19 | declare namespace apply { 20 | function action(session: Session, height: string, weight: string): Promise; 21 | 22 | namespace action { 23 | function send(text: string): Promise; 24 | function get(url: string, options?: { 25 | timeout: number; 26 | }): Promise<{ 27 | status: number; 28 | data: { 29 | data: CalculateBmiResponse; 30 | }; 31 | }>; 32 | } 33 | } 34 | } 35 | 36 | export = apply; 37 | -------------------------------------------------------------------------------- /plugins/preview-help/websrc/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "koishi-help-content", 3 | "version": "1.0.0", 4 | "description": "Koishi帮助菜单生成器", 5 | "type": "module", 6 | "scripts": { 7 | "dev": "vite", 8 | "build": "vite build", 9 | "preview": "vite preview" 10 | }, 11 | "dependencies": { 12 | "@types/sortablejs": "^1.15.8", 13 | "html2canvas": "^1.4.1", 14 | "marked": "^12.0.0", 15 | "vue": "^3.5.22", 16 | "vue-draggable-plus": "^0.6.0" 17 | }, 18 | "devDependencies": { 19 | "@types/node": "^20.11.0", 20 | "@vitejs/plugin-vue": "^5.0.0", 21 | "autoprefixer": "^10.4.0", 22 | "postcss": "^8.4.0", 23 | "tailwindcss": "^3.4.0", 24 | "typescript": "^5.3.0", 25 | "vite": "^5.0.0", 26 | "vite-plugin-singlefile": "^2.3.0", 27 | "vue-tsc": "^1.8.0" 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /plugins/mahoshojo-generator/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "koishi-plugin-mahoshojo-generator", 3 | "description": "[**魔女审判人设生成**点我查看效果预览图](https://i0.hdslb.com/bfs/openplatform/3dd9032fb12218083573ef7819156b10086293d1.png) 在魔女审判的世界观里,你将会是一个什么样的魔女...通过回答一系列问题,生成包含魔力构装、奇境规则的详细角色设定。", 4 | "version": "0.1.2", 5 | "main": "lib/index.js", 6 | "typings": "lib/index.d.ts", 7 | "files": [ 8 | "lib", 9 | "src", 10 | "data" 11 | ], 12 | "license": "MIT", 13 | "keywords": [ 14 | "chatbot", 15 | "koishi", 16 | "plugin", 17 | "mahoshojo-generator", 18 | "魔女审判" 19 | ], 20 | "homepage": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/tree/main/", 21 | "bugs": { 22 | "url": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/issues" 23 | }, 24 | "peerDependencies": { 25 | "koishi": "4.18.9" 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /plugins/preview-help/websrc/src/style.css: -------------------------------------------------------------------------------- 1 | @tailwind base; 2 | @tailwind components; 3 | @tailwind utilities; 4 | 5 | body { 6 | margin: 0; 7 | font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 8 | 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', 9 | sans-serif; 10 | -webkit-font-smoothing: antialiased; 11 | -moz-osx-font-smoothing: grayscale; 12 | background-color: #fff; 13 | color: #000; 14 | } 15 | 16 | @media (prefers-color-scheme: dark) { 17 | body { 18 | background-color: #1a1a1a; 19 | color: #fff; 20 | } 21 | } 22 | 23 | * { 24 | box-sizing: border-box; 25 | } 26 | 27 | .backdrop-blur-glass { 28 | backdrop-filter: blur(10px); 29 | -webkit-backdrop-filter: blur(10px); 30 | } 31 | 32 | .backdrop-blur-strong { 33 | backdrop-filter: blur(20px); 34 | -webkit-backdrop-filter: blur(20px); 35 | } -------------------------------------------------------------------------------- /plugins/preview-help/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "koishi-plugin-preview-help", 3 | "description": "好像是一个图片菜单生成器?", 4 | "version": "4.0.0", 5 | "main": "lib/index.js", 6 | "typings": "lib/index.d.ts", 7 | "files": [ 8 | "client", 9 | "dist", 10 | "help", 11 | "lib", 12 | "src" 13 | ], 14 | "license": "MIT", 15 | "keywords": [ 16 | "chatbot", 17 | "koishi", 18 | "plugin", 19 | "自定义编辑", 20 | "图片菜单" 21 | ], 22 | "homepage": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/tree/main/", 23 | "bugs": { 24 | "url": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/issues" 25 | }, 26 | "peerDependencies": { 27 | "@koishijs/plugin-console": "^5.11.0", 28 | "koishi": "^4.16.0" 29 | }, 30 | "devDependencies": { 31 | "@koishijs/client": "^5.11.0", 32 | "koishi": "^4.16.0" 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /plugins/speechless-mind/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "koishi-plugin-speechless-mind", 3 | "version": "1.0.6", 4 | "description": "/*梗图生成*/ 生成梗图「无语,和你说不下去,典型的_____思维」的meme图哦![点我查看](https://i0.hdslb.com/bfs/article/00bf52c9f36bf40e63fd28334338a71d312276085.png) [插件预览效果图](https://i0.hdslb.com/bfs/article/5d9001575731061e467cc1c3d77f6a54312276085.png) 好像很好玩的样子(((嘻嘻", 5 | "main": "lib/index.js", 6 | "typings": "lib/index.d.ts", 7 | "files": [ 8 | "lib", 9 | "png" 10 | ], 11 | "keywords": [ 12 | "koishi", 13 | "plugin", 14 | "puppeteer", 15 | "梗图生成", 16 | "无语,和你说不下去,典型的_____思维" 17 | ], 18 | "homepage": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/tree/main/", 19 | "bugs": { 20 | "url": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/issues" 21 | }, 22 | "license": "MIT", 23 | "peerDependencies": { 24 | "koishi": "^4.13.8" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /plugins/image-upscale-bigjpg/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "koishi-plugin-image-upscale-bigjpg", 3 | "description": "/*[bigjpg 图片放大服务](https://www.npmjs.com/package/koishi-plugin-image-upscale-bigjpg)*/使用bigjpg来放大你的图片吧!支持最高16倍放大。[bigjpg价格表](https://i0.hdslb.com/bfs/article/ea2d3a1aa6a060eb5981ea8b7416e899312276085.png) 每月免费20次放大,支持付费服务。", 4 | "version": "1.0.3", 5 | "main": "lib/index.js", 6 | "typings": "lib/index.d.ts", 7 | "files": [ 8 | "lib", 9 | "dist" 10 | ], 11 | "homepage": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/tree/main/", 12 | "bugs": { 13 | "url": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/issues" 14 | }, 15 | "license": "MIT", 16 | "keywords": [ 17 | "chatbot", 18 | "koishi", 19 | "图片放大服务", 20 | "bigjpg", 21 | "plugin" 22 | ], 23 | "peerDependencies": { 24 | "koishi": "^4.13.8" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /plugins/dg-lab-ws/readme.md: -------------------------------------------------------------------------------- 1 | # koishi-plugin-dg-lab-ws 2 | 3 | [![npm](https://img.shields.io/npm/v/koishi-plugin-dg-lab-ws?style=flat-square)](https://www.npmjs.com/package/koishi-plugin-dg-lab-ws) 4 | 5 | 6 |
    7 | 8 |
    9 | 10 | ## 简介 11 | 12 | ✨ `koishi-plugin-dg-lab-ws` 能够快速部署郊狼 WebSocket 服务器。 13 | 14 | 通过安装和配置本插件,你可以实现公网命令转发和连接管理,让多个用户共享一个 WebSocket 服务器实例。 15 | 16 | ## 特性 17 | 18 | 🚀 **快速部署**:使用 Koishi 轻松搭建郊狼 WebSocket 服务器。 19 | 20 | 🔗 **公网命令转发**:支持通过 WebSocket 转发命令到连接的客户端。 21 | 22 | 👥 **连接管理**:高效管理多个连接。 23 | 24 | 👨‍👩‍👧‍👦 **多用户支持**:允许多个用户共享同一个 WebSocket 服务器实例。 25 | 26 | ## 配置 27 | 28 | `koishi-plugin-dg-lab-ws` 插件接受以下配置选项: 29 | 30 | - `poty`:WebSocket 服务器的路径。 31 | 32 | ## TODO 33 | 34 | - `Auth`: 可选的连接认证功能 35 | 36 | - `command`: 通过指令查看管理Ws连接 37 | 38 | ## 许可证 39 | 40 | 本项目基于 MIT 许可证进行授权。详细信息请参见 [LICENSE](LICENSE) 文件。 41 | -------------------------------------------------------------------------------- /plugins/dg-lab-ws/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "koishi-plugin-dg-lab-ws", 3 | "description": "[DG-LAB点我查看README](https://www.npmjs.com/package/koishi-plugin-dg-lab-ws)郊狼的ws服务插件,让你的koishi变成郊狼websocket服务器!转发命令、管理连接...一起在koishi里玩郊狼吧!", 4 | "version": "0.1.7", 5 | "main": "lib/index.js", 6 | "typings": "lib/index.d.ts", 7 | "files": [ 8 | "lib", 9 | "dist" 10 | ], 11 | "license": "MIT", 12 | "keywords": [ 13 | "chatbot", 14 | "koishi", 15 | "plugin" 16 | ], 17 | "koishi": {}, 18 | "homepage": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/tree/main/", 19 | "bugs": { 20 | "url": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/issues" 21 | }, 22 | "peerDependencies": { 23 | "koishi": "^4.17.12" 24 | }, 25 | "dependencies": { 26 | "coffeescript": "^2.7.0", 27 | "uuid": "^10.0.0", 28 | "ws": "^8.18.0" 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /plugins/basedata/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "koishi-plugin-basedata", 3 | "version": "0.2.0", 4 | "description": "A Koishi plugin for download & read files", 5 | "main": "lib/index.js", 6 | "typings": "lib/index.d.ts", 7 | "files": [ 8 | "lib", 9 | "src" 10 | ], 11 | "license": "MIT", 12 | "keywords": [ 13 | "bot", 14 | "chatbot", 15 | "koishi", 16 | "plugin", 17 | "basedata", 18 | "service", 19 | "files" 20 | ], 21 | "homepage": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/tree/main/plugins/basedata", 22 | "bugs": { 23 | "url": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/issues" 24 | }, 25 | "koishi": { 26 | "description": { 27 | "zh": "文件 下载&读取 服务" 28 | }, 29 | "service": { 30 | "implements": [ 31 | "basedata" 32 | ] 33 | } 34 | }, 35 | "peerDependencies": { 36 | "koishi": "^4.18.0" 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /plugins/assets-xinyewapi/readme.md: -------------------------------------------------------------------------------- 1 | # koishi-plugin-assets-xinyewapi 2 | 3 | [![npm](https://img.shields.io/npm/v/koishi-plugin-assets-xinyewapi?style=flat-square)](https://www.npmjs.com/package/koishi-plugin-assets-xinyewapi) 4 | 5 | 6 | 基于图床 [api.xinyew.cn](https://api.xinyew.cn/) 的资源转存服务。 7 | 8 | ## 文档 9 | 10 | 11 | 12 | ## 示例用法 13 | ```ts 14 | import { Context, Schema } from 'koishi' 15 | import { } from '@koishijs/assets' 16 | 17 | export const name = 'assets-test' 18 | export const inject = ["assets"] 19 | export interface Config { } 20 | 21 | export const Config: Schema = Schema.object({}) 22 | 23 | export function apply(ctx: Context) { 24 | // write your plugin here 25 | ctx 26 | .command('测试图床') 27 | .action(async ({ session }) => { 28 | const aaa = await ctx.assets.transform(session.content) 29 | ctx.logger.info(aaa) 30 | return aaa 31 | }) 32 | } 33 | 34 | ``` 35 | -------------------------------------------------------------------------------- /plugins/bilibili-videolink-analysis/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "koishi-plugin-bilibili-videolink-analysis", 3 | "description": "[Bilibili视频解析点我查看食用方法](https://www.npmjs.com/package/koishi-plugin-bilibili-videolink-analysis)解析B站链接(支持小程序卡片)支持搜索点播功能!灵感来自完美的 [bili-parser](/market?keyword=bili-parser) !", 4 | "license": "MIT", 5 | "version": "1.3.2", 6 | "main": "lib/index.js", 7 | "typings": "lib/index.d.ts", 8 | "files": [ 9 | "lib", 10 | "src" 11 | ], 12 | "homepage": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/tree/main/", 13 | "bugs": { 14 | "url": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/issues" 15 | }, 16 | "keywords": [ 17 | "chatbot", 18 | "koishi", 19 | "plugin", 20 | "B站视频点播解析", 21 | "bilibili-videolink-analysis" 22 | ], 23 | "peerDependencies": { 24 | "koishi": "^4.16.8" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /plugins/idiom-dictionary/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "koishi-plugin-idiom-dictionary", 3 | "version": "0.2.3", 4 | "description": "[成语字典查询插件](https://www.npmjs.com/package/koishi-plugin-idiom-dictionary) 📖,可以指定位置查询成语,近义词查询...🚀为您提供精准、迅速的四字成语解释服务,📈或许是[词影游戏](/market?keyword=wordle-game)的秘籍哦~", 5 | "main": "lib/index.js", 6 | "typings": "lib/index.d.ts", 7 | "files": [ 8 | "lib", 9 | "dist" 10 | ], 11 | "keywords": [ 12 | "koishi", 13 | "plugin", 14 | "chat", 15 | "字典", 16 | "图片", 17 | "成语字典查询", 18 | "成语", 19 | "近义词", 20 | "idiom", 21 | "dictionary", 22 | "四字成语", 23 | "查询" 24 | ], 25 | "license": "MIT", 26 | "peerDependencies": { 27 | "koishi": "^4.13.8" 28 | }, 29 | "devDependencies": { 30 | "koishi-plugin-puppeteer": "^3.8.3" 31 | }, 32 | "service": { 33 | "optional": [ 34 | "puppeteer" 35 | ] 36 | }, 37 | "koishi": { 38 | "browser": true 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /plugins/impart-pro/src/index.ts: -------------------------------------------------------------------------------- 1 | // src/index.ts 2 | 3 | import { Context } from 'koishi'; 4 | import { Config, usage } from './config'; 5 | import { applyCommands } from './commands/index'; 6 | import './types'; // 确保类型被正确加载 7 | 8 | export const name = 'impart-pro'; 9 | 10 | export { Config, usage }; 11 | 12 | export const inject = { 13 | required: ["i18n", "database", "monetary"], 14 | optional: ['puppeteer', 'glyph'] 15 | }; 16 | 17 | export function apply(ctx: Context, config: Config) { 18 | // 扩展数据库表 19 | ctx.model.extend('impartpro', { 20 | userid: 'string', 21 | username: 'string', 22 | channelId: 'list', 23 | length: 'float', 24 | injectml: 'string', 25 | growthFactor: 'float', 26 | lastGrowthTime: 'string', 27 | lastDuelTime: 'string', 28 | locked: 'boolean' 29 | }, { 30 | primary: ['userid'], 31 | }); 32 | 33 | // 注册指令 34 | applyCommands(ctx, config); 35 | 36 | } 37 | -------------------------------------------------------------------------------- /plugins/chat-patch/readme.md: -------------------------------------------------------------------------------- 1 | # koishi-plugin-chat-patch 2 | 3 | [![npm](https://img.shields.io/npm/v/koishi-plugin-chat-patch?style=flat-square)](https://www.npmjs.com/package/koishi-plugin-chat-patch) [![npm downloads](https://img.shields.io/npm/dm/koishi-plugin-chat-patch)](https://www.npmjs.com/package/koishi-plugin-chat-patch) 4 | 5 | Koishi 控制台聊天插件,允许用户直接在控制台中管理机器人、频道和消息。 6 | 7 | 支持消息的收发、图片缓存、频道置顶等。 8 | 9 | ## ✨ 功能特性 10 | 11 | - **聊天界面**:在 Koishi 控制台内直接查看机器人的聊天记录。 12 | - **消息收发**:支持接收文本、图片等多种类型的消息。 13 | - **图片缓存**:通过 IndexedDB 缓存图片,优化加载速度并减少网络请求。 14 | - **手机端优化**:针对手机端进行适配,提供滑动返回等手势操作,并可配置聊天容器高度以防止输入框被遮挡。 15 | - **平台屏蔽**:可配置屏蔽特定平台的消息,避免不必要的干扰。 16 | 17 | ## 🛠️ 开发与贡献 18 | 19 | 欢迎 PR ~ 20 | 21 | PR 方式请参考 -> 22 | 23 | ## 许可证 24 | 25 | 本项目采用 [MIT 许可证](LICENSE) 开源。 26 | -------------------------------------------------------------------------------- /plugins/ademo/src/index.ts: -------------------------------------------------------------------------------- 1 | import { Context, Logger, Schema, Session } from 'koishi' 2 | 3 | export const name = 'ademo' 4 | export const reusable = false 5 | export const filter = true 6 | 7 | export const inject = { 8 | optional: [''], 9 | required: [''] 10 | } 11 | 12 | export const usage = ` 13 | `; 14 | 15 | const logger = new Logger(`DEV:${name}`); 16 | 17 | export interface Config { 18 | loggerinfo?: boolean; 19 | } 20 | 21 | export const Config: Schema = Schema.intersect([ 22 | Schema.object({ 23 | }).description("基础设置"), 24 | Schema.object({ 25 | loggerinfo: Schema.boolean().default(false).description("日志调试模式").experimental(), 26 | }).description("调试设置"), 27 | ]) 28 | 29 | export function apply(ctx: Context, config: Config) { 30 | // write your plugin here 31 | ctx.on('ready', () => { 32 | 33 | function logInfo(...args: any[]) { 34 | if (config.loggerinfo) { 35 | (logger.info as (...args: any[]) => void)(...args); 36 | } 37 | } 38 | 39 | }) 40 | } 41 | -------------------------------------------------------------------------------- /plugins/sakana-widget/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "koishi-plugin-sakana-widget", 3 | "description": "石蒜模拟器网页小组件。➢ [点我预览效果图](https://i0.hdslb.com/bfs/openplatform/a1d1b87d7d90c9a76dc50633c3c81d7f70a64136.png)。灵感来自 [live2d插件](https://github.com/koishijs/koishi-plugin-live2d)", 4 | "version": "1.0.2", 5 | "main": "lib/index.js", 6 | "typings": "lib/index.d.ts", 7 | "files": [ 8 | "lib", 9 | "dist", 10 | "client", 11 | "public", 12 | "src" 13 | ], 14 | "license": "MIT", 15 | "homepage": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/", 16 | "bugs": { 17 | "url": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/issues" 18 | }, 19 | "keywords": [ 20 | "chatbot", 21 | "koishi", 22 | "plugin", 23 | "sakana-widget" 24 | ], 25 | "peerDependencies": { 26 | "koishi": "^4.18.7" 27 | }, 28 | "devDependencies": { 29 | "@koishijs/client": "^5.0.0", 30 | "@koishijs/plugin-console": "^5.0.0", 31 | "vue": "^3.0.0" 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /plugins/screenshot-links/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "koishi-plugin-screenshot-links", 3 | "description": "链接预览!可以实现 [指令解析](https://i0.hdslb.com/bfs/openplatform/d662bef1d4410f527e3834ac8dfd34266e45e5cf.png)、[中间件解析](https://i0.hdslb.com/bfs/openplatform/efa99d00af6fdd73b26b0768730a72d873a85144.png)、[自定义黑名单](https://i0.hdslb.com/bfs/openplatform/343f01d0fdbbca0983bff0888ef3ea4168a7fa09.png)", 4 | "version": "1.0.3", 5 | "main": "lib/index.js", 6 | "typings": "lib/index.d.ts", 7 | "files": [ 8 | "lib" 9 | ], 10 | "license": "MIT", 11 | "keywords": [ 12 | "bot", 13 | "chatbot", 14 | "koishi", 15 | "plugin", 16 | "puppeteer", 17 | "screenshot", 18 | "mapping", 19 | "links" 20 | ], 21 | "homepage": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/tree/main/", 22 | "bugs": { 23 | "url": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/issues" 24 | }, 25 | "peerDependencies": { 26 | "koishi": "^4.18.0" 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /plugins/server-onebot/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "koishi-plugin-server-onebot", 3 | "description": "OneBot v11 服务器", 4 | "version": "1.4.16", 5 | "main": "lib/index.js", 6 | "typings": "lib/index.d.ts", 7 | "files": [ 8 | "lib", 9 | "src", 10 | "data" 11 | ], 12 | "license": "MIT", 13 | "homepage": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/", 14 | "bugs": { 15 | "url": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/issues" 16 | }, 17 | "scripts": { 18 | "build": "tsc", 19 | "dev": "tsc --watch" 20 | }, 21 | "keywords": [ 22 | "chatbot", 23 | "koishi", 24 | "plugin", 25 | "onebot", 26 | "server", 27 | "websocket" 28 | ], 29 | "peerDependencies": { 30 | "@koishijs/plugin-server": "^3.2.7", 31 | "koishi": "^4.18.7" 32 | }, 33 | "dependencies": { 34 | "ws": "^8.0.0" 35 | }, 36 | "devDependencies": { 37 | "@types/node": "^18.0.0", 38 | "@types/ws": "^8.0.0", 39 | "typescript": "^5.0.0" 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /plugins/adapter-nextchat/src/logger.ts: -------------------------------------------------------------------------------- 1 | import { Logger } from 'koishi' 2 | import type { Config } from './types' 3 | 4 | const logger = new Logger('Development:adapter-nextchat-dev') 5 | 6 | // 全局日志函数 7 | export let loggerError: (message: any, ...args: any[]) => void; 8 | export let loggerInfo: (message: any, ...args: any[]) => void; 9 | export let logInfo: (message: any, ...args: any[]) => void; 10 | export let logDebug: (message: any, ...args: any[]) => void; 11 | 12 | // 初始化日志函数 13 | export function initLogger(ctx: any, config: Config) { 14 | logInfo = (message: any, ...args: any[]) => { 15 | if (config.loggerInfo) { 16 | logger.info(message, ...args); 17 | } 18 | }; 19 | loggerInfo = (message: any, ...args: any[]) => { 20 | ctx.logger.info(message, ...args); 21 | }; 22 | loggerError = (message: any, ...args: any[]) => { 23 | ctx.logger.error(message, ...args); 24 | }; 25 | logDebug = (message: any, ...args: any[]) => { 26 | if (config.loggerDebug) { 27 | logger.info(message, ...args); 28 | } 29 | }; 30 | } -------------------------------------------------------------------------------- /plugins/booru-custom-api/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "koishi-plugin-booru-custom-api", 3 | "description": "[点我查看说明](https://www.npmjs.com/package/koishi-plugin-booru-custom-api) Support for custom API graph sources for booru viewing! ", 4 | "version": "1.0.3", 5 | "main": "lib/index.js", 6 | "typings": "lib/index.d.ts", 7 | "files": [ 8 | "lib", 9 | "dist" 10 | ], 11 | "license": "MIT", 12 | "keywords": [ 13 | "chatbot", 14 | "koishi", 15 | "service", 16 | "plugin", 17 | "booru", 18 | "image", 19 | "picture", 20 | "random", 21 | "setu", 22 | "图源支持", 23 | "自定义" 24 | ], 25 | "koishi": { 26 | "description": { 27 | "zh": "最好的涩图插件! - 自定义API 图源支持" 28 | }, 29 | "service": { 30 | "require": [ 31 | "booru" 32 | ] 33 | } 34 | }, 35 | "peerDependencies": { 36 | "koishi": "^4.17.0", 37 | "koishi-plugin-booru": "^1.2.0" 38 | }, 39 | "devDependencies": { 40 | "koishi": "^4.17.0" 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /plugins/keyword-blocker/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "koishi-plugin-keyword-blocker", 3 | "description": "A plugin to block and unblock keywords", 4 | "version": "1.6.0", 5 | "main": "lib/index.js", 6 | "files": [ 7 | "lib" 8 | ], 9 | "license": "MIT", 10 | "homepage": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/tree/main/", 11 | "bugs": { 12 | "url": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/issues" 13 | }, 14 | "keywords": [ 15 | "chatbot", 16 | "koishi", 17 | "plugin", 18 | "keyword", 19 | "block", 20 | "unblock" 21 | ], 22 | "peerDependencies": { 23 | "koishi": "^4.16.0" 24 | }, 25 | "koishi": { 26 | "description": { 27 | "zh": "用于屏蔽和取消屏蔽关键词的插件 官方bot也可以用诶。可以开启/关闭指令,或者拉黑某用户/频道 等。可以对指令进行黑白名单设置。", 28 | "en": "A plugin to block and unblock keywords" 29 | }, 30 | "services": { 31 | "required": [ 32 | "database" 33 | ] 34 | }, 35 | "locales": [ 36 | "zh", 37 | "en" 38 | ] 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /plugins/translator-youdaoavailable/readme.md: -------------------------------------------------------------------------------- 1 | # koishi-plugin-translator-youdaoavailable 2 | 3 | [![npm](https://www.npmjs.com/package/koishi-plugin-translator-youdaoavailable)](https://www.npmjs.com/package/koishi-plugin-translator-youdaoavailable) 4 | 5 | 这是一个集成了中英互译功能的插件,以有道翻译为主。提供了开箱即用的翻译功能。多个备用API,确保翻译的可用性。 6 | 7 | ## 安装 8 | 通过koishi插件市场安装这个插件: 9 | 插件市场搜索 `translator-youdaoavailable`,按照指引安装即可。 10 | 11 | ## 使用方法 12 | 13 | ### 执行翻译命令 14 | 插件应用后,您可以在聊天机器人或应用程序中使用以下命令进行翻译: 15 | ``` 16 | translation-youdao <内容> 17 | ``` 18 | 将 `<内容>` 替换为您想要翻译的文本。 19 | 20 | ### 示例 21 | 用户与命令的交互示例: 22 | **用户**: `translation-youdao 你好,世界!` 23 | **机器人**: `正在翻译,请稍候...` 24 | **机器人**: `翻译结果:Hello, world!` 25 | 26 | ### 错误处理 27 | 如果主要翻译服务失败,该插件将自动尝试备用服务。 28 | 除非全部失效,否则用户在整个过程中不被告知,仅控制台日志会输出相关问题。 29 | 30 | 31 | ### 更新日志 32 | - **0.2.0** 33 | - 维护功能性正常 34 | - 支持`i18n`本地化 35 | - 取消提供翻译服务 36 | 37 | - **0.1.2** 使用ctx.http,取消axios 38 | 39 | - **0.1.1** package.json内加入service-implements,提供translator服务。 40 | 41 | - **0.1.0** 1.优化代码整体结构。2.修复换行bug。 3.不再将使用备用API的提示发给用户,而是遇到错误输出到日志。 -------------------------------------------------------------------------------- /plugins/curriculum-table/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "koishi-plugin-curriculum-table", 3 | "version": "3.0.0", 4 | "description": "[群友课程表点我查看效果示例](https://i0.hdslb.com/bfs/article/3cd43011f330ee77f9cf6ac7f8d8308a312276085.png) 💾支持[定时触发课程表](https://i0.hdslb.com/bfs/article/df4c68e2ad6406d2fd27b6bf8d1c5322312276085.png) 。支持[从wakeup课程表快速导入你的课表](https://i0.hdslb.com/bfs/article/a80a8b5ea7f4a3053b3f0b24520a84d9312276085.png)🤖支持重命文件名和后缀名。", 5 | "main": "lib/index.js", 6 | "typings": "lib/index.d.ts", 7 | "files": [ 8 | "lib", 9 | "font", 10 | "src" 11 | ], 12 | "homepage": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/tree/main/", 13 | "bugs": { 14 | "url": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/issues" 15 | }, 16 | "keywords": [ 17 | "koishi", 18 | "plugin", 19 | "puppeteer", 20 | "群友课程表", 21 | "定时渲染" 22 | ], 23 | "license": "MIT", 24 | "peerDependencies": { 25 | "koishi": "^4.18.0" 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /plugins/preview-help/readme.md: -------------------------------------------------------------------------------- 1 | 2 | # koishi-plugin-preview-help 3 | 4 | [![npm](https://img.shields.io/npm/v/koishi-plugin-preview-help?style=flat-square)](https://www.npmjs.com/package/koishi-plugin-preview-help) 5 | 6 |

    功能介绍

    7 |

    本插件允许您以图片形式预览 Koishi 机器人的帮助菜单,提供多种模式和高度自定义选项,使您的帮助信息更生动直观。

    8 | 9 |

    主要特点

    10 |
      11 |
    • 多种菜单模式: 12 |
        13 |
      • 文字菜单: 返回纯文本帮助菜单。
      • 14 |
      • 图片菜单: 返回预设图片的帮助菜单。
      • 15 |
      • 渲染图片菜单: 将文本菜单渲染成图片,更美观易读。 16 |
          17 |
        • 自动获取: 自动从 Koishi 的 help 指令获取菜单内容。
        • 18 |
        • 手动输入: 手动输入文本菜单内容。
        • 19 |
        • 自定义 JSON 配置: 通过 JSON 文件高度自定义菜单样式和内容。
        • 20 |
        21 |
      • 22 |
      23 |
    • 24 |
    • 高度自定义: 通过编辑 HTML 模板和 JSON 配置文件,您可以自由调整菜单的样式、布局和内容。
    • 25 |
    • 灵活的图片支持: 支持本地文件和网络图片作为菜单背景。
    • 26 |
    27 | -------------------------------------------------------------------------------- /plugins/server-onebot/src/action/handlers/index.ts: -------------------------------------------------------------------------------- 1 | import { createMessageHandlers } from './message' 2 | import { createSystemHandlers } from './system' 3 | import { createGroupHandlers } from './group' 4 | import { BotFinder } from '../../bot-finder' 5 | import { createUserHandlers } from './user' 6 | import { ActionHandler } from '../../types' 7 | import { Context } from 'koishi' 8 | 9 | export function createActionHandlers(ctx: Context, config?: { selfId: string, selfname?: string, groupname?: string, appName?: string }): Record { 10 | // 创建一个共享的 BotFinder 实例 11 | const sharedBotFinder = new BotFinder(ctx) 12 | 13 | return { 14 | ...createMessageHandlers(ctx, config, sharedBotFinder), 15 | ...createUserHandlers(ctx, config, sharedBotFinder), 16 | ...createGroupHandlers(ctx, config, sharedBotFinder), 17 | ...createSystemHandlers(ctx, config, sharedBotFinder), 18 | } 19 | } 20 | 21 | export * from './message' 22 | export * from './user' 23 | export * from './group' 24 | export * from './system' -------------------------------------------------------------------------------- /plugins/adapter-nextchat/src/types.ts: -------------------------------------------------------------------------------- 1 | // 类型定义文件 2 | 3 | // OpenAI Chat Completions API 请求体类型 4 | export interface ChatCompletionRequest { 5 | messages: Array<{ 6 | role: string; 7 | content: string | Array<{ 8 | type: 'text' | 'image_url'; 9 | text?: string; 10 | image_url?: { 11 | url: string; 12 | }; 13 | }>; 14 | }>; 15 | stream?: boolean; 16 | model?: string; 17 | user?: string; 18 | username?: string; 19 | } 20 | 21 | // 配置接口 22 | export interface Config { 23 | path?: string; 24 | APIkey?: { token: string; auth: number }[]; 25 | models?: { modelname: string; element: string[] }[]; 26 | selfId?: string; 27 | selfname?: string; 28 | selfavatar?: string; 29 | NextChat_host?: string; 30 | loggerInfo?: boolean; 31 | loggerDebug?: boolean; 32 | autoReplyKeywords?: { keyword: string }[]; 33 | autoReplyContent?: string; 34 | } 35 | 36 | // 待处理响应接口 37 | export interface PendingResponse { 38 | resolve: (content: string) => void; 39 | messages: string[]; 40 | timer?: NodeJS.Timeout; 41 | allowedElements: string[]; 42 | } -------------------------------------------------------------------------------- /plugins/preview-help/websrc/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ES2020", 4 | "useDefineForClassFields": true, 5 | "lib": [ 6 | "ES2020", 7 | "DOM", 8 | "DOM.Iterable" 9 | ], 10 | "module": "ESNext", 11 | "skipLibCheck": true, 12 | "moduleResolution": "bundler", 13 | "allowImportingTsExtensions": true, 14 | "resolveJsonModule": true, 15 | "isolatedModules": true, 16 | "noEmit": true, 17 | "jsx": "preserve", 18 | "strict": true, 19 | "noUnusedLocals": true, 20 | "noUnusedParameters": true, 21 | "noFallthroughCasesInSwitch": true, 22 | "baseUrl": ".", 23 | "paths": { 24 | "@/*": [ 25 | "src/*" 26 | ] 27 | } 28 | }, 29 | "include": [ 30 | "src/**/*.ts", 31 | "src/**/*.d.ts", 32 | "src/**/*.tsx", 33 | "src/**/*.vue" 34 | ], 35 | "references": [ 36 | { 37 | "path": "./tsconfig.node.json" 38 | } 39 | ] 40 | } -------------------------------------------------------------------------------- /plugins/qq-markdown-button/lib/qq/raw/raw_markdown.json: -------------------------------------------------------------------------------- 1 | { 2 | "msg_type": 2, 3 | "msg_id": "${session.messageId}", 4 | "event_id": "${INTERACTION_CREATE}", 5 | "markdown": { 6 | "content": "${markdown}" 7 | }, 8 | "keyboard": { 9 | "content": { 10 | "rows": [ 11 | { 12 | "buttons": [ 13 | { 14 | "render_data": { 15 | "label": "再来一次", 16 | "style": 2 17 | }, 18 | "action": { 19 | "type": 2, 20 | "permission": { 21 | "type": 2 22 | }, 23 | "data": "${config.command_name}", 24 | "enter": true 25 | } 26 | } 27 | ] 28 | } 29 | ] 30 | } 31 | } 32 | } -------------------------------------------------------------------------------- /plugins/universal-translation/src/service.ts: -------------------------------------------------------------------------------- 1 | import Translator from './translator' 2 | import { Config } from "./config" 3 | import { Logger } from 'koishi' 4 | 5 | export class UniversalTranslation extends Translator { 6 | 7 | declare logger: Logger 8 | 9 | async translate(options?: Translator.Result): Promise { 10 | const q = options.input 11 | const to = options.target || 'zh' 12 | 13 | const url = [ 14 | `https://api.jaxing.cc/v2/Translate/Tencent?SourceText=${(q)}&Target=${to}`, 15 | `https://translate.cloudflare.jaxing.cc/?text=${(q)}&source_lang=zh&target_lang=${to}` 16 | ] 17 | 18 | for (const getUrl of url) { 19 | try { 20 | const responseData = await this.ctx.http.get(getUrl) 21 | return responseData.data?.Response?.TargetText 22 | || responseData.response?.translated_text 23 | 24 | } catch (error) { 25 | this.logger.error(`API request failed for ${getUrl}: ${error.message}`) 26 | } 27 | } 28 | 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /plugins/qq-markdown-button/lib/qq/markdown/markdown.json: -------------------------------------------------------------------------------- 1 | { 2 | "msg_type": 2, 3 | "msg_id": "${session.messageId}", 4 | "event_id": "${INTERACTION_CREATE}", 5 | "markdown": { 6 | "custom_template_id": "${config.markdown_id}", 7 | "params": [ 8 | { 9 | "key": "text1", 10 | "values": [ 11 | "第一个文字参数" 12 | ] 13 | }, 14 | { 15 | "key": "text2", 16 | "values": [ 17 | "第二个文字参数" 18 | ] 19 | }, 20 | { 21 | "key": "img", 22 | "values": [ 23 | "![img#338px #250px]" 24 | ] 25 | }, 26 | { 27 | "key": "url", 28 | "values": [ 29 | "(https://i0.hdslb.com/bfs/note/457c42064e08c44ffef1b047478671db3f06412f.jpg)" 30 | ] 31 | } 32 | ] 33 | }, 34 | "keyboard": { 35 | "id": "${config.json_button_id}" 36 | } 37 | } -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 shangxue 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /plugins/jrys-prpr/src/utils/image.ts: -------------------------------------------------------------------------------- 1 | import type { Context } from 'koishi' 2 | 3 | /** 4 | * 将图片 URL 转换为 Base64 格式 5 | */ 6 | export async function convertToBase64image(ctx: Context, url: string, logInfo: (...args: any[]) => void): Promise { 7 | logInfo("转换base64:", url) 8 | try { 9 | const fileresponse = await ctx.http.file(url) 10 | const imageBuffer = Buffer.from(fileresponse.data) 11 | const base64Image = imageBuffer.toString('base64') 12 | const mimeType = fileresponse.type || fileresponse.mime 13 | return `data:${mimeType};base64,${base64Image}` 14 | } catch (error) { 15 | throw new Error(`转换本地图片为 Base64 失败: ${url}, 错误: ${error.message}`) 16 | } 17 | } 18 | 19 | /** 20 | * 对时间戳进行编码,用于生成唯一标识符 21 | */ 22 | export function encodeTimestamp(timestamp: string): string { 23 | // 将日期和时间部分分开 24 | let [date, time] = timestamp.split('T') 25 | // 替换一些字符 26 | date = date.replace(/-/g, '') 27 | time = time.replace(/:/g, '').replace(/\..*/, '') // 去掉毫秒部分 28 | // 加入随机数 29 | const randomNum = Math.floor(Math.random() * 10000) // 生成一个0到9999的随机数 30 | // 重排字符顺序 31 | return `${time}${date}${randomNum}` 32 | } -------------------------------------------------------------------------------- /plugins/chat-patch/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "koishi-plugin-chat-patch", 3 | "description": "[chat-patch点我预览效果](https://i0.hdslb.com/bfs/openplatform/71074dfc9e5256fc3333d8bd8478bec1af874046.png) 视奸小插件((bushi( (低性能警告)。手机端适配。灵感来自 chat 插件。", 4 | "version": "1.3.0", 5 | "main": "lib/index.js", 6 | "typings": "lib/index.d.ts", 7 | "files": [ 8 | "client", 9 | "dist", 10 | "lib", 11 | "src" 12 | ], 13 | "license": "MIT", 14 | "homepage": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/", 15 | "bugs": { 16 | "url": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/issues" 17 | }, 18 | "keywords": [ 19 | "koishi", 20 | "plugin", 21 | "chat", 22 | "聊天室", 23 | "console" 24 | ], 25 | "koishi": { 26 | "service": { 27 | "required": [ 28 | "console" 29 | ] 30 | } 31 | }, 32 | "peerDependencies": { 33 | "@koishijs/plugin-console": "^5.11.0", 34 | "koishi": "^4.16.0" 35 | }, 36 | "devDependencies": { 37 | "@koishijs/client": "^5.11.0", 38 | "koishi": "^4.16.0" 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /plugins/command-creator-extender/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "koishi-plugin-command-creator-extender", 3 | "description": "创建和扩展指令!可以实现 [一键打卡](https://i0.hdslb.com/bfs/article/c3a90e76082632cd5321d23582f9bc0d312276085.png)、[分群调用](https://i0.hdslb.com/bfs/article/b130e445dcfe99a89e841ee7615a4e61312276085.png)、[定时执行](https://i0.hdslb.com/bfs/article/82c273ef4d4eda1e8523686e8be524d3312276085.png),一键触发多指令~ 灵感来自[command-creator](https://www.npmjs.com/package/koishi-plugin-command-creater)", 4 | "version": "3.2.1", 5 | "main": "lib/index.js", 6 | "typings": "lib/index.d.ts", 7 | "files": [ 8 | "lib", 9 | "src" 10 | ], 11 | "license": "MIT", 12 | "homepage": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/tree/main/", 13 | "bugs": { 14 | "url": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/issues" 15 | }, 16 | "keywords": [ 17 | "bot", 18 | "chatbot", 19 | "koishi", 20 | "plugin", 21 | "command", 22 | "mapping", 23 | "schedule", 24 | "定时执行", 25 | "指令映射调用" 26 | ], 27 | "peerDependencies": { 28 | "koishi": "^4.18.0" 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /publish/npmpublish/LICENSE.txt: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 shangxue 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /publish/npmpublish_temp/LICENSE.txt: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 shangxue 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /plugins/dialogue-webui/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2025 koishi-shangxue-plugins 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /plugins/emojihub-bili/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "koishi-plugin-emojihub-bili", 3 | "version": "2.1.0", 4 | "description": "[Emojihub-bili点我查看食用方法](https://www.npmjs.com/package/koishi-plugin-emojihub-bili)🐱支持QQ官方json按钮!20群即可发按钮!😍可自定义添加或删除任意表情包!基本每个指令都有上千张!支持定时/定量消息触发![点我查看食用方法](https://www.npmjs.com/package/koishi-plugin-emojihub-bili)", 5 | "main": "lib/index.js", 6 | "typings": "lib/index.d.ts", 7 | "license": "MIT", 8 | "files": [ 9 | "txts", 10 | "lib", 11 | "src" 12 | ], 13 | "homepage": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/", 14 | "bugs": { 15 | "url": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/issues" 16 | }, 17 | "keywords": [ 18 | "koishi", 19 | "plugin", 20 | "picture", 21 | "emojihub", 22 | "meme", 23 | "定时本地", 24 | "bilibili-image", 25 | "哔哩哔哩表情包" 26 | ], 27 | "peerDependencies": { 28 | "koishi": "^4.16.0" 29 | }, 30 | "service": { 31 | "optional": [ 32 | "canvas", 33 | "cron" 34 | ] 35 | }, 36 | "koishi": { 37 | "browser": true 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /plugins/adapter-nextchat/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "koishi-plugin-adapter-nextchat", 3 | "description": "NextChat 适配器 - 通过 NextChat 界面与 Koishi 对话。支持 OpenAI API 格式。", 4 | "version": "0.4.5", 5 | "main": "lib/index.js", 6 | "typings": "lib/index.d.ts", 7 | "files": [ 8 | "templates", 9 | "client", 10 | "dist", 11 | "lib", 12 | "src" 13 | ], 14 | "license": "MIT", 15 | "keywords": [ 16 | "chatbot", 17 | "koishi", 18 | "plugin", 19 | "adapter", 20 | "nextchat", 21 | "openai-like" 22 | ], 23 | "homepage": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/tree/main/", 24 | "bugs": { 25 | "url": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/issues" 26 | }, 27 | "koishi": { 28 | "service": { 29 | "required": [ 30 | "server", 31 | "console", 32 | "database", 33 | "assets" 34 | ] 35 | } 36 | }, 37 | "peerDependencies": { 38 | "@koishijs/plugin-console": "^5.11.0", 39 | "koishi": "^4.16.0" 40 | }, 41 | "devDependencies": { 42 | "@koishijs/client": "^5.11.0", 43 | "@koishijs/plugin-server": "^3.2.7", 44 | "koishi": "^4.16.0" 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /plugins/assets-img-scdn-io/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "koishi-plugin-assets-img-scdn-io", 3 | "description": "Serve assets on [img.scdn.io](https://img.scdn.io/)", 4 | "version": "0.1.0", 5 | "main": "lib/index.js", 6 | "typings": "lib/index.d.ts", 7 | "files": [ 8 | "lib", 9 | "src" 10 | ], 11 | "homepage": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/tree/main/", 12 | "bugs": { 13 | "url": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/issues" 14 | }, 15 | "license": "MIT", 16 | "keywords": [ 17 | "bot", 18 | "chatbot", 19 | "koishi", 20 | "plugin", 21 | "assets", 22 | "img-scdn-io" 23 | ], 24 | "koishi": { 25 | "category": "storage", 26 | "description": { 27 | "en": "Serve assets on [img.scdn.io](https://img.scdn.io/)", 28 | "zh": "基于图床 [img.scdn.io](https://img.scdn.io/) 的资源转存服务。" 29 | }, 30 | "service": { 31 | "implements": [ 32 | "assets" 33 | ] 34 | } 35 | }, 36 | "peerDependencies": { 37 | "koishi": "^4.17.7" 38 | }, 39 | "devDependencies": { 40 | "koishi": "^4.17.7" 41 | }, 42 | "dependencies": { 43 | "@koishijs/assets": "^1.1.2" 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /plugins/assets-xinyewapi/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "koishi-plugin-assets-xinyewapi", 3 | "description": "Serve assets on [api.xinyew.cn](https://api.xinyew.cn/)", 4 | "version": "0.1.0", 5 | "main": "lib/index.js", 6 | "typings": "lib/index.d.ts", 7 | "files": [ 8 | "lib", 9 | "src" 10 | ], 11 | "homepage": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/tree/main/", 12 | "bugs": { 13 | "url": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/issues" 14 | }, 15 | "license": "MIT", 16 | "keywords": [ 17 | "bot", 18 | "chatbot", 19 | "koishi", 20 | "plugin", 21 | "assets", 22 | "xinyew" 23 | ], 24 | "koishi": { 25 | "category": "storage", 26 | "description": { 27 | "en": "Serve assets on [api.xinyew.cn](https://api.xinyew.cn/)", 28 | "zh": "基于图床 [api.xinyew.cn](https://api.xinyew.cn/) 的资源转存服务" 29 | }, 30 | "service": { 31 | "implements": [ 32 | "assets" 33 | ] 34 | } 35 | }, 36 | "peerDependencies": { 37 | "koishi": "^4.17.7" 38 | }, 39 | "devDependencies": { 40 | "koishi": "^4.17.7" 41 | }, 42 | "dependencies": { 43 | "@koishijs/assets": "^1.1.2" 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /plugins/assets-img-remit-ee/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "koishi-plugin-assets-img-remit-ee", 3 | "description": "Serve assets on [img.remit.ee](https://img.remit.ee/)", 4 | "version": "0.1.0", 5 | "main": "lib/index.js", 6 | "typings": "lib/index.d.ts", 7 | "files": [ 8 | "lib", 9 | "src" 10 | ], 11 | "homepage": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/tree/main/", 12 | "bugs": { 13 | "url": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/issues" 14 | }, 15 | "license": "MIT", 16 | "keywords": [ 17 | "bot", 18 | "chatbot", 19 | "koishi", 20 | "plugin", 21 | "assets", 22 | "img-remit-ee" 23 | ], 24 | "koishi": { 25 | "category": "storage", 26 | "description": { 27 | "en": "Serve assets on [img.remit.ee](https://img.remit.ee/)", 28 | "zh": "基于图床 [img.remit.ee](https://img.remit.ee/) 的资源转存服务。" 29 | }, 30 | "service": { 31 | "implements": [ 32 | "assets" 33 | ] 34 | } 35 | }, 36 | "peerDependencies": { 37 | "koishi": "^4.17.7" 38 | }, 39 | "devDependencies": { 40 | "koishi": "^4.17.7" 41 | }, 42 | "dependencies": { 43 | "@koishijs/assets": "^1.1.2" 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /plugins/dgluna/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "koishi-plugin-dgluna", 3 | "description": "[dgluna 游戏插件点我查看README](https://www.npmjs.com/package/koishi-plugin-dgluna) 在群聊中玩郊狼吧!🎮 实现郊狼 N 对 N 的控制玩耍,多人impart 📱。包含加入频道、调节强度、邀请玩家...自己一个人玩,与被人控真的不一样哦~ (会一直笑 bushi)", 4 | "version": "0.1.3", 5 | "main": "lib/index.js", 6 | "typings": "lib/index.d.ts", 7 | "files": [ 8 | "lib", 9 | "dist" 10 | ], 11 | "license": "MIT", 12 | "keywords": [ 13 | "chatbot", 14 | "koishi", 15 | "dgluna", 16 | "dg-lab-ws", 17 | "郊狼", 18 | "游戏插件", 19 | "plugin" 20 | ], 21 | "service": { 22 | "implements": [ 23 | "dgluna" 24 | ], 25 | "required": [ 26 | "qrcode", 27 | "koishi-plugin-qrcode-service-null" 28 | ] 29 | }, 30 | "homepage": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/tree/main/", 31 | "bugs": { 32 | "url": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/issues" 33 | }, 34 | "peerDependencies": { 35 | "koishi": "^4.17.12", 36 | "koishi-plugin-qrcode-service-null": "^0.2.0" 37 | }, 38 | "dependencies": { 39 | "koishi-plugin-qrcode-service-null": "^0.2.0" 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /plugins/content-guard/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shangxueink/koishi-plugin-content-guard", 3 | "version": "2.0.0", 4 | "description": "[**审核输入调用**点我查看使用说明](https://www.npmjs.com/package/@shangxueink/koishi-plugin-content-guard) 设置对应指令的文本输入审核,实现违规输入禁止调用,适用于任何指令的调用审核。让你的机器人更安全地面向用户开放服务。", 5 | "main": "lib/index.js", 6 | "typings": "lib/index.d.ts", 7 | "files": [ 8 | "lib", 9 | "Vocabulary" 10 | ], 11 | "license": "MIT", 12 | "homepage": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/tree/main/", 13 | "bugs": { 14 | "url": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/issues" 15 | }, 16 | "keywords": [ 17 | "bot", 18 | "chatbot", 19 | "koishi", 20 | "plugin", 21 | "审核", 22 | "文本", 23 | "对话", 24 | "审核输入调用", 25 | "关键词" 26 | ], 27 | "koishi": { 28 | "description": { 29 | "en": "", 30 | "zh": "[**审核输入调用**点我查看使用说明](https://www.npmjs.com/package/@shangxueink/koishi-plugin-content-guard) 设置对应指令的文本输入审核,实现违规输入禁止调用,适用于任何指令的调用审核。让你的机器人更安全地面向用户开放服务。" 31 | } 32 | }, 33 | "peerDependencies": { 34 | "koishi": "^4.17.1" 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /plugins/assets-filebin-net/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "koishi-plugin-assets-filebin-net", 3 | "description": "Serve assets on [filebin.net](https://filebin.net/)", 4 | "version": "0.2.1", 5 | "main": "lib/index.js", 6 | "typings": "lib/index.d.ts", 7 | "files": [ 8 | "lib", 9 | "src" 10 | ], 11 | "homepage": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/tree/main/", 12 | "bugs": { 13 | "url": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/issues" 14 | }, 15 | "license": "MIT", 16 | "keywords": [ 17 | "bot", 18 | "chatbot", 19 | "koishi", 20 | "plugin", 21 | "assets", 22 | "filebin-net" 23 | ], 24 | "koishi": { 25 | "category": "storage", 26 | "description": { 27 | "en": "Serve assets on [filebin.net](https://filebin.net/)", 28 | "zh": "基于文件床 [filebin.net](https://filebin.net/) 的资源转存服务。继承自 filemanager-filebin 插件" 29 | }, 30 | "service": { 31 | "implements": [ 32 | "assets" 33 | ] 34 | } 35 | }, 36 | "peerDependencies": { 37 | "koishi": "^4.17.7" 38 | }, 39 | "devDependencies": { 40 | "koishi": "^4.17.7" 41 | }, 42 | "dependencies": { 43 | "@koishijs/assets": "^1.1.2" 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /plugins/dialogue-webui/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "koishi-plugin-dialogue-webui", 3 | "description": "也许是dialogue插件的webui版本(?)灵感来自 word-core 插件", 4 | "version": "0.3.1", 5 | "main": "lib/index.js", 6 | "typings": "lib/index.d.ts", 7 | "files": [ 8 | "client", 9 | "data", 10 | "dist", 11 | "lib", 12 | "src" 13 | ], 14 | "license": "MIT", 15 | "keywords": [ 16 | "chatbot", 17 | "koishi", 18 | "plugin", 19 | "dialogue-webui" 20 | ], 21 | "contributors": [ 22 | "BSTluo <1946831552@qq.com>", 23 | "shangxueink <1919892171@qq.com>" 24 | ], 25 | "homepage": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/tree/main/", 26 | "bugs": { 27 | "url": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/issues" 28 | }, 29 | "koishi": { 30 | "service": { 31 | "required": [ 32 | "database", 33 | "console", 34 | "server", 35 | "logger" 36 | ] 37 | } 38 | }, 39 | "peerDependencies": { 40 | "@koishijs/plugin-console": "^5.11.0", 41 | "koishi": "^4.18.0" 42 | }, 43 | "devDependencies": { 44 | "@koishijs/client": "^5.11.0", 45 | "element-plus": "^2.8.8", 46 | "koishi": "^4.18.0" 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /plugins/assets-chevereto-fork/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "koishi-plugin-assets-chevereto-fork", 3 | "description": "Serve assets on [chevereto.com](https://chevereto.com/)", 4 | "version": "0.1.0", 5 | "main": "lib/index.js", 6 | "typings": "lib/index.d.ts", 7 | "files": [ 8 | "lib", 9 | "src" 10 | ], 11 | "homepage": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/tree/main/", 12 | "bugs": { 13 | "url": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/issues" 14 | }, 15 | "license": "MIT", 16 | "keywords": [ 17 | "bot", 18 | "chatbot", 19 | "koishi", 20 | "plugin", 21 | "assets", 22 | "chevereto" 23 | ], 24 | "koishi": { 25 | "category": "storage", 26 | "description": { 27 | "en": "Serve assets on [chevereto.com](https://chevereto.com/)", 28 | "zh": "基于图床 [chevereto.com](https://chevereto.com/) 的资源转存服务。继承自 filemanager-chevereto 插件" 29 | }, 30 | "service": { 31 | "implements": [ 32 | "assets" 33 | ] 34 | } 35 | }, 36 | "peerDependencies": { 37 | "koishi": "^4.17.7" 38 | }, 39 | "devDependencies": { 40 | "koishi": "^4.17.7" 41 | }, 42 | "dependencies": { 43 | "@koishijs/assets": "^1.1.2" 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /plugins/deer-pipe/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "koishi-plugin-deer-pipe", 3 | "description": "*[deer-pipe点我查看README](https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/tree/main/plugins/deer-pipe)* 一个🦌管(鹿管)签到小[插件 效果预览](https://i0.hdslb.com/bfs/article/496e02d92547d2a74c17ff9280e8ab55312276085.png) 日历效果的签到插件。支持 monetary,😿不支持QQ官方bot。灵感来自于[yunzai](https://gitee.com/kyrzy0416/yunzai-plugin-deer-pipe/tree/master)和[nonebot](https://github.com/SamuNatsu/nonebot-plugin-deer-pipe)", 4 | "version": "4.0.1", 5 | "main": "lib/index.js", 6 | "typings": "lib/index.d.ts", 7 | "files": [ 8 | "lib", 9 | "src", 10 | "png" 11 | ], 12 | "license": "MIT", 13 | "keywords": [ 14 | "chatbot", 15 | "koishi", 16 | "鹿管签到", 17 | "deer-pipe", 18 | "plugin", 19 | "monetary" 20 | ], 21 | "homepage": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/tree/main/", 22 | "bugs": { 23 | "url": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/issues" 24 | }, 25 | "peerDependencies": { 26 | "koishi": "^4.18.0" 27 | }, 28 | "devDependencies": { 29 | "koishi": "^4.18.0", 30 | "koishi-plugin-glyph": "^3.0.0" 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /plugins/impart-pro/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "koishi-plugin-impart-pro", 3 | "description": "*[impart-pro点我查看README](https://www.npmjs.com/package/koishi-plugin-impart-pro)* 🐮牛牛大作战插件 [点我预览效果](https://i0.hdslb.com/bfs/article/fdb2caeeffc063f393dfb030bc0d6cda312276085.png) 。支持 monetary,😿不支持QQ官方bot。灵感来自于[yunzai](https://gitee.com/sumght/impart-pro-plugin)和[niuzi插件](https://github.com/usfese/koishi-plugin-niuzi/tree/main)", 4 | "version": "2.0.0", 5 | "main": "lib/index.js", 6 | "typings": "lib/index.d.ts", 7 | "files": [ 8 | "lib", 9 | "src" 10 | ], 11 | "license": "MIT", 12 | "keywords": [ 13 | "chatbot", 14 | "koishi", 15 | "牛牛大作战", 16 | "impart-pro", 17 | "monetary", 18 | "plugin" 19 | ], 20 | "homepage": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/tree/main/", 21 | "bugs": { 22 | "url": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/issues" 23 | }, 24 | "peerDependencies": { 25 | "koishi": "^4.18.7" 26 | }, 27 | "devDependencies": { 28 | "koishi": "^4.18.7", 29 | "koishi-plugin-glyph": "^3.0.2", 30 | "koishi-plugin-monetary": "^0.1.3", 31 | "koishi-plugin-puppeteer": "^3.9.0" 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /plugins/automation-console/readme.md: -------------------------------------------------------------------------------- 1 | # koishi-plugin-automation-console 2 | 3 |

    Automation Console 是一个 Koishi 插件, 4 | 5 | 用于通过指令来自动化操作 Koishi 的 Web 控制台界面。 6 | 7 | 通过此插件,用户可以启动、控制、截图和管理控制台页面。

    8 | 9 |

    功能列表

    10 | 11 |
      12 |
    • 启动和登录控制台页面
    • 13 |
    • 控制台页面截图功能
    • 14 |
    • 关闭控制台页面
    • 15 |
    • 重启 Koishi 控制台
    • 16 |
    • 插件配置和管理功能
    • 17 |
    • 刷新插件市场
    • 18 |
    • 更新依赖管理
    • 19 |
    • 查看日志截图
    • 20 |
    21 | 22 |

    使用说明

    23 | 24 |

    该插件主要通过指令来控制 Koishi 的 Web UI 界面,具体使用步骤如下:

    25 | 26 |
      27 |
    1. 使用 打开UI控制 打开并登录控制台页面。
    2. 28 |
    3. 使用 查看UI控制 查看页面截图,确保操作完成。
    4. 29 |
    5. 可根据需要使用其他指令如 配置插件刷新插件市场查看日志 等操作。
    6. 30 |
    7. 完成操作后,可使用 退出UI控制 关闭控制台页面。
    8. 31 |
    32 | 33 | 其中的 配置插件 支持快速指定操作,操作如 配置插件 commands 1 1 34 | 35 | 这样可以快速指定搜索 commands 插件的第一个匹配项,并且按下第1个操作按钮 36 | 37 | 这个示例实现了快速开启/关闭 commands 插件 38 | 39 |

    注意事项

    40 | 41 |
      42 |
    • 确保 puppeteer 已正确配置并可用。
    • 43 |
    • enable_auth 配置为 true 时,请确保用户名和密码正确。
    • 44 |
    • 使用指令前请确认权限等级 与command_authority是否匹配。
    • 45 |
    46 | 47 |

    日志调试

    48 | 49 |

    启用 loggerinfo 配置项后,插件将会记录调试日志,帮助排查问题。

    50 | 51 | -------------------------------------------------------------------------------- /plugins/qrcode-service-null/readme.md: -------------------------------------------------------------------------------- 1 | # koishi-plugin-qrcode 2 | 3 | [![npm](https://img.shields.io/npm/v/koishi-plugin-qrcode-service-null?style=flat-square)](https://www.npmjs.com/package/koishi-plugin-qrcode-service-null) 4 | 5 | 6 | 本插件提供了简单的二维码生成接口,可以根据输入文本生成二维码。 7 | 8 | 以方便一些平台对于链接等内容的发送 9 | 10 | 11 | 12 | --- 13 | 14 | 15 | 16 | 要在你的koishi中调用本插件的服务 17 | 18 | 下面是一个使用示例 19 | 20 | ``` 21 | import { Context, Schema, h } from 'koishi' 22 | import { } from 'koishi-plugin-qrcode-service' 23 | 24 | export interface Config { 25 | loggerinfo: boolean; 26 | } 27 | 28 | export const Config: Schema = Schema.intersect([ 29 | Schema.object({ 30 | loggerinfo: Schema.boolean().default(false).description('日志调试模式'), 31 | }).description('高级设置'), 32 | ]) 33 | 34 | export const inject = { 35 | optional: ['qrcode'] 36 | } 37 | 38 | export function apply(ctx: Context, config: Config) { 39 | ctx.command('二维码码 ', '生成二维码') 40 | .action(async ({ options, session }, keyword) => { 41 | const image = await ctx.qrcode.generateQRCode(keyword, 'Text') 42 | if (config.loggerinfo) { 43 | ctx.logger.info('生成二维码:\n' + keyword) 44 | } 45 | await session.send(image) 46 | }) 47 | } 48 | 49 | ``` 50 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/question.yml: -------------------------------------------------------------------------------- 1 | name: 🔵 疑问、询问 (Question) 2 | description: 提出关于 koishi-shangxue-app 插件的疑问或询问 3 | title: "[Question]: " 4 | labels: ["question"] 5 | assignees: [] 6 | 7 | body: 8 | - type: markdown 9 | attributes: 10 | value: | 11 | 欢迎提出关于 koishi-shangxue-app 插件的疑问 / 询问! 12 | 13 | - type: input 14 | id: plugin-name 15 | attributes: 16 | label: 插件名称 17 | description: 请提供您有疑问的插件名称 18 | placeholder: 例如:koishi-plugin-example 19 | validations: 20 | required: true 21 | 22 | - type: textarea 23 | id: question-content 24 | attributes: 25 | label: 遇到的疑问、疑惑 26 | description: 请详细描述您遇到的疑问或疑惑。 27 | placeholder: 我想了解 XXX 功能是如何工作的... 28 | validations: 29 | required: true 30 | 31 | - type: dropdown 32 | id: possible-bug 33 | attributes: 34 | label: 是否可能是 Bug? 35 | description: 您认为这个问题可能是 Bug 吗? 36 | options: 37 | - 是,我认为可能是 Bug 38 | - 否,我认为不是 Bug,只是疑问 39 | - 不确定 40 | validations: 41 | required: false 42 | 43 | 44 | - type: textarea 45 | id: additional-context 46 | attributes: 47 | label: 补充说明 (可选) 48 | description: 如果有其他需要补充说明的信息,请在这里填写。 49 | placeholder: 例如,我是在 XXX 场景下遇到这个疑问的... 50 | validations: 51 | required: false 52 | -------------------------------------------------------------------------------- /plugins/universal-translation/lib/service.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | var __importDefault = (this && this.__importDefault) || function (mod) { 3 | return (mod && mod.__esModule) ? mod : { "default": mod }; 4 | }; 5 | Object.defineProperty(exports, "__esModule", { value: true }); 6 | exports.UniversalTranslation = void 0; 7 | const translator_1 = __importDefault(require("./translator")); 8 | class UniversalTranslation extends translator_1.default { 9 | async translate(options) { 10 | const q = options.input; 11 | const to = options.target || 'zh'; 12 | const url = [ 13 | `https://api.jaxing.cc/v2/Translate/Tencent?SourceText=${(q)}&Target=${to}`, 14 | `https://translate.cloudflare.jaxing.cc/?text=${(q)}&source_lang=zh&target_lang=${to}` 15 | ]; 16 | for (const getUrl of url) { 17 | try { 18 | const responseData = await this.ctx.http.get(getUrl); 19 | return responseData.data?.Response?.TargetText 20 | || responseData.response?.translated_text; 21 | } 22 | catch (error) { 23 | this.logger.error(`API request failed for ${getUrl}: ${error.message}`); 24 | } 25 | } 26 | } 27 | } 28 | exports.UniversalTranslation = UniversalTranslation; 29 | -------------------------------------------------------------------------------- /plugins/universal-translation/src/index.ts: -------------------------------------------------------------------------------- 1 | import { Context } from 'koishi' 2 | import { Config } from './config' 3 | import { UniversalTranslation } from './service' 4 | export const languageMap = require('./languageMap.json') 5 | 6 | export * from './config' 7 | 8 | export const name = 'universal-translation' 9 | 10 | export function apply(ctx: Context, config: Config) { 11 | const translation = new UniversalTranslation(ctx, config) 12 | 13 | ctx.command("universal-translation ", "翻译命令") 14 | .option('to', '-t [language] 指定翻译的目标语言', { fallback: config.defaultTargetLang}) 15 | .action(async ({ options }, text) => { 16 | if (!text) { 17 | return '请输入要翻译的文本...' 18 | } 19 | 20 | const to = options.to 21 | ? (languageMap[options.to] || options.to) 22 | : config.defaultTargetLang 23 | 24 | const result = await translation.translate({ 25 | input: text, 26 | target: to 27 | }) 28 | return result 29 | }) 30 | 31 | ctx.command('universal-translation/语言代码对照表') 32 | .action(async () => { 33 | return '注意:并不是所列语言均支持翻译,此表仅供参考语言代码\n对照表请见这里【http://www.lingoes.cn/zh/translator/langcode.htm】' 34 | }) 35 | } 36 | -------------------------------------------------------------------------------- /plugins/speechless-mind/readme.md: -------------------------------------------------------------------------------- 1 | # koishi-plugin-speechless-mind 2 | 3 | [![npm](https://img.shields.io/npm/v/koishi-plugin-speechless-mind?style=flat-square)](https://www.npmjs.com/package/koishi-plugin-speechless-mind) 4 | 5 |

    指令格式

    6 | 7 |

    使用以下格式的指令来触发插件:

    8 | 9 |
      10 |
    • 无语 - 生成默认的无语思维文本。
    • 11 |
    • 无语 [文本] - 使用指定的文本生成无语思维内容。
    • 12 |
    • 无语 [文本] [图片] - 使用指定的文本和图片生成无语思维内容。
    • 13 |
    14 | 15 |

    使用示例

    16 | 17 |
    18 | 示例 1: 无语
    19 | 说明: 生成默认的无语思维文本内容。 20 |
    21 | 22 |
    23 | 示例 2: 无语 koishi
    24 | 说明: 使用“koishi”作为文本,生成无语思维内容。 25 |
    26 | 27 |
    28 | 示例 3: 无语 koishi [图片]
    29 | 说明: 使用“koishi”作为文本,并附带一张图片,生成无语思维内容。 30 |
    31 | 32 |

    插件所需服务

    33 | 34 |
      35 |
    • Puppeteer: 用于渲染最终的输出图像。Puppeteer 提供了强大的页面渲染功能,使得生成的代码更易于编写和维护。
    • 36 |
    • Canvas: 用于获取输入图片的分辨率。Canvas 提供了快速的图像尺寸检测功能,确保处理效率。
    • 37 |
    38 | 39 |

    注意事项

    40 | 41 |
      42 |
    • 确保图片的分辨率符合插件的要求,否则会提示上传合适的图片。
    • 43 |
    • 如果文本内容包含换行符,可以根据配置选择是否允许自动换行。
    • 44 |
    • 在使用图片时,请确保图片 URL 可访问。
    • 45 |
    46 | -------------------------------------------------------------------------------- /plugins/dialogue-webui/client/index.scss: -------------------------------------------------------------------------------- 1 | .layout-iframe { 2 | width: 100%; 3 | height: 100%; 4 | border: none; 5 | } 6 | 7 | /* 统一按钮样式 */ 8 | .k-button.add-action { 9 | background-color: #409eff; 10 | color: white; 11 | border: none; 12 | font-weight: 500; 13 | } 14 | 15 | .k-button.add-action:hover { 16 | background-color: #66b1ff; 17 | } 18 | 19 | .k-button.add-action:active { 20 | background-color: #3a8ee6; 21 | } 22 | 23 | /* 统一删除按钮样式 */ 24 | .k-button.delete-action { 25 | background-color: #f56c6c; 26 | color: white; 27 | border: none; 28 | font-weight: 500; 29 | } 30 | 31 | .k-button.delete-action:hover { 32 | background-color: #f78989; 33 | } 34 | 35 | .k-button.delete-action:active { 36 | background-color: #dd6161; 37 | } 38 | 39 | .k-select { 40 | background-color: rgba(255, 255, 255, 0.9); 41 | color: #2c3e50; 42 | border: 1px solid rgba(0, 0, 0, 0.1); 43 | } 44 | 45 | .k-select option { 46 | background-color: white; 47 | color: #2c3e50; 48 | } 49 | 50 | /* 深色主题优化 */ 51 | @media (prefers-color-scheme: dark) { 52 | .k-select { 53 | background-color: rgba(50, 50, 50, 0.9); 54 | color: #e0e0e0; 55 | border: 1px solid rgba(255, 255, 255, 0.1); 56 | } 57 | 58 | .k-select option { 59 | background-color: #323232; 60 | color: #e0e0e0; 61 | } 62 | } -------------------------------------------------------------------------------- /plugins/assets-img-scdn-io/readme.md: -------------------------------------------------------------------------------- 1 | # koishi-plugin-assets-img-scdn-io 2 | 3 | [![npm](https://img.shields.io/npm/v/koishi-plugin-assets-img-scdn-io?style=flat-square)](https://www.npmjs.com/package/koishi-plugin-assets-img-scdn-io) 4 | 5 | 6 | 基于图床 [img.scdn.io](https://img.scdn.io/) 的资源转存服务。 7 | 8 | ## 文档 9 | 10 | 11 | 12 | ## 示例用法 13 | ```ts 14 | import { Context, Schema } from 'koishi' 15 | import { } from '@koishijs/assets' 16 | 17 | export const name = 'assets-test' 18 | export const inject = ["assets"] 19 | export interface Config { } 20 | 21 | export const Config: Schema = Schema.object({}) 22 | 23 | export function apply(ctx: Context) { 24 | // write your plugin here 25 | ctx 26 | .command('测试图床') 27 | .action(async ({ session }) => { 28 | const aaa = await ctx.assets.transform(session.content) 29 | ctx.logger.info(aaa) 30 | return aaa 31 | }) 32 | } 33 | 34 | ``` 35 | 36 | ## 特性 37 | 38 | - 支持图片文件上传到 img.scdn.io 图床 39 | - 自动处理文件格式转换 40 | - 完整的错误处理和日志记录 41 | - 符合 Koishi Assets 服务标准 42 | 43 | ## 配置 44 | 45 | - `endpoint`: API 服务器地址(默认:https://img.scdn.io/api) 46 | - `loggerinfo`: 是否开启调试日志(默认:false) 47 | 48 | ## 使用说明 49 | 50 | 要使用本插件提供的 assets 服务,你需要先关闭默认开启的 assets-local 插件,然后开启本插件。 51 | 52 | 本插件使用 img.scdn.io 图床服务,支持图片文件的上传和存储。 53 | -------------------------------------------------------------------------------- /plugins/jrys-prpr/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "koishi-plugin-jrys-prpr", 3 | "description": "[**jrys-prpr**点我查看预览图](https://i0.hdslb.com/bfs/article/ae33f1b2e9dbc3fe89363a40fbf040703493298333289018.png)😽QQ官方json按钮支持,20个群即可发按钮!支持 monetary!很好看的字体! 支持自动清理记录内容。", 4 | "version": "2.0.2", 5 | "main": "lib/index.js", 6 | "typings": "lib/index.d.ts", 7 | "files": [ 8 | "lib", 9 | "src", 10 | "data" 11 | ], 12 | "homepage": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/tree/main/", 13 | "bugs": { 14 | "url": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/issues" 15 | }, 16 | "license": "MIT", 17 | "keywords": [ 18 | "chatbot", 19 | "koishi", 20 | "plugin", 21 | "monetary", 22 | "prpr", 23 | "jrys", 24 | "查看今日运势" 25 | ], 26 | "service": { 27 | "required": [ 28 | "i18n", 29 | "logger", 30 | "http", 31 | "puppeteer" 32 | ], 33 | "optional": [ 34 | "canvas", 35 | "monetary", 36 | "database", 37 | "glyph" 38 | ] 39 | }, 40 | "peerDependencies": { 41 | "koishi": "^4.18.0" 42 | }, 43 | "devDependencies": { 44 | "koishi": "^4.18.0", 45 | "koishi-plugin-glyph": "^3.0.0" 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /plugins/qq-markdown-button/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shangxueink/koishi-plugin-qq-markdown-button", 3 | "version": "4.0.0", 4 | "description": "[**QQ机器人按钮菜单**点我查看使用说明](https://www.npmjs.com/package/@shangxueink/koishi-plugin-qq-markdown-button) 自用小插件咪~ 使用json文件设置你的机器人菜单这样就不需要一堆配置项还很烧脑了。自用插件哦~", 5 | "main": "lib/index.js", 6 | "typings": "lib/index.d.ts", 7 | "files": [ 8 | "lib" 9 | ], 10 | "license": "MIT", 11 | "homepage": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/tree/main/", 12 | "bugs": { 13 | "url": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/issues" 14 | }, 15 | "keywords": [ 16 | "bot", 17 | "chatbot", 18 | "koishi", 19 | "plugin", 20 | "菜单" 21 | ], 22 | "koishi": { 23 | "description": { 24 | "en": "A personal Koishi plugin for QQ bot button menus. It uses JSON files to configure your bot's menus, eliminating the need for complex configuration items. This is a self-use plugin.", 25 | "zh": "[**QQ机器人按钮菜单**点我查看使用说明](https://www.npmjs.com/package/@shangxueink/koishi-plugin-qq-markdown-button) 自用小插件咪~ 使用json文件设置你的机器人菜单这样就不需要一堆配置项还很烧脑了。自用插件哦~" 26 | } 27 | }, 28 | "peerDependencies": { 29 | "koishi": "^4.17.1" 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /plugins/chat-patch/src/types.ts: -------------------------------------------------------------------------------- 1 | import { h } from 'koishi' 2 | 3 | export interface BotInfo { 4 | selfId: string 5 | platform: string 6 | username: string 7 | avatar?: string 8 | status: 'online' | 'offline' 9 | } 10 | 11 | export interface ChannelInfo { 12 | id: string 13 | name: string 14 | type: number | string 15 | channelId?: string 16 | guildName?: string 17 | isDirect?: boolean 18 | } 19 | 20 | export interface QuoteInfo { 21 | messageId: string 22 | id: string 23 | content: string 24 | elements?: h[] 25 | user: { 26 | id: string 27 | name: string 28 | userId: string 29 | avatar?: string 30 | username: string 31 | } 32 | timestamp: number 33 | } 34 | 35 | export interface MessageInfo { 36 | id: string 37 | content: string 38 | userId: string 39 | username: string 40 | avatar?: string 41 | timestamp: number 42 | channelId: string 43 | selfId: string 44 | elements?: h[] 45 | type: 'user' | 'bot' 46 | guildId?: string 47 | guildName?: string 48 | platform: string 49 | quote?: QuoteInfo 50 | isDirect?: boolean 51 | } 52 | 53 | export interface ChatData { 54 | bots: Record 55 | channels: Record> 56 | messages: Record 57 | pinnedBots: string[] 58 | pinnedChannels: string[] 59 | lastSaveTime?: number 60 | } -------------------------------------------------------------------------------- /plugins/keyword-dialogue/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@shangxueink/koishi-plugin-keyword-dialogue", 3 | "version": "1.0.0", 4 | "description": "[**关键词回复**点我查看使用说明](https://www.npmjs.com/package/@shangxueink/koishi-plugin-keyword-dialogue) 设置关键词回复,json存放便于编辑。适用于多段落图文的内容添加。自用小插件哦,[更强大的功能请使用dialogue](/market?keyword=dialogue)", 5 | "main": "lib/index.js", 6 | "typings": "lib/index.d.ts", 7 | "files": [ 8 | "lib", 9 | "src" 10 | ], 11 | "homepage": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/tree/main/", 12 | "bugs": { 13 | "url": "https://github.com/koishi-shangxue-plugins/koishi-shangxue-apps/issues" 14 | }, 15 | "license": "MIT", 16 | "keywords": [ 17 | "bot", 18 | "chatbot", 19 | "koishi", 20 | "plugin", 21 | "自定义对话回复", 22 | "关键词" 23 | ], 24 | "koishi": { 25 | "description": { 26 | "en": "A customizable reply plugin for setting keyword responses, suitable for graphic explanations.", 27 | "zh": "[**关键词回复**点我查看使用说明](https://www.npmjs.com/package/@shangxueink/koishi-plugin-keyword-dialogue) 设置关键词回复,json存放便于编辑。适用于多段落图文的内容添加。自用小插件哦,[更强大的功能请使用dialogue](/market?keyword=dialogue)" 28 | } 29 | }, 30 | "peerDependencies": { 31 | "koishi": "^4.18.0" 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /plugins/beta-dxl-bert-vits/readme.md: -------------------------------------------------------------------------------- 1 | # koishi-plugin-beta-dxl-bert-vits 2 | 3 | [![npm](https://img.shields.io/npm/v/koishi-plugin-beta-dxl-bert-vits?style=flat-square)](https://www.npmjs.com/package/koishi-plugin-beta-dxl-bert-vits) 4 | 5 | 6 | ## 基本用法 7 | 8 | 开启插件后,直接在聊天框输入指令即可使用。 9 | 10 | ``` 11 | ++betavits 你好啊,这是一段测试的模板语音 12 | ``` 13 | 14 | 你也可以通过指令选项来自定义语音参数,例如: 15 | 16 | ``` 17 | ++betavits -s "角色名 (标识)" -n 0.8 "你好世界" 18 | ``` 19 | 20 | 使用 `-h` 选项查看所有可用的指令选项。 21 | 22 | --- 23 | 24 | ## 如何添加更多模型 25 | 26 | 如果你找到了一个新的、可用的`ModelScope Bert Vits`模型,可以按照以下步骤添加它: 27 | 28 | ### 步骤 1: 安装浏览器脚本 29 | 30 | 1. 在你的浏览器(推荐Chrome、Firefox、Edge)中安装 [Tampermonkey](https://www.tampermonkey.net/)(篡改猴)扩展。 31 | 2. 进入Tampermonkey的“管理面板”,点击“+”号标签页创建一个新脚本。 32 | 3. 将项目路径下 `script/modelscope-data-exporter.user.js` 文件中的所有代码复制并粘贴到新脚本中。 33 | 4. 保存脚本 (Ctrl+S)。 34 | 35 | ### 步骤 2: 查找并下载模型数据 36 | 37 | 1. 访问 https://www.modelscope.cn/studios?name=bert%20vits&page=1&type=interactive-programmatic 并寻找你感兴趣的 `bert-vits` 模型。 38 | 2. 点击进入模型的Gradio界面。 39 | 3. 如果脚本安装成功,你会在页面右下角的“Submit”按钮旁边看到一个黄色的 **“下载数据JSON”** 按钮。 40 | 4. 点击该按钮,浏览器会自动生成并下载一个符合本插件格式的 `.json` 文件。 41 | 42 | ### 步骤 3: 贡献模型 43 | 44 | 1. Fork本仓库。 45 | 2. 将你下载的 `.json` 文件重命名,格式为 `speakers_作者名_模型标识.json`(例如 `speakers_aiboycoder_Taffy-Bert-VITS2.json`),并将其放入项目的 `resources` 目录下。 46 | 3. 提交一个Pull Request。 47 | 48 | 一旦你的PR被合并,这个新的模型就会在插件的下个版本中对所有用户可用! -------------------------------------------------------------------------------- /plugins/screenshot-links/readme.md: -------------------------------------------------------------------------------- 1 | # koishi-plugin-screenshot-links 2 | 3 | [![npm](https://img.shields.io/npm/v/koishi-plugin-screenshot-links?style=flat-square)](https://www.npmjs.com/package/koishi-plugin-screenshot-links) 4 | 5 | ## 功能特点 6 | 7 | - **多种工作模式**:支持指令模式、中间件模式或两者结合 8 | - **灵活的权限控制**: 9 | - 用户黑白名单:控制哪些用户可以使用截图功能 10 | - 频道黑白名单:控制在哪些频道可以使用截图功能 11 | - 域名黑白名单:控制哪些网站可以被截图 12 | - **URL映射表**:可以为常用网站设置别名,如"B站"→"https://www.bilibili.com/" 13 | - **自适应截图**:智能调整截图尺寸,避免过长页面 14 | - **超时控制**:设置页面加载和等待网络空闲的超时时间 15 | - **元素选择器**:支持截取页面中的特定元素 16 | 17 | ## 使用方法 18 | 19 | ### 指令模式 20 | 21 | ``` 22 | 看看 <网址或别名> [选择器] 23 | ``` 24 | 25 | 例如: 26 | - `看看 B站` - 截取B站首页 27 | - `看看 https://www.example.com` - 截取指定网址 28 | - `看看 https://www.example.com #main` - 只截取页面中id为main的元素 29 | 30 | ### 中间件模式 31 | 32 | 直接发送包含URL的消息,插件会自动检测并截图。 33 | 34 | ## 配置说明 35 | 36 | ### 基础设置 37 | - **工作模式**:选择指令、中间件或两者结合 38 | 39 | ### 截图设置 40 | - **允许的协议**:默认http和https 41 | - **截图质量**:控制图片压缩质量 42 | - **视口尺寸**:设置截图的初始宽高 43 | - **超时设置**:控制页面加载和等待的最长时间 44 | - **最大高度比例**:限制截图的最大高度 45 | 46 | ### 权限设置 47 | - **域名白名单/黑名单**:控制可截图的网站 48 | - **用户白名单/黑名单**:控制可使用功能的用户 49 | - **频道白名单/黑名单**:控制可使用功能的频道 50 | 51 | ### 调试设置 52 | - **日志调试模式**:启用详细日志输出 53 | 54 | ## 注意事项 55 | 56 | - 需要安装并配置puppeteer服务 57 | - 截图大型页面可能需要较长时间和较多资源 58 | - 请遵守相关法律法规,不要截取违规内容 59 | 60 | ## 许可证 61 | 62 | 此项目遵循 MIT 许可证。 -------------------------------------------------------------------------------- /plugins/dialogue-webui/client/types.ts: -------------------------------------------------------------------------------- 1 | // 过滤器操作符类型 2 | export type FilterOperator = 3 | | 'equals' // 等于 4 | | 'notEquals' // 不等于 5 | | 'contains' // 包含 6 | | 'notContains' // 不包含 7 | | 'greaterThan' // 大于 8 | | 'lessThan' // 小于 9 | | 'greaterOrEqual' // 大于等于 10 | | 'lessOrEqual' // 小于等于 11 | | 'in' // 在列表中 12 | | 'notIn' // 不在列表中 13 | 14 | // 过滤器字段类型 15 | export type FilterField = 16 | | 'userId' // 用户ID 17 | | 'channelId' // 频道ID 18 | | 'guildId' // 群组ID 19 | | 'selfId' // 机器人ID 20 | | 'platform' // 平台 21 | | 'isDirect' // 是否私聊 22 | | 'authority' // 用户权限等级 23 | | 'nickname' // 用户昵称 24 | | 'username' // 用户名 25 | | 'roles' // 用户角色列表 26 | 27 | // 单个过滤条件 28 | export interface FilterCondition { 29 | field: FilterField 30 | operator: FilterOperator 31 | value: string | number | boolean 32 | connector?: 'and' | 'or' // 与上一个条件的连接关系(第一个条件不需要) 33 | } 34 | 35 | // 过滤器组 36 | export interface FilterGroup { 37 | connector?: 'and' | 'or' // 与上一组的连接关系(第一组不需要) 38 | conditions: FilterCondition[] 39 | } 40 | 41 | export interface Dialogue { 42 | id: any 43 | question: string 44 | answer: string 45 | type: 'keyword' | 'regexp' 46 | // 新的过滤器系统 47 | filterGroups?: FilterGroup[] // 过滤器组列表(组之间是 AND 关系) 48 | // 保留旧字段以兼容 49 | scope?: 'global' | 'group' | 'private' 50 | contextId?: string 51 | } -------------------------------------------------------------------------------- /plugins/dialogue-webui/src/utils.ts: -------------------------------------------------------------------------------- 1 | import { Context, h, Session } from "koishi" 2 | import { Config } from "." 3 | import { runInNewContext } from "vm" 4 | 5 | 6 | /** 7 | * 在安全的沙箱环境中执行JS模板字符串 8 | * @param template - 包含 {{...}} 插值的模板字符串 9 | * @param ctx - Koishi 的 Context 对象 10 | * @param config - 插件配置 11 | * @param session - 当前会话对象 12 | * @returns 解析后的消息内容 (字符串或Satori元素) 13 | */ 14 | export async function executeTemplate(template: string, ctx: Context, config: Config, session: Session) { 15 | const elements = [] 16 | const regex = /{{\s*(.*?)\s*}}/g 17 | let lastIndex = 0 18 | let match 19 | 20 | // 创建沙箱环境的上下文 21 | const sandbox = { 22 | ctx, 23 | config, 24 | h, 25 | session, 26 | } 27 | 28 | while ((match = regex.exec(template)) !== null) { 29 | // 添加插值前的纯文本部分 30 | if (match.index > lastIndex) { 31 | elements.push(h.text(template.substring(lastIndex, match.index))) 32 | } 33 | 34 | // 在沙箱中执行插值中的代码 35 | try { 36 | const result = runInNewContext(match[1], sandbox) 37 | elements.push(result) 38 | } catch (error) { 39 | ctx.logger('dialogue-webui').warn(`模板执行错误: ${error.message}\n模板: ${match[1]}`) 40 | elements.push(h.text(`[模板错误: ${error.message}]`)) 41 | } 42 | 43 | lastIndex = regex.lastIndex 44 | } 45 | 46 | // 添加最后一个插值后的纯文本部分 47 | if (lastIndex < template.length) { 48 | elements.push(h.text(template.substring(lastIndex))) 49 | } 50 | 51 | return h.normalize(elements) 52 | } 53 | -------------------------------------------------------------------------------- /plugins/spell-wrong/readme.md: -------------------------------------------------------------------------------- 1 | # koishi-plugin-spell-wrong 2 | 3 | [![npm](https://img.shields.io/npm/v/koishi-plugin-spell-wrong?style=flat-square)](https://www.npmjs.com/package/koishi-plugin-spell-wrong) 4 | 5 | > 当用户拼错指令时,给予友好提示。当用户输入不是有效指令时,插件会自动返回一个友好的提示,帮助用户正确使用机器人功能。 6 | 7 | ## 功能特点 8 | 9 | - 自动检测用户输入是否为有效指令 10 | - 支持自定义提示消息和行为 11 | - 可配置是否仅在@机器人时触发 12 | - 灵活控制中间件优先级,可选择是否让其他功能(如AI对话)优先处理 13 | 14 | ![效果预览](https://i0.hdslb.com/bfs/openplatform/efff3a76e737a7c986f670b4c64ad878ec527927.png) 15 | 16 | ## 安装 17 | 18 | ```bash 19 | npm install koishi-plugin-spell-wrong 20 | ``` 21 | 22 | 或者在 Koishi 控制台中搜索并安装 `spell-wrong`。 23 | 24 | ## 配置项 25 | 26 | ### 基本设置 27 | 28 | - **onlyHasAt**: 是否仅在@机器人时触发检测(默认:`false`) 29 | - **returnNext**: 使用临时中间件确保只处理未被其他功能捕获的消息(默认:`true`) 30 | - 开启后,其他功能(如AI对话)会优先处理用户消息 31 | - 关闭后,本插件会立即处理不符合指令格式的消息 32 | 33 | ### 提示行为 34 | 35 | - **tipAction**: 自定义提示行为的代码 36 | - 可使用 `session`、`h`、`ctx`、`logger`、`config` 变量 37 | - 默认会提示用户输入 `help` 查看可用指令 38 | 39 | ## 使用示例 40 | 41 | ### 默认配置 42 | 43 | 插件安装后,当用户输入不符合指令格式的消息时,会自动提示: 44 | 45 | ``` 46 | 您输入的不是有效指令,请输入 help 查看可用指令。 47 | ``` 48 | 49 | ### 自定义提示行为 50 | 51 | 您可以在配置中自定义 `tipAction` 来实现更复杂的提示行为,例如: 52 | 53 | ```javascript 54 | // 提供更详细的帮助信息 55 | await session.send(h.quote(session.messageId) + '您输入的不是有效指令。\n可用指令前缀:/ 或 .\n常用指令:help, ping, echo\n输入 /help 查看完整指令列表。'); 56 | ``` 57 | 58 | ## 注意事项 59 | 60 | - 当 `returnNext` 设为 `true` 时,如果有其他插件(如AI对话)已经处理了用户消息,本插件的提示将不会触发 61 | - 当 `onlyHasAt` 设为 `true` 时,只有@机器人的消息才会被检测 62 | 63 | ## 许可证 64 | 65 | MIT -------------------------------------------------------------------------------- /plugins/jrys-prpr/data/backgroundFolder/魔卡.txt: -------------------------------------------------------------------------------- 1 | https://i0.hdslb.com/bfs/article/c68ff62234ab7e692977979eeb62a516b89f1c36.jpg?px=700x1243 2 | https://i0.hdslb.com/bfs/article/44ad97acd87d92f5dc988a01f563d36fde0a033e.jpg?px=1024x1497 3 | https://i0.hdslb.com/bfs/article/1f2cb9cdc8ad7020f70c84769e58c1e6da0db806.jpg?px=990x1400 4 | https://i0.hdslb.com/bfs/article/622cdc831805e09728252dee9d8bab65fecd7b3e.jpg?px=700x990 5 | https://i0.hdslb.com/bfs/article/53d76a1148864d7f9183e932792ab5188964140b.jpg?px=2001x2865 6 | https://i0.hdslb.com/bfs/article/cd61926982e6d3e095d83fa80b3f5e878bb78454.jpg?px=900x1272 7 | https://i0.hdslb.com/bfs/article/37c653b57fa37a5aa48235c3a9c59302ec6c1c7b.jpg?px=1200x1791 8 | https://i0.hdslb.com/bfs/article/6845ea1712015e3ab230a1f2e33e9d7a04ed6212.jpg?px=756x842 9 | https://i0.hdslb.com/bfs/article/9548040aef539b00bf6cdd8de3d1fafe45534b0b.jpg?px=1161x1572 10 | https://i0.hdslb.com/bfs/article/52e3dd0d5b74e64b1d8c34d9becc03315f24207f.jpg?px=1080x2340 11 | https://i0.hdslb.com/bfs/article/39c427a0d5ff41ef698b2b4a5fd2263617ef7543.jpg?px=1080x2340 12 | https://i0.hdslb.com/bfs/article/8dea5480207522f2ec7ea56b780ff6e879e07483.jpg?px=1080x2340 13 | https://i0.hdslb.com/bfs/article/9a712fd7f3ba0709fd8bffa2cbe2a1d9f213f8e9.png?px=1920x1152 14 | https://i0.hdslb.com/bfs/article/cfb84c27ce0612d43b9439139abb1ae20acf144e.jpg?px=564x950 15 | https://i0.hdslb.com/bfs/article/bf914c11c087b36f33f43261b143349cfb83835d.jpg?px=690x949 16 | https://i0.hdslb.com/bfs/article/2332c7f9d946f2dcceac446165c67e2c7298dcef.jpg?px=650x922 17 | --------------------------------------------------------------------------------