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

Add types for all plugin configs and permissions. Update code to work with Knub 18.

This commit is contained in:
Dragory 2019-03-04 21:44:04 +02:00
parent 056cb9809f
commit 1c77269643
22 changed files with 415 additions and 225 deletions

View file

@ -1,20 +1,27 @@
import { Plugin, decorators as d } from "knub";
import { decorators as d, IBasePluginConfig, IPluginOptions } from "knub";
import { Message, Role, TextableChannel, User } from "eris";
import { GuildPingableRoles } from "../data/GuildPingableRoles";
import { PingableRole } from "../data/entities/PingableRole";
import { errorMessage, successMessage } from "../utils";
import { ZeppelinPlugin } from "./ZeppelinPlugin";
const TIMEOUT = 10 * 1000;
export class PingableRolesPlugin extends Plugin {
interface IPingableRolesPluginPermissions {
use: boolean;
}
export class PingableRolesPlugin extends ZeppelinPlugin<IBasePluginConfig, IPingableRolesPluginPermissions> {
public static pluginName = "pingable_roles";
protected pingableRoles: GuildPingableRoles;
protected cache: Map<string, PingableRole[]>;
protected timeouts: Map<string, any>;
getDefaultOptions() {
getDefaultOptions(): IPluginOptions<IBasePluginConfig, IPingableRolesPluginPermissions> {
return {
config: {},
permissions: {
use: false,
},