3
0
Fork 0
mirror of https://github.com/ZeppelinBot/Zeppelin.git synced 2025-07-07 19:17:19 +00:00

Improve context menu commands

This commit is contained in:
iamshoXy 2023-09-09 15:56:15 +02:00
parent 0612b6f17d
commit fbc1054aab
25 changed files with 1150 additions and 242 deletions

View file

@ -41,7 +41,12 @@ import { CreateUnbanCaseOnManualUnbanEvt } from "./events/CreateUnbanCaseOnManua
import { PostAlertOnMemberJoinEvt } from "./events/PostAlertOnMemberJoinEvt";
import { banUserId } from "./functions/banUserId";
import { clearTempban } from "./functions/clearTempban";
import { hasMutePermission } from "./functions/hasMutePerm";
import {
hasBanPermission,
hasMutePermission,
hasNotePermission,
hasWarnPermission,
} from "./functions/hasModActionPerm";
import { kickMember } from "./functions/kickMember";
import { offModActionsEvent } from "./functions/offModActionsEvent";
import { onModActionsEvent } from "./functions/onModActionsEvent";
@ -159,7 +164,7 @@ export const ModActionsPlugin = zeppelinGuildPlugin<ModActionsPluginType>()({
public: {
warnMember(pluginData) {
return (member: GuildMember, reason: string, warnOptions?: WarnOptions) => {
warnMember(pluginData, member, reason, warnOptions);
return warnMember(pluginData, member, reason, warnOptions);
};
},
@ -171,7 +176,7 @@ export const ModActionsPlugin = zeppelinGuildPlugin<ModActionsPluginType>()({
banUserId(pluginData) {
return (userId: string, reason?: string, banOptions?: BanOptions, banTime?: number) => {
banUserId(pluginData, userId, reason, banOptions, banTime);
return banUserId(pluginData, userId, reason, banOptions, banTime);
};
},
@ -181,12 +186,30 @@ export const ModActionsPlugin = zeppelinGuildPlugin<ModActionsPluginType>()({
};
},
hasNotePermission(pluginData) {
return (member: GuildMember, channelId: Snowflake) => {
return hasNotePermission(pluginData, member, channelId);
};
},
hasWarnPermission(pluginData) {
return (member: GuildMember, channelId: Snowflake) => {
return hasWarnPermission(pluginData, member, channelId);
};
},
hasMutePermission(pluginData) {
return (member: GuildMember, channelId: Snowflake) => {
return hasMutePermission(pluginData, member, channelId);
};
},
hasBanPermission(pluginData) {
return (member: GuildMember, channelId: Snowflake) => {
return hasBanPermission(pluginData, member, channelId);
};
},
on: mapToPublicFn(onModActionsEvent),
off: mapToPublicFn(offModActionsEvent),
getEventEmitter(pluginData) {

View file

@ -0,0 +1,35 @@
import { GuildMember, Snowflake } from "discord.js";
import { GuildPluginData } from "knub";
import { ModActionsPluginType } from "../types";
export async function hasNotePermission(
pluginData: GuildPluginData<ModActionsPluginType>,
member: GuildMember,
channelId: Snowflake,
) {
return (await pluginData.config.getMatchingConfig({ member, channelId })).can_note;
}
export async function hasWarnPermission(
pluginData: GuildPluginData<ModActionsPluginType>,
member: GuildMember,
channelId: Snowflake,
) {
return (await pluginData.config.getMatchingConfig({ member, channelId })).can_warn;
}
export async function hasMutePermission(
pluginData: GuildPluginData<ModActionsPluginType>,
member: GuildMember,
channelId: Snowflake,
) {
return (await pluginData.config.getMatchingConfig({ member, channelId })).can_mute;
}
export async function hasBanPermission(
pluginData: GuildPluginData<ModActionsPluginType>,
member: GuildMember,
channelId: Snowflake,
) {
return (await pluginData.config.getMatchingConfig({ member, channelId })).can_ban;
}

View file

@ -1,11 +0,0 @@
import { GuildMember, Snowflake } from "discord.js";
import { GuildPluginData } from "knub";
import { ModActionsPluginType } from "../types";
export async function hasMutePermission(
pluginData: GuildPluginData<ModActionsPluginType>,
member: GuildMember,
channelId: Snowflake,
) {
return (await pluginData.config.getMatchingConfig({ member, channelId })).can_mute;
}