Commit 4ebc5848 authored by nanahira's avatar nanahira

bump

parent 901fe03c
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"aragami": "^1.1.1", "aragami": "^1.1.1",
"koishi-thirdeye": "^11.0.7" "koishi-thirdeye": "^11.0.9"
}, },
"devDependencies": { "devDependencies": {
"@koishijs/plugin-console": "^4.1.1", "@koishijs/plugin-console": "^4.1.1",
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
"ws": "^8.8.1" "ws": "^8.8.1"
}, },
"peerDependencies": { "peerDependencies": {
"koishi": "^4.8.3" "koishi": "^4.8.4"
} }
}, },
"node_modules/@ampproject/remapping": { "node_modules/@ampproject/remapping": {
...@@ -1139,16 +1139,16 @@ ...@@ -1139,16 +1139,16 @@
} }
}, },
"node_modules/@koishijs/core": { "node_modules/@koishijs/core": {
"version": "4.8.3", "version": "4.8.4",
"resolved": "https://registry.npmjs.org/@koishijs/core/-/core-4.8.3.tgz", "resolved": "https://registry.npmjs.org/@koishijs/core/-/core-4.8.4.tgz",
"integrity": "sha512-tgj6tv+ZWgJ7FXBEM2piQbLKqVjH3tDPn+EB6M95Ih4+YwU4dz8yunNTXlvE6GL65IwNEMUgjrEY5LScqVg1Ng==", "integrity": "sha512-lkqaS6gVTajxqBszGN5ey0cj52vcdzi5DTh0ZYnfeumjuChUewC/yG5uHh69jzqQ+diRi5jhYygBP13b9aJC6Q==",
"peer": true, "peer": true,
"dependencies": { "dependencies": {
"@koishijs/utils": "^6.0.0", "@koishijs/utils": "^6.0.0",
"@satorijs/core": "^1.0.6", "@satorijs/core": "^1.0.7",
"cordis": "^2.0.6", "cordis": "^2.0.6",
"fastest-levenshtein": "^1.0.12", "fastest-levenshtein": "^1.0.14",
"minato": "^1.2.3" "minato": "^1.2.4"
} }
}, },
"node_modules/@koishijs/plugin-console": { "node_modules/@koishijs/plugin-console": {
...@@ -1265,9 +1265,9 @@ ...@@ -1265,9 +1265,9 @@
} }
}, },
"node_modules/@satorijs/core": { "node_modules/@satorijs/core": {
"version": "1.0.6", "version": "1.0.9",
"resolved": "https://registry.npmjs.org/@satorijs/core/-/core-1.0.6.tgz", "resolved": "https://registry.npmjs.org/@satorijs/core/-/core-1.0.9.tgz",
"integrity": "sha512-TUbBmHWUXiUhWyNbM2tIN/if6VvhS4waF1HfAmZM+omWlZ42V+BY6Dl7JWGKk2zreq+VXsrUri7M4hgKon1QWg==", "integrity": "sha512-/Zx33Ufw3bIC9U//Vf2A6KmQ5LTisi4fWn882/euk66sMHyBPsiE0kWQi4OnKxkqEX/0bn5Hyh7cZX7/2cou3g==",
"peer": true, "peer": true,
"dependencies": { "dependencies": {
"@satorijs/message": "^1.0.1", "@satorijs/message": "^1.0.1",
...@@ -1282,13 +1282,13 @@ ...@@ -1282,13 +1282,13 @@
"peer": true "peer": true
}, },
"node_modules/@satorijs/satori": { "node_modules/@satorijs/satori": {
"version": "1.0.6", "version": "1.0.9",
"resolved": "https://registry.npmjs.org/@satorijs/satori/-/satori-1.0.6.tgz", "resolved": "https://registry.npmjs.org/@satorijs/satori/-/satori-1.0.9.tgz",
"integrity": "sha512-+rNi5NWbO6Sny3BjBO9wxsgTn/kqy9OsObQ4p6xMpsnBiNAQnqUnVFQ2ze3Aaru2EJQJIXnNPnY3JMaayebREA==", "integrity": "sha512-UU3+1IQjKyzJlmjZ5ir+VSVawGz+m/06kDfokPtjs3Atl20QkBkzAGT6UO4YDlcAu+melWgQYl1HmU5wPo6bIA==",
"peer": true, "peer": true,
"dependencies": { "dependencies": {
"@koa/router": "^10.1.1", "@koa/router": "^10.1.1",
"@satorijs/core": "^1.0.6", "@satorijs/core": "^1.0.9",
"@types/koa": "*", "@types/koa": "*",
"@types/koa__router": "*", "@types/koa__router": "*",
"@types/ws": "^8.5.3", "@types/ws": "^8.5.3",
...@@ -1300,8 +1300,8 @@ ...@@ -1300,8 +1300,8 @@
"portfinder": "^1.0.28", "portfinder": "^1.0.28",
"proxy-agent": "^5.0.0", "proxy-agent": "^5.0.0",
"reggol": "^1.0.3", "reggol": "^1.0.3",
"schemastery": "^3.5.0", "schemastery": "^3.5.1",
"ws": "^8.6.0" "ws": "^8.8.1"
}, },
"engines": { "engines": {
"node": ">=12.0.0" "node": ">=12.0.0"
...@@ -2746,9 +2746,9 @@ ...@@ -2746,9 +2746,9 @@
} }
}, },
"node_modules/cordis-decorators": { "node_modules/cordis-decorators": {
"version": "1.0.18", "version": "1.0.19",
"resolved": "https://registry.npmjs.org/cordis-decorators/-/cordis-decorators-1.0.18.tgz", "resolved": "https://registry.npmjs.org/cordis-decorators/-/cordis-decorators-1.0.19.tgz",
"integrity": "sha512-Q18OCfxAoMuG6UnpKDP51aL6CufW2jp22hSJInAgzaB+YPAPRrgdhMs53qCx6hajYuWpgUQ+lipFcVL6TSuxBA==", "integrity": "sha512-ELMLhrn1KLEfNDU9P5eF0Ze/tYf0gwvsyGxwS7dA3iR57n6koIL1XMp8ae7RqCzO7bia93f3uTyL3wJfOKkkAQ==",
"dependencies": { "dependencies": {
"lodash": "^4.17.21", "lodash": "^4.17.21",
"mustache": "^4.2.0", "mustache": "^4.2.0",
...@@ -5503,15 +5503,15 @@ ...@@ -5503,15 +5503,15 @@
} }
}, },
"node_modules/koishi": { "node_modules/koishi": {
"version": "4.8.3", "version": "4.8.4",
"resolved": "https://registry.npmjs.org/koishi/-/koishi-4.8.3.tgz", "resolved": "https://registry.npmjs.org/koishi/-/koishi-4.8.4.tgz",
"integrity": "sha512-2FXVGoOn+TicAtV1ZvHpn58h9FRmudcj4VipLt3zvzxS/FIVN766dTu11IhRGCcwOjLEscGsGHAXLAQAJs6giA==", "integrity": "sha512-E8tW5fz0WauUwgRl8siqzO2J6uJPi5CWGgPE8OwaR2MJsQxL06p6kR0hJAvXf3b8ugXRR0Wdsox9A0Mt6WQydQ==",
"peer": true, "peer": true,
"dependencies": { "dependencies": {
"@koishijs/core": "^4.8.3", "@koishijs/core": "^4.8.4",
"@koishijs/utils": "^6.0.0", "@koishijs/utils": "^6.0.0",
"@satorijs/satori": "^1.0.6", "@satorijs/satori": "^1.0.7",
"file-type": "^16.5.3", "file-type": "^16.5.4",
"ns-require": "^1.1.4" "ns-require": "^1.1.4"
}, },
"engines": { "engines": {
...@@ -5519,17 +5519,17 @@ ...@@ -5519,17 +5519,17 @@
} }
}, },
"node_modules/koishi-thirdeye": { "node_modules/koishi-thirdeye": {
"version": "11.0.7", "version": "11.0.9",
"resolved": "https://registry.npmjs.org/koishi-thirdeye/-/koishi-thirdeye-11.0.7.tgz", "resolved": "https://registry.npmjs.org/koishi-thirdeye/-/koishi-thirdeye-11.0.9.tgz",
"integrity": "sha512-BltlqU5qCHFgEadmiZOQXR2DYJP7wqSVqtUDklvKSn7J6LJRdEGV63E9OFcC0LIlCpjUautqHku6bvZ4oadlFw==", "integrity": "sha512-ATPX7VVFs8EDkgpfR59Stn5msVQVmk35+7Ue/+UqxYHifnfWafDK14ydbHx8JvglcjTu8tiR/yjaF1Z/JngLfQ==",
"dependencies": { "dependencies": {
"lodash": "^4.17.21", "lodash": "^4.17.21",
"minato-decorators": "^2.0.8", "minato-decorators": "^2.0.8",
"rxjs": "^7.5.6", "rxjs": "^7.5.6",
"satori-decorators": "^1.0.11" "satori-decorators": "^1.0.12"
}, },
"peerDependencies": { "peerDependencies": {
"koishi": "^4.8.3", "koishi": "^4.8.4",
"schemastery": "^3.4.3" "schemastery": "^3.4.3"
} }
}, },
...@@ -5752,9 +5752,9 @@ ...@@ -5752,9 +5752,9 @@
} }
}, },
"node_modules/minato": { "node_modules/minato": {
"version": "1.2.3", "version": "1.2.4",
"resolved": "https://registry.npmjs.org/minato/-/minato-1.2.3.tgz", "resolved": "https://registry.npmjs.org/minato/-/minato-1.2.4.tgz",
"integrity": "sha512-06+ytX+prjYykoaqYe48tAGRbbG5WME1MEpb1WQUPhT6qxGSYmeqJyFX97Hlux4HruJfKpRCzsX6dhYRc9XkTA==", "integrity": "sha512-YnlM7WKTKY1I6cKccpnmnKU7zkCi48xfWxorVdjIAt+Tpv7YwIw/VQNcz1vq9HQJW0Utk5e0mr+nQGoC2ae/yQ==",
"peer": true, "peer": true,
"dependencies": { "dependencies": {
"cosmokit": "^1.2.1", "cosmokit": "^1.2.1",
...@@ -6725,13 +6725,13 @@ ...@@ -6725,13 +6725,13 @@
"peer": true "peer": true
}, },
"node_modules/satori-decorators": { "node_modules/satori-decorators": {
"version": "1.0.11", "version": "1.0.12",
"resolved": "https://registry.npmjs.org/satori-decorators/-/satori-decorators-1.0.11.tgz", "resolved": "https://registry.npmjs.org/satori-decorators/-/satori-decorators-1.0.12.tgz",
"integrity": "sha512-k58rG/JqiySFEJISBt0yZN2Jo278PYmHI/Q/0kbphTMqORNXkMbtdOao7lYtgosRq/Qntefg87qZCW5OZYv0rg==", "integrity": "sha512-DUfWfkC0+4sS2TUlodoYYxrQYrTIambjL+Y2TwClvPdRHV+BigHPpLT68QVjUiId0a3VuMKLJdbszfb/MQJbDA==",
"dependencies": { "dependencies": {
"@types/koa": "^2.13.5", "@types/koa": "^2.13.5",
"@types/koa__router": "^8.0.11", "@types/koa__router": "^8.0.11",
"cordis-decorators": "^1.0.18", "cordis-decorators": "^1.0.19",
"lodash": "^4.17.21" "lodash": "^4.17.21"
}, },
"peerDependencies": { "peerDependencies": {
...@@ -8890,16 +8890,16 @@ ...@@ -8890,16 +8890,16 @@
} }
}, },
"@koishijs/core": { "@koishijs/core": {
"version": "4.8.3", "version": "4.8.4",
"resolved": "https://registry.npmjs.org/@koishijs/core/-/core-4.8.3.tgz", "resolved": "https://registry.npmjs.org/@koishijs/core/-/core-4.8.4.tgz",
"integrity": "sha512-tgj6tv+ZWgJ7FXBEM2piQbLKqVjH3tDPn+EB6M95Ih4+YwU4dz8yunNTXlvE6GL65IwNEMUgjrEY5LScqVg1Ng==", "integrity": "sha512-lkqaS6gVTajxqBszGN5ey0cj52vcdzi5DTh0ZYnfeumjuChUewC/yG5uHh69jzqQ+diRi5jhYygBP13b9aJC6Q==",
"peer": true, "peer": true,
"requires": { "requires": {
"@koishijs/utils": "^6.0.0", "@koishijs/utils": "^6.0.0",
"@satorijs/core": "^1.0.6", "@satorijs/core": "^1.0.7",
"cordis": "^2.0.6", "cordis": "^2.0.6",
"fastest-levenshtein": "^1.0.12", "fastest-levenshtein": "^1.0.14",
"minato": "^1.2.3" "minato": "^1.2.4"
} }
}, },
"@koishijs/plugin-console": { "@koishijs/plugin-console": {
...@@ -8991,9 +8991,9 @@ ...@@ -8991,9 +8991,9 @@
} }
}, },
"@satorijs/core": { "@satorijs/core": {
"version": "1.0.6", "version": "1.0.9",
"resolved": "https://registry.npmjs.org/@satorijs/core/-/core-1.0.6.tgz", "resolved": "https://registry.npmjs.org/@satorijs/core/-/core-1.0.9.tgz",
"integrity": "sha512-TUbBmHWUXiUhWyNbM2tIN/if6VvhS4waF1HfAmZM+omWlZ42V+BY6Dl7JWGKk2zreq+VXsrUri7M4hgKon1QWg==", "integrity": "sha512-/Zx33Ufw3bIC9U//Vf2A6KmQ5LTisi4fWn882/euk66sMHyBPsiE0kWQi4OnKxkqEX/0bn5Hyh7cZX7/2cou3g==",
"peer": true, "peer": true,
"requires": { "requires": {
"@satorijs/message": "^1.0.1", "@satorijs/message": "^1.0.1",
...@@ -9008,13 +9008,13 @@ ...@@ -9008,13 +9008,13 @@
"peer": true "peer": true
}, },
"@satorijs/satori": { "@satorijs/satori": {
"version": "1.0.6", "version": "1.0.9",
"resolved": "https://registry.npmjs.org/@satorijs/satori/-/satori-1.0.6.tgz", "resolved": "https://registry.npmjs.org/@satorijs/satori/-/satori-1.0.9.tgz",
"integrity": "sha512-+rNi5NWbO6Sny3BjBO9wxsgTn/kqy9OsObQ4p6xMpsnBiNAQnqUnVFQ2ze3Aaru2EJQJIXnNPnY3JMaayebREA==", "integrity": "sha512-UU3+1IQjKyzJlmjZ5ir+VSVawGz+m/06kDfokPtjs3Atl20QkBkzAGT6UO4YDlcAu+melWgQYl1HmU5wPo6bIA==",
"peer": true, "peer": true,
"requires": { "requires": {
"@koa/router": "^10.1.1", "@koa/router": "^10.1.1",
"@satorijs/core": "^1.0.6", "@satorijs/core": "^1.0.9",
"@types/koa": "*", "@types/koa": "*",
"@types/koa__router": "*", "@types/koa__router": "*",
"@types/ws": "^8.5.3", "@types/ws": "^8.5.3",
...@@ -9026,8 +9026,8 @@ ...@@ -9026,8 +9026,8 @@
"portfinder": "^1.0.28", "portfinder": "^1.0.28",
"proxy-agent": "^5.0.0", "proxy-agent": "^5.0.0",
"reggol": "^1.0.3", "reggol": "^1.0.3",
"schemastery": "^3.5.0", "schemastery": "^3.5.1",
"ws": "^8.6.0" "ws": "^8.8.1"
} }
}, },
"@sinclair/typebox": { "@sinclair/typebox": {
...@@ -10214,9 +10214,9 @@ ...@@ -10214,9 +10214,9 @@
} }
}, },
"cordis-decorators": { "cordis-decorators": {
"version": "1.0.18", "version": "1.0.19",
"resolved": "https://registry.npmjs.org/cordis-decorators/-/cordis-decorators-1.0.18.tgz", "resolved": "https://registry.npmjs.org/cordis-decorators/-/cordis-decorators-1.0.19.tgz",
"integrity": "sha512-Q18OCfxAoMuG6UnpKDP51aL6CufW2jp22hSJInAgzaB+YPAPRrgdhMs53qCx6hajYuWpgUQ+lipFcVL6TSuxBA==", "integrity": "sha512-ELMLhrn1KLEfNDU9P5eF0Ze/tYf0gwvsyGxwS7dA3iR57n6koIL1XMp8ae7RqCzO7bia93f3uTyL3wJfOKkkAQ==",
"requires": { "requires": {
"lodash": "^4.17.21", "lodash": "^4.17.21",
"mustache": "^4.2.0", "mustache": "^4.2.0",
...@@ -12167,27 +12167,27 @@ ...@@ -12167,27 +12167,27 @@
} }
}, },
"koishi": { "koishi": {
"version": "4.8.3", "version": "4.8.4",
"resolved": "https://registry.npmjs.org/koishi/-/koishi-4.8.3.tgz", "resolved": "https://registry.npmjs.org/koishi/-/koishi-4.8.4.tgz",
"integrity": "sha512-2FXVGoOn+TicAtV1ZvHpn58h9FRmudcj4VipLt3zvzxS/FIVN766dTu11IhRGCcwOjLEscGsGHAXLAQAJs6giA==", "integrity": "sha512-E8tW5fz0WauUwgRl8siqzO2J6uJPi5CWGgPE8OwaR2MJsQxL06p6kR0hJAvXf3b8ugXRR0Wdsox9A0Mt6WQydQ==",
"peer": true, "peer": true,
"requires": { "requires": {
"@koishijs/core": "^4.8.3", "@koishijs/core": "^4.8.4",
"@koishijs/utils": "^6.0.0", "@koishijs/utils": "^6.0.0",
"@satorijs/satori": "^1.0.6", "@satorijs/satori": "^1.0.7",
"file-type": "^16.5.3", "file-type": "^16.5.4",
"ns-require": "^1.1.4" "ns-require": "^1.1.4"
} }
}, },
"koishi-thirdeye": { "koishi-thirdeye": {
"version": "11.0.7", "version": "11.0.9",
"resolved": "https://registry.npmjs.org/koishi-thirdeye/-/koishi-thirdeye-11.0.7.tgz", "resolved": "https://registry.npmjs.org/koishi-thirdeye/-/koishi-thirdeye-11.0.9.tgz",
"integrity": "sha512-BltlqU5qCHFgEadmiZOQXR2DYJP7wqSVqtUDklvKSn7J6LJRdEGV63E9OFcC0LIlCpjUautqHku6bvZ4oadlFw==", "integrity": "sha512-ATPX7VVFs8EDkgpfR59Stn5msVQVmk35+7Ue/+UqxYHifnfWafDK14ydbHx8JvglcjTu8tiR/yjaF1Z/JngLfQ==",
"requires": { "requires": {
"lodash": "^4.17.21", "lodash": "^4.17.21",
"minato-decorators": "^2.0.8", "minato-decorators": "^2.0.8",
"rxjs": "^7.5.6", "rxjs": "^7.5.6",
"satori-decorators": "^1.0.11" "satori-decorators": "^1.0.12"
} }
}, },
"leven": { "leven": {
...@@ -12366,9 +12366,9 @@ ...@@ -12366,9 +12366,9 @@
"dev": true "dev": true
}, },
"minato": { "minato": {
"version": "1.2.3", "version": "1.2.4",
"resolved": "https://registry.npmjs.org/minato/-/minato-1.2.3.tgz", "resolved": "https://registry.npmjs.org/minato/-/minato-1.2.4.tgz",
"integrity": "sha512-06+ytX+prjYykoaqYe48tAGRbbG5WME1MEpb1WQUPhT6qxGSYmeqJyFX97Hlux4HruJfKpRCzsX6dhYRc9XkTA==", "integrity": "sha512-YnlM7WKTKY1I6cKccpnmnKU7zkCi48xfWxorVdjIAt+Tpv7YwIw/VQNcz1vq9HQJW0Utk5e0mr+nQGoC2ae/yQ==",
"peer": true, "peer": true,
"requires": { "requires": {
"cosmokit": "^1.2.1", "cosmokit": "^1.2.1",
...@@ -13071,13 +13071,13 @@ ...@@ -13071,13 +13071,13 @@
"peer": true "peer": true
}, },
"satori-decorators": { "satori-decorators": {
"version": "1.0.11", "version": "1.0.12",
"resolved": "https://registry.npmjs.org/satori-decorators/-/satori-decorators-1.0.11.tgz", "resolved": "https://registry.npmjs.org/satori-decorators/-/satori-decorators-1.0.12.tgz",
"integrity": "sha512-k58rG/JqiySFEJISBt0yZN2Jo278PYmHI/Q/0kbphTMqORNXkMbtdOao7lYtgosRq/Qntefg87qZCW5OZYv0rg==", "integrity": "sha512-DUfWfkC0+4sS2TUlodoYYxrQYrTIambjL+Y2TwClvPdRHV+BigHPpLT68QVjUiId0a3VuMKLJdbszfb/MQJbDA==",
"requires": { "requires": {
"@types/koa": "^2.13.5", "@types/koa": "^2.13.5",
"@types/koa__router": "^8.0.11", "@types/koa__router": "^8.0.11",
"cordis-decorators": "^1.0.18", "cordis-decorators": "^1.0.19",
"lodash": "^4.17.21" "lodash": "^4.17.21"
} }
}, },
......
...@@ -45,10 +45,10 @@ ...@@ -45,10 +45,10 @@
}, },
"dependencies": { "dependencies": {
"aragami": "^1.1.1", "aragami": "^1.1.1",
"koishi-thirdeye": "^11.0.7" "koishi-thirdeye": "^11.0.9"
}, },
"peerDependencies": { "peerDependencies": {
"koishi": "^4.8.3" "koishi": "^4.8.4"
}, },
"devDependencies": { "devDependencies": {
"@koishijs/plugin-console": "^4.1.1", "@koishijs/plugin-console": "^4.1.1",
......
...@@ -2,12 +2,13 @@ ...@@ -2,12 +2,13 @@
import { AragamiConfig } from './config'; import { AragamiConfig } from './config';
import { import {
DefinePlugin, DefinePlugin,
koishiRegistrar,
LifecycleEvents, LifecycleEvents,
PartialDeep, PartialDeep,
PluginSchema, PluginSchema,
Provide, Provide,
} from 'koishi-thirdeye'; } from 'koishi-thirdeye';
import { Context } from 'koishi'; import { Channel, Command, Context, Session, User } from 'koishi';
import { Aragami, AragamiOptions, WrapDecoratorBuilder } from 'aragami'; import { Aragami, AragamiOptions, WrapDecoratorBuilder } from 'aragami';
export * from './config'; export * from './config';
export * from 'aragami'; export * from 'aragami';
...@@ -32,8 +33,76 @@ export default class AragamiPlugin extends Aragami implements LifecycleEvents { ...@@ -32,8 +33,76 @@ export default class AragamiPlugin extends Aragami implements LifecycleEvents {
onDisconnect() { onDisconnect() {
return this.destroy(); return this.destroy();
} }
private commandLock<C extends Command>(
cmd: C,
fields: string[],
info: { idFactory: (session: Session) => string; prefix: string },
) {
return cmd.action((argv) => {
if (!argv.session) return argv.next();
const id = info.idFactory(argv.session);
if (!id) return argv.next();
const lockFields = fields.map(
(field) => `koishi:${info.prefix}:${id}:${field}`,
);
return this.lock(lockFields, argv.next);
}, true);
}
commandUserLock<C extends Command>(cmd: C, fields: (keyof User)[]) {
return this.commandLock(cmd.userFields(fields) as C, fields, {
idFactory: (session: Session) => session.userId,
prefix: 'user',
});
}
commandChannelLock<C extends Command>(cmd: C, fields: (keyof Channel)[]) {
return this.commandLock(cmd.channelFields(fields) as C, fields, {
idFactory: (session: Session) => session.channelId,
prefix: 'channel',
});
}
commandGuildLock<C extends Command>(cmd: C, fields: (keyof Channel)[]) {
return this.commandLock(cmd.channelFields(fields) as C, fields, {
idFactory: (session: Session) => session.guildId || session.channelId,
prefix: 'guild',
});
}
} }
export const { UseCache, UseLock } = new WrapDecoratorBuilder( export const { UseCache, UseLock } = new WrapDecoratorBuilder(
(o) => ((o.ctx || o.__ctx) as Context).aragami, (o) => ((o.ctx || o.__ctx) as Context).aragami,
).build(); ).build();
export const CommandUserLock = koishiRegistrar.decorateCommandTransformer(
(ctx, cmd, ...fields: (keyof User)[]) =>
ctx.aragami.commandUserLock(cmd, fields),
);
export const CommandChannelLock = koishiRegistrar.decorateCommandTransformer(
(ctx, cmd, ...fields: (keyof Channel)[]) =>
ctx.aragami.commandChannelLock(cmd, fields),
);
export const CommandGuildLock = koishiRegistrar.decorateCommandTransformer(
(ctx, cmd, ...fields: (keyof Channel)[]) =>
ctx.aragami.commandGuildLock(cmd, fields),
);
export const PutLockingUser = koishiRegistrar.decorateCommandPut(
(info, ...fields: (keyof User)[]) => info.argv.session.user,
(info, ...fields) => info.ctx.aragami.commandUserLock(info.command, fields),
);
export const PutLockingChannel = koishiRegistrar.decorateCommandPut(
(info, ...fields: (keyof Channel)[]) => info.argv.session.channel,
(info, ...fields) =>
info.ctx.aragami.commandChannelLock(info.command, fields),
);
export const PutLockingGuild = koishiRegistrar.decorateCommandPut(
(info, ...fields: (keyof Channel)[]) => info.argv.session.guild,
(info, ...fields) => info.ctx.aragami.commandGuildLock(info.command, fields),
);
...@@ -42,6 +42,8 @@ module.exports = { ...@@ -42,6 +42,8 @@ module.exports = {
}, },
externals: { externals: {
koishi: 'koishi', koishi: 'koishi',
'@satorijs/satori': '@satorijs/satori',
cordis: 'cordis',
...(packAll ? {} : externalsFromDep()), ...(packAll ? {} : externalsFromDep()),
}, },
optimization: { optimization: {
......
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