Commit 0c179c8e authored by nanahira's avatar nanahira

migrate

parent eba8d3b3
Pipeline #6083 failed with stages
in 1 minute and 2 seconds
...@@ -14,14 +14,13 @@ npm install koishi-plugin-hisoutensoku-jammer ...@@ -14,14 +14,13 @@ npm install koishi-plugin-hisoutensoku-jammer
### 直接安装 ### 直接安装
在 https://cdn01.moecube.com/nanahira/koishi-plugin/hisoutensoku-jammer/index.js 下载,并配置 `koishi.config.js` 在 https://cdn02.moecube.com:444/nanahira/koishi-plugin/hisoutensoku-jammer/index.js 下载,并配置 `koishi.config.js`
```js ```js
module.exports = { module.exports = {
plugins: { plugins: {
"/path/to/hisoutensoku-jammer/index.js": { "/path/to/hisoutensoku-jammer/index.js": {
target: (ctx) => ctx.all(), target: (ctx) => ctx.all(),
attackTimeout: 10000,
addressWhitelist: [] addressWhitelist: []
} }
} }
...@@ -32,16 +31,12 @@ module.exports = { ...@@ -32,16 +31,12 @@ module.exports = {
```ts ```ts
const defaultConfig: HisoutensokuJammerConfig = { const defaultConfig: HisoutensokuJammerConfig = {
target: (ctx: Context) => ctx.all(),
attackTimeout: 10000, attackTimeout: 10000,
addressWhitelist: [], addressWhitelist: [],
}; };
``` ```
### 说明 ### 说明
* `target` 一个上下文函数,决定作用域。如 `(ctx) => ctx.group('1111111111')` 为只对群 1111111111 有效。
* `attackTimeout` 每次的干扰时长,单位 ms 。 * `attackTimeout` 每次的干扰时长,单位 ms 。
* `addressWhitelist` IP 白名单列表。白名单的 IP 地址不会被干扰。 * `addressWhitelist` IP 白名单列表。白名单的 IP 地址不会被干扰。
\ No newline at end of file
{ {
"name": "koishi-plugin-hisoutensoku-jammer", "name": "koishi-plugin-hisoutensoku-jammer",
"version": "1.1.6", "version": "2.0.0",
"lockfileVersion": 2, "lockfileVersion": 2,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"version": "1.1.6", "name": "koishi-plugin-hisoutensoku-jammer",
"version": "2.0.0",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"lodash": "^4.17.21",
"source-map-support": "^0.5.19" "source-map-support": "^0.5.19"
}, },
"devDependencies": { "devDependencies": {
"@types/lodash": "^4.14.168", "@types/lodash": "^4.14.175",
"@types/node": "^15.0.1", "@types/node": "^15.0.1",
"koishi-core": "^3.13.0", "koishi": "^4.0.0-alpha.8",
"koishi-utils": "^4.2.3",
"lodash": "^4.17.21",
"moment": "^2.29.1", "moment": "^2.29.1",
"raw-loader": "^4.0.2", "raw-loader": "^4.0.2",
"ts-loader": "^9.1.1", "ts-loader": "^9.1.1",
...@@ -35,9 +35,9 @@ ...@@ -35,9 +35,9 @@
} }
}, },
"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-QZiCDn8Fd9vVN0qCWw81fToF5GMdtyPD04fIOHXiCCmXB6sznhjHMd3xbVS2ZxrgLWrcN8s6tIItEv0wuXt2Ow==", "integrity": "sha512-ORNjq5z4EmQPriKbR0ER3k4Gh7YGNhWDL7JBW+8wXDrHLbWYKYSJaOJ9aN06npF5tbTxe2JBOsurpJDAvjiXKw==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"debug": "^4.1.1", "debug": "^4.1.1",
...@@ -50,6 +50,28 @@ ...@@ -50,6 +50,28 @@
"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/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/@types/accepts": { "node_modules/@types/accepts": {
"version": "1.3.5", "version": "1.3.5",
"resolved": "https://registry.npmjs.org/@types/accepts/-/accepts-1.3.5.tgz", "resolved": "https://registry.npmjs.org/@types/accepts/-/accepts-1.3.5.tgz",
...@@ -146,9 +168,9 @@ ...@@ -146,9 +168,9 @@
} }
}, },
"node_modules/@types/http-assert": { "node_modules/@types/http-assert": {
"version": "1.5.1", "version": "1.5.3",
"resolved": "https://registry.npmjs.org/@types/http-assert/-/http-assert-1.5.1.tgz", "resolved": "https://registry.npmjs.org/@types/http-assert/-/http-assert-1.5.3.tgz",
"integrity": "sha512-PGAK759pxyfXE78NbKxyfRcWYA/KwW17X290cNev/qAsn9eQIxkH4shoNBafH37wewhDG/0p1cHPbK6+SzZjWQ==", "integrity": "sha512-FyAOrDuQmBi8/or3ns4rwPno7/9tJTijVW6aQQjK02+kOQ8zmoNg2XJtAuQhvQcy1ASJq38wirX5//9J1EqoUA==",
"dev": true "dev": true
}, },
"node_modules/@types/http-errors": { "node_modules/@types/http-errors": {
...@@ -186,9 +208,9 @@ ...@@ -186,9 +208,9 @@
} }
}, },
"node_modules/@types/koa__router": { "node_modules/@types/koa__router": {
"version": "8.0.7", "version": "8.0.8",
"resolved": "https://registry.npmjs.org/@types/koa__router/-/koa__router-8.0.7.tgz", "resolved": "https://registry.npmjs.org/@types/koa__router/-/koa__router-8.0.8.tgz",
"integrity": "sha512-OB3Ax75nmTP+WR9AgdzA42DI7YmBtiNKN2g1Wxl+d5Dyek9SWt740t+ukwXSmv/jMBCUPyV3YEI93vZHgdP7UQ==", "integrity": "sha512-9pGCaDtzCsj4HJ8HmGuqzk8+s57sPj4njWd08GG5o92n5Xp9io2snc40CPpXFhoKcZ8OKhuu6ht4gNou9e1C2w==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@types/koa": "*" "@types/koa": "*"
...@@ -204,15 +226,9 @@ ...@@ -204,15 +226,9 @@
} }
}, },
"node_modules/@types/lodash": { "node_modules/@types/lodash": {
"version": "4.14.168", "version": "4.14.175",
"resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.168.tgz", "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.175.tgz",
"integrity": "sha512-oVfRvqHV/V6D1yifJbVRU3TMp8OT6o6BG+U9MkwuJ3U8/CsDHvalRpsxBqivn71ztOFZBTfJMvETbqHiaNSj7Q==", "integrity": "sha512-XmdEOrKQ8a1Y/yxQFOMbC47G/V2VDO1GvMRnl4O75M4GW/abC5tnfzadQYkqEveqRM1dEJGFFegfPNA2vvx2iw==",
"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 "dev": true
}, },
"node_modules/@types/mime": { "node_modules/@types/mime": {
...@@ -526,12 +542,6 @@ ...@@ -526,12 +542,6 @@
"url": "https://github.com/chalk/ansi-styles?sponsor=1" "url": "https://github.com/chalk/ansi-styles?sponsor=1"
} }
}, },
"node_modules/any-promise": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
"integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=",
"dev": true
},
"node_modules/arg": { "node_modules/arg": {
"version": "4.1.3", "version": "4.1.3",
"resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz",
...@@ -539,12 +549,12 @@ ...@@ -539,12 +549,12 @@
"dev": true "dev": true
}, },
"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.10.0" "follow-redirects": "^1.14.0"
} }
}, },
"node_modules/big.js": { "node_modules/big.js": {
...@@ -1069,9 +1079,9 @@ ...@@ -1069,9 +1079,9 @@
} }
}, },
"node_modules/follow-redirects": { "node_modules/follow-redirects": {
"version": "1.14.1", "version": "1.14.4",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.1.tgz", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.4.tgz",
"integrity": "sha512-HWqDgT7ZEkqRzBvc2s64vSZ/hfOceEol3ac/7tKwzuvEyWx3/4UegXh5oBOIotkGsObyk3xznnSRVADBgWSQVg==", "integrity": "sha512-zwGkiSXC1MUJG/qmeIFH2HBJx9u0V46QGUe3YR1fXG8bXQxq7fLj0RjLZQ5nubr9qNJUZrH+xUcwXEoXNpfS+g==",
"dev": true, "dev": true,
"funding": [ "funding": [
{ {
...@@ -1174,41 +1184,34 @@ ...@@ -1174,41 +1184,34 @@
"url": "https://github.com/sponsors/ljharb" "url": "https://github.com/sponsors/ljharb"
} }
}, },
"node_modules/http-assert": { "node_modules/has-tostringtag": {
"version": "1.4.1", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/http-assert/-/http-assert-1.4.1.tgz", "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz",
"integrity": "sha512-rdw7q6GTlibqVVbXr0CKelfV5iY8G2HqEUkhSk297BMbSpSL8crXC+9rjKoMcZZEsksX30le6f/4ul4E28gegw==", "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"deep-equal": "~1.0.1", "has-symbols": "^1.0.2"
"http-errors": "~1.7.2"
}, },
"engines": { "engines": {
"node": ">= 0.8" "node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
} }
}, },
"node_modules/http-assert/node_modules/http-errors": { "node_modules/http-assert": {
"version": "1.7.3", "version": "1.5.0",
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", "resolved": "https://registry.npmjs.org/http-assert/-/http-assert-1.5.0.tgz",
"integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", "integrity": "sha512-uPpH7OKX4H25hBmU6G1jWNaqJGpTXxey+YOUizJUAgu0AjLUeC8D73hTrhvDS5D+GJN1DN1+hhc/eF/wpxtp0w==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"depd": "~1.1.2", "deep-equal": "~1.0.1",
"inherits": "2.0.4", "http-errors": "~1.8.0"
"setprototypeof": "1.1.1",
"statuses": ">= 1.5.0 < 2",
"toidentifier": "1.0.0"
}, },
"engines": { "engines": {
"node": ">= 0.6" "node": ">= 0.8"
} }
}, },
"node_modules/http-assert/node_modules/setprototypeof": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz",
"integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==",
"dev": true
},
"node_modules/http-errors": { "node_modules/http-errors": {
"version": "1.8.0", "version": "1.8.0",
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.0.tgz", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.0.tgz",
...@@ -1299,10 +1302,13 @@ ...@@ -1299,10 +1302,13 @@
} }
}, },
"node_modules/is-generator-function": { "node_modules/is-generator-function": {
"version": "1.0.9", "version": "1.0.10",
"resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.9.tgz", "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz",
"integrity": "sha512-ZJ34p1uvIfptHCN7sFTjGibB9/oBg17sHqzDLfuwhvmN/qLVvIQXRQ8licZQ35WJ8KuEQt/etnnzQFI9C9Ue/A==", "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==",
"dev": true, "dev": true,
"dependencies": {
"has-tostringtag": "^1.0.0"
},
"engines": { "engines": {
"node": ">= 0.4" "node": ">= 0.4"
}, },
...@@ -1430,9 +1436,9 @@ ...@@ -1430,9 +1436,9 @@
} }
}, },
"node_modules/koa": { "node_modules/koa": {
"version": "2.13.1", "version": "2.13.3",
"resolved": "https://registry.npmjs.org/koa/-/koa-2.13.1.tgz", "resolved": "https://registry.npmjs.org/koa/-/koa-2.13.3.tgz",
"integrity": "sha512-Lb2Dloc72auj5vK4X4qqL7B5jyDPQaZucc9sR/71byg7ryoD1NCaCm63CShk9ID9quQvDEi1bGR/iGjCG7As3w==", "integrity": "sha512-XhXIoR+ylAwqG3HhXwnMPQAM/4xfywz52OvxZNmxmTWGGHsvmBv4NSIhURha6yMuvEex1WdtplUTHnxnKpQiGw==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"accepts": "^1.3.5", "accepts": "^1.3.5",
...@@ -1440,7 +1446,7 @@ ...@@ -1440,7 +1446,7 @@
"content-disposition": "~0.5.2", "content-disposition": "~0.5.2",
"content-type": "^1.0.4", "content-type": "^1.0.4",
"cookies": "~0.8.0", "cookies": "~0.8.0",
"debug": "~3.1.0", "debug": "^4.3.2",
"delegates": "^1.0.0", "delegates": "^1.0.0",
"depd": "^2.0.0", "depd": "^2.0.0",
"destroy": "^1.0.4", "destroy": "^1.0.4",
...@@ -1451,7 +1457,7 @@ ...@@ -1451,7 +1457,7 @@
"http-errors": "^1.6.3", "http-errors": "^1.6.3",
"is-generator-function": "^1.0.7", "is-generator-function": "^1.0.7",
"koa-compose": "^4.1.0", "koa-compose": "^4.1.0",
"koa-convert": "^1.2.0", "koa-convert": "^2.0.0",
"on-finished": "^2.3.0", "on-finished": "^2.3.0",
"only": "~0.0.2", "only": "~0.0.2",
"parseurl": "^1.3.2", "parseurl": "^1.3.2",
...@@ -1483,34 +1489,16 @@ ...@@ -1483,34 +1489,16 @@
"dev": true "dev": true
}, },
"node_modules/koa-convert": { "node_modules/koa-convert": {
"version": "1.2.0", "version": "2.0.0",
"resolved": "https://registry.npmjs.org/koa-convert/-/koa-convert-1.2.0.tgz", "resolved": "https://registry.npmjs.org/koa-convert/-/koa-convert-2.0.0.tgz",
"integrity": "sha1-2kCHXfSd4FOQmNFwC1CCDOvNIdA=", "integrity": "sha512-asOvN6bFlSnxewce2e/DK3p4tltyfC4VM7ZwuTuepI7dEQVcvpyFuBcEARu1+Hxg8DIwytce2n7jrZtRlPrARA==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"co": "^4.6.0", "co": "^4.6.0",
"koa-compose": "^3.0.0" "koa-compose": "^4.1.0"
}, },
"engines": { "engines": {
"node": ">= 4" "node": ">= 10"
}
},
"node_modules/koa-convert/node_modules/koa-compose": {
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/koa-compose/-/koa-compose-3.2.1.tgz",
"integrity": "sha1-qFzLQLfZhtjlo0Wzoazo6rz1Tec=",
"dev": true,
"dependencies": {
"any-promise": "^1.1.0"
}
},
"node_modules/koa/node_modules/debug": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
"integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
"dev": true,
"dependencies": {
"ms": "2.0.0"
} }
}, },
"node_modules/koa/node_modules/depd": { "node_modules/koa/node_modules/depd": {
...@@ -1522,42 +1510,26 @@ ...@@ -1522,42 +1510,26 @@
"node": ">= 0.8" "node": ">= 0.8"
} }
}, },
"node_modules/koa/node_modules/ms": { "node_modules/koishi": {
"version": "2.0.0", "version": "4.0.0-alpha.8",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "resolved": "https://registry.npmjs.org/koishi/-/koishi-4.0.0-alpha.8.tgz",
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "integrity": "sha512-Q8Zp+K/P8woCHQRHOOWzSYDE1twJo/Frm5wcUDXMuhYySZtX6ci31ciVE+KSIh230yD30wYpWRbo1xhwTzepvg==",
"dev": true
},
"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, "dev": true,
"dependencies": { "dependencies": {
"@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"
}, },
"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/loader-runner": { "node_modules/loader-runner": {
"version": "4.2.0", "version": "4.2.0",
"resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz", "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz",
...@@ -1596,8 +1568,7 @@ ...@@ -1596,8 +1568,7 @@
"node_modules/lodash": { "node_modules/lodash": {
"version": "4.17.21", "version": "4.17.21",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
"dev": true
}, },
"node_modules/lru-cache": { "node_modules/lru-cache": {
"version": "6.0.0", "version": "6.0.0",
...@@ -2597,9 +2568,9 @@ ...@@ -2597,9 +2568,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-QZiCDn8Fd9vVN0qCWw81fToF5GMdtyPD04fIOHXiCCmXB6sznhjHMd3xbVS2ZxrgLWrcN8s6tIItEv0wuXt2Ow==", "integrity": "sha512-ORNjq5z4EmQPriKbR0ER3k4Gh7YGNhWDL7JBW+8wXDrHLbWYKYSJaOJ9aN06npF5tbTxe2JBOsurpJDAvjiXKw==",
"dev": true, "dev": true,
"requires": { "requires": {
"debug": "^4.1.1", "debug": "^4.1.1",
...@@ -2609,6 +2580,25 @@ ...@@ -2609,6 +2580,25 @@
"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/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"
}
},
"@types/accepts": { "@types/accepts": {
"version": "1.3.5", "version": "1.3.5",
"resolved": "https://registry.npmjs.org/@types/accepts/-/accepts-1.3.5.tgz", "resolved": "https://registry.npmjs.org/@types/accepts/-/accepts-1.3.5.tgz",
...@@ -2705,9 +2695,9 @@ ...@@ -2705,9 +2695,9 @@
} }
}, },
"@types/http-assert": { "@types/http-assert": {
"version": "1.5.1", "version": "1.5.3",
"resolved": "https://registry.npmjs.org/@types/http-assert/-/http-assert-1.5.1.tgz", "resolved": "https://registry.npmjs.org/@types/http-assert/-/http-assert-1.5.3.tgz",
"integrity": "sha512-PGAK759pxyfXE78NbKxyfRcWYA/KwW17X290cNev/qAsn9eQIxkH4shoNBafH37wewhDG/0p1cHPbK6+SzZjWQ==", "integrity": "sha512-FyAOrDuQmBi8/or3ns4rwPno7/9tJTijVW6aQQjK02+kOQ8zmoNg2XJtAuQhvQcy1ASJq38wirX5//9J1EqoUA==",
"dev": true "dev": true
}, },
"@types/http-errors": { "@types/http-errors": {
...@@ -2745,9 +2735,9 @@ ...@@ -2745,9 +2735,9 @@
} }
}, },
"@types/koa__router": { "@types/koa__router": {
"version": "8.0.7", "version": "8.0.8",
"resolved": "https://registry.npmjs.org/@types/koa__router/-/koa__router-8.0.7.tgz", "resolved": "https://registry.npmjs.org/@types/koa__router/-/koa__router-8.0.8.tgz",
"integrity": "sha512-OB3Ax75nmTP+WR9AgdzA42DI7YmBtiNKN2g1Wxl+d5Dyek9SWt740t+ukwXSmv/jMBCUPyV3YEI93vZHgdP7UQ==", "integrity": "sha512-9pGCaDtzCsj4HJ8HmGuqzk8+s57sPj4njWd08GG5o92n5Xp9io2snc40CPpXFhoKcZ8OKhuu6ht4gNou9e1C2w==",
"dev": true, "dev": true,
"requires": { "requires": {
"@types/koa": "*" "@types/koa": "*"
...@@ -2763,15 +2753,9 @@ ...@@ -2763,15 +2753,9 @@
} }
}, },
"@types/lodash": { "@types/lodash": {
"version": "4.14.168", "version": "4.14.175",
"resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.168.tgz", "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.175.tgz",
"integrity": "sha512-oVfRvqHV/V6D1yifJbVRU3TMp8OT6o6BG+U9MkwuJ3U8/CsDHvalRpsxBqivn71ztOFZBTfJMvETbqHiaNSj7Q==", "integrity": "sha512-XmdEOrKQ8a1Y/yxQFOMbC47G/V2VDO1GvMRnl4O75M4GW/abC5tnfzadQYkqEveqRM1dEJGFFegfPNA2vvx2iw==",
"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 "dev": true
}, },
"@types/mime": { "@types/mime": {
...@@ -3048,12 +3032,6 @@ ...@@ -3048,12 +3032,6 @@
"color-convert": "^2.0.1" "color-convert": "^2.0.1"
} }
}, },
"any-promise": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
"integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=",
"dev": true
},
"arg": { "arg": {
"version": "4.1.3", "version": "4.1.3",
"resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz",
...@@ -3061,12 +3039,12 @@ ...@@ -3061,12 +3039,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.10.0" "follow-redirects": "^1.14.0"
} }
}, },
"big.js": { "big.js": {
...@@ -3473,9 +3451,9 @@ ...@@ -3473,9 +3451,9 @@
} }
}, },
"follow-redirects": { "follow-redirects": {
"version": "1.14.1", "version": "1.14.4",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.1.tgz", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.4.tgz",
"integrity": "sha512-HWqDgT7ZEkqRzBvc2s64vSZ/hfOceEol3ac/7tKwzuvEyWx3/4UegXh5oBOIotkGsObyk3xznnSRVADBgWSQVg==", "integrity": "sha512-zwGkiSXC1MUJG/qmeIFH2HBJx9u0V46QGUe3YR1fXG8bXQxq7fLj0RjLZQ5nubr9qNJUZrH+xUcwXEoXNpfS+g==",
"dev": true "dev": true
}, },
"fresh": { "fresh": {
...@@ -3540,35 +3518,23 @@ ...@@ -3540,35 +3518,23 @@
"integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==",
"dev": true "dev": true
}, },
"has-tostringtag": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz",
"integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==",
"dev": true,
"requires": {
"has-symbols": "^1.0.2"
}
},
"http-assert": { "http-assert": {
"version": "1.4.1", "version": "1.5.0",
"resolved": "https://registry.npmjs.org/http-assert/-/http-assert-1.4.1.tgz", "resolved": "https://registry.npmjs.org/http-assert/-/http-assert-1.5.0.tgz",
"integrity": "sha512-rdw7q6GTlibqVVbXr0CKelfV5iY8G2HqEUkhSk297BMbSpSL8crXC+9rjKoMcZZEsksX30le6f/4ul4E28gegw==", "integrity": "sha512-uPpH7OKX4H25hBmU6G1jWNaqJGpTXxey+YOUizJUAgu0AjLUeC8D73hTrhvDS5D+GJN1DN1+hhc/eF/wpxtp0w==",
"dev": true, "dev": true,
"requires": { "requires": {
"deep-equal": "~1.0.1", "deep-equal": "~1.0.1",
"http-errors": "~1.7.2" "http-errors": "~1.8.0"
},
"dependencies": {
"http-errors": {
"version": "1.7.3",
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz",
"integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==",
"dev": true,
"requires": {
"depd": "~1.1.2",
"inherits": "2.0.4",
"setprototypeof": "1.1.1",
"statuses": ">= 1.5.0 < 2",
"toidentifier": "1.0.0"
}
},
"setprototypeof": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz",
"integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==",
"dev": true
}
} }
}, },
"http-errors": { "http-errors": {
...@@ -3637,10 +3603,13 @@ ...@@ -3637,10 +3603,13 @@
} }
}, },
"is-generator-function": { "is-generator-function": {
"version": "1.0.9", "version": "1.0.10",
"resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.9.tgz", "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz",
"integrity": "sha512-ZJ34p1uvIfptHCN7sFTjGibB9/oBg17sHqzDLfuwhvmN/qLVvIQXRQ8licZQ35WJ8KuEQt/etnnzQFI9C9Ue/A==", "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==",
"dev": true "dev": true,
"requires": {
"has-tostringtag": "^1.0.0"
}
}, },
"is-number": { "is-number": {
"version": "7.0.0", "version": "7.0.0",
...@@ -3734,9 +3703,9 @@ ...@@ -3734,9 +3703,9 @@
"dev": true "dev": true
}, },
"koa": { "koa": {
"version": "2.13.1", "version": "2.13.3",
"resolved": "https://registry.npmjs.org/koa/-/koa-2.13.1.tgz", "resolved": "https://registry.npmjs.org/koa/-/koa-2.13.3.tgz",
"integrity": "sha512-Lb2Dloc72auj5vK4X4qqL7B5jyDPQaZucc9sR/71byg7ryoD1NCaCm63CShk9ID9quQvDEi1bGR/iGjCG7As3w==", "integrity": "sha512-XhXIoR+ylAwqG3HhXwnMPQAM/4xfywz52OvxZNmxmTWGGHsvmBv4NSIhURha6yMuvEex1WdtplUTHnxnKpQiGw==",
"dev": true, "dev": true,
"requires": { "requires": {
"accepts": "^1.3.5", "accepts": "^1.3.5",
...@@ -3744,7 +3713,7 @@ ...@@ -3744,7 +3713,7 @@
"content-disposition": "~0.5.2", "content-disposition": "~0.5.2",
"content-type": "^1.0.4", "content-type": "^1.0.4",
"cookies": "~0.8.0", "cookies": "~0.8.0",
"debug": "~3.1.0", "debug": "^4.3.2",
"delegates": "^1.0.0", "delegates": "^1.0.0",
"depd": "^2.0.0", "depd": "^2.0.0",
"destroy": "^1.0.4", "destroy": "^1.0.4",
...@@ -3755,7 +3724,7 @@ ...@@ -3755,7 +3724,7 @@
"http-errors": "^1.6.3", "http-errors": "^1.6.3",
"is-generator-function": "^1.0.7", "is-generator-function": "^1.0.7",
"koa-compose": "^4.1.0", "koa-compose": "^4.1.0",
"koa-convert": "^1.2.0", "koa-convert": "^2.0.0",
"on-finished": "^2.3.0", "on-finished": "^2.3.0",
"only": "~0.0.2", "only": "~0.0.2",
"parseurl": "^1.3.2", "parseurl": "^1.3.2",
...@@ -3764,26 +3733,11 @@ ...@@ -3764,26 +3733,11 @@
"vary": "^1.1.2" "vary": "^1.1.2"
}, },
"dependencies": { "dependencies": {
"debug": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
"integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
"dev": true,
"requires": {
"ms": "2.0.0"
}
},
"depd": { "depd": {
"version": "2.0.0", "version": "2.0.0",
"resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
"integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
"dev": true "dev": true
},
"ms": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
"dev": true
} }
} }
}, },
...@@ -3804,51 +3758,30 @@ ...@@ -3804,51 +3758,30 @@
"dev": true "dev": true
}, },
"koa-convert": { "koa-convert": {
"version": "1.2.0", "version": "2.0.0",
"resolved": "https://registry.npmjs.org/koa-convert/-/koa-convert-1.2.0.tgz", "resolved": "https://registry.npmjs.org/koa-convert/-/koa-convert-2.0.0.tgz",
"integrity": "sha1-2kCHXfSd4FOQmNFwC1CCDOvNIdA=", "integrity": "sha512-asOvN6bFlSnxewce2e/DK3p4tltyfC4VM7ZwuTuepI7dEQVcvpyFuBcEARu1+Hxg8DIwytce2n7jrZtRlPrARA==",
"dev": true, "dev": true,
"requires": { "requires": {
"co": "^4.6.0", "co": "^4.6.0",
"koa-compose": "^3.0.0" "koa-compose": "^4.1.0"
},
"dependencies": {
"koa-compose": {
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/koa-compose/-/koa-compose-3.2.1.tgz",
"integrity": "sha1-qFzLQLfZhtjlo0Wzoazo6rz1Tec=",
"dev": true,
"requires": {
"any-promise": "^1.1.0"
}
}
} }
}, },
"koishi-core": { "koishi": {
"version": "3.13.0", "version": "4.0.0-alpha.8",
"resolved": "https://registry.npmjs.org/koishi-core/-/koishi-core-3.13.0.tgz", "resolved": "https://registry.npmjs.org/koishi/-/koishi-4.0.0-alpha.8.tgz",
"integrity": "sha512-VIB3ykL89xt1/xkRq2bELKk9n2expEy+xrzYOXBJmrjvs8wbCspyUKDYPfCBgj9z+O5tu5nyfn5TjIdwhnIj3g==", "integrity": "sha512-Q8Zp+K/P8woCHQRHOOWzSYDE1twJo/Frm5wcUDXMuhYySZtX6ci31ciVE+KSIh230yD30wYpWRbo1xhwTzepvg==",
"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"
} }
}, },
"loader-runner": { "loader-runner": {
...@@ -3880,8 +3813,7 @@ ...@@ -3880,8 +3813,7 @@
"lodash": { "lodash": {
"version": "4.17.21", "version": "4.17.21",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
"dev": true
}, },
"lru-cache": { "lru-cache": {
"version": "6.0.0", "version": "6.0.0",
......
{ {
"name": "koishi-plugin-hisoutensoku-jammer", "name": "koishi-plugin-hisoutensoku-jammer",
"version": "1.1.10", "version": "2.0.0",
"description": "A Koishi Plugin jamming hisoutensoku plays in group.", "description": "A Koishi Plugin jamming hisoutensoku plays in group.",
"main": "dist/index.js", "main": "dist/index.js",
"dependencies": { "dependencies": {
"lodash": "^4.17.21",
"source-map-support": "^0.5.19" "source-map-support": "^0.5.19"
}, },
"devDependencies": { "devDependencies": {
"@types/lodash": "^4.14.168", "@types/lodash": "^4.14.175",
"@types/node": "^15.0.1", "@types/node": "^15.0.1",
"koishi-core": "^3.13.0", "koishi": "^4.0.0-alpha.8",
"koishi-utils": "^4.2.3",
"lodash": "^4.17.21",
"moment": "^2.29.1", "moment": "^2.29.1",
"raw-loader": "^4.0.2", "raw-loader": "^4.0.2",
"ts-loader": "^9.1.1", "ts-loader": "^9.1.1",
......
import type { Context } from "koishi-core";
import _, { last } from "lodash";
import "source-map-support/register"; import "source-map-support/register";
import type { Logger } from "koishi-utils"; import { Logger, Context, Schema } from "koishi";
import { Attacker } from "./attacker"; import { Attacker } from "./attacker";
import moment from "moment"; import moment from "moment";
export interface HisoutensokuJammerConfig { export interface HisoutensokuJammerConfig {
target: (ctx: Context) => Context;
attackTimeout: number; attackTimeout: number;
addressWhitelist: string[]; addressWhitelist: string[];
} }
const defaultConfig: HisoutensokuJammerConfig = {
target: (ctx: Context) => ctx.all(),
attackTimeout: 10000,
addressWhitelist: [],
};
const chineseCharacterList = [ const chineseCharacterList = [
{ character: '', value: 0 }, { character: '', value: 0 },
{ character: '', value: 0 }, { character: '', value: 0 },
...@@ -58,12 +48,11 @@ class HisoutensokuJammer { ...@@ -58,12 +48,11 @@ class HisoutensokuJammer {
targetCtx: Context; targetCtx: Context;
lastMessageMap = new Map<string, string>(); lastMessageMap = new Map<string, string>();
constructor(private ctx: Context, private config: HisoutensokuJammerConfig) { constructor(private ctx: Context, private config: HisoutensokuJammerConfig) {
this.targetCtx = config.target(ctx);
this.log = ctx.logger("hisoutensoku-jammer"); this.log = ctx.logger("hisoutensoku-jammer");
} }
apply() { apply() {
this.targetCtx.middleware(async (session, next) => { this.ctx.middleware(async (session, next) => {
const sender = session.userId; const sender = session.userId;
const message = session.content; const message = session.content;
this.handleMessage(message, sender).then(); this.handleMessage(message, sender).then();
...@@ -129,13 +118,14 @@ class HisoutensokuJammer { ...@@ -129,13 +118,14 @@ class HisoutensokuJammer {
} }
export const name = "hisoutensoku-jammer"; export const name = "hisoutensoku-jammer";
export const schema: Schema<HisoutensokuJammerConfig> = Schema.object({
attackTimeout: Schema.number('干扰时间。').default(10000),
addressWhitelist: Schema.array(Schema.string(), 'IP 白名单').default([])
})
export function apply( export function apply(
ctx: Context, ctx: Context,
config: HisoutensokuJammerConfig = defaultConfig config: HisoutensokuJammerConfig
) { ) {
const hisoutensokuJammer = new HisoutensokuJammer(ctx, { const hisoutensokuJammer = new HisoutensokuJammer(ctx, Schema.validate(config, schema));
...defaultConfig,
...config,
});
hisoutensokuJammer.apply(); hisoutensokuJammer.apply();
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment