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
|
"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",
|
||||||
|
|
|
@ -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",
|
||||||
|
|
41
src/index.ts
41
src/index.ts
|
@ -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[] {
|
||||||
|
|
|
@ -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: {
|
||||||
|
|
|
@ -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;
|
||||||
|
|
||||||
|
|
|
@ -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;
|
||||||
|
|
||||||
|
|
|
@ -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;
|
||||||
|
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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() {
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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;
|
||||||
|
|
||||||
|
|
|
@ -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() {
|
||||||
|
|
|
@ -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() {
|
||||||
|
|
|
@ -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;
|
||||||
|
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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;
|
||||||
|
|
||||||
|
|
|
@ -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() {
|
||||||
|
|
|
@ -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;
|
||||||
|
|
Loading…
Add table
Reference in a new issue