3
0
Fork 0
mirror of https://github.com/ZeppelinBot/Zeppelin.git synced 2025-05-18 07:35:02 +00:00

Update to Knub 19.1.1 and update plugins accordingly

This commit is contained in:
Dragory 2019-04-13 01:44:18 +03:00
parent 18e321f5bb
commit 50f5792bc5
24 changed files with 349 additions and 410 deletions

View file

@ -1,12 +1,9 @@
import { IBasePluginConfig, IBasePluginPermissions, IPluginOptions, Plugin } from "knub";
import { IBasePluginConfig, IPluginOptions, Plugin } from "knub";
import { PluginRuntimeError } from "../PluginRuntimeError";
import Ajv, { ErrorObject } from "ajv";
import { isSnowflake, isUnicodeEmoji } from "../utils";
export class ZeppelinPlugin<
TConfig extends {} = IBasePluginConfig,
TPermissions extends {} = IBasePluginPermissions
> extends Plugin<TConfig, TPermissions> {
export class ZeppelinPlugin<TConfig extends {} = IBasePluginConfig> extends Plugin<TConfig> {
protected configSchema: any;
protected permissionsSchema: any;
@ -45,26 +42,6 @@ export class ZeppelinPlugin<
}
}
// Validate permission values
if (this.permissionsSchema) {
const ajv = new Ajv();
const validate = ajv.compile(this.permissionsSchema);
if (options.permissions) {
const isValid = validate(options.permissions);
if (!isValid) return validate.errors;
}
if (options.overrides) {
for (const override of options.overrides) {
if (override.permissions) {
const isValid = validate(override.permissions);
if (!isValid) return validate.errors;
}
}
}
}
// No errors, return null
return null;
}