3
0
Fork 0
mirror of https://github.com/ZeppelinBot/Zeppelin.git synced 2025-03-15 05:41:51 +00:00

Update to Knub 14.0.0 and make changes to plugins accordingly

This commit is contained in:
Dragory 2019-01-03 06:15:28 +02:00
parent 4a33932ffa
commit b0cd8762f1
19 changed files with 57 additions and 25 deletions

6
package-lock.json generated
View file

@ -2155,9 +2155,9 @@
"dev": true "dev": true
}, },
"knub": { "knub": {
"version": "13.1.0", "version": "14.0.0",
"resolved": "https://registry.npmjs.org/knub/-/knub-13.1.0.tgz", "resolved": "https://registry.npmjs.org/knub/-/knub-14.0.0.tgz",
"integrity": "sha512-u5wdOxnDRRnol4/vixbKPoV6fAxMVV60kmz/WM1NH6f3z1rfIQJuSlj1eHtmIZTYp0PAI92/YuqgJ+aQuOYGyg==", "integrity": "sha512-okVS+72XBoSvrV+5xwqezPQQCAfrNe0uPIbHIe/PqyuiKURC7V6VflWAEg5mSofC9Lc5uAnU7sMyLqhFIGPBNQ==",
"requires": { "requires": {
"escape-string-regexp": "^1.0.5", "escape-string-regexp": "^1.0.5",
"lodash.at": "^4.6.0", "lodash.at": "^4.6.0",

View file

@ -33,7 +33,7 @@
"escape-string-regexp": "^1.0.5", "escape-string-regexp": "^1.0.5",
"humanize-duration": "^3.15.0", "humanize-duration": "^3.15.0",
"js-yaml": "^3.12.0", "js-yaml": "^3.12.0",
"knub": "^13.1.0", "knub": "^14.0.0",
"lodash.at": "^4.6.0", "lodash.at": "^4.6.0",
"lodash.chunk": "^4.2.0", "lodash.chunk": "^4.2.0",
"lodash.difference": "^4.5.0", "lodash.difference": "^4.5.0",

View file

@ -75,29 +75,30 @@ connect().then(async conn => {
const basePlugins = ["message_saver", "cases", "mutes"]; const basePlugins = ["message_saver", "cases", "mutes"];
const bot = new Knub(client, { const bot = new Knub(client, {
plugins: { plugins: [
// Base plugins (always enabled) // Base plugins (always enabled)
message_saver: MessageSaverPlugin, MessageSaverPlugin,
cases: CasesPlugin, CasesPlugin,
mutes: MutesPlugin, MutesPlugin,
// Regular plugins // Regular plugins
utility: UtilityPlugin, UtilityPlugin,
mod_actions: ModActionsPlugin, ModActionsPlugin,
logs: LogsPlugin, LogsPlugin,
post: PostPlugin, PostPlugin,
reaction_roles: ReactionRolesPlugin, ReactionRolesPlugin,
censor: CensorPlugin, CensorPlugin,
persist: PersistPlugin, PersistPlugin,
spam: SpamPlugin, SpamPlugin,
tags: TagsPlugin, TagsPlugin,
slowmode: SlowmodePlugin, SlowmodePlugin,
starboard: StarboardPlugin StarboardPlugin
}, ],
globalPlugins: {
bot_control: BotControlPlugin, globalPlugins: [
log_server: LogServerPlugin BotControlPlugin,
}, LogServerPlugin
],
options: { options: {
getEnabledPlugins(guildId, guildConfig): string[] { getEnabledPlugins(guildId, guildConfig): string[] {

View file

@ -9,6 +9,8 @@ let activeReload: [string, string] = null;
* A global plugin that allows bot owners to control the bot * A global plugin that allows bot owners to control the bot
*/ */
export class BotControlPlugin extends GlobalPlugin { export class BotControlPlugin extends GlobalPlugin {
public static pluginName = 'bot_control';
getDefaultOptions() { getDefaultOptions() {
return { return {
config: { config: {

View file

@ -8,6 +8,8 @@ import { ZeppelinPlugin } from "./ZeppelinPlugin";
import { GuildActions } from "../data/GuildActions"; import { GuildActions } from "../data/GuildActions";
export class CasesPlugin extends ZeppelinPlugin { export class CasesPlugin extends ZeppelinPlugin {
public static pluginName = 'cases';
protected actions: GuildActions; protected actions: GuildActions;
protected cases: GuildCases; protected cases: GuildCases;

View file

@ -15,6 +15,8 @@ import { GuildSavedMessages } from "../data/GuildSavedMessages";
import { SavedMessage } from "../data/entities/SavedMessage"; import { SavedMessage } from "../data/entities/SavedMessage";
export class CensorPlugin extends Plugin { export class CensorPlugin extends Plugin {
public static pluginName = 'censor';
protected serverLogs: GuildLogs; protected serverLogs: GuildLogs;
protected savedMessages: GuildSavedMessages; protected savedMessages: GuildSavedMessages;

View file

@ -12,6 +12,8 @@ function notFound(res: ServerResponse) {
} }
export class LogServerPlugin extends GlobalPlugin { export class LogServerPlugin extends GlobalPlugin {
public static pluginName = 'log_server';
protected archives: GuildArchives; protected archives: GuildArchives;
protected server: http.Server; protected server: http.Server;

View file

@ -36,6 +36,8 @@ const unknownUser = {
}; };
export class LogsPlugin extends Plugin { export class LogsPlugin extends Plugin {
public static pluginName = 'logs';
protected guildLogs: GuildLogs; protected guildLogs: GuildLogs;
protected savedMessages: GuildSavedMessages; protected savedMessages: GuildSavedMessages;
protected archives: GuildArchives; protected archives: GuildArchives;

View file

@ -4,6 +4,8 @@ import { GuildSavedMessages } from "../data/GuildSavedMessages";
import { successMessage } from "../utils"; import { successMessage } from "../utils";
export class MessageSaverPlugin extends Plugin { export class MessageSaverPlugin extends Plugin {
public static pluginName = 'message_saver';
protected savedMessages: GuildSavedMessages; protected savedMessages: GuildSavedMessages;
getDefaultOptions() { getDefaultOptions() {

View file

@ -37,6 +37,8 @@ interface IIgnoredEvent {
const CASE_LIST_REASON_MAX_LENGTH = 80; const CASE_LIST_REASON_MAX_LENGTH = 80;
export class ModActionsPlugin extends ZeppelinPlugin { export class ModActionsPlugin extends ZeppelinPlugin {
public static pluginName = 'mod_actions';
protected actions: GuildActions; protected actions: GuildActions;
protected mutes: GuildMutes; protected mutes: GuildMutes;
protected cases: GuildCases; protected cases: GuildCases;

View file

@ -10,6 +10,8 @@ import { LogType } from "../data/LogType";
import { GuildLogs } from "../data/GuildLogs"; import { GuildLogs } from "../data/GuildLogs";
export class MutesPlugin extends ZeppelinPlugin { export class MutesPlugin extends ZeppelinPlugin {
public static pluginName = 'mutes';
protected actions: GuildActions; protected actions: GuildActions;
protected mutes: GuildMutes; protected mutes: GuildMutes;
protected cases: GuildCases; protected cases: GuildCases;

View file

@ -7,6 +7,8 @@ import { LogType } from "../data/LogType";
import { stripObjectToScalars } from "../utils"; import { stripObjectToScalars } from "../utils";
export class PersistPlugin extends Plugin { export class PersistPlugin extends Plugin {
public static pluginName = 'persist';
protected persistedData: GuildPersistedData; protected persistedData: GuildPersistedData;
protected logs: GuildLogs; protected logs: GuildLogs;

View file

@ -5,6 +5,8 @@ import { GuildSavedMessages } from "../data/GuildSavedMessages";
import { ISavedMessageData } from "../data/entities/SavedMessage"; import { ISavedMessageData } from "../data/entities/SavedMessage";
export class PostPlugin extends Plugin { export class PostPlugin extends Plugin {
public static pluginName = 'post';
protected savedMessages: GuildSavedMessages; protected savedMessages: GuildSavedMessages;
onLoad() { onLoad() {

View file

@ -10,6 +10,8 @@ type CustomEmoji = {
} & Emoji; } & Emoji;
export class ReactionRolesPlugin extends Plugin { export class ReactionRolesPlugin extends Plugin {
public static pluginName = 'reaction_roles';
protected reactionRoles: GuildReactionRoles; protected reactionRoles: GuildReactionRoles;
getDefaultOptions() { getDefaultOptions() {

View file

@ -5,6 +5,8 @@ import { GuildSlowmodes } from "../data/GuildSlowmodes";
import humanizeDuration from "humanize-duration"; import humanizeDuration from "humanize-duration";
export class SlowmodePlugin extends Plugin { export class SlowmodePlugin extends Plugin {
public static pluginName = 'slowmode';
protected slowmodes: GuildSlowmodes; protected slowmodes: GuildSlowmodes;
protected clearInterval; protected clearInterval;

View file

@ -43,6 +43,8 @@ const MAX_INTERVAL = 300;
const SPAM_ARCHIVE_EXPIRY_DAYS = 90; const SPAM_ARCHIVE_EXPIRY_DAYS = 90;
export class SpamPlugin extends Plugin { export class SpamPlugin extends Plugin {
public static pluginName = 'spam';
protected actions: GuildActions; protected actions: GuildActions;
protected logs: GuildLogs; protected logs: GuildLogs;
protected archives: GuildArchives; protected archives: GuildArchives;

View file

@ -16,9 +16,10 @@ import path from "path";
import moment from "moment-timezone"; import moment from "moment-timezone";
import { GuildSavedMessages } from "../data/GuildSavedMessages"; import { GuildSavedMessages } from "../data/GuildSavedMessages";
import { SavedMessage } from "../data/entities/SavedMessage"; import { SavedMessage } from "../data/entities/SavedMessage";
import url from "url";
export class StarboardPlugin extends ZeppelinPlugin { export class StarboardPlugin extends ZeppelinPlugin {
public static pluginName = 'starboard';
protected starboards: GuildStarboards; protected starboards: GuildStarboards;
protected savedMessages: GuildSavedMessages; protected savedMessages: GuildSavedMessages;

View file

@ -4,6 +4,8 @@ import { errorMessage, successMessage } from "../utils";
import { GuildTags } from "../data/GuildTags"; import { GuildTags } from "../data/GuildTags";
export class TagsPlugin extends Plugin { export class TagsPlugin extends Plugin {
public static pluginName = 'tags';
protected tags: GuildTags; protected tags: GuildTags;
getDefaultOptions() { getDefaultOptions() {

View file

@ -19,6 +19,8 @@ const CLEAN_COMMAND_DELETE_DELAY = 5000;
const activeReloads: Map<string, TextChannel> = new Map(); const activeReloads: Map<string, TextChannel> = new Map();
export class UtilityPlugin extends ZeppelinPlugin { export class UtilityPlugin extends ZeppelinPlugin {
public static pluginName = 'utility';
protected logs: GuildLogs; protected logs: GuildLogs;
protected cases: GuildCases; protected cases: GuildCases;
protected savedMessages: GuildSavedMessages; protected savedMessages: GuildSavedMessages;