zappyzep/backend/src/plugins/WelcomeMessage/WelcomeMessagePlugin.ts
2020-10-01 01:43:38 +03:00

35 lines
896 B
TypeScript

import { zeppelinGuildPlugin } from "../ZeppelinPluginBlueprint";
import { PluginOptions } from "knub";
import { ConfigSchema, WelcomeMessagePluginType } from "./types";
import { GuildLogs } from "../../data/GuildLogs";
import { SendWelcomeMessageEvt } from "./events/SendWelcomeMessageEvt";
const defaultOptions: PluginOptions<WelcomeMessagePluginType> = {
config: {
send_dm: false,
send_to_channel: null,
message: null,
},
};
export const WelcomeMessagePlugin = zeppelinGuildPlugin<WelcomeMessagePluginType>()("welcome_message", {
showInDocs: true,
info: {
prettyName: "Welcome message",
},
configSchema: ConfigSchema,
defaultOptions,
// prettier-ignore
events: [
SendWelcomeMessageEvt,
],
onLoad(pluginData) {
const { state, guild } = pluginData;
state.logs = new GuildLogs(guild.id);
state.sentWelcomeMessages = new Set();
},
});