Implement temporary permission check public functions

This commit is contained in:
Dark 2021-08-15 01:44:25 +02:00
parent 7cf75f3255
commit 1c8a223264
No known key found for this signature in database
GPG key ID: 384C4B4F5B1E25A8
7 changed files with 46 additions and 10 deletions

View file

@ -1,4 +1,4 @@
import { MessageEmbedOptions } from "discord.js";
import { GuildMember, MessageEmbedOptions } from "discord.js";
import { PluginOptions } from "knub";
import { GuildArchives } from "../../data/GuildArchives";
import { GuildCases } from "../../data/GuildCases";
@ -38,6 +38,7 @@ import { VcdisconnectCmd } from "./commands/VcdisconnectCmd";
import { VcmoveAllCmd, VcmoveCmd } from "./commands/VcmoveCmd";
import { AutoJoinThreadEvt, AutoJoinThreadSyncEvt } from "./events/AutoJoinThreadEvt";
import { getUserInfoEmbed } from "./functions/getUserInfoEmbed";
import { hasPermission } from "./functions/hasPermission";
import { activeReloads } from "./guildReloads";
import { refreshMembersIfNeeded } from "./refreshMembers";
import { ConfigSchema, UtilityPluginType } from "./types";
@ -170,6 +171,12 @@ export const UtilityPlugin = zeppelinGuildPlugin<UtilityPluginType>()({
return getUserInfoEmbed(pluginData, userId, false, requestMemberId);
};
},
hasPermission(pluginData) {
return (member: GuildMember, channelId: string, permission: string) => {
return hasPermission(pluginData, member, channelId, permission);
};
},
},
beforeLoad(pluginData) {

View file

@ -0,0 +1,12 @@
import { GuildMember, Snowflake } from "discord.js";
import { GuildPluginData } from "knub";
import { UtilityPluginType } from "../types";
export async function hasPermission(
pluginData: GuildPluginData<UtilityPluginType>,
member: GuildMember,
channelId: Snowflake,
permission: string,
) {
return (await pluginData.config.getMatchingConfig({ member, channelId }))[permission];
}