Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
K
koishi-plugin-act
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
3rdeye
koishi-plugin-act
Commits
c627a968
Commit
c627a968
authored
Oct 05, 2021
by
nanahira
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
half
parent
420d8bd3
Pipeline
#6078
failed with stage
in 1 minute and 19 seconds
Changes
6
Pipelines
1
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
200 additions
and
172 deletions
+200
-172
README.md
README.md
+2
-2
package-lock.json
package-lock.json
+147
-145
package.json
package.json
+4
-4
src/index.ts
src/index.ts
+4
-2
src/playbook/Show.ts
src/playbook/Show.ts
+5
-5
src/plugin.ts
src/plugin.ts
+38
-14
No files found.
README.md
View file @
c627a968
...
@@ -44,7 +44,7 @@ export interface Config {
...
@@ -44,7 +44,7 @@ export interface Config {
### 说明
### 说明
*
`adminContext`
一个上下文函数,设置管理员接口作用域。如
`(ctx) => ctx.private('1111111111')`
为只对 QQ 号是 1111111111 的私聊消息有效
。
*
`adminContext`
管理员接口作用域
。
*
`autoChangeName`
公演开始之前是否修改每个演员机器人的群名片。推荐开启。
*
`autoChangeName`
公演开始之前是否修改每个演员机器人的群名片。推荐开启。
...
...
package-lock.json
View file @
c627a968
{
{
"name"
:
"koishi-plugin-act"
,
"name"
:
"koishi-plugin-act"
,
"version"
:
"1.0.
0
"
,
"version"
:
"1.0.
3
"
,
"lockfileVersion"
:
2
,
"lockfileVersion"
:
2
,
"requires"
:
true
,
"requires"
:
true
,
"packages"
:
{
"packages"
:
{
""
:
{
""
:
{
"version"
:
"1.0.0"
,
"name"
:
"koishi-plugin-act"
,
"license"
:
"ISC"
,
"version"
:
"1.0.3"
,
"license"
:
"MIT"
,
"dependencies"
:
{
"dependencies"
:
{
"source-map-support"
:
"^0.5.19"
"source-map-support"
:
"^0.5.19"
},
},
"devDependencies"
:
{
"devDependencies"
:
{
"@koishijs/plugin-onebot"
:
"^4.0.0-alpha.7"
,
"@types/lodash"
:
"^4.14.172"
,
"@types/lodash"
:
"^4.14.172"
,
"@types/mustache"
:
"^4.1.2"
,
"@types/mustache"
:
"^4.1.2"
,
"@types/node"
:
"^16.4.11"
,
"@types/node"
:
"^16.4.11"
,
...
@@ -21,8 +23,7 @@
...
@@ -21,8 +23,7 @@
"eslint"
:
"^7.32.0"
,
"eslint"
:
"^7.32.0"
,
"eslint-config-prettier"
:
"^8.3.0"
,
"eslint-config-prettier"
:
"^8.3.0"
,
"eslint-plugin-prettier"
:
"^3.4.0"
,
"eslint-plugin-prettier"
:
"^3.4.0"
,
"koishi-adapter-onebot"
:
"^3.1.0"
,
"koishi"
:
"^4.0.0-alpha.8"
,
"koishi-core"
:
"^3.13.0"
,
"load-json-file"
:
"^6.2.0"
,
"load-json-file"
:
"^6.2.0"
,
"lodash"
:
"^4.17.21"
,
"lodash"
:
"^4.17.21"
,
"moment"
:
"^2.29.1"
,
"moment"
:
"^2.29.1"
,
...
@@ -34,10 +35,6 @@
...
@@ -34,10 +35,6 @@
"typescript"
:
"^4.3.5"
,
"typescript"
:
"^4.3.5"
,
"webpack"
:
"^5.48.0"
,
"webpack"
:
"^5.48.0"
,
"webpack-cli"
:
"^4.7.2"
"webpack-cli"
:
"^4.7.2"
},
"peerDependencies"
:
{
"koishi-adapter-onebot"
:
"^3.1.0"
,
"koishi-core"
:
"^3.13.0"
}
}
},
},
"node_modules/@babel/code-frame"
:
{
"node_modules/@babel/code-frame"
:
{
...
@@ -193,9 +190,9 @@
...
@@ -193,9 +190,9 @@
"dev"
:
true
"dev"
:
true
},
},
"node_modules/@koa/router"
:
{
"node_modules/@koa/router"
:
{
"version"
:
"10.1.
0
"
,
"version"
:
"10.1.
1
"
,
"resolved"
:
"https://registry.npmjs.org/@koa/router/-/router-10.1.
0
.tgz"
,
"resolved"
:
"https://registry.npmjs.org/@koa/router/-/router-10.1.
1
.tgz"
,
"integrity"
:
"sha512-
QZiCDn8Fd9vVN0qCWw81fToF5GMdtyPD04fIOHXiCCmXB6sznhjHMd3xbVS2ZxrgLWrcN8s6tIItEv0wuXt2O
w=="
,
"integrity"
:
"sha512-
ORNjq5z4EmQPriKbR0ER3k4Gh7YGNhWDL7JBW+8wXDrHLbWYKYSJaOJ9aN06npF5tbTxe2JBOsurpJDAvjiXK
w=="
,
"dev"
:
true
,
"dev"
:
true
,
"dependencies"
:
{
"dependencies"
:
{
"debug"
:
"^4.1.1"
,
"debug"
:
"^4.1.1"
,
...
@@ -208,6 +205,56 @@
...
@@ -208,6 +205,56 @@
"node"
:
">= 8.0.0"
"node"
:
">= 8.0.0"
}
}
},
},
"node_modules/@koishijs/core"
:
{
"version"
:
"4.0.0-alpha.8"
,
"resolved"
:
"https://registry.npmjs.org/@koishijs/core/-/core-4.0.0-alpha.8.tgz"
,
"integrity"
:
"sha512-0SSweBTdXfSeD1IlWeBiAKDWD7MYGqHlhhuKAAstZDQm+Hh5oyX5oaZBhTUxbwwDjk//HwYH9AeLqqHTgVZYWw=="
,
"dev"
:
true
,
"dependencies"
:
{
"@koishijs/utils"
:
"^5.0.0-alpha.4"
,
"fastest-levenshtein"
:
"^1.0.12"
},
"engines"
:
{
"node"
:
">=12.0.0"
}
},
"node_modules/@koishijs/plugin-onebot"
:
{
"version"
:
"4.0.0-alpha.7"
,
"resolved"
:
"https://registry.npmjs.org/@koishijs/plugin-onebot/-/plugin-onebot-4.0.0-alpha.7.tgz"
,
"integrity"
:
"sha512-gcQupD0RSXoW8FjhQL8TTfXK5N+spKFJuivEtGHLWEZFV4r8g64FOWdUcdyaIJMao/XEN0BYT6tgxXSKNL1h6A=="
,
"dev"
:
true
,
"dependencies"
:
{
"qface"
:
"^1.2.0"
,
"ws"
:
"^8.2.1"
},
"peerDependencies"
:
{
"koishi"
:
"^4.0.0-alpha.8"
}
},
"node_modules/@koishijs/utils"
:
{
"version"
:
"5.0.0-alpha.4"
,
"resolved"
:
"https://registry.npmjs.org/@koishijs/utils/-/utils-5.0.0-alpha.4.tgz"
,
"integrity"
:
"sha512-cB1mUh3iLQKVHd8O9Lbdm/8LPmQ/VtiO+DlnAZXwbyczSIBu3HJiQo5t9pjy4LFcOoboEO4iCfbqBXpA2L/JHg=="
,
"dev"
:
true
,
"dependencies"
:
{
"supports-color"
:
"^8.1.0"
}
},
"node_modules/@koishijs/utils/node_modules/supports-color"
:
{
"version"
:
"8.1.1"
,
"resolved"
:
"https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz"
,
"integrity"
:
"sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q=="
,
"dev"
:
true
,
"dependencies"
:
{
"has-flag"
:
"^4.0.0"
},
"engines"
:
{
"node"
:
">=10"
},
"funding"
:
{
"url"
:
"https://github.com/chalk/supports-color?sponsor=1"
}
},
"node_modules/@nodelib/fs.scandir"
:
{
"node_modules/@nodelib/fs.scandir"
:
{
"version"
:
"2.1.5"
,
"version"
:
"2.1.5"
,
"resolved"
:
"https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz"
,
"resolved"
:
"https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz"
,
...
@@ -402,12 +449,6 @@
...
@@ -402,12 +449,6 @@
"integrity"
:
"sha512-/BHF5HAx3em7/KkzVKm3LrsD6HZAXuXO1AJZQ3cRRBZj4oHZDviWPYu0aEplAqDFNHZPW6d3G7KN+ONcCCC7pw=="
,
"integrity"
:
"sha512-/BHF5HAx3em7/KkzVKm3LrsD6HZAXuXO1AJZQ3cRRBZj4oHZDviWPYu0aEplAqDFNHZPW6d3G7KN+ONcCCC7pw=="
,
"dev"
:
true
"dev"
:
true
},
},
"node_modules/@types/lru-cache"
:
{
"version"
:
"5.1.1"
,
"resolved"
:
"https://registry.npmjs.org/@types/lru-cache/-/lru-cache-5.1.1.tgz"
,
"integrity"
:
"sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw=="
,
"dev"
:
true
},
"node_modules/@types/mime"
:
{
"node_modules/@types/mime"
:
{
"version"
:
"1.3.2"
,
"version"
:
"1.3.2"
,
"resolved"
:
"https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz"
,
"resolved"
:
"https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz"
,
...
@@ -933,12 +974,12 @@
...
@@ -933,12 +974,12 @@
}
}
},
},
"node_modules/axios"
:
{
"node_modules/axios"
:
{
"version"
:
"0.21.
1
"
,
"version"
:
"0.21.
4
"
,
"resolved"
:
"https://registry.npmjs.org/axios/-/axios-0.21.
1
.tgz"
,
"resolved"
:
"https://registry.npmjs.org/axios/-/axios-0.21.
4
.tgz"
,
"integrity"
:
"sha512-
dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA
=="
,
"integrity"
:
"sha512-
ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg
=="
,
"dev"
:
true
,
"dev"
:
true
,
"dependencies"
:
{
"dependencies"
:
{
"follow-redirects"
:
"^1.1
0
.0"
"follow-redirects"
:
"^1.1
4
.0"
}
}
},
},
"node_modules/balanced-match"
:
{
"node_modules/balanced-match"
:
{
...
@@ -2485,66 +2526,26 @@
...
@@ -2485,66 +2526,26 @@
"integrity"
:
"sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
,
"integrity"
:
"sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
,
"dev"
:
true
"dev"
:
true
},
},
"node_modules/koishi
-adapter-onebot
"
:
{
"node_modules/koishi"
:
{
"version"
:
"
3.1.0
"
,
"version"
:
"
4.0.0-alpha.8
"
,
"resolved"
:
"https://registry.npmjs.org/koishi
-adapter-onebot/-/koishi-adapter-onebot-3.1.0
.tgz"
,
"resolved"
:
"https://registry.npmjs.org/koishi
/-/koishi-4.0.0-alpha.8
.tgz"
,
"integrity"
:
"sha512-
6IobmR9gUDOw9KR6zMQ3BDrNyhj0Hc2AG1ST+iiyEKVu3zWWfJqZl3s3J42TiZKcZbXICDU/lKjv5ldTWX3iaw
=="
,
"integrity"
:
"sha512-
Q8Zp+K/P8woCHQRHOOWzSYDE1twJo/Frm5wcUDXMuhYySZtX6ci31ciVE+KSIh230yD30wYpWRbo1xhwTzepvg
=="
,
"dev"
:
true
,
"dev"
:
true
,
"dependencies"
:
{
"dependencies"
:
{
"axios"
:
"^0.21.1"
,
"@koa/router"
:
"^10.1.1"
,
"koishi-utils"
:
"^4.2.3"
,
"@koishijs/core"
:
"^4.0.0-alpha.8"
,
"qface"
:
"1.1.0"
,
"@koishijs/utils"
:
"^5.0.0-alpha.4"
,
"ws"
:
"^7.4.5"
"@types/koa"
:
"*"
,
},
"@types/koa__router"
:
"*"
,
"peerDependencies"
:
{
"@types/ws"
:
"^7.4.7"
,
"koishi-core"
:
"^3.12.1"
"axios"
:
"^0.21.4"
,
}
},
"node_modules/koishi-core"
:
{
"version"
:
"3.13.0"
,
"resolved"
:
"https://registry.npmjs.org/koishi-core/-/koishi-core-3.13.0.tgz"
,
"integrity"
:
"sha512-VIB3ykL89xt1/xkRq2bELKk9n2expEy+xrzYOXBJmrjvs8wbCspyUKDYPfCBgj9z+O5tu5nyfn5TjIdwhnIj3g=="
,
"dev"
:
true
,
"dependencies"
:
{
"@koa/router"
:
"^10.0.0"
,
"@types/koa__router"
:
"^8.0.4"
,
"@types/lru-cache"
:
"^5.1.0"
,
"@types/ws"
:
"^7.4.2"
,
"axios"
:
"^0.21.1"
,
"fastest-levenshtein"
:
"^1.0.12"
,
"koa"
:
"^2.13.1"
,
"koa"
:
"^2.13.1"
,
"koa-bodyparser"
:
"^4.3.0"
,
"koa-bodyparser"
:
"^4.3.0"
"koishi-utils"
:
"^4.2.3"
,
"lru-cache"
:
"^6.0.0"
},
},
"engines"
:
{
"engines"
:
{
"node"
:
">=12.0.0"
"node"
:
">=12.0.0"
}
}
},
},
"node_modules/koishi-utils"
:
{
"version"
:
"4.2.3"
,
"resolved"
:
"https://registry.npmjs.org/koishi-utils/-/koishi-utils-4.2.3.tgz"
,
"integrity"
:
"sha512-FKOEazHwXDXI1XLIYz9Ox950bvXB5ZlYrfLML0OSZlfgY/QMbJi3bMcvMbN/TcT7BhzYTT+CHIWsJyuWt8CdXA=="
,
"dev"
:
true
,
"dependencies"
:
{
"supports-color"
:
"^8.1.0"
}
},
"node_modules/koishi-utils/node_modules/supports-color"
:
{
"version"
:
"8.1.1"
,
"resolved"
:
"https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz"
,
"integrity"
:
"sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q=="
,
"dev"
:
true
,
"dependencies"
:
{
"has-flag"
:
"^4.0.0"
},
"engines"
:
{
"node"
:
">=10"
},
"funding"
:
{
"url"
:
"https://github.com/chalk/supports-color?sponsor=1"
}
},
"node_modules/levn"
:
{
"node_modules/levn"
:
{
"version"
:
"0.4.1"
,
"version"
:
"0.4.1"
,
"resolved"
:
"https://registry.npmjs.org/levn/-/levn-0.4.1.tgz"
,
"resolved"
:
"https://registry.npmjs.org/levn/-/levn-0.4.1.tgz"
,
...
@@ -3098,9 +3099,9 @@
...
@@ -3098,9 +3099,9 @@
}
}
},
},
"node_modules/qface"
:
{
"node_modules/qface"
:
{
"version"
:
"1.
1
.0"
,
"version"
:
"1.
2
.0"
,
"resolved"
:
"https://registry.npmjs.org/qface/-/qface-1.
1
.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/qface/-/qface-1.
2
.0.tgz"
,
"integrity"
:
"sha512-
NQ86A5bZPUO2m/t9P1VzncwuukM/5dCeLwXO5tfEvkYeAvBrXnrQLPngPxDRITIIm+eVb9NXu+YYVca3wdGmB
g=="
,
"integrity"
:
"sha512-
MZX1YphF8AXwYKwR7xS1pHar1+bNW86sN+TytI1OidLyDg4ptWzWkyY65lat1UoYzVbKkOU4KySKTbPmYDHzp
g=="
,
"dev"
:
true
"dev"
:
true
},
},
"node_modules/qs"
:
{
"node_modules/qs"
:
{
...
@@ -4023,12 +4024,12 @@
...
@@ -4023,12 +4024,12 @@
"dev"
:
true
"dev"
:
true
},
},
"node_modules/ws"
:
{
"node_modules/ws"
:
{
"version"
:
"
7.5
.3"
,
"version"
:
"
8.2
.3"
,
"resolved"
:
"https://registry.npmjs.org/ws/-/ws-
7.5
.3.tgz"
,
"resolved"
:
"https://registry.npmjs.org/ws/-/ws-
8.2
.3.tgz"
,
"integrity"
:
"sha512-
kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg
=="
,
"integrity"
:
"sha512-
wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA
=="
,
"dev"
:
true
,
"dev"
:
true
,
"engines"
:
{
"engines"
:
{
"node"
:
">=
8.3
.0"
"node"
:
">=
10.0
.0"
},
},
"peerDependencies"
:
{
"peerDependencies"
:
{
"bufferutil"
:
"^4.0.1"
,
"bufferutil"
:
"^4.0.1"
,
...
@@ -4197,9 +4198,9 @@
...
@@ -4197,9 +4198,9 @@
"dev"
:
true
"dev"
:
true
},
},
"@koa/router"
:
{
"@koa/router"
:
{
"version"
:
"10.1.
0
"
,
"version"
:
"10.1.
1
"
,
"resolved"
:
"https://registry.npmjs.org/@koa/router/-/router-10.1.
0
.tgz"
,
"resolved"
:
"https://registry.npmjs.org/@koa/router/-/router-10.1.
1
.tgz"
,
"integrity"
:
"sha512-
QZiCDn8Fd9vVN0qCWw81fToF5GMdtyPD04fIOHXiCCmXB6sznhjHMd3xbVS2ZxrgLWrcN8s6tIItEv0wuXt2O
w=="
,
"integrity"
:
"sha512-
ORNjq5z4EmQPriKbR0ER3k4Gh7YGNhWDL7JBW+8wXDrHLbWYKYSJaOJ9aN06npF5tbTxe2JBOsurpJDAvjiXK
w=="
,
"dev"
:
true
,
"dev"
:
true
,
"requires"
:
{
"requires"
:
{
"debug"
:
"^4.1.1"
,
"debug"
:
"^4.1.1"
,
...
@@ -4209,6 +4210,46 @@
...
@@ -4209,6 +4210,46 @@
"path-to-regexp"
:
"^6.1.0"
"path-to-regexp"
:
"^6.1.0"
}
}
},
},
"@koishijs/core"
:
{
"version"
:
"4.0.0-alpha.8"
,
"resolved"
:
"https://registry.npmjs.org/@koishijs/core/-/core-4.0.0-alpha.8.tgz"
,
"integrity"
:
"sha512-0SSweBTdXfSeD1IlWeBiAKDWD7MYGqHlhhuKAAstZDQm+Hh5oyX5oaZBhTUxbwwDjk//HwYH9AeLqqHTgVZYWw=="
,
"dev"
:
true
,
"requires"
:
{
"@koishijs/utils"
:
"^5.0.0-alpha.4"
,
"fastest-levenshtein"
:
"^1.0.12"
}
},
"@koishijs/plugin-onebot"
:
{
"version"
:
"4.0.0-alpha.7"
,
"resolved"
:
"https://registry.npmjs.org/@koishijs/plugin-onebot/-/plugin-onebot-4.0.0-alpha.7.tgz"
,
"integrity"
:
"sha512-gcQupD0RSXoW8FjhQL8TTfXK5N+spKFJuivEtGHLWEZFV4r8g64FOWdUcdyaIJMao/XEN0BYT6tgxXSKNL1h6A=="
,
"dev"
:
true
,
"requires"
:
{
"qface"
:
"^1.2.0"
,
"ws"
:
"^8.2.1"
}
},
"@koishijs/utils"
:
{
"version"
:
"5.0.0-alpha.4"
,
"resolved"
:
"https://registry.npmjs.org/@koishijs/utils/-/utils-5.0.0-alpha.4.tgz"
,
"integrity"
:
"sha512-cB1mUh3iLQKVHd8O9Lbdm/8LPmQ/VtiO+DlnAZXwbyczSIBu3HJiQo5t9pjy4LFcOoboEO4iCfbqBXpA2L/JHg=="
,
"dev"
:
true
,
"requires"
:
{
"supports-color"
:
"^8.1.0"
},
"dependencies"
:
{
"supports-color"
:
{
"version"
:
"8.1.1"
,
"resolved"
:
"https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz"
,
"integrity"
:
"sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q=="
,
"dev"
:
true
,
"requires"
:
{
"has-flag"
:
"^4.0.0"
}
}
}
},
"@nodelib/fs.scandir"
:
{
"@nodelib/fs.scandir"
:
{
"version"
:
"2.1.5"
,
"version"
:
"2.1.5"
,
"resolved"
:
"https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz"
,
"resolved"
:
"https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz"
,
...
@@ -4394,12 +4435,6 @@
...
@@ -4394,12 +4435,6 @@
"integrity"
:
"sha512-/BHF5HAx3em7/KkzVKm3LrsD6HZAXuXO1AJZQ3cRRBZj4oHZDviWPYu0aEplAqDFNHZPW6d3G7KN+ONcCCC7pw=="
,
"integrity"
:
"sha512-/BHF5HAx3em7/KkzVKm3LrsD6HZAXuXO1AJZQ3cRRBZj4oHZDviWPYu0aEplAqDFNHZPW6d3G7KN+ONcCCC7pw=="
,
"dev"
:
true
"dev"
:
true
},
},
"@types/lru-cache"
:
{
"version"
:
"5.1.1"
,
"resolved"
:
"https://registry.npmjs.org/@types/lru-cache/-/lru-cache-5.1.1.tgz"
,
"integrity"
:
"sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw=="
,
"dev"
:
true
},
"@types/mime"
:
{
"@types/mime"
:
{
"version"
:
"1.3.2"
,
"version"
:
"1.3.2"
,
"resolved"
:
"https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz"
,
"resolved"
:
"https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz"
,
...
@@ -4803,12 +4838,12 @@
...
@@ -4803,12 +4838,12 @@
"dev"
:
true
"dev"
:
true
},
},
"axios"
:
{
"axios"
:
{
"version"
:
"0.21.
1
"
,
"version"
:
"0.21.
4
"
,
"resolved"
:
"https://registry.npmjs.org/axios/-/axios-0.21.
1
.tgz"
,
"resolved"
:
"https://registry.npmjs.org/axios/-/axios-0.21.
4
.tgz"
,
"integrity"
:
"sha512-
dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA
=="
,
"integrity"
:
"sha512-
ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg
=="
,
"dev"
:
true
,
"dev"
:
true
,
"requires"
:
{
"requires"
:
{
"follow-redirects"
:
"^1.1
0
.0"
"follow-redirects"
:
"^1.1
4
.0"
}
}
},
},
"balanced-match"
:
{
"balanced-match"
:
{
...
@@ -5986,54 +6021,21 @@
...
@@ -5986,54 +6021,21 @@
}
}
}
}
},
},
"koishi-adapter-onebot"
:
{
"koishi"
:
{
"version"
:
"3.1.0"
,
"version"
:
"4.0.0-alpha.8"
,
"resolved"
:
"https://registry.npmjs.org/koishi-adapter-onebot/-/koishi-adapter-onebot-3.1.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/koishi/-/koishi-4.0.0-alpha.8.tgz"
,
"integrity"
:
"sha512-6IobmR9gUDOw9KR6zMQ3BDrNyhj0Hc2AG1ST+iiyEKVu3zWWfJqZl3s3J42TiZKcZbXICDU/lKjv5ldTWX3iaw=="
,
"integrity"
:
"sha512-Q8Zp+K/P8woCHQRHOOWzSYDE1twJo/Frm5wcUDXMuhYySZtX6ci31ciVE+KSIh230yD30wYpWRbo1xhwTzepvg=="
,
"dev"
:
true
,
"requires"
:
{
"axios"
:
"^0.21.1"
,
"koishi-utils"
:
"^4.2.3"
,
"qface"
:
"1.1.0"
,
"ws"
:
"^7.4.5"
}
},
"koishi-core"
:
{
"version"
:
"3.13.0"
,
"resolved"
:
"https://registry.npmjs.org/koishi-core/-/koishi-core-3.13.0.tgz"
,
"integrity"
:
"sha512-VIB3ykL89xt1/xkRq2bELKk9n2expEy+xrzYOXBJmrjvs8wbCspyUKDYPfCBgj9z+O5tu5nyfn5TjIdwhnIj3g=="
,
"dev"
:
true
,
"dev"
:
true
,
"requires"
:
{
"requires"
:
{
"@koa/router"
:
"^10.0.0"
,
"@koa/router"
:
"^10.1.1"
,
"@types/koa__router"
:
"^8.0.4"
,
"@koishijs/core"
:
"^4.0.0-alpha.8"
,
"@types/lru-cache"
:
"^5.1.0"
,
"@koishijs/utils"
:
"^5.0.0-alpha.4"
,
"@types/ws"
:
"^7.4.2"
,
"@types/koa"
:
"*"
,
"axios"
:
"^0.21.1"
,
"@types/koa__router"
:
"*"
,
"fastest-levenshtein"
:
"^1.0.12"
,
"@types/ws"
:
"^7.4.7"
,
"axios"
:
"^0.21.4"
,
"koa"
:
"^2.13.1"
,
"koa"
:
"^2.13.1"
,
"koa-bodyparser"
:
"^4.3.0"
,
"koa-bodyparser"
:
"^4.3.0"
"koishi-utils"
:
"^4.2.3"
,
"lru-cache"
:
"^6.0.0"
}
},
"koishi-utils"
:
{
"version"
:
"4.2.3"
,
"resolved"
:
"https://registry.npmjs.org/koishi-utils/-/koishi-utils-4.2.3.tgz"
,
"integrity"
:
"sha512-FKOEazHwXDXI1XLIYz9Ox950bvXB5ZlYrfLML0OSZlfgY/QMbJi3bMcvMbN/TcT7BhzYTT+CHIWsJyuWt8CdXA=="
,
"dev"
:
true
,
"requires"
:
{
"supports-color"
:
"^8.1.0"
},
"dependencies"
:
{
"supports-color"
:
{
"version"
:
"8.1.1"
,
"resolved"
:
"https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz"
,
"integrity"
:
"sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q=="
,
"dev"
:
true
,
"requires"
:
{
"has-flag"
:
"^4.0.0"
}
}
}
}
},
},
"levn"
:
{
"levn"
:
{
...
@@ -6452,9 +6454,9 @@
...
@@ -6452,9 +6454,9 @@
"dev"
:
true
"dev"
:
true
},
},
"qface"
:
{
"qface"
:
{
"version"
:
"1.
1
.0"
,
"version"
:
"1.
2
.0"
,
"resolved"
:
"https://registry.npmjs.org/qface/-/qface-1.
1
.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/qface/-/qface-1.
2
.0.tgz"
,
"integrity"
:
"sha512-
NQ86A5bZPUO2m/t9P1VzncwuukM/5dCeLwXO5tfEvkYeAvBrXnrQLPngPxDRITIIm+eVb9NXu+YYVca3wdGmB
g=="
,
"integrity"
:
"sha512-
MZX1YphF8AXwYKwR7xS1pHar1+bNW86sN+TytI1OidLyDg4ptWzWkyY65lat1UoYzVbKkOU4KySKTbPmYDHzp
g=="
,
"dev"
:
true
"dev"
:
true
},
},
"qs"
:
{
"qs"
:
{
...
@@ -7101,9 +7103,9 @@
...
@@ -7101,9 +7103,9 @@
"dev"
:
true
"dev"
:
true
},
},
"ws"
:
{
"ws"
:
{
"version"
:
"
7.5
.3"
,
"version"
:
"
8.2
.3"
,
"resolved"
:
"https://registry.npmjs.org/ws/-/ws-
7.5
.3.tgz"
,
"resolved"
:
"https://registry.npmjs.org/ws/-/ws-
8.2
.3.tgz"
,
"integrity"
:
"sha512-
kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg
=="
,
"integrity"
:
"sha512-
wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA
=="
,
"dev"
:
true
,
"dev"
:
true
,
"requires"
:
{}
"requires"
:
{}
},
},
...
...
package.json
View file @
c627a968
...
@@ -7,10 +7,11 @@
...
@@ -7,10 +7,11 @@
"
source-map-support
"
:
"
^0.5.19
"
"
source-map-support
"
:
"
^0.5.19
"
},
},
"peerDependencies"
:
{
"peerDependencies"
:
{
"
koishi
-adapter-onebot
"
:
"
^3.1.0
"
,
"
koishi
"
:
"
^4.0.0-alpha.8
"
,
"
koishi-core
"
:
"
^3.13.0
"
"
@koishijs/plugin-onebot
"
:
"
^4.0.0-alpha.7
"
},
},
"devDependencies"
:
{
"devDependencies"
:
{
"
@koishijs/plugin-onebot
"
:
"
^4.0.0-alpha.7
"
,
"
@types/lodash
"
:
"
^4.14.172
"
,
"
@types/lodash
"
:
"
^4.14.172
"
,
"
@types/mustache
"
:
"
^4.1.2
"
,
"
@types/mustache
"
:
"
^4.1.2
"
,
"
@types/node
"
:
"
^16.4.11
"
,
"
@types/node
"
:
"
^16.4.11
"
,
...
@@ -21,8 +22,7 @@
...
@@ -21,8 +22,7 @@
"
eslint
"
:
"
^7.32.0
"
,
"
eslint
"
:
"
^7.32.0
"
,
"
eslint-config-prettier
"
:
"
^8.3.0
"
,
"
eslint-config-prettier
"
:
"
^8.3.0
"
,
"
eslint-plugin-prettier
"
:
"
^3.4.0
"
,
"
eslint-plugin-prettier
"
:
"
^3.4.0
"
,
"
koishi-adapter-onebot
"
:
"
^3.1.0
"
,
"
koishi
"
:
"
^4.0.0-alpha.8
"
,
"
koishi-core
"
:
"
^3.13.0
"
,
"
load-json-file
"
:
"
^6.2.0
"
,
"
load-json-file
"
:
"
^6.2.0
"
,
"
lodash
"
:
"
^4.17.21
"
,
"
lodash
"
:
"
^4.17.21
"
,
"
moment
"
:
"
^2.29.1
"
,
"
moment
"
:
"
^2.29.1
"
,
...
...
src/index.ts
View file @
c627a968
...
@@ -4,6 +4,8 @@ import { Config, MyPlugin } from './plugin';
...
@@ -4,6 +4,8 @@ import { Config, MyPlugin } from './plugin';
export
{
Config
}
from
'
./plugin
'
;
export
{
Config
}
from
'
./plugin
'
;
export
const
name
=
'
act-index
'
;
export
const
name
=
'
act-index
'
;
const
plugin
=
new
MyPlugin
();
export
const
schema
=
plugin
.
schema
;
export
function
apply
(
ctx
:
Context
,
config
:
Config
)
{
export
function
apply
(
ctx
:
Context
,
config
:
Config
)
{
ctx
.
plugin
(
new
MyPlugin
()
,
config
);
ctx
.
plugin
(
plugin
,
config
);
}
}
src/playbook/Show.ts
View file @
c627a968
import
{
Playbook
}
from
'
./Playbook
'
;
import
{
Playbook
}
from
'
./Playbook
'
;
import
type
{
CQBot
}
from
'
koishi-adapter
-onebot
'
;
import
type
{
OneBotBot
}
from
'
@koishijs/plugin
-onebot
'
;
import
moment
,
{
Moment
}
from
'
moment
'
;
import
moment
,
{
Moment
}
from
'
moment
'
;
export
enum
ShowStatus
{
export
enum
ShowStatus
{
...
@@ -10,7 +10,7 @@ export enum ShowStatus {
...
@@ -10,7 +10,7 @@ export enum ShowStatus {
export
class
Show
{
export
class
Show
{
status
:
ShowStatus
=
ShowStatus
.
Idle
;
status
:
ShowStatus
=
ShowStatus
.
Idle
;
private
characterBotMap
=
new
Map
<
number
,
CQ
Bot
>
();
private
characterBotMap
=
new
Map
<
number
,
OneBot
Bot
>
();
// eslint-disable-next-line @typescript-eslint/no-empty-function
// eslint-disable-next-line @typescript-eslint/no-empty-function
onFinish
:
(
message
:
string
,
show
:
Show
)
=>
void
=
()
=>
{};
onFinish
:
(
message
:
string
,
show
:
Show
)
=>
void
=
()
=>
{};
private
step
=
0
;
private
step
=
0
;
...
@@ -30,7 +30,7 @@ export class Show {
...
@@ -30,7 +30,7 @@ export class Show {
private
getPerformingBots
()
{
private
getPerformingBots
()
{
return
Array
.
from
(
this
.
characterBotMap
.
values
());
return
Array
.
from
(
this
.
characterBotMap
.
values
());
}
}
useCharacter
(
id
:
number
,
bot
:
CQ
Bot
)
{
useCharacter
(
id
:
number
,
bot
:
OneBot
Bot
)
{
this
.
characterBotMap
.
set
(
id
,
bot
);
this
.
characterBotMap
.
set
(
id
,
bot
);
}
}
isCharacterFull
()
{
isCharacterFull
()
{
...
@@ -38,8 +38,8 @@ export class Show {
...
@@ -38,8 +38,8 @@ export class Show {
this
.
characterBotMap
.
has
(
c
.
id
),
this
.
characterBotMap
.
has
(
c
.
id
),
);
);
}
}
async
autoCharacters
(
bots
:
CQ
Bot
[])
{
async
autoCharacters
(
bots
:
OneBot
Bot
[])
{
let
availableBots
:
CQ
Bot
[]
=
[];
let
availableBots
:
OneBot
Bot
[]
=
[];
const
botNameMap
=
new
Map
<
string
,
string
>
();
const
botNameMap
=
new
Map
<
string
,
string
>
();
for
(
const
bot
of
bots
)
{
for
(
const
bot
of
bots
)
{
if
(
!
(
bot
.
type
&&
bot
.
type
.
startsWith
(
'
onebot
'
)))
{
if
(
!
(
bot
.
type
&&
bot
.
type
.
startsWith
(
'
onebot
'
)))
{
...
...
src/plugin.ts
View file @
c627a968
import
'
source-map-support/register
'
;
import
'
source-map-support/register
'
;
import
type
{
Context
,
Session
}
from
'
koishi-core
'
;
import
{
Context
,
Schema
,
Session
}
from
'
koishi
'
;
import
{
Show
}
from
'
./playbook/Show
'
;
import
{
Show
}
from
'
./playbook/Show
'
;
import
{
Playbook
}
from
'
./playbook/Playbook
'
;
import
{
Playbook
}
from
'
./playbook/Playbook
'
;
import
{
plainToClass
}
from
'
class-transformer
'
;
import
{
plainToClass
}
from
'
class-transformer
'
;
import
loadJsonFile
from
'
load-json-file
'
;
import
loadJsonFile
from
'
load-json-file
'
;
import
type
{
CQBot
}
from
'
koishi-adapter-onebot
'
;
import
{
MaybeArray
}
from
'
koishi
'
;
const
selectors
=
[
'
user
'
,
'
guild
'
,
'
channel
'
,
'
self
'
,
'
private
'
,
'
platform
'
,
]
as
const
;
type
SelectorType
=
typeof
selectors
[
number
];
type
SelectorValue
=
boolean
|
MaybeArray
<
string
|
number
>
;
type
BaseSelection
=
{
[
K
in
SelectorType
as
`$
${
K
}
`
]?:
SelectorValue
};
export
interface
Selection
extends
BaseSelection
{
$and
?:
Selection
[];
$or
?:
Selection
[];
$not
?:
Selection
;
}
export
interface
Config
{
export
interface
Config
{
adminContext
:
(
ctx
:
Context
)
=>
Context
;
adminContext
:
Selection
;
autoChangeName
:
boolean
;
autoChangeName
:
boolean
;
dropHelp
:
boolean
;
dropHelp
:
boolean
;
playbookPathPrefix
:
string
;
playbookPathPrefix
:
string
;
...
@@ -20,20 +39,25 @@ export class MyPlugin {
...
@@ -20,20 +39,25 @@ export class MyPlugin {
shows
=
new
Map
<
number
,
Show
>
();
shows
=
new
Map
<
number
,
Show
>
();
name
=
'
act
'
;
name
=
'
act
'
;
schema
:
Schema
<
Config
>
=
Schema
.
object
({
adminContext
:
Schema
.
any
(
'
管理员接口作用域。
'
),
autoChangeName
:
Schema
.
boolean
(
'
公演开始之前是否修改每个演员机器人的群名片。推荐开启。
'
,
).
default
(
true
),
playbookPathPrefix
:
Schema
.
string
(
'
公演剧本存放路径。公演剧本的文件名是 `/path/to/playbookPathPrefix/name.json` 对应于 name 剧本。
'
,
).
default
(
'
./playbooks
'
),
dropHelp
:
Schema
.
boolean
(
'
是否删除 `help` 命令,避免社死 (?)
'
).
default
(
false
,
),
});
apply
(
ctx
:
Context
,
config
:
Config
)
{
apply
(
ctx
:
Context
,
config
:
Config
)
{
this
.
ctx
=
ctx
;
this
.
ctx
=
ctx
;
this
.
config
=
{
this
.
config
=
Schema
.
validate
(
config
,
this
.
schema
);
adminContext
:
(
ctx
)
=>
ctx
.
private
(),
autoChangeName
:
false
,
dropHelp
:
false
,
playbookPathPrefix
:
'
./playbooks
'
,
...
config
,
};
if
(
this
.
config
.
dropHelp
)
{
if
(
this
.
config
.
dropHelp
)
{
ctx
.
command
(
'
help
'
).
dispose
();
ctx
.
command
(
'
help
'
).
dispose
();
}
}
this
.
adminCtx
=
this
.
c
onfig
.
adminContext
(
ctx
);
this
.
adminCtx
=
this
.
c
tx
.
select
(
this
.
config
.
adminContext
);
const
showComamnd
=
this
.
adminCtx
const
showComamnd
=
this
.
adminCtx
.
command
(
'
act [groupId:number]
'
,
'
获取公演状态
'
)
.
command
(
'
act [groupId:number]
'
,
'
获取公演状态
'
)
.
usage
(
'
不带参数获取所有正在公演的群,带参数则获取特定群。
'
)
.
usage
(
'
不带参数获取所有正在公演的群,带参数则获取特定群。
'
)
...
@@ -110,9 +134,9 @@ export class MyPlugin {
...
@@ -110,9 +134,9 @@ export class MyPlugin {
}
catch
(
e
)
{
}
catch
(
e
)
{
return
`无法加载剧本文件
${
playbookPath
}
:
${
e
.
toString
()}
`
;
return
`无法加载剧本文件
${
playbookPath
}
:
${
e
.
toString
()}
`
;
}
}
const
bots
:
CQBot
[]
=
(
this
.
ctx
.
bots
.
filter
(
const
bots
:
OneBotBot
[]
=
this
.
ctx
.
bots
.
filter
(
(
b
)
=>
b
.
type
&&
b
.
type
.
startsWith
(
'
onebot
'
),
(
b
)
=>
b
.
type
&&
b
.
type
.
startsWith
(
'
onebot
'
),
)
as
unknown
)
as
CQ
Bot
[];
)
as
OneBot
Bot
[];
const
show
=
new
Show
(
groupId
,
playbook
,
this
.
config
.
autoChangeName
);
const
show
=
new
Show
(
groupId
,
playbook
,
this
.
config
.
autoChangeName
);
for
(
const
specificCharacter
of
specificCharacters
)
{
for
(
const
specificCharacter
of
specificCharacters
)
{
const
[
characterName
,
botId
]
=
specificCharacter
.
split
(
'
=
'
);
const
[
characterName
,
botId
]
=
specificCharacter
.
split
(
'
=
'
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment