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:
parent
4a33932ffa
commit
b0cd8762f1
19 changed files with 57 additions and 25 deletions
6
package-lock.json
generated
6
package-lock.json
generated
|
@ -2155,9 +2155,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"knub": {
|
||||
"version": "13.1.0",
|
||||
"resolved": "https://registry.npmjs.org/knub/-/knub-13.1.0.tgz",
|
||||
"integrity": "sha512-u5wdOxnDRRnol4/vixbKPoV6fAxMVV60kmz/WM1NH6f3z1rfIQJuSlj1eHtmIZTYp0PAI92/YuqgJ+aQuOYGyg==",
|
||||
"version": "14.0.0",
|
||||
"resolved": "https://registry.npmjs.org/knub/-/knub-14.0.0.tgz",
|
||||
"integrity": "sha512-okVS+72XBoSvrV+5xwqezPQQCAfrNe0uPIbHIe/PqyuiKURC7V6VflWAEg5mSofC9Lc5uAnU7sMyLqhFIGPBNQ==",
|
||||
"requires": {
|
||||
"escape-string-regexp": "^1.0.5",
|
||||
"lodash.at": "^4.6.0",
|
||||
|
|
|
@ -33,7 +33,7 @@
|
|||
"escape-string-regexp": "^1.0.5",
|
||||
"humanize-duration": "^3.15.0",
|
||||
"js-yaml": "^3.12.0",
|
||||
"knub": "^13.1.0",
|
||||
"knub": "^14.0.0",
|
||||
"lodash.at": "^4.6.0",
|
||||
"lodash.chunk": "^4.2.0",
|
||||
"lodash.difference": "^4.5.0",
|
||||
|
|
41
src/index.ts
41
src/index.ts
|
@ -75,29 +75,30 @@ connect().then(async conn => {
|
|||
const basePlugins = ["message_saver", "cases", "mutes"];
|
||||
|
||||
const bot = new Knub(client, {
|
||||
plugins: {
|
||||
plugins: [
|
||||
// Base plugins (always enabled)
|
||||
message_saver: MessageSaverPlugin,
|
||||
cases: CasesPlugin,
|
||||
mutes: MutesPlugin,
|
||||
MessageSaverPlugin,
|
||||
CasesPlugin,
|
||||
MutesPlugin,
|
||||
|
||||
// Regular plugins
|
||||
utility: UtilityPlugin,
|
||||
mod_actions: ModActionsPlugin,
|
||||
logs: LogsPlugin,
|
||||
post: PostPlugin,
|
||||
reaction_roles: ReactionRolesPlugin,
|
||||
censor: CensorPlugin,
|
||||
persist: PersistPlugin,
|
||||
spam: SpamPlugin,
|
||||
tags: TagsPlugin,
|
||||
slowmode: SlowmodePlugin,
|
||||
starboard: StarboardPlugin
|
||||
},
|
||||
globalPlugins: {
|
||||
bot_control: BotControlPlugin,
|
||||
log_server: LogServerPlugin
|
||||
},
|
||||
UtilityPlugin,
|
||||
ModActionsPlugin,
|
||||
LogsPlugin,
|
||||
PostPlugin,
|
||||
ReactionRolesPlugin,
|
||||
CensorPlugin,
|
||||
PersistPlugin,
|
||||
SpamPlugin,
|
||||
TagsPlugin,
|
||||
SlowmodePlugin,
|
||||
StarboardPlugin
|
||||
],
|
||||
|
||||
globalPlugins: [
|
||||
BotControlPlugin,
|
||||
LogServerPlugin
|
||||
],
|
||||
|
||||
options: {
|
||||
getEnabledPlugins(guildId, guildConfig): string[] {
|
||||
|
|
|
@ -9,6 +9,8 @@ let activeReload: [string, string] = null;
|
|||
* A global plugin that allows bot owners to control the bot
|
||||
*/
|
||||
export class BotControlPlugin extends GlobalPlugin {
|
||||
public static pluginName = 'bot_control';
|
||||
|
||||
getDefaultOptions() {
|
||||
return {
|
||||
config: {
|
||||
|
|
|
@ -8,6 +8,8 @@ import { ZeppelinPlugin } from "./ZeppelinPlugin";
|
|||
import { GuildActions } from "../data/GuildActions";
|
||||
|
||||
export class CasesPlugin extends ZeppelinPlugin {
|
||||
public static pluginName = 'cases';
|
||||
|
||||
protected actions: GuildActions;
|
||||
protected cases: GuildCases;
|
||||
|
||||
|
|
|
@ -15,6 +15,8 @@ import { GuildSavedMessages } from "../data/GuildSavedMessages";
|
|||
import { SavedMessage } from "../data/entities/SavedMessage";
|
||||
|
||||
export class CensorPlugin extends Plugin {
|
||||
public static pluginName = 'censor';
|
||||
|
||||
protected serverLogs: GuildLogs;
|
||||
protected savedMessages: GuildSavedMessages;
|
||||
|
||||
|
|
|
@ -12,6 +12,8 @@ function notFound(res: ServerResponse) {
|
|||
}
|
||||
|
||||
export class LogServerPlugin extends GlobalPlugin {
|
||||
public static pluginName = 'log_server';
|
||||
|
||||
protected archives: GuildArchives;
|
||||
protected server: http.Server;
|
||||
|
||||
|
|
|
@ -36,6 +36,8 @@ const unknownUser = {
|
|||
};
|
||||
|
||||
export class LogsPlugin extends Plugin {
|
||||
public static pluginName = 'logs';
|
||||
|
||||
protected guildLogs: GuildLogs;
|
||||
protected savedMessages: GuildSavedMessages;
|
||||
protected archives: GuildArchives;
|
||||
|
|
|
@ -4,6 +4,8 @@ import { GuildSavedMessages } from "../data/GuildSavedMessages";
|
|||
import { successMessage } from "../utils";
|
||||
|
||||
export class MessageSaverPlugin extends Plugin {
|
||||
public static pluginName = 'message_saver';
|
||||
|
||||
protected savedMessages: GuildSavedMessages;
|
||||
|
||||
getDefaultOptions() {
|
||||
|
|
|
@ -37,6 +37,8 @@ interface IIgnoredEvent {
|
|||
const CASE_LIST_REASON_MAX_LENGTH = 80;
|
||||
|
||||
export class ModActionsPlugin extends ZeppelinPlugin {
|
||||
public static pluginName = 'mod_actions';
|
||||
|
||||
protected actions: GuildActions;
|
||||
protected mutes: GuildMutes;
|
||||
protected cases: GuildCases;
|
||||
|
|
|
@ -10,6 +10,8 @@ import { LogType } from "../data/LogType";
|
|||
import { GuildLogs } from "../data/GuildLogs";
|
||||
|
||||
export class MutesPlugin extends ZeppelinPlugin {
|
||||
public static pluginName = 'mutes';
|
||||
|
||||
protected actions: GuildActions;
|
||||
protected mutes: GuildMutes;
|
||||
protected cases: GuildCases;
|
||||
|
|
|
@ -7,6 +7,8 @@ import { LogType } from "../data/LogType";
|
|||
import { stripObjectToScalars } from "../utils";
|
||||
|
||||
export class PersistPlugin extends Plugin {
|
||||
public static pluginName = 'persist';
|
||||
|
||||
protected persistedData: GuildPersistedData;
|
||||
protected logs: GuildLogs;
|
||||
|
||||
|
|
|
@ -5,6 +5,8 @@ import { GuildSavedMessages } from "../data/GuildSavedMessages";
|
|||
import { ISavedMessageData } from "../data/entities/SavedMessage";
|
||||
|
||||
export class PostPlugin extends Plugin {
|
||||
public static pluginName = 'post';
|
||||
|
||||
protected savedMessages: GuildSavedMessages;
|
||||
|
||||
onLoad() {
|
||||
|
|
|
@ -10,6 +10,8 @@ type CustomEmoji = {
|
|||
} & Emoji;
|
||||
|
||||
export class ReactionRolesPlugin extends Plugin {
|
||||
public static pluginName = 'reaction_roles';
|
||||
|
||||
protected reactionRoles: GuildReactionRoles;
|
||||
|
||||
getDefaultOptions() {
|
||||
|
|
|
@ -5,6 +5,8 @@ import { GuildSlowmodes } from "../data/GuildSlowmodes";
|
|||
import humanizeDuration from "humanize-duration";
|
||||
|
||||
export class SlowmodePlugin extends Plugin {
|
||||
public static pluginName = 'slowmode';
|
||||
|
||||
protected slowmodes: GuildSlowmodes;
|
||||
protected clearInterval;
|
||||
|
||||
|
|
|
@ -43,6 +43,8 @@ const MAX_INTERVAL = 300;
|
|||
const SPAM_ARCHIVE_EXPIRY_DAYS = 90;
|
||||
|
||||
export class SpamPlugin extends Plugin {
|
||||
public static pluginName = 'spam';
|
||||
|
||||
protected actions: GuildActions;
|
||||
protected logs: GuildLogs;
|
||||
protected archives: GuildArchives;
|
||||
|
|
|
@ -16,9 +16,10 @@ import path from "path";
|
|||
import moment from "moment-timezone";
|
||||
import { GuildSavedMessages } from "../data/GuildSavedMessages";
|
||||
import { SavedMessage } from "../data/entities/SavedMessage";
|
||||
import url from "url";
|
||||
|
||||
export class StarboardPlugin extends ZeppelinPlugin {
|
||||
public static pluginName = 'starboard';
|
||||
|
||||
protected starboards: GuildStarboards;
|
||||
protected savedMessages: GuildSavedMessages;
|
||||
|
||||
|
|
|
@ -4,6 +4,8 @@ import { errorMessage, successMessage } from "../utils";
|
|||
import { GuildTags } from "../data/GuildTags";
|
||||
|
||||
export class TagsPlugin extends Plugin {
|
||||
public static pluginName = 'tags';
|
||||
|
||||
protected tags: GuildTags;
|
||||
|
||||
getDefaultOptions() {
|
||||
|
|
|
@ -19,6 +19,8 @@ const CLEAN_COMMAND_DELETE_DELAY = 5000;
|
|||
const activeReloads: Map<string, TextChannel> = new Map();
|
||||
|
||||
export class UtilityPlugin extends ZeppelinPlugin {
|
||||
public static pluginName = 'utility';
|
||||
|
||||
protected logs: GuildLogs;
|
||||
protected cases: GuildCases;
|
||||
protected savedMessages: GuildSavedMessages;
|
||||
|
|
Loading…
Add table
Reference in a new issue