mirror of
https://github.com/ZeppelinBot/Zeppelin.git
synced 2025-07-13 21:57:18 +00:00
Add options to delete invites from user on kick or ban
This commit is contained in:
parent
fdaf386193
commit
e6d1aa1f07
4 changed files with 18 additions and 0 deletions
|
@ -52,6 +52,8 @@ const defaultOptions = {
|
||||||
message_on_warn: false,
|
message_on_warn: false,
|
||||||
message_on_kick: false,
|
message_on_kick: false,
|
||||||
message_on_ban: false,
|
message_on_ban: false,
|
||||||
|
delete_invites_on_kick: false,
|
||||||
|
delete_invites_on_ban: false,
|
||||||
message_channel: null,
|
message_channel: null,
|
||||||
warn_message: "You have received a warning on the {guildName} server: {reason}",
|
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}",
|
kick_message: "You have been kicked from the {guildName} server. Reason given: {reason}",
|
||||||
|
|
|
@ -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) {
|
if (args.clean) {
|
||||||
pluginData.state.serverLogs.ignoreLog(LogType.MEMBER_BAN, memberToKick.id);
|
pluginData.state.serverLogs.ignoreLog(LogType.MEMBER_BAN, memberToKick.id);
|
||||||
ignoreEvent(pluginData, IgnoredEventType.Ban, memberToKick.id);
|
ignoreEvent(pluginData, IgnoredEventType.Ban, memberToKick.id);
|
||||||
|
|
|
@ -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
|
// Create a case for this action
|
||||||
const modId = banOptions.caseArgs?.modId || pluginData.client.user.id;
|
const modId = banOptions.caseArgs?.modId || pluginData.client.user.id;
|
||||||
const casesPlugin = pluginData.getPlugin(CasesPlugin);
|
const casesPlugin = pluginData.getPlugin(CasesPlugin);
|
||||||
|
|
|
@ -18,6 +18,8 @@ export const ConfigSchema = t.type({
|
||||||
message_on_warn: t.boolean,
|
message_on_warn: t.boolean,
|
||||||
message_on_kick: t.boolean,
|
message_on_kick: t.boolean,
|
||||||
message_on_ban: t.boolean,
|
message_on_ban: t.boolean,
|
||||||
|
delete_invites_on_kick: t.boolean,
|
||||||
|
delete_invites_on_ban: t.boolean,
|
||||||
message_channel: tNullable(t.string),
|
message_channel: tNullable(t.string),
|
||||||
warn_message: tNullable(t.string),
|
warn_message: tNullable(t.string),
|
||||||
kick_message: tNullable(t.string),
|
kick_message: tNullable(t.string),
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue