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

Add options to delete invites from user on kick or ban

This commit is contained in:
Dark 2021-03-15 16:25:17 +01:00
parent fdaf386193
commit e6d1aa1f07
No known key found for this signature in database
GPG key ID: 384C4B4F5B1E25A8
4 changed files with 18 additions and 0 deletions

View file

@ -52,6 +52,8 @@ const defaultOptions = {
message_on_warn: false,
message_on_kick: false,
message_on_ban: false,
delete_invites_on_kick: false,
delete_invites_on_ban: false,
message_channel: null,
warn_message: "You have received a warning on the {guildName} server: {reason}",
kick_message: "You have been kicked from the {guildName} server. Reason given: {reason}",

View file

@ -77,6 +77,13 @@ export async function actualKickMemberCmd(
},
});
if (pluginData.config.getForMember(msg.member).delete_invites_on_kick) {
const userInvites = (await pluginData.guild.getInvites()).filter(inv => inv.inviter?.id === user.id);
userInvites.forEach(invite => {
invite.delete("User kicked from server");
});
}
if (args.clean) {
pluginData.state.serverLogs.ignoreLog(LogType.MEMBER_BAN, memberToKick.id);
ignoreEvent(pluginData, IgnoredEventType.Ban, memberToKick.id);

View file

@ -97,6 +97,13 @@ export async function banUserId(
};
}
if (pluginData.config.get().delete_invites_on_ban) {
const userInvites = (await pluginData.guild.getInvites()).filter(inv => inv.inviter?.id === user.id);
userInvites.forEach(invite => {
invite.delete("User banned from server");
});
}
// Create a case for this action
const modId = banOptions.caseArgs?.modId || pluginData.client.user.id;
const casesPlugin = pluginData.getPlugin(CasesPlugin);

View file

@ -18,6 +18,8 @@ export const ConfigSchema = t.type({
message_on_warn: t.boolean,
message_on_kick: t.boolean,
message_on_ban: t.boolean,
delete_invites_on_kick: t.boolean,
delete_invites_on_ban: t.boolean,
message_channel: tNullable(t.string),
warn_message: tNullable(t.string),
kick_message: tNullable(t.string),