Commit 5c379552 authored by nanahira's avatar nanahira

catchup

parent 2fa4c8ca
......@@ -10,7 +10,7 @@
"license": "MIT",
"dependencies": {
"class-transformer": "^0.4.0",
"koishi-thirdeye": "^4.0.0",
"koishi-thirdeye": "^4.2.2",
"lodash": "^4.17.21",
"moment": "^2.29.1",
"source-map-support": "^0.5.20"
......@@ -23,7 +23,7 @@
"eslint": "^7.32.0",
"eslint-config-prettier": "^8.3.0",
"eslint-plugin-prettier": "^3.4.1",
"koishi": "^4.0.0-beta.3",
"koishi": "^4.0.0-beta.4",
"prettier": "^2.4.1",
"raw-loader": "^4.0.2",
"ts-loader": "^9.2.6",
......@@ -33,7 +33,7 @@
"ws": "^8.2.3"
},
"peerDependencies": {
"koishi": "^4.0.0-beta.3"
"koishi": "^4.0.0-beta.4"
}
},
"node_modules/@babel/code-frame": {
......@@ -213,29 +213,18 @@
}
},
"node_modules/@koishijs/core": {
"version": "4.0.0-beta.3",
"resolved": "https://registry.npmjs.org/@koishijs/core/-/core-4.0.0-beta.3.tgz",
"integrity": "sha512-ZCdjZOQ4yNN49/LdOzHKo61j/S+GwqckM116tXrZYF7gNHRZ5486HFJqJjYDCYO3n2AZvQ4nV6w8OSaoIXIPEQ==",
"version": "4.0.0-beta.4",
"resolved": "https://registry.npmjs.org/@koishijs/core/-/core-4.0.0-beta.4.tgz",
"integrity": "sha512-i+66ZR3mSAIm1pJmC21QID8QhqJDdJ7zmZ8pCn3mPcfZFGiwL8MDMvwuDvG2ceCyILmtzmXwstURrc2tjB+QPg==",
"dependencies": {
"@koishijs/utils": "^5.0.0-beta.1",
"fastest-levenshtein": "^1.0.12",
"schemastery": "^2.0.0"
"schemastery": "^2.1.0"
},
"engines": {
"node": ">=12.0.0"
}
},
"node_modules/@koishijs/plugin-cache-lru": {
"version": "1.0.0-beta.2",
"resolved": "https://registry.npmjs.org/@koishijs/plugin-cache-lru/-/plugin-cache-lru-1.0.0-beta.2.tgz",
"integrity": "sha512-RkLf6Gb+bvJcfBv9ZtfsEFo7NcCr+buQgiKccllfU5rANvUW5uXlPmjcTmV6AaKAr7fDZsCR3GRusiJtzS7STQ==",
"dependencies": {
"lru-cache": "^6.0.0"
},
"peerDependencies": {
"koishi": "^4.0.0-beta.3"
}
},
"node_modules/@koishijs/utils": {
"version": "5.0.0-beta.1",
"resolved": "https://registry.npmjs.org/@koishijs/utils/-/utils-5.0.0-beta.1.tgz",
......@@ -2595,13 +2584,12 @@
}
},
"node_modules/koishi": {
"version": "4.0.0-beta.3",
"resolved": "https://registry.npmjs.org/koishi/-/koishi-4.0.0-beta.3.tgz",
"integrity": "sha512-sWTOU4maJnsRU7w8Upw8rBT1aZ0zEfN9Cs02tR2UP7qdmZiRTyrjWWFElaMhmnoj+6nTH7Udihmwb4MwbBimfA==",
"version": "4.0.0-beta.4",
"resolved": "https://registry.npmjs.org/koishi/-/koishi-4.0.0-beta.4.tgz",
"integrity": "sha512-H0ci/bZ+wHDCnNmLFM125RI+cdprz3McJLEbyK43tGsGuf2y13BuFb+j1ovb6FBRuT3SXlDqH+BpVMlCV2ZaVg==",
"dependencies": {
"@koa/router": "^10.1.1",
"@koishijs/core": "^4.0.0-beta.3",
"@koishijs/plugin-cache-lru": "^1.0.0-beta.2",
"@koishijs/core": "^4.0.0-beta.4",
"@koishijs/utils": "^5.0.0-beta.1",
"@types/koa": "*",
"@types/koa__router": "*",
......@@ -2618,17 +2606,18 @@
}
},
"node_modules/koishi-thirdeye": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/koishi-thirdeye/-/koishi-thirdeye-4.0.0.tgz",
"integrity": "sha512-xaVceoDmEMJpOiucdygIYWh289SxfcBznskBsPubszAzka7GcS3769Z855SxSnElQ236RiS82JaQukWPF8akEQ==",
"version": "4.2.2",
"resolved": "https://registry.npmjs.org/koishi-thirdeye/-/koishi-thirdeye-4.2.2.tgz",
"integrity": "sha512-q0Cs8PcWhNNHUzU/S3Ds1BqUi3hJ4AIbkCz3MDRbQ2+qQ7y799+B5ZqhB2kbIOqCutkEgHxJg/Oxy+cK2aQVhQ==",
"dependencies": {
"lodash": "^4.17.21",
"reflect-metadata": "^0.1.13",
"schemastery": "^2.0.0",
"schemastery-gen": "^2.0.0",
"typed-reflector": "^1.0.5"
"schemastery": "^2.1.0",
"schemastery-gen": "^2.2.4",
"typed-reflector": "^1.0.8"
},
"peerDependencies": {
"koishi": "^4.0.0-beta.3"
"koishi": "^4.0.0-beta.4"
}
},
"node_modules/levn": {
......@@ -2699,6 +2688,7 @@
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
"dev": true,
"dependencies": {
"yallist": "^4.0.0"
},
......@@ -3436,21 +3426,21 @@
}
},
"node_modules/schemastery": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/schemastery/-/schemastery-2.0.0.tgz",
"integrity": "sha512-g628Fvc8cY3Laoyz+v45qZGiClwhTj0MsiGF+tSVlUh+hqYf6kVkTaWdIHNGhfj11h9QzRrs0A4wfvQZuHg3iA=="
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/schemastery/-/schemastery-2.1.0.tgz",
"integrity": "sha512-D5wGNn5lc8GnhTzSl2ClH6RwUB69NMUrIXn6qWJVZSSq1fJtEodL9zXoJUbzoLQlL7rGMuO6entajhZvJY25Tw=="
},
"node_modules/schemastery-gen": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/schemastery-gen/-/schemastery-gen-2.0.0.tgz",
"integrity": "sha512-lTttqIWwNM8nizqUpUvJOERtb+Su4qkNe5Lp0ruINiZlCuN/HBCAOmf+OcdAlWLW8BRAY+xIzf4o1Kl043HVVQ==",
"version": "2.2.4",
"resolved": "https://registry.npmjs.org/schemastery-gen/-/schemastery-gen-2.2.4.tgz",
"integrity": "sha512-WHneTi+RSo28DRMV/Nxspw/Vyv0c2vExBNskxRTdf/Dik6ZTwF4cC5y9eSas+99kctqgxJKBBBcf9vp9mqPYzQ==",
"dependencies": {
"lodash": "^4.17.21",
"reflect-metadata": "^0.1.13",
"typed-reflector": "^1.0.5"
"typed-reflector": "^1.0.8"
},
"peerDependencies": {
"schemastery": "^2.0.0"
"schemastery": "^2.1.0"
}
},
"node_modules/semver": {
......@@ -3914,9 +3904,9 @@
}
},
"node_modules/typed-reflector": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/typed-reflector/-/typed-reflector-1.0.5.tgz",
"integrity": "sha512-uVXjRyfia44NftErLxahyXgXN2C9GhLtFvVnUxdjwU4fRn0dFI+MbqEKy8oYAMdVkC8xRh8xm3r4w/C1aYZMXg==",
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/typed-reflector/-/typed-reflector-1.0.8.tgz",
"integrity": "sha512-Gc2y1jdXpBrRDhTth80ABcmZjL/4Jmx+GrBf7uvn4BXW4J+kj5V3IjA+GQl/n+3ye7SgoEO6HOiDhac1H+mKgw==",
"dependencies": {
"reflect-metadata": "^0.1.13"
}
......@@ -4206,7 +4196,8 @@
"node_modules/yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
"dev": true
},
"node_modules/ylru": {
"version": "1.2.1",
......@@ -4363,21 +4354,13 @@
}
},
"@koishijs/core": {
"version": "4.0.0-beta.3",
"resolved": "https://registry.npmjs.org/@koishijs/core/-/core-4.0.0-beta.3.tgz",
"integrity": "sha512-ZCdjZOQ4yNN49/LdOzHKo61j/S+GwqckM116tXrZYF7gNHRZ5486HFJqJjYDCYO3n2AZvQ4nV6w8OSaoIXIPEQ==",
"version": "4.0.0-beta.4",
"resolved": "https://registry.npmjs.org/@koishijs/core/-/core-4.0.0-beta.4.tgz",
"integrity": "sha512-i+66ZR3mSAIm1pJmC21QID8QhqJDdJ7zmZ8pCn3mPcfZFGiwL8MDMvwuDvG2ceCyILmtzmXwstURrc2tjB+QPg==",
"requires": {
"@koishijs/utils": "^5.0.0-beta.1",
"fastest-levenshtein": "^1.0.12",
"schemastery": "^2.0.0"
}
},
"@koishijs/plugin-cache-lru": {
"version": "1.0.0-beta.2",
"resolved": "https://registry.npmjs.org/@koishijs/plugin-cache-lru/-/plugin-cache-lru-1.0.0-beta.2.tgz",
"integrity": "sha512-RkLf6Gb+bvJcfBv9ZtfsEFo7NcCr+buQgiKccllfU5rANvUW5uXlPmjcTmV6AaKAr7fDZsCR3GRusiJtzS7STQ==",
"requires": {
"lru-cache": "^6.0.0"
"schemastery": "^2.1.0"
}
},
"@koishijs/utils": {
......@@ -6187,13 +6170,12 @@
}
},
"koishi": {
"version": "4.0.0-beta.3",
"resolved": "https://registry.npmjs.org/koishi/-/koishi-4.0.0-beta.3.tgz",
"integrity": "sha512-sWTOU4maJnsRU7w8Upw8rBT1aZ0zEfN9Cs02tR2UP7qdmZiRTyrjWWFElaMhmnoj+6nTH7Udihmwb4MwbBimfA==",
"version": "4.0.0-beta.4",
"resolved": "https://registry.npmjs.org/koishi/-/koishi-4.0.0-beta.4.tgz",
"integrity": "sha512-H0ci/bZ+wHDCnNmLFM125RI+cdprz3McJLEbyK43tGsGuf2y13BuFb+j1ovb6FBRuT3SXlDqH+BpVMlCV2ZaVg==",
"requires": {
"@koa/router": "^10.1.1",
"@koishijs/core": "^4.0.0-beta.3",
"@koishijs/plugin-cache-lru": "^1.0.0-beta.2",
"@koishijs/core": "^4.0.0-beta.4",
"@koishijs/utils": "^5.0.0-beta.1",
"@types/koa": "*",
"@types/koa__router": "*",
......@@ -6207,14 +6189,15 @@
}
},
"koishi-thirdeye": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/koishi-thirdeye/-/koishi-thirdeye-4.0.0.tgz",
"integrity": "sha512-xaVceoDmEMJpOiucdygIYWh289SxfcBznskBsPubszAzka7GcS3769Z855SxSnElQ236RiS82JaQukWPF8akEQ==",
"version": "4.2.2",
"resolved": "https://registry.npmjs.org/koishi-thirdeye/-/koishi-thirdeye-4.2.2.tgz",
"integrity": "sha512-q0Cs8PcWhNNHUzU/S3Ds1BqUi3hJ4AIbkCz3MDRbQ2+qQ7y799+B5ZqhB2kbIOqCutkEgHxJg/Oxy+cK2aQVhQ==",
"requires": {
"lodash": "^4.17.21",
"reflect-metadata": "^0.1.13",
"schemastery": "^2.0.0",
"schemastery-gen": "^2.0.0",
"typed-reflector": "^1.0.5"
"schemastery": "^2.1.0",
"schemastery-gen": "^2.2.4",
"typed-reflector": "^1.0.8"
}
},
"levn": {
......@@ -6273,6 +6256,7 @@
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
"dev": true,
"requires": {
"yallist": "^4.0.0"
}
......@@ -6805,18 +6789,18 @@
}
},
"schemastery": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/schemastery/-/schemastery-2.0.0.tgz",
"integrity": "sha512-g628Fvc8cY3Laoyz+v45qZGiClwhTj0MsiGF+tSVlUh+hqYf6kVkTaWdIHNGhfj11h9QzRrs0A4wfvQZuHg3iA=="
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/schemastery/-/schemastery-2.1.0.tgz",
"integrity": "sha512-D5wGNn5lc8GnhTzSl2ClH6RwUB69NMUrIXn6qWJVZSSq1fJtEodL9zXoJUbzoLQlL7rGMuO6entajhZvJY25Tw=="
},
"schemastery-gen": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/schemastery-gen/-/schemastery-gen-2.0.0.tgz",
"integrity": "sha512-lTttqIWwNM8nizqUpUvJOERtb+Su4qkNe5Lp0ruINiZlCuN/HBCAOmf+OcdAlWLW8BRAY+xIzf4o1Kl043HVVQ==",
"version": "2.2.4",
"resolved": "https://registry.npmjs.org/schemastery-gen/-/schemastery-gen-2.2.4.tgz",
"integrity": "sha512-WHneTi+RSo28DRMV/Nxspw/Vyv0c2vExBNskxRTdf/Dik6ZTwF4cC5y9eSas+99kctqgxJKBBBcf9vp9mqPYzQ==",
"requires": {
"lodash": "^4.17.21",
"reflect-metadata": "^0.1.13",
"typed-reflector": "^1.0.5"
"typed-reflector": "^1.0.8"
}
},
"semver": {
......@@ -7147,9 +7131,9 @@
}
},
"typed-reflector": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/typed-reflector/-/typed-reflector-1.0.5.tgz",
"integrity": "sha512-uVXjRyfia44NftErLxahyXgXN2C9GhLtFvVnUxdjwU4fRn0dFI+MbqEKy8oYAMdVkC8xRh8xm3r4w/C1aYZMXg==",
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/typed-reflector/-/typed-reflector-1.0.8.tgz",
"integrity": "sha512-Gc2y1jdXpBrRDhTth80ABcmZjL/4Jmx+GrBf7uvn4BXW4J+kj5V3IjA+GQl/n+3ye7SgoEO6HOiDhac1H+mKgw==",
"requires": {
"reflect-metadata": "^0.1.13"
}
......@@ -7337,7 +7321,8 @@
"yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
"dev": true
},
"ylru": {
"version": "1.2.1",
......
......@@ -3,7 +3,7 @@ import { DefineSchema, RegisterSchema } from 'koishi-thirdeye';
@RegisterSchema()
export class TabulatePluginConfig {
@DefineSchema({ desc: '比赛的超时时间', default: 7200000 })
@DefineSchema({ description: '比赛的超时时间', default: 7200000 })
saveTime: number;
}
......
......@@ -14,6 +14,7 @@ import {
PutOption,
CommandOption,
PutArg,
OnConnect,
} from 'koishi-thirdeye';
import { Game, ReportScoreResult } from './def/Match';
import { classToPlain, plainToClass } from 'class-transformer';
......@@ -32,7 +33,7 @@ declare module 'koishi' {
}
@KoishiPlugin({ name: 'tabulate', schema: TabulatePluginConfig })
export default class TabulatePlugin implements OnApply {
export default class TabulatePlugin implements OnApply, OnConnect {
constructor(private ctx: Context, config: TabulatePluginConfigLike) {}
async getGames(key: string) {
......@@ -60,11 +61,10 @@ export default class TabulatePlugin implements OnApply {
@InjectConfig()
private config: TabulatePluginConfig;
@Inject('cache')
@Inject('cache', true)
private cache: Cache;
@UseEvent('service/cache')
loadCacheTable() {
onConnect() {
this.cache.table('tabulateMatches', { maxAge: this.config.saveTime });
}
......
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