Merge pull request #86 from DarkView/k30_guildInfoSaver
[K30] Migrated GuildInfoSaver
This commit is contained in:
commit
df542654d1
3 changed files with 38 additions and 0 deletions
27
backend/src/plugins/GuildInfoSaver/GuildInfoSaverPlugin.ts
Normal file
27
backend/src/plugins/GuildInfoSaver/GuildInfoSaverPlugin.ts
Normal file
|
@ -0,0 +1,27 @@
|
|||
import { zeppelinPlugin } from "../ZeppelinPluginBlueprint";
|
||||
import { PluginData } from "knub";
|
||||
import { AllowedGuilds } from "src/data/AllowedGuilds";
|
||||
import { GuildInfoSaverPluginType } from "./types";
|
||||
import { MINUTES } from "src/utils";
|
||||
|
||||
export const GuildInfoSaverPlugin = zeppelinPlugin<GuildInfoSaverPluginType>()("guild_info_saver", {
|
||||
showInDocs: false,
|
||||
|
||||
onLoad(pluginData) {
|
||||
const { state, guild } = pluginData;
|
||||
|
||||
state.allowedGuilds = new AllowedGuilds();
|
||||
|
||||
updateGuildInfo(pluginData);
|
||||
state.updateInterval = setInterval(() => updateGuildInfo(pluginData), 60 * MINUTES);
|
||||
},
|
||||
});
|
||||
|
||||
function updateGuildInfo(pluginData: PluginData<GuildInfoSaverPluginType>) {
|
||||
pluginData.state.allowedGuilds.updateInfo(
|
||||
pluginData.guild.id,
|
||||
pluginData.guild.name,
|
||||
pluginData.guild.iconURL,
|
||||
pluginData.guild.ownerID,
|
||||
);
|
||||
}
|
9
backend/src/plugins/GuildInfoSaver/types.ts
Normal file
9
backend/src/plugins/GuildInfoSaver/types.ts
Normal file
|
@ -0,0 +1,9 @@
|
|||
import { BasePluginType } from "knub";
|
||||
import { AllowedGuilds } from "src/data/AllowedGuilds";
|
||||
|
||||
export interface GuildInfoSaverPluginType extends BasePluginType {
|
||||
state: {
|
||||
allowedGuilds: AllowedGuilds;
|
||||
updateInterval: NodeJS.Timeout;
|
||||
};
|
||||
}
|
|
@ -13,6 +13,7 @@ import { GuildConfigReloaderPlugin } from "./GuildConfigReloader/GuildConfigRelo
|
|||
import { CasesPlugin } from "./Cases/CasesPlugin";
|
||||
import { MutesPlugin } from "./Mutes/MutesPlugin";
|
||||
import { TagsPlugin } from "./Tags/TagsPlugin";
|
||||
import { GuildInfoSaverPlugin } from "./GuildInfoSaver/GuildInfoSaverPlugin";
|
||||
import { CensorPlugin } from "./Censor/CensorPlugin";
|
||||
import { RolesPlugin } from "./Roles/RolesPlugin";
|
||||
import { SlowmodePlugin } from "./Slowmode/SlowmodePlugin";
|
||||
|
@ -22,6 +23,7 @@ import { ChannelArchiverPlugin } from "./ChannelArchiver/ChannelArchiverPlugin";
|
|||
// prettier-ignore
|
||||
export const guildPlugins: Array<ZeppelinPluginBlueprint<any>> = [
|
||||
AutoReactionsPlugin,
|
||||
GuildInfoSaverPlugin,
|
||||
CensorPlugin,
|
||||
ChannelArchiverPlugin,
|
||||
LocateUserPlugin,
|
||||
|
|
Loading…
Add table
Reference in a new issue